File manager - Edit - /home/met-r-devuser/htdocs/devuser.met-r.io/js/app.a5915b72.js.map
Back
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/apiErrorHandler.js","webpack:///./src/views/pages/docmigration/components/details.vue?3c2f","webpack:///./src/views/pages/docmigration/index.vue?a156","webpack:///./src/state/modules/auth.js","webpack:///./src/views/pages/docstyler/htmlstyler/components/docpublisher.vue?fe4c","webpack:///./src/views/pages/docpublisher/components/deployToChatbot.vue?36da","webpack:///./src/views/pages/docpublisher/components/generateoutput.vue?e942","webpack:///./src/views/pages/docmigration/components/preflightinvalidfile.vue?539e","webpack:///./src/state/modules/notification.js","webpack:///./src/components/ChatbotPublishStatus.vue?5ccd","webpack:///./src/views/pages/docmanager/githubDiff.vue?1847","webpack:///./src/views/pages/dashboard/components/recentActivities.vue?a7bc","webpack:///./src/views/pages/account/resetpassword.vue?d9f4","webpack:///./src/api/index.js","webpack:///./src/assets/images/github/Octocat.png","webpack:///./src/views/pages/dashboard/components/InfoCard.vue?e740","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/pages/dashboard/components/totalPointsUsage.vue?6228","webpack:///./src/views/pages/dashboard/index.vue?5e0b","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/views/pages/docmigration/components/tree.vue?6496","webpack:///./src/views/pages/docmigration/components/steps.vue?10e0","webpack:///./src/views/pages/docstyler/pdfstyler/components/baseColor.vue?62c6","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?03b3","webpack:///./src/App.vue?315a","webpack:///./src/main.js","webpack:///./src/App.vue?5023","webpack:///./src/components/pageheader.vue?e1f9","webpack:///./src/assets/placeholder.png","webpack:///./src/views/pages/docpublisher/index.vue?7a9a","webpack:///./src/state/modules/docmanager/project.js","webpack:///./src/views/pages/doceditor/docpublisher.vue?3c1b","webpack:///./src/views/pages/account/forgotpassword.vue?81d2","webpack:///./src/views/pages/docmanager/details.vue?2b10","webpack:///./src/views/pages/account/login.vue?2698","webpack:///./src/state/modules/docmanager/gitdetails.js","webpack:///./src/views/pages/docmanager/details.vue?52e4","webpack:///./src/views/pages/docstyler/pdfstyler/components/headerfooter.vue?f16a","webpack:///./src/views/pages/docstyler/pdfstyler/components/generateoutput.vue?3386","webpack:///./src/views/pages/docstyler/index.vue?2363","webpack:///./src/views/pages/docmigration/components/tree.vue?da62","webpack:///./src/state/modules/index.js","webpack:///./src/state/store.js","webpack:///./src/i18n.js","webpack:///./src/views/pages/account/login.vue","webpack:///src/views/pages/account/login.vue","webpack:///./src/views/pages/account/login.vue?d709","webpack:///./src/views/pages/account/login.vue?893e","webpack:///./src/views/pages/account/emailverification.vue","webpack:///src/views/pages/account/emailverification.vue","webpack:///./src/views/pages/account/emailverification.vue?5860","webpack:///./src/views/pages/account/emailverification.vue?f466","webpack:///./src/views/pages/account/forgotpassword.vue","webpack:///src/views/pages/account/forgotpassword.vue","webpack:///./src/views/pages/account/forgotpassword.vue?f6e3","webpack:///./src/views/pages/account/forgotpassword.vue?58fa","webpack:///./src/views/pages/account/resetpassword.vue","webpack:///src/views/pages/account/resetpassword.vue","webpack:///./src/views/pages/account/resetpassword.vue?ce39","webpack:///./src/views/pages/account/resetpassword.vue?feaa","webpack:///./src/views/pages/account/routes.account.js","webpack:///./src/views/pages/dashboard/components/totalPointsUsage.vue","webpack:///src/views/pages/dashboard/components/totalPointsUsage.vue","webpack:///./src/views/pages/dashboard/components/totalPointsUsage.vue?91bc","webpack:///./src/views/pages/dashboard/components/totalPointsUsage.vue?cbe6","webpack:///./src/views/pages/dashboard/index.vue","webpack:///./src/views/pages/dashboard/components/recentnotification.vue","webpack:///src/views/pages/dashboard/components/recentnotification.vue","webpack:///./src/views/pages/dashboard/components/recentnotification.vue?837b","webpack:///./src/views/pages/dashboard/components/recentnotification.vue?07b4","webpack:///./src/views/pages/dashboard/components/recentpublication.vue","webpack:///./src/services/download-source-files.js","webpack:///src/views/pages/dashboard/components/recentpublication.vue","webpack:///./src/views/pages/dashboard/components/recentpublication.vue?fd5f","webpack:///./src/views/pages/dashboard/components/recentpublication.vue?5201","webpack:///./src/views/pages/dashboard/components/chart.vue","webpack:///src/views/pages/dashboard/components/chart.vue","webpack:///./src/views/pages/dashboard/components/chart.vue?2092","webpack:///./src/views/pages/dashboard/components/chart.vue?600a","webpack:///./src/views/pages/dashboard/components/InfoCard.vue","webpack:///src/views/pages/dashboard/components/InfoCard.vue","webpack:///./src/views/pages/dashboard/components/InfoCard.vue?59e2","webpack:///./src/views/pages/dashboard/components/InfoCard.vue?40e1","webpack:///./src/views/pages/dashboard/components/recentActivities.vue","webpack:///./src/services/cryptoFunction.js","webpack:///src/views/pages/dashboard/components/recentActivities.vue","webpack:///./src/views/pages/dashboard/components/recentActivities.vue?68fe","webpack:///./src/views/pages/dashboard/components/recentActivities.vue?1257","webpack:///src/views/pages/dashboard/index.vue","webpack:///./src/views/pages/dashboard/index.vue?3ee9","webpack:///./src/views/pages/dashboard/index.vue?ddac","webpack:///./src/views/pages/dashboard/routes.dashboard.js","webpack:///./src/views/pages/docmanager/index.vue","webpack:///./src/views/pages/docmanager/components/projectcard.vue","webpack:///src/views/pages/docmanager/components/projectcard.vue","webpack:///./src/views/pages/docmanager/components/projectcard.vue?b285","webpack:///./src/views/pages/docmanager/components/projectcard.vue?93ff","webpack:///src/views/pages/docmanager/index.vue","webpack:///./src/views/pages/docmanager/index.vue?54b3","webpack:///./src/views/pages/docmanager/index.vue?ee1c","webpack:///./src/views/pages/docmanager/details.vue","webpack:///./src/components/urlvalidator.js","webpack:///./src/services/github.js","webpack:///./src/components/reusables/changeBranch.vue","webpack:///src/components/reusables/changeBranch.vue","webpack:///./src/components/reusables/changeBranch.vue?9f2d","webpack:///./src/components/reusables/changeBranch.vue?bf45","webpack:///src/views/pages/docmanager/details.vue","webpack:///./src/views/pages/docmanager/details.vue?e2cf","webpack:///./src/views/pages/docmanager/details.vue?81d8","webpack:///./src/views/pages/docmanager/githubDiff.vue","webpack:///src/views/pages/docmanager/githubDiff.vue","webpack:///./src/views/pages/docmanager/githubDiff.vue?4223","webpack:///./src/views/pages/docmanager/githubDiff.vue?d8f6","webpack:///./src/views/pages/docmanager/routes.docmanager.js","webpack:///./src/middleware/secure-route.js","webpack:///./src/views/pages/docpublisher/index.vue","webpack:///./src/views/pages/docpublisher/components/generateoutput.vue","webpack:///./src/views/pages/docpublisher/components/deployToChatbot.vue","webpack:///src/views/pages/docpublisher/components/deployToChatbot.vue","webpack:///./src/views/pages/docpublisher/components/deployToChatbot.vue?7d2b","webpack:///./src/views/pages/docpublisher/components/deployToChatbot.vue?ecd4","webpack:///./src/components/ChatbotPublishStatus.vue","webpack:///src/components/ChatbotPublishStatus.vue","webpack:///./src/components/ChatbotPublishStatus.vue?d651","webpack:///./src/components/ChatbotPublishStatus.vue?fb7a","webpack:///src/views/pages/docpublisher/components/generateoutput.vue","webpack:///./src/views/pages/docpublisher/components/generateoutput.vue?f2a3","webpack:///./src/views/pages/docpublisher/components/generateoutput.vue?7d2c","webpack:///./src/views/pages/docpublisher/components/customplugin.vue","webpack:///src/views/pages/docpublisher/components/customplugin.vue","webpack:///./src/views/pages/docpublisher/components/customplugin.vue?f659","webpack:///./src/views/pages/docpublisher/components/customplugin.vue?e9be","webpack:///src/views/pages/docpublisher/index.vue","webpack:///./src/views/pages/docpublisher/index.vue?e789","webpack:///./src/views/pages/docpublisher/index.vue?5dcf","webpack:///./src/views/pages/docpublisher/projects.vue","webpack:///src/views/pages/docpublisher/projects.vue","webpack:///./src/views/pages/docpublisher/projects.vue?420c","webpack:///./src/views/pages/docpublisher/projects.vue?4e3e","webpack:///./src/views/pages/docpublisher/routes.docpublisher.js","webpack:///./src/views/pages/docmigration/index.vue","webpack:///./src/views/pages/docmigration/components/details.vue","webpack:///./src/views/pages/docmigration/components/steps.vue","webpack:///src/views/pages/docmigration/components/steps.vue","webpack:///./src/views/pages/docmigration/components/steps.vue?3f4f","webpack:///./src/views/pages/docmigration/components/steps.vue?90e2","webpack:///./src/views/pages/docmigration/services/servicesRoutes.js","webpack:///./src/views/pages/docmigration/components/docconpolicy.vue","webpack:///src/views/pages/docmigration/components/docconpolicy.vue","webpack:///./src/views/pages/docmigration/components/docconpolicy.vue?d021","webpack:///./src/views/pages/docmigration/components/docconpolicy.vue?a31e","webpack:///./src/views/pages/docmigration/components/preflightinvalidfile.vue","webpack:///src/views/pages/docmigration/components/preflightinvalidfile.vue","webpack:///./src/views/pages/docmigration/components/preflightinvalidfile.vue?4ab2","webpack:///./src/views/pages/docmigration/components/preflightinvalidfile.vue?17a0","webpack:///src/views/pages/docmigration/components/details.vue","webpack:///./src/views/pages/docmigration/components/details.vue?61ab","webpack:///./src/views/pages/docmigration/components/details.vue?b8b5","webpack:///src/views/pages/docmigration/index.vue","webpack:///./src/views/pages/docmigration/index.vue?9056","webpack:///./src/views/pages/docmigration/index.vue?9f31","webpack:///./src/views/pages/docmigration/components/popupmessage.vue","webpack:///src/views/pages/docmigration/components/popupmessage.vue","webpack:///./src/views/pages/docmigration/components/popupmessage.vue?6bd8","webpack:///./src/views/pages/docmigration/components/popupmessage.vue?e0e1","webpack:///./src/views/pages/docmigration/components/outputscreen.vue","webpack:///./src/views/pages/docmigration/components/tree.vue","webpack:///src/views/pages/docmigration/components/tree.vue","webpack:///./src/views/pages/docmigration/components/tree.vue?55c7","webpack:///./src/views/pages/docmigration/components/tree.vue?48d3","webpack:///src/views/pages/docmigration/components/outputscreen.vue","webpack:///./src/views/pages/docmigration/components/outputscreen.vue?2d40","webpack:///./src/views/pages/docmigration/components/outputscreen.vue?1562","webpack:///./src/views/pages/docmigration/components/githubcommit.vue","webpack:///src/views/pages/docmigration/components/githubcommit.vue","webpack:///./src/views/pages/docmigration/components/githubcommit.vue?5b28","webpack:///./src/views/pages/docmigration/components/githubcommit.vue?495a","webpack:///./src/views/pages/docmigration/routes.docmigration.js","webpack:///./src/views/pages/docstyler/index.vue","webpack:///./src/views/pages/docstyler/htmlstyler/index.vue","webpack:///./src/views/pages/docstyler/htmlstyler/components/header.vue","webpack:///src/views/pages/docstyler/htmlstyler/components/header.vue","webpack:///./src/views/pages/docstyler/htmlstyler/components/header.vue?caea","webpack:///./src/views/pages/docstyler/htmlstyler/components/header.vue?31a2","webpack:///./src/views/pages/docstyler/htmlstyler/components/footer.vue","webpack:///src/views/pages/docstyler/htmlstyler/components/footer.vue","webpack:///./src/views/pages/docstyler/htmlstyler/components/footer.vue?d138","webpack:///./src/views/pages/docstyler/htmlstyler/components/footer.vue?e959","webpack:///src/views/pages/docstyler/htmlstyler/index.vue","webpack:///./src/views/pages/docstyler/htmlstyler/index.vue?d0cc","webpack:///./src/views/pages/docstyler/htmlstyler/index.vue?9fd7","webpack:///./src/views/pages/docstyler/pdfstyler/index.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/baseColor.vue","webpack:///src/views/pages/docstyler/pdfstyler/components/baseColor.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/baseColor.vue?6778","webpack:///./src/views/pages/docstyler/pdfstyler/components/baseColor.vue?9636","webpack:///./src/views/pages/docstyler/pdfstyler/components/frontpage.vue","webpack:///src/views/pages/docstyler/pdfstyler/components/frontpage.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/frontpage.vue?00e5","webpack:///./src/views/pages/docstyler/pdfstyler/components/frontpage.vue?5a48","webpack:///./src/views/pages/docstyler/pdfstyler/components/headerfooter.vue","webpack:///src/views/pages/docstyler/pdfstyler/components/headerfooter.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/headerfooter.vue?eacd","webpack:///./src/views/pages/docstyler/pdfstyler/components/headerfooter.vue?6aba","webpack:///src/views/pages/docstyler/pdfstyler/index.vue","webpack:///./src/views/pages/docstyler/pdfstyler/index.vue?ba1f","webpack:///./src/views/pages/docstyler/pdfstyler/index.vue?5a0c","webpack:///src/views/pages/docstyler/index.vue","webpack:///./src/views/pages/docstyler/index.vue?b66b","webpack:///./src/views/pages/docstyler/index.vue?fa61","webpack:///./src/views/pages/docstyler/pdfstyler/components/docpublisher.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/generateoutput.vue","webpack:///src/views/pages/docstyler/pdfstyler/components/generateoutput.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/generateoutput.vue?e4e7","webpack:///./src/views/pages/docstyler/pdfstyler/components/generateoutput.vue?e81c","webpack:///src/views/pages/docstyler/pdfstyler/components/docpublisher.vue","webpack:///./src/views/pages/docstyler/pdfstyler/components/docpublisher.vue?391d","webpack:///./src/views/pages/docstyler/pdfstyler/components/docpublisher.vue?bfdc","webpack:///./src/views/pages/docstyler/htmlstyler/components/docpublisher.vue","webpack:///./src/views/pages/docstyler/htmlstyler/components/generateoutput.vue","webpack:///src/views/pages/docstyler/htmlstyler/components/generateoutput.vue","webpack:///./src/views/pages/docstyler/htmlstyler/components/generateoutput.vue?4cef","webpack:///./src/views/pages/docstyler/htmlstyler/components/generateoutput.vue?7c6e","webpack:///src/views/pages/docstyler/htmlstyler/components/docpublisher.vue","webpack:///./src/views/pages/docstyler/htmlstyler/components/docpublisher.vue?96ca","webpack:///./src/views/pages/docstyler/htmlstyler/components/docpublisher.vue?db79","webpack:///./src/views/pages/docstyler/routes.docstyler.js","webpack:///./src/views/pages/doceditor/docpublisher.vue","webpack:///./src/views/pages/doceditor/components/generateoutput.vue","webpack:///src/views/pages/doceditor/components/generateoutput.vue","webpack:///./src/views/pages/doceditor/components/generateoutput.vue?293d","webpack:///./src/views/pages/doceditor/components/generateoutput.vue?50e6","webpack:///src/views/pages/doceditor/docpublisher.vue","webpack:///./src/views/pages/doceditor/docpublisher.vue?3005","webpack:///./src/views/pages/doceditor/docpublisher.vue?f440","webpack:///./src/views/pages/doceditor/projectlist.vue","webpack:///./src/components/functions.js","webpack:///src/views/pages/doceditor/projectlist.vue","webpack:///./src/views/pages/doceditor/projectlist.vue?f7d4","webpack:///./src/views/pages/doceditor/projectlist.vue?d9b2","webpack:///./src/views/pages/doceditor/routes.doceditor.js","webpack:///./src/views/pages/tables/releasetable.vue","webpack:///src/views/pages/tables/releasetable.vue","webpack:///./src/views/pages/tables/releasetable.vue?094e","webpack:///./src/views/pages/tables/releasetable.vue?5214","webpack:///./src/views/pages/tables/routes.tables.js","webpack:///./src/router/index.js","webpack:///./src/views/pages/dashboard/components/recentpublication.vue?380a","webpack:///./src/views/pages/doceditor/projectlist.vue?6743","webpack:///./src/assets/images/upload.svg","webpack:///./src/components/pageheader.vue","webpack:///src/components/pageheader.vue","webpack:///./src/components/pageheader.vue?76fb","webpack:///./src/components/pageheader.vue?dd1d","webpack:///./src/views/pages/tables/releasetable.vue?987c","webpack:///./src/views/pages/dashboard/components/chart.vue?3e2f","webpack:///./src/views/pages/docmanager/components/projectcard.vue?eb5a","webpack:///./src/views/pages/docstyler/pdfstyler/components/frontpage.vue?406d","webpack:///./src/views/pages/docstyler/htmlstyler/index.vue?9110","webpack:///./src/state/modules/layout.js","webpack:///index|\\.unit\\.).)*\\.js$","webpack:///./src/views/pages/docmanager/index.vue?daea","webpack:///./src/views/pages/docpublisher/projects.vue?1c8d","webpack:///./src/views/pages/docstyler/pdfstyler/index.vue?a803","webpack:///./src/views/pages/docstyler/pdfstyler/components/docpublisher.vue?7617","webpack:///./src/views/pages/docstyler/htmlstyler/components/header.vue?daa3","webpack:///./src/api/global.env.js","webpack:///./src/views/pages/dashboard/components/recentnotification.vue?e7b4","webpack:///./src/views/pages/docstyler/htmlstyler/components/generateoutput.vue?0c0d","webpack:///./src/views/pages/docmigration/components/githubcommit.vue?12e7","webpack:///./src/views/pages/docmigration/components/docconpolicy.vue?0d4d","webpack:///./src/views/pages/docstyler/htmlstyler/components/footer.vue?7754","webpack:///./src/views/pages/doceditor/components/generateoutput.vue?e815","webpack:///./src/views/pages/docmigration/components/popupmessage.vue?e6b0"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","Vue","use","BootstrapVue","vm","handleApiError","response","status","log","localStorage","clear","Swal","fire","icon","title","async","objKeys","keys","includes","isConfirmed","isDismissed","axios","post","URL","headers","userid","userId","location","$bvToast","toast","variant","solid","getElementsByClassName","encryptData","encryptedData","CryptoJS","AES","encrypt","JSON","stringify","secretKey","toString","decryptData","bytes","decrypt","decryptedData","parse","enc","Utf8","updateLocalStorage","setItem","Auth","state","token","getItem","sessionId","refresh","orgId","userEmail","userName","gitToken","githubUsername","isActive","isDeleted","isSuperUser","isEmailVerified","unauthClient","ditaOtVersions","notificationData","recentPublicationsData","projectsData","projectsList","creditsDetails","repoUser","repoName","orgDetails","isWorkspaceCreated","endpoints","obtain","currentWorkingProject","mutations","updateTokens","tokens","email","username","hasWorkspace","updateSessionId","updateUserId","updateAccess","updateGitToken","updateActiveStatus","updateDeletedStatus","updateSuperUserStatus","updateEmailVerifiedStatus","removeToken","SET_DITA_OT_VERSIONS","versions","setNotificationData","setRecentPublicationsData","setProjectsData","setProjectsList","setCreditsDetails","setRepoUser","setRepoName","setOrgDetails","setWorkspaceStatus","setCurrentWorkingProject","getters","client","apiClient","apiDefaults","Authorization","interceptors","actions","obtainToken","context","authDetails","this","commit","id","refreshToken","payload","catch","registerUser","register","fetchDitaOtVersions","ditaotVersion","success","baseURL","defaultAxios","map","webpackContext","req","webpackContextResolve","render","_vm","_c","_self","attrs","staticRenderFns","page","titleTemplate","$store","appConfig","created","dispatch","methods","messageToast","messageToastTitle","messageToastVariant","messageToastContent","component","require","config","PageHeader","Simplebar","productionTip","Loading","VueSplit","VeeValidate","vco","VueSweetalert2","VJstree","$eventBus","eventBus","router","store","i18n","h","App","$mount","Projects","suserprojectdata","setUserProjectDetails","apptoken","swalWithBootstrapButtons","mixin","customClass","confirmButton","cancelButton","buttonsStyling","text","gitdetails","owner","projectName","setOwner","setProjectName","modulesCache","storeData","UserProject","Gitdetails","getNamespace","subtree","path","namespace","namespaced","requireModule","forEach","fileName","moduleDefinition","modulePath","replace","split","camelCase","pop","Vuex","Store","strict","process","loadLocaleMessages","locales","messages","matched","match","locale","VueI18n","VUE_APP_I18N_LOCALE","fallbackLocale","VUE_APP_I18N_FALLBACK_LOCALE","_m","staticClass","directives","rawName","isAuthenticate","expression","_v","_s","authErrorMessage","isLoading","on","loginWithGitHub","Date","getFullYear","apiUrl","baseUrl","endsWith","loginUrl","content","autoHideDelay","checkAuthSuccess","urlParams","URLSearchParams","search","authStatus","userData","showAuthError","decodeURIComponent","history","replaceState","handleSuccessfulAuth","parsedUserData","isChangePassword","$router","mounted","isVerify","computed","currentYear","tokenVerify","loader","$loading","show","put","$route","params","hide","isEmailSend","model","isResetError","callback","$$v","$event","preventDefault","forgotpassword","arguments","class","submitted","$v","$error","domProps","composing","errors","has","first","required","_e","tryingToReset","$validator","validateAll","res","ref","resetPassword","password","_","find","items","field","rule","password_confirmation","validateCredentials","Validator","extend","getMessage","validate","strongRegex","RegExp","test","newPassword","handleTokenExpired","handlePasswordResetSuccess","handlePasswordResetError","$refs","form","reset","errorMessage","routes","Login","beforeEnter","to","from","next","EmailVerification","ForgotPassword","ResetPassword","pageOptions","perPage","colfields","currentPage","filteredData","active","totalRows","filter","filterOn","sortBy","sortDesc","generateTableColumns","rows","totalPages","Math","ceil","watch","handler","$emit","getCreditsDetails","moment","onFiltered","filteredItems","onPageChange","label","sortable","sortByFormatted","formatter","item","convertedAt","format","staticStyle","showSpinner","bordered","striped","_l","getTimeAgo","committer","date","props","userProjects","getrecentnotification","mapActions","timestamp","now","timeDiff","getTime","minuteDiff","floor","hourDiff","dayDiff","monthDiff","yearDiff","viewMore","activityData","scopedSlots","_u","fn","row","createdAt","downloadFun","downloadSourceFiles","commitSHA","api","responseType","url","createObjectURL","Blob","link","body","click","errorText","reader","FileReader","parsedError","parseError","readAsText","getReleasePublication","isFetching","chartOptions","chartSeries","isChartLoading","components","apexchart","VueApexCharts","releases","chart","dataLabels","enabled","xaxis","yaxis","stroke","curve","width","fill","opacity","colors","legend","position","tooltip","x","theme","fillSeriesColor","noData","align","verticalAlign","offsetX","offsetY","style","fontSize","fontFamily","color","prepareChartData","getReleaseNote","groupedData","release","outputFormat","releaseDate","intervalKey","toISOString","allIntervals","Array","Set","sort","interval","categories","finally","setData","_vm$creditsDetails","cardData","index","height","borderRadius","backgroundColor","formatNumber","totalCreditsUsed","remainingCredits","projectList","getProjectData","publisherTypes","migrationsOptions","number","String","padStart","defaultPublisherTypes","getoutputFormat","customPublisherTypes","getCustomOutputFormat","colFields","activity","subModule","proxy","remainingActivitiesRelatedToCurrent","callToActionRelatedToActivity","encodeParam","param","encodeURIComponent","decryptParam","decodedParam","getActivityData","current","activities","DocMigration","DocEditor","DocPublisher","project","functionToCall","DocManager","redirectToDocManager","redirectToDocEditor","redirectToDocPublisher","_project$projectDetai","_project$projectDetai2","projectDetails","branch","_project$projectDetai3","_project$projectDetai4","_response$data$data","_activity$projectDeta","RecentNotification","RecentPublication","Chart","InfoCard","RecentActivities","Dashboard","TotalPointsUsage","progress","searchProject","syncprojects","paginatedProjectList","syncGithub","userList","setdata","modalShow","projectOwner","getUserInProject","projectId","cryptoJs","redirectProject","repouser","reponame","encryptedRepouser","encryptedReponame","encodedRepouser","encodedReponame","projectcard","BRow","BCol","BPagination","projectData","clientId","ClientId","appAccess","orgGithubUser","orgAccessURL","userGithubUsername","parseInt","gitCode","projectListSearch","startIndex","endIndex","newVal","getToken","getfoldertree","currentGitToken","makeToast","prct","toLowerCase","queryString","modal","getOrgDetails","access_token","login","workspaceParams","packeges","installedPath","InstalledPath","isInstalled","str","orgGithubURL","gitUrlSplitArr","accessURL","progressInterval","setInterval","clearInterval","_err$response","createWorkspace","modalShown","_orgData$data$","orgData","_error$response","_vm$ditaTreeData$","_vm$ditaTreeData$2","_vm$ditaTreeData$3","_vm$ditaTreeData$4","repobranchesdata","navigateToDiff","ditaTreeData","children","downloadZip","isDocEditor","openEditor","$bvModal","brachName","itemClick","displayDitaContent","contentTypeFormat","element","createNewBranchHandler","checkurl","currentBranch","createNewBranch","branches","discardOrCommit","patch","checkout","VueInstance","loadingInstance","showCancelButton","confirmButtonColor","confirmButtonText","cancelButtonColor","cancelButtonText","action","branchToCheckout","branchName","dismiss","DismissReason","cancel","commitMessage","githubService","clone","baseBranchName","newBranchName","handleBranchChange","Multiselect","default","Function","Boolean","SshPre","simplebar","changeBranch","mapGetters","treeData","downloadURL","previousSelectedBranch","urlParserRegex","outputURL","isDocPublisher","editor","ClassicEditor","editorData","editorLoader","isDitaFilesPresent","selectedFile","ignoreNextChange","getRepoBranch","encryptedCurrentBranch","encodedCurrentBranch","validateURL","newRepoUser","newRepoName","oldRepoUser","oldRepoName","navigateToEditor","encryptedBranch","encodedBranch","handleAccessDenied","publisher","alert","query","getObject","branchResponse","outputResponse","getIndentedContent","repo","fetch","ok","statusText","json","escapeFilepath","replaceAll","hasDitaOrDitamapFile","tree","hasDitaOrDitamapExtension","traverse","node","child","root","addFieldsToNestedArray","array","_item$children","_item$children2","fileExt","selected","isDirectory","opened","treeSelectedElements","querySelectorAll","el","classList","remove","xmlFormat","ext","startsWith","user","repository","parsedUrl","exec","pathname","downloadRepoContent","open","oldValue","option","baseBranch","filteredBranches","headBranch","fetchDiff","originalDiff","diffFormat","toggleDiffView","computedDiffHtml","repoOwner","currentbranch","_this$baseBranch","Diff2Html","fileListToggle","drawFileList","fileListStartVisible","synchronisedScroll","highlight","highlightCode","diffMaxChanges","matching","fetchBranches","_response$data","route","ProjectDetail","GithubDiff","checkAccessToService","serviceName","permissions","customPlugin","customPluginOutputFormat","showModal","commitMsg","commitOutput","hideform","disablecommitbutton","githubCommit","typeform","userActivityId","deployToChatbotSelectBranch","releaseTitle","indexOf","_k","keyCode","preventLeadingSpace","$set","inputPath","$$selectedVal","options","val","_value","multiple","selectInput","selectOutputFormat","transtype","generateOutputFun","projectPath","workspacePath","resetform","createPullreq","deleteUserActivityId","handlePublishSuccess","newOrExistingBranch","selectedName","deployToChatbotHandler","f","modalProgress","deployToChatbotParams","publishOption","simulateProgress","$root","isPublishedToChatbot","ChatbotFrontendURL","$on","beforeDestroy","$off","DeployToChatbot","ChatbotPublishStatus","outputPath","repobranch","typesubmit","disablebutton","releaseParams","chatbotDeplyedFlag","getWorkspace","makedefaultplugin","currentfilePath","tres","customizationOptions","bitPath","outputParams","binPath","ditaMapFileName","releasedBy","commitOnGithub","input","showLoaderOnConfirm","preConfirm","trim","allowOutsideClick","inputValidator","commitProjectObj","transType","onOpen","showLoading","repoowner","deplotToChatbotRef","ditaOtFolder","selectedOutputFormatIndex","redirectToDocStyler","generateoutput","BTabs","BTab","organizationDetails","reverseButtons","selectedproject","hasData","selectedBranch","isButtonDisabled","selectedProjectOwner","selectedProjectName","initialSelectProjectIfQueryPresent","isArray","encryptedOwner","encodedOwner","checkoutBranch","isPresent","some","removeItem","selectedProject","currentStep","steps","stepChanged","_vm$DitaLog","_vm$DitaLog2","emitStepChanged","selectedFileType","isLogGenerated","DitaLog","modifiers","downloadLogFile","gotoDownloadOutput","currentScreen","screens","dragging","handleDrop","fileSelected","openFileInput","fileExtensionsType","handleFileInput","files","policyCheckbox","uploadFileBackend","cancelForm","upload","goBack","preFlightCheck","convertToDita","postFlightCheck","invalidFiles","step","stepWrapperClass","icon_class","Number","complete","div","querySelector","serviceRoutes","inputSource","apiType","transform","download","documentPolicy","policy","attributes","Question","Answer","getDocumentPolicy","file","Steps","DocConPolicy","PreFlightInvalidFile","emits","uploadPercentage","showConvertbtn","dataTransfer","fileInput","screen","formData","FormData","selectedMigrationType","opt","append","sourceFile","onUploadProgress","progressEvent","round","loaded","total","_response$data2","_response$data3","getMigrationType","onDownloadProgress","_error$response$data$","_response$data4","_response$data5","downloadLink","_response$data6","_response$data7","fileContents","generateName","lastDotPosition","lastIndexOf","nameWithoutExtension","substring","downloadFilename","fixErrorAndWarning","emitNextStep","emitLastStep","migrationType","getMigrationsOptions","Details","hideModal","isCommitted","gitHubCommit","SimpleBar","displayLog","logBtnText","onCopiedDoSomething","toggleLog","getTreeStructure","Tree","alreadyCommit","selectedfolder","projectlist","disabledCommit","previousRoute","isCommitButtonDisabled","beforeRouteEnter","getprojectslist","commitFolderName","showCommitBtn","syncedProjects","PopUpMessage","outputscreen","githubcommit","activeTab","currentFormNumber","changeForm","childData","paragraph","totalForms","currentForm","formDataList","selectedLogoFile","handleformSubmit","handleChildData","handlenextbtn","handlePreviousBtn","resetForm","finalSubmit","handleFileSelected","_vm$formDataList$head","onFileSelected","header","logoName","headerColor","nextForm","refreshFormData","confirm","File","updateFormData","submitForm","icons","convertDataToLowerCase","dataKeys","$data","obj","innerKey","prevForm","footer","companyName","companyWebsite","websiteError","deep","Header","Footer","condition","validateCompanyWebsite","urlPattern","handledefualt","formNumber","redirectDocPublishrer","fileSize","size","saveLogoImage","resMsg","pdfCoverLogoFile","onImageFileSelected","pdfCoverImageFile","validator","every","fileObj","img","Image","objectUrl","revokeObjectURL","allowedResolutions","isValidResolution","coverLogoName","coverImageName","handleprogress","pdfHeaderLogoFile","headerLogoName","frontpage","baseColor","headerfooter","fileArray","existingIndex","findIndex","htmlstyler","pdfstyler","outputFormatData","disabledownloadbutton","outputFormats","values","fileContent","styler","PdfDocPublisher","HtmlDocPublisher","zipPromise","JSZip","dir","private","repoIsPrivate","fetchRepoInfo","listContent","viaTreesApi","directory","getFullData","controller","AbortController","fetchPublicFile","signal","blob","fetchPrivateFile","decoder","downloaded","downloadFile","localDownload","onFailedAttempt","pRetry","zip","binary","pMap","concurrency","zipBlob","generateAsync","saveFile","encryptionModule","Docpublisher","ProjectList","exportToExcel","exportToCSV","filterTable","deleteRow","chartData","labels","datasets","responsive","maintainAspectRatio","_this$activityData","_this$filter","toUpperCase","projects","barChart","_chart","update","deleteItemOnServer","delete","_id","dataToExport","ws","XLSX","json_to_sheet","wb","book_new","book_append_sheet","bookType","filterUpperCase","hasNameMatch","Releasetable","Router","base","scrollBehavior","savedPosition","y","frontmatter","Tables","redirect","afterEach","appLoading","getElementById","display","layoutType","layoutWidth","leftSidebarType","topbar","CHANGE_LAYOUT","CHANGE_LAYOUT_WIDTH","CHANGE_LEFT_SIDEBAR_TYPE","CHANGE_TOPBAR","LOADER","changeLayoutType","changeLayoutWidth","changeLeftSidebarType","changeTopbar","changeLoaderValue"],"mappings":"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","file":"js/app.a5915b72.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"404\":\"404\"}[chunkId]||chunkId) + \".\" + {\"404\":\"d65444a0\",\"chunk-456005ef\":\"3e6515a5\",\"chunk-6a0c29e7\":\"cd65225f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-456005ef\":1,\"chunk-6a0c29e7\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"404\":\"404\"}[chunkId]||chunkId) + \".\" + {\"404\":\"31d6cfe0\",\"chunk-456005ef\":\"6dda502a\",\"chunk-6a0c29e7\":\"942f70d5\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import BootstrapVue from \"bootstrap-vue\";\nimport Swal from \"sweetalert2\";\nimport Vue from \"vue\";\nimport { axios } from \"./api\";\nimport { URL } from \"./api/global.env\";\nVue.use(BootstrapVue);\nconst vm = new Vue({});\n\nexport function handleApiError(error) {\n if (error.response.status === 409) {\n console.log(error);\n localStorage.clear();\n Swal.fire({\n icon: \"error\",\n title: error.response.data.message || \"Your session has expired.\",\n }).then(async (response) => {\n const objKeys = Object.keys(response);\n if (objKeys.includes(\"isConfirmed\") && objKeys.includes(\"isDismissed\")) {\n if (response.isConfirmed === true || response.isDismissed === true) {\n await axios.post(\n `${URL}api/logout`,\n {},\n {\n headers: {\n userid: error.response.data.userId,\n // sessionId: error.response.data.data.sessionId,\n },\n }\n );\n window.location.href = \"/\";\n return Promise.resolve();\n }\n }\n });\n }\n\n // if user is unauthenticated\n if (error.response.status === 401) {\n vm.$bvToast.toast(\"Please login to access the application.\", {\n title: \"Unauthorized request.\",\n variant: \"danger\",\n solid: true,\n });\n\n return Promise.resolve();\n }\n if (document.getElementsByClassName(\"toast\").length) {\n return;\n }\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=style&index=0&id=4ba16a88&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7cf1b10f&prod&scoped=true&lang=css\"","import { unauthClient, apiDefaults } from \"@/api/index.js\";\nimport axios from \"axios\";\n// import store from \"@/state/store\";\nimport { URL } from \"@/api/global.env\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../api/global.env\";\nimport { handleApiError } from \"../../apiErrorHandler\";\nconst encryptData = (data) => {\n const encryptedData = CryptoJS.AES.encrypt(\n JSON.stringify(data),\n secretKey\n ).toString();\n return encryptedData;\n};\nconst decryptData = (encryptedData) => {\n try {\n const bytes = CryptoJS.AES.decrypt(encryptedData, secretKey);\n const decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n return decryptedData;\n } catch (error) {\n return null;\n }\n};\nconst updateLocalStorage = (key, data) => {\n localStorage.setItem(key, encryptData(data));\n};\nconst Auth = {\n state: () => ({\n token: decryptData(localStorage.getItem(\"token\")) || null,\n sessionId: decryptData(localStorage.getItem(\"sessionId\")) || null,\n refresh: decryptData(localStorage.getItem(\"refresh\")) || null,\n orgId: decryptData(localStorage.getItem(\"orgId\")) || null,\n userId: decryptData(localStorage.getItem(\"userId\")) || null,\n userEmail: decryptData(localStorage.getItem(\"userEmail\")) || null,\n userName: decryptData(localStorage.getItem(\"userName\")) || null,\n gitToken: decryptData(localStorage.getItem(\"gitToken\")) || null,\n githubUsername: decryptData(localStorage.getItem(\"githubUsername\")) || null,\n isActive: null,\n isDeleted: null,\n isSuperUser: null,\n isEmailVerified: null,\n unauthClient: unauthClient,\n ditaOtVersions: [],\n notificationData: [],\n recentPublicationsData: [],\n projectsData: [],\n projectsList: [],\n creditsDetails: null,\n repoUser: \"\",\n repoName: \"\",\n orgDetails: \"\",\n isWorkspaceCreated: \"\",\n endpoints: {\n obtain: \"/orguser/authenticate\",\n },\n currentWorkingProject:\n JSON.parse(localStorage.getItem(\"currentWorkingProject\")) || null,\n }),\n mutations: {\n updateTokens(state, tokens) {\n updateLocalStorage(\"token\", tokens.token);\n updateLocalStorage(\"refresh\", tokens.refresh || tokens.token);\n updateLocalStorage(\"orgId\", tokens.orgId);\n updateLocalStorage(\"userId\", tokens.userId);\n updateLocalStorage(\"userEmail\", tokens.email || tokens.userEmail);\n updateLocalStorage(\"userName\", tokens.username || tokens.userName);\n updateLocalStorage(\"githubUsername\", tokens.githubUsername);\n updateLocalStorage(\"gitToken\", tokens.gitToken);\n state.token = tokens.token;\n state.refresh = tokens.refresh || tokens.token;\n state.orgId = tokens.orgId;\n state.userId = tokens.userId;\n state.userEmail = tokens.email || tokens.userEmail;\n state.userName = tokens.username || tokens.userName;\n state.gitToken = tokens.gitToken;\n state.githubUsername = tokens.githubUsername;\n state.isActive = tokens.isActive;\n state.isDeleted = tokens.isDeleted;\n state.isSuperUser = tokens.isSuperUser;\n state.isEmailVerified = tokens.isEmailVerified;\n state.isWorkspaceCreated = tokens.hasWorkspace;\n },\n updateSessionId(state, sessionId) {\n state.sessionId = sessionId;\n updateLocalStorage(\"sessionId\", sessionId);\n },\n updateUserId(state, userId) {\n state.userId = userId;\n localStorage.setItem(\"userId\", userId);\n },\n updateAccess(state, token) {\n localStorage.setItem(\"token\", token);\n state.token = token;\n },\n updateGitToken(state, token) {\n updateLocalStorage(\"gitToken\", token.gitToken);\n state.gitToken = token.gitToken;\n },\n updateActiveStatus(state, token) {\n state.isActive = token.isActive;\n },\n updateDeletedStatus(state, token) {\n state.isDeleted = token.isDeleted;\n },\n updateSuperUserStatus(state, token) {\n state.isSuperUser = token.isSuperUser;\n },\n updateEmailVerifiedStatus(state, token) {\n state.isEmailVerified = token.isEmailVerified;\n },\n removeToken(state) {\n localStorage.setItem(\"token\", null);\n localStorage.setItem(\"sessionId\", null);\n localStorage.setItem(\"refresh\", null);\n localStorage.setItem(\"reponame\", null);\n localStorage.setItem(\"orgId\", null);\n localStorage.setItem(\"userId\", null);\n localStorage.setItem(\"userName\", null);\n localStorage.setItem(\"userEmail\", null);\n localStorage.setItem(\"gitToken\", null);\n localStorage.setItem(\"repouser\", null);\n localStorage.setItem(\"githubUsername\", null);\n state.token = null;\n state.sessionId = null;\n state.refresh = null;\n state.orgId = null;\n state.userId = null;\n state.userEmail = null;\n state.userName = null;\n state.gitToken = null;\n state.githubUsername = null;\n state.isActive = null;\n state.isDeleted = null;\n state.isSuperUser = null;\n state.isEmailVerified = null;\n },\n SET_DITA_OT_VERSIONS(state, versions) {\n state.ditaOtVersions = versions;\n },\n setNotificationData(state, data) {\n state.notificationData = data;\n },\n setRecentPublicationsData(state, data) {\n state.recentPublicationsData = data;\n },\n setProjectsData(state, data) {\n state.projectsData = data;\n },\n setProjectsList(state, data) {\n state.projectsList = data;\n },\n setCreditsDetails(state, data) {\n state.creditsDetails = data;\n },\n setRepoUser(state, data) {\n state.repoUser = data;\n },\n setRepoName(state, data) {\n state.repoName = data;\n },\n setOrgDetails(state, data) {\n state.orgDetails = data;\n },\n setWorkspaceStatus(state, data) {\n state.isWorkspaceCreated = data;\n },\n setCurrentWorkingProject(state, data) {\n localStorage.setItem(\"currentWorkingProject\", JSON.stringify(data));\n state.currentWorkingProject = data;\n },\n },\n getters: {\n client: (state) => {\n const apiClient = axios.create({\n ...apiDefaults,\n headers: {\n Authorization: `Bearer ${state.token}`,\n sessionId: state.sessionId,\n userId: state.userId,\n orgId: state.orgId,\n gitToken: `${state.gitToken}`,\n },\n });\n apiClient.interceptors.response.use(\n (response) => {\n // Return a successful response back to the calling service\n return response;\n },\n (error) => {\n handleApiError(error);\n\n // Return any error which is not due to authentication back to the calling service\n if (error.response.status !== 401) {\n return new Promise((resolve, reject) => {\n reject(error);\n });\n }\n }\n );\n return apiClient;\n },\n ditaOtVersions: (state) => state.ditaOtVersions,\n },\n actions: {\n obtainToken(context, authDetails) {\n return context.state.unauthClient\n .post(context.state.endpoints.obtain, authDetails)\n .then((response) => {\n this.commit(\"updateTokens\", {\n token: response.data.token,\n refresh: response.data.refresh,\n orgId: response.data.orgId,\n userEmail: response.data.email,\n userName: response.data.username,\n userId: response.data.id,\n githubUsername: response.data.githubUsername,\n });\n this.commit(\"updateEmailVerifiedStatus\", {\n isEmailVerified: response.data.isEmailVerified,\n });\n this.commit(\"updateGitToken\", {\n gitToken: response.data.gitToken,\n });\n this.commit(\"updateActiveStatus\", {\n isActive: response.data.isActive,\n });\n this.commit(\"updateDeletedStatus\", {\n isDeleted: response.data.isDeleted,\n });\n this.commit(\"updateSuperUserStatus\", {\n isSuperUser: response.data.isSuperUser,\n });\n });\n },\n refreshToken(context) {\n const payload = {\n refresh: context.state.refresh,\n };\n context.state.unauthClient\n .post(context.state.endpoints.refresh, payload)\n .then((response) => {\n this.commit(\"updateAccess\", response.data.token);\n })\n .catch(() => {});\n },\n registerUser(context, authDetails) {\n return context.state.unauthClient\n .post(context.state.endpoints.register, authDetails)\n .then(() => {});\n },\n fetchDitaOtVersions({ commit }, orgId) {\n return axios\n .get(`${URL}api/serveradmin/organization/byorgid?orgId=${orgId}`, {\n headers: {\n Authorization: `Bearer ${decryptData(\n localStorage.getItem(\"token\")\n )}`,\n sessionId: decryptData(localStorage.getItem(\"sessionId\")),\n userId: decryptData(localStorage.getItem(\"userId\")),\n orgId: decryptData(localStorage.getItem(\"orgId\")),\n },\n })\n .then((response) => {\n const ditaOtVersions = response.data[0].ditaotVersion;\n commit(\"SET_DITA_OT_VERSIONS\", ditaOtVersions);\n return ditaOtVersions;\n })\n .catch((error) => {\n throw error;\n });\n },\n },\n};\nexport default Auth;\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=style&index=0&id=5c41ae26&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deployToChatbot.vue?vue&type=style&index=0&id=1883845a&prod&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=style&index=0&id=578b78d9&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./preflightinvalidfile.vue?vue&type=style&index=0&id=3035b571&prod&scoped=true&lang=css\"","export const state = {\n type: null,\n message: null\n};\n\nexport const mutations = {\n success(state, message) {\n state.type = 'success';\n state.message = message;\n },\n error(state, message) {\n state.type = 'danger';\n state.message = message;\n },\n clear(state) {\n state.type = null;\n state.message = null;\n }\n};\n\nexport const actions = {\n success({ commit }, message) {\n commit('success', message);\n },\n error({ commit }, message) {\n commit('error', message);\n },\n clear({ commit }) {\n commit('clear');\n }\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatbotPublishStatus.vue?vue&type=style&index=0&id=5c33f4a8&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./githubDiff.vue?vue&type=style&index=0&id=0386c9c6&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentActivities.vue?vue&type=style&index=0&id=5b3105d8&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetpassword.vue?vue&type=style&index=0&id=02217321&prod&scoped=true&lang=css\"","import axios from \"axios\";\nimport { URL } from \"@/api/global.env\";\nimport { handleApiError } from \"../apiErrorHandler\";\n\nconst apiDefaults = {\n baseURL: `${URL}api`,\n timeout: 1000000,\n};\n\nconst unauthClient = axios.create({\n baseURL: `${URL}api`,\n timeout: 1000000,\n});\n\nconst defaultAxios = axios.create();\n\ndefaultAxios.interceptors.response.use(\n (response) => {\n // Return a successful response back to the calling service\n return response;\n },\n (error) => {\n handleApiError(error);\n\n // Return any error which is not due to authentication back to the calling service\n if (error.response.status !== 401) {\n return new Promise((resolve, reject) => {\n reject(error);\n });\n }\n }\n);\n\nexport { unauthClient, apiDefaults, defaultAxios as axios };\n","module.exports = __webpack_public_path__ + \"img/Octocat.0ba2aa20.png\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCard.vue?vue&type=style&index=0&id=0f8b58f1&prod&scoped=true&lang=css\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./totalPointsUsage.vue?vue&type=style&index=0&id=0a45fabe&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=592dc162&prod&scoped=true&lang=css\"","var map = {\n\t\"./ar.json\": \"af08\",\n\t\"./en.json\": \"edd4\",\n\t\"./es.json\": \"a306\",\n\t\"./fr.json\": \"f693\",\n\t\"./zh.json\": \"3504\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"49f8\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tree.vue?vue&type=style&index=1&id=9996db58&prod&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./steps.vue?vue&type=style&index=0&id=481dc8ec&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./baseColor.vue?vue&type=style&index=0&id=25f0d934&prod&scoped=true&lang=css\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div id=\"app\">\n <router-view />\n </div>\n</template>\n<script>\nimport appConfig from \"@/app.config\";\nexport default {\n name: \"app\",\n page: {\n titleTemplate(title) {\n title = typeof title === \"function\" ? title(this.$store) : title;\n return title ? `${title} | ${appConfig.title}` : appConfig.title;\n },\n },\n created() {\n if (this.$store.state.Auth.orgId) {\n this.$store\n .dispatch(\"fetchDitaOtVersions\", this.$store.state.Auth.orgId)\n .then((ditaOtVersions) => {\n this.ditaOtVersions = ditaOtVersions;\n })\n .catch((error) => {\n error;\n });\n }\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n },\n};\n</script>\n<style>\n.swal2-icon.swal2-success .swal2-success-ring {\n border-color: red;\n}\n.position-reletive {\n position: relative;\n}\n\n.btn-light {\n background-color: #ffffff !important;\n border-color: #dcdee2 !important;\n}\n\n.cmh-icon {\n color: #ffffff;\n font-size: 30px;\n margin-right: 5px;\n}\n\n.card-header {\n height: 7vh;\n display: flex;\n align-items: center;\n}\n\n.text-center {\n text-align: center;\n}\n\n.view-detail {\n background: unset !important;\n font-size: 12px;\n border: none !important;\n color: #117c5c !important;\n font-weight: bold;\n}\n\n.inputbox {\n display: flex;\n flex-direction: column;\n}\n\n.input {\n padding: 6px 8px;\n border-radius: 3px;\n border: 1px solid rgb(193, 189, 189);\n}\n\n.text-truncate {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.card-icons-btn {\n background: none;\n border: none;\n font-size: 16px;\n}\n\n.card-icons-btn:nth-child(1) {\n color: #5864d2;\n}\n\n.iconBox {\n text-align: right;\n}\n\n.card-icons-btn:nth-child(2) {\n color: red;\n}\n\n.card-body {\n position: relative;\n}\n\n.Card-img {\n width: 80px;\n}\n\n.Card-img img {\n width: 100%;\n}\n\n.title {\n font-weight: 500;\n font-size: 15px;\n}\n\n.custom-diff-container a.d2h-file-name:hover {\n color: #fe5e45;\n}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4597b6cd\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=4597b6cd&prod&lang=css\"\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 null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport BootstrapVue from \"bootstrap-vue\";\nimport VueSweetalert2 from \"vue-sweetalert2\";\nimport VeeValidate from \"vee-validate\";\nimport Loading from \"vue-loading-overlay\";\nimport \"vue-loading-overlay/dist/vue-loading.css\";\nimport vco from \"v-click-outside\";\nimport router from \"./router\";\nimport store from \"@/state/store\";\nimport i18n from \"./i18n\";\nimport VJstree from \"vue-jstree\";\nimport VueSplit from \"vue-split-panel\";\nimport \"@/assets/scss/app.scss\";\n// Import and register your global components\nimport PageHeader from \"@/components/pageheader\";\nimport Simplebar from \"simplebar-vue\";\n// Load environment variables\nrequire(\"dotenv\").config();\n// Register global components\nVue.component(\"PageHeader\", PageHeader);\nVue.component(\"Simplebar\", Simplebar);\nVue.config.productionTip = false;\nVue.use(Loading);\nVue.use(VueSplit);\nVue.use(BootstrapVue);\nVue.use(VeeValidate);\nVue.use(vco);\nVue.use(VueSweetalert2);\nVue.component(\"v-jstree\", VJstree);\nVue.prototype.$eventBus = new Vue();\nexport const eventBus = new Vue(); // creating an event bus.\nnew Vue({\n router,\n store,\n i18n,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=4597b6cd&prod&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pageheader.vue?vue&type=style&index=0&id=2e71ba3a&prod&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/placeholder.ada0529a.png\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=cc60f998&prod&scoped=true&lang=css\"","import { axios } from \"@/api/index.js\";\nimport { URL } from \"@/api/global.env\";\nimport Swal from \"sweetalert2\";\nconst Projects = {\n state: {\n suserprojectdata: null,\n },\n mutations: {\n setUserProjectDetails: (state, e) => (state.suserprojectdata = e),\n },\n actions: {\n async userProjectDetails({ commit }, payload) {\n try {\n let apptoken = localStorage.getItem(\"token\");\n const { data } = await axios.get(`${URL}api${payload}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apptoken}`,\n sessionId: localStorage.getItem(\"sessionId\"),\n userId: localStorage.getItem(\"userId\"),\n orgId: localStorage.getItem(\"orgId\"),\n },\n });\n commit(\"setUserProjectDetails\", data);\n } catch (error) {\n if (\n error.response.data.message ==\n \"Another device has login with your account!\"\n ) {\n localStorage.clear();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n icon: \"error\",\n title: \"Oops...\",\n text: \"Another device has logged in with your account!\",\n })\n .then(() => {\n window.location.href = \"/\";\n });\n }\n if (error.response.data.message == \"Invalid Token\") {\n localStorage.clear();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n icon: \"error\",\n title: \"Oops...\",\n text:\n \"Your session has expired. Please log in again to continue accessing the metR. \",\n })\n .then(() => {\n window.location.href = \"/\";\n });\n }\n if (\n error.response.data.message ==\n \"The current subscription of your organization has been expired !\"\n ) {\n localStorage.clear();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n icon: \"error\",\n title: \"Oops...\",\n text:\n \"The current subscription for your organization has expired. Please kindly request your organization to renew the subscription plan in order to continue using our services. If you require any assistance, please feel free to contact metR support at support@metr.com. Thank you!\",\n })\n .then(() => {\n window.location.href = \"/\";\n });\n }\n }\n },\n },\n};\nexport default Projects;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=style&index=0&id=6e3ae888&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forgotpassword.vue?vue&type=style&index=0&id=1a4fbf8c&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=style&index=1&id=4ca364bc&prod&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=style&index=0&id=6a877520&prod&scoped=true&lang=css\"","const gitdetails = {\n state: {\n owner: \"\",\n projectName: \"\",\n },\n mutations: {\n setOwner(state, owner) {\n state.owner = owner;\n },\n setProjectName(state, projectName) {\n state.projectName = projectName;\n },\n },\n};\nexport default gitdetails;\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=style&index=0&id=4ca364bc&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./headerfooter.vue?vue&type=style&index=0&id=7bf7569b&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=style&index=0&id=1770448b&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=07a9e2a1&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tree.vue?vue&type=style&index=0&id=9996db58&prod&scoped=true&lang=css\"","// Register each file as a corresponding Vuex module. Module nesting\n// will mirror [sub-]directory hierarchy and modules are namespaced\n// as the camelCase equivalent of their file name.\n\nimport camelCase from 'lodash/camelCase'\nimport Auth from \"./auth.js\";\nimport UserProject from \"./docmanager/project.js\";\nimport Gitdetails from \"./docmanager/gitdetails.js\";\n\nconst modulesCache = {}\nconst storeData = { modules: { Auth, UserProject,Gitdetails } }\n\n;(function updateModules() {\n // Allow us to dynamically require all Vuex module files.\n // https://webpack.js.org/guides/dependency-management/#require-context\n const requireModule = require.context(\n // Search for files in the current directory.\n '.',\n // Search for files in subdirectories.\n true,\n // Include any .js files that are not this file or a unit test.\n /^((?!index|\\.unit\\.).)*\\.js$/\n )\n\n // For every Vuex module...\n requireModule.keys().forEach((fileName) => {\n const moduleDefinition = requireModule(fileName)\n\n // Skip the module during hot reload if it refers to the\n // same module definition as the one we have cached.\n if (modulesCache[fileName] === moduleDefinition) return\n\n // Update the module cache, for efficient hot reloading.\n modulesCache[fileName] = moduleDefinition\n\n // Get the module path as an array.\n const modulePath = fileName\n // Remove the \"./\" from the beginning.\n .replace(/^\\.\\//, '')\n // Remove the file extension from the end.\n .replace(/\\.\\w+$/, '')\n // Split nested modules into an array path.\n .split(/\\//)\n // camelCase all module namespaces and names.\n .map(camelCase)\n\n // Get the modules object for the current path.\n const { modules } = getNamespace(storeData, modulePath)\n\n // Add the module to our modules object.\n modules[modulePath.pop()] = {\n // Modules are namespaced by default.\n namespaced: true,\n ...moduleDefinition,\n }\n })\n\n // If the environment supports hot reloading...\n if (module.hot) {\n // Whenever any Vuex module is updated...\n module.hot.accept(requireModule.id, () => {\n // Update `storeData.modules` with the latest definitions.\n updateModules()\n // Trigger a hot update in the store.\n require('../store').default.hotUpdate({ modules: storeData.modules })\n })\n }\n})()\n\n// Recursively get the namespace of a Vuex module, even if nested.\nfunction getNamespace(subtree, path) {\n if (path.length === 1) return subtree\n\n const namespace = path.shift()\n subtree.modules[namespace] = {\n modules: {},\n namespaced: true,\n ...subtree.modules[namespace],\n }\n return getNamespace(subtree.modules[namespace], path)\n}\n\nexport default storeData.modules\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport modules from \"./modules\";\n\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n modules,\n // Enable strict mode in development to get a warning\n // when mutating state outside of a mutation.\n // https://vuex.vuejs.org/guide/strict.html\n strict: process.env.NODE_ENV !== \"production\",\n});\n\nexport default store;\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\nVue.use(VueI18n);\nfunction loadLocaleMessages() {\n const locales = require.context(\n \"./locales\",\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i\n );\n const messages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || \"en\",\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: loadLocaleMessages(),\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._m(0),_c('div',{staticClass:\"container-fluid p-0\"},[_c('div',{staticClass:\"row no-gutters\"},[_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"},[_c('div',{staticClass:\"w-100\"},[_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-lg-9\"},[_vm._m(1),_c('b-alert',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAuthenticate),expression:\"isAuthenticate\"}],attrs:{\"show\":\"\",\"dismissible\":\"\",\"variant\":\"danger\"}},[_vm._v(\" \"+_vm._s(_vm.authErrorMessage)+\" \")]),_c('b-alert',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isLoading),expression:\"isLoading\"}],attrs:{\"show\":\"\",\"variant\":\"info\"}},[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('b-spinner',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}}),_vm._v(\" Processing authentication... \")],1)]),_c('div',{staticClass:\"p-2 mt-5 text-center\"},[_c('button',{staticClass:\"btn btn-dark btn-lg w-100 d-flex align-items-center justify-content-center\",attrs:{\"disabled\":_vm.isLoading},on:{\"click\":_vm.loginWithGitHub}},[(_vm.isLoading)?_c('b-spinner',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}}):_c('i',{staticClass:\"mdi mdi-github mr-2 h5 mb-0\"}),_vm._v(\" \"+_vm._s(_vm.isLoading ? 'Signing in...' : 'Sign in with GitHub')+\" \")],1)]),_c('div',{staticClass:\"mt-5 text-center\"},[_c('p',[_vm._v(\" © \"+_vm._s(new Date().getFullYear())+\" \"),_c('a',{attrs:{\"href\":\"https://metapercept.com/\",\"target\":\"_blank\"}},[_vm._v(\"Metapercept Technology Services LLP\")]),_vm._v(\" All Rights Reserved \")])])],1)])])])]),_vm._m(2)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-btn btn-sm d-none d-sm-block\"},[_c('a',{attrs:{\"href\":\"/\"}},[_c('i',{staticClass:\"mdi mdi-home-variant h2 text-white\"})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-center\"},[_c('h4',{staticClass:\"font-size-18 mt-4\"},[_vm._v(\"Welcome Back !\")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\"Sign in to continue to metR.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-lg-8\"},[_c('div',{staticClass:\"authentication-bg\"},[_c('div',{staticClass:\"bg-overlay\"})])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <div class=\"home-btn btn-sm d-none d-sm-block\">\n <a href=\"/\">\n <i class=\"mdi mdi-home-variant h2 text-white\"></i>\n </a>\n </div>\n\n <div class=\"container-fluid p-0\">\n <div class=\"row no-gutters\">\n <div class=\"col-lg-4\">\n <div class=\"authentication-page-content p-4 d-flex align-items-center min-vh-100\">\n <div class=\"w-100\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-9\">\n <div class=\"text-center\">\n <h4 class=\"font-size-18 mt-4\">Welcome Back !</h4>\n <p class=\"text-muted\">Sign in to continue to metR.</p>\n </div>\n\n <b-alert v-show=\"isAuthenticate\" show dismissible variant=\"danger\">\n {{ authErrorMessage }}\n </b-alert>\n\n <b-alert v-show=\"isLoading\" show variant=\"info\">\n <div class=\"d-flex align-items-center\">\n <b-spinner small class=\"mr-2\"></b-spinner>\n Processing authentication...\n </div>\n </b-alert>\n\n <div class=\"p-2 mt-5 text-center\">\n <button\n class=\"btn btn-dark btn-lg w-100 d-flex align-items-center justify-content-center\"\n :disabled=\"isLoading\"\n @click=\"loginWithGitHub\"\n >\n <b-spinner v-if=\"isLoading\" small class=\"mr-2\"></b-spinner>\n <i v-else class=\"mdi mdi-github mr-2 h5 mb-0\"></i>\n {{ isLoading ? 'Signing in...' : 'Sign in with GitHub' }}\n </button>\n </div>\n\n <div class=\"mt-5 text-center\">\n <p>\n © {{ new Date().getFullYear() }}\n <a href=\"https://metapercept.com/\" target=\"_blank\">Metapercept Technology Services LLP</a>\n All Rights Reserved\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-lg-8\">\n <div class=\"authentication-bg\">\n <div class=\"bg-overlay\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n isAuthenticate: false,\n authErrorMessage: \"\",\n isLoading: false,\n };\n },\n methods: {\n loginWithGitHub() {\n this.isLoading = true;\n \n const apiUrl = process.env.VUE_APP_API_KEY;\n if (!apiUrl) {\n console.error(\"VUE_APP_API_KEY environment variable is not set\");\n this.messageToast(\"Error\", \"danger\", \"Configuration error. Please contact support.\");\n this.isLoading = false;\n return;\n }\n\n const baseUrl = apiUrl.endsWith('/') ? apiUrl.slice(0, -1) : apiUrl;\n const loginUrl = `${baseUrl}/api/orguser/github/login`;\n \n try {\n window.location.href = loginUrl;\n } catch (error) {\n console.error(\"Error redirecting to GitHub login:\", error);\n this.messageToast(\"Error\", \"danger\", \"Failed to redirect to GitHub. Please try again.\");\n this.isLoading = false;\n }\n },\n\n messageToast(title, variant, content) {\n this.$bvToast.toast(content, {\n title,\n variant,\n solid: true,\n autoHideDelay: 5000,\n });\n },\n\n checkAuthSuccess() {\n try {\n const urlParams = new URLSearchParams(window.location.search);\n const authStatus = urlParams.get(\"auth\");\n const userData = urlParams.get(\"data\");\n const error = urlParams.get(\"error\");\n \n if (error) {\n this.showAuthError(decodeURIComponent(error));\n window.history.replaceState({}, document.title, '/user-login');\n return;\n }\n \n if (authStatus === \"success\" && userData) {\n this.isLoading = true;\n this.handleSuccessfulAuth(userData);\n }\n } catch (error) {\n console.error(\"Error checking auth success:\", error);\n this.showAuthError(\"Authentication check failed. Please try again.\");\n }\n },\n\n handleSuccessfulAuth(userData) {\n try {\n const parsedUserData = JSON.parse(decodeURIComponent(userData));\n \n if (this.$store) {\n this.$store.commit('updateTokens', {\n token: parsedUserData.token,\n email: parsedUserData.email,\n username: parsedUserData.username,\n userId: parsedUserData.userId,\n orgId: parsedUserData.orgId,\n githubUsername: parsedUserData.githubUsername,\n gitToken: parsedUserData.gitToken,\n isChangePassword: true,\n name: parsedUserData.username,\n hasWorkspace: parsedUserData.hasWorkspace\n });\n }\n \n window.history.replaceState({}, document.title, '/user-login');\n this.messageToast(\"Success\", \"success\", \"Login successful! Redirecting...\");\n \n setTimeout(() => {\n if (parsedUserData.hasWorkspace) {\n this.$router.push(\"/dashboard\");\n } else {\n this.$router.push(\"/docmanager\");\n }\n }, 1500);\n \n } catch (error) {\n console.error(\"Error parsing user data:\", error);\n this.showAuthError(`Authentication failed: ${error.message}`);\n }\n },\n\n showAuthError(message) {\n this.isAuthenticate = true;\n this.authErrorMessage = message;\n this.isLoading = false;\n },\n },\n \n mounted() {\n this.checkAuthSuccess();\n },\n};\n</script>\n\n<style scoped>\n.btn-dark {\n background-color: #24292e;\n border-color: #24292e;\n transition: all 0.2s ease-in-out;\n}\n.btn-dark:hover {\n background-color: #1a1e22;\n border-color: #1a1e22;\n}\n.btn-dark:disabled {\n background-color: #6c757d;\n border-color: #6c757d;\n opacity: 0.65;\n cursor: not-allowed;\n}\n.mdi-github {\n font-size: 1.2rem;\n}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./login.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./login.vue?vue&type=template&id=6a877520&scoped=true\"\nimport script from \"./login.vue?vue&type=script&lang=js\"\nexport * from \"./login.vue?vue&type=script&lang=js\"\nimport style0 from \"./login.vue?vue&type=style&index=0&id=6a877520&prod&scoped=true&lang=css\"\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 \"6a877520\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('div',{staticClass:\"container-fluid p-0\"},[_c('div',{staticClass:\"row no-gutters\"},[_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"},[_c('div',{staticClass:\"w-100\"},[_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-lg-9\"},[_c('div',[_vm._m(0),(_vm.isVerify == false)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"danger\"}},[_vm._v(\" Token Expired! If you want to get another link, you need to contact administrator using this email.. \"),_c('a',{staticClass:\"text-decoration-underline\",attrs:{\"href\":\"mailto:techsupport@metr.com\"}},[_vm._v(\"techsupport@metr.com\")])]):_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"success\"}},[_vm._v(\"Your account is verified successfully and instructions will be sent to you on email!\")]),_c('div',{staticClass:\"mt-5 text-center\"},[_c('p',[_vm._v(\" Copyright © \"+_vm._s(new Date().getFullYear())+\" \"),_c('a',{attrs:{\"href\":\"https://metapercept.com/\",\"target\":\"_blank\"}},[_vm._v(\" Metapercept Technology Services LLP \")]),_vm._v(\" All Rights Reserved \")])])],1)])])])])]),_vm._m(1)])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-center\"},[_c('h4',{staticClass:\"font-size-18 mt-4\"},[_vm._v(\"Welcome !\")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\" Verify to continue to metR User. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-lg-8\"},[_c('div',{staticClass:\"authentication-bg\"},[_c('div',{staticClass:\"bg-overlay\"})])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <div>\n <!-- Container for the authentication page content -->\n <div class=\"container-fluid p-0\">\n <div class=\"row no-gutters\">\n <div class=\"col-lg-4\">\n <!-- Left side with authentication content -->\n <div\n class=\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"\n >\n <div class=\"w-100\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-9\">\n <div>\n <div class=\"text-center\">\n <!-- Title and welcome message -->\n <h4 class=\"font-size-18 mt-4\">Welcome !</h4>\n <p class=\"text-muted\">\n Verify to continue to metR User.\n </p>\n </div>\n <!-- Alert for token expiration -->\n <b-alert v-if=\"isVerify == false\" show variant=\"danger\">\n Token Expired! If you want to get another link, you need\n to contact administrator using this email..\n <a\n href=\"mailto:techsupport@metr.com\"\n class=\"text-decoration-underline\"\n >techsupport@metr.com</a\n >\n </b-alert>\n <!-- Alert for successful verification -->\n <b-alert v-else show variant=\"success\"\n >Your account is verified successfully and instructions\n will be sent to you on email!</b-alert\n >\n <div class=\"mt-5 text-center\">\n <p>\n <!-- Copyright notice with current year -->\n Copyright © {{ new Date().getFullYear() }}\n <a href=\"https://metapercept.com/\" target=\"_blank\">\n Metapercept Technology Services LLP\n </a>\n All Rights Reserved\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-8\">\n <!-- Right side with background image -->\n <div class=\"authentication-bg\">\n <div class=\"bg-overlay\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n data() {\n return {\n isVerify: false,\n };\n },\n computed: {\n currentYear() {\n return new Date().getFullYear();\n },\n },\n mounted() {\n // Call the tokenVerify method when the component is mounted\n this.tokenVerify();\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n async tokenVerify() {\n // Show a loader while verifying the token\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n // Perform token verification\n this.$store.getters.client\n .put(`orguser/emailverification?token=${this.$route.params.token}`)\n .then((response) => {\n if (response.data.message === \"User Verified\") {\n this.isVerify = true;\n }\n // Hide the loader\n loader.hide();\n })\n .catch(() => {\n // Hide the loader in case of an error\n loader.hide();\n });\n },\n },\n};\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./emailverification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./emailverification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./emailverification.vue?vue&type=template&id=79c1c288\"\nimport script from \"./emailverification.vue?vue&type=script&lang=js\"\nexport * from \"./emailverification.vue?vue&type=script&lang=js\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('div',{staticClass:\"container-fluid p-0\"},[_c('div',{staticClass:\"row no-gutters\"},[_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"},[_c('div',{staticClass:\"w-100\"},[_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-lg-9\"},[_c('div',[_vm._m(0),(_vm.isEmailSend === true)?_c('b-alert',{attrs:{\"show\":\"\",\"variant\":\"success\"}},[_vm._v(\" Check your email for a link to reset your password. If it doesn’t appear within a few minutes, check your spam folder. \"),_c('br'),_c('div',{staticClass:\"mt-4 text-center\"},[_c('router-link',{staticClass:\"btn btn-sm btn-primary w-md waves-effect waves-light\",attrs:{\"tag\":\"a\",\"to\":\"/\"}},[_vm._v(\" Log In \")])],1)]):_c('div',{staticClass:\"p-2 mt-5\"},[_c('b-alert',{staticClass:\"mb-4\",attrs:{\"variant\":\"danger\",\"dismissible\":\"\"},model:{value:(_vm.isResetError),callback:function ($$v) {_vm.isResetError=$$v},expression:\"isResetError\"}},[_vm._v(_vm._s(_vm.error))]),_c('form',{staticClass:\"form-horizontal\",on:{\"submit\":function($event){$event.preventDefault();return _vm.forgotpassword.apply(null, arguments)}}},[_c('div',{staticClass:\"alert alert-success mb-4\",attrs:{\"role\":\"alert\"}},[_vm._v(\" Enter your Email, and instructions will be sent to you! \")]),_c('div',{staticClass:\"form-group auth-form-group-custom mb-4\"},[_c('i',{staticClass:\"ri-mail-line auti-custom-input-icon\"}),_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(\"Email\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"},{name:\"validate\",rawName:\"v-validate\",value:('required|email'),expression:\"'required|email'\"}],staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.email.$error,\n },attrs:{\"id\":\"email\",\"name\":\"email\",\"placeholder\":\"Enter email\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing)return;_vm.email=$event.target.value}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('email')),expression:\"errors.has('email')\"}],staticClass:\"text-danger text-sm\"},[_vm._v(\" \"+_vm._s(_vm.errors.first(\"email\"))+\" \")]),(_vm.submitted && _vm.$v.email.$error)?_c('div',{staticClass:\"invalid-feedback\"},[(!_vm.$v.email.required)?_c('span',[_vm._v(\"Email is required.\")]):_vm._e(),(!_vm.$v.email.email)?_c('span',[_vm._v(\"Please enter a valid email.\")]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"mt-4 text-center\"},[_c('button',{staticClass:\"btn btn-sm btn-primary w-md waves-effect waves-light\",attrs:{\"type\":\"submit\"}},[_vm._v(\" Send password reset email \")])])])],1),_c('div',{staticClass:\"mt-5 text-center\"},[_c('p',[_vm._v(\" Copyright © \"+_vm._s(new Date().getFullYear())+\" \"),_c('a',{attrs:{\"href\":\"https://metapercept.com/\",\"target\":\"_blank\"}},[_vm._v(\" Metapercept Technology Services LLP \")]),_vm._v(\" All Rights Reserved \")])])],1)])])])])]),_vm._m(1)])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-center\"},[_c('h4',{staticClass:\"font-size-18 mt-4\"},[_vm._v(\"Reset Password\")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\"Reset your password to metR.\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-lg-8\"},[_c('div',{staticClass:\"authentication-bg\"},[_c('div',{staticClass:\"bg-overlay\"})])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <div>\n <div class=\"container-fluid p-0\">\n <div class=\"row no-gutters\">\n <div class=\"col-lg-4\">\n <div\n class=\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"\n >\n <div class=\"w-100\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-9\">\n <div>\n <div class=\"text-center\">\n <!-- Title and description -->\n <h4 class=\"font-size-18 mt-4\">Reset Password</h4>\n <p class=\"text-muted\">Reset your password to metR.</p>\n </div>\n <!-- Display alert when email is sent for password reset -->\n <b-alert\n v-if=\"isEmailSend === true\"\n show\n variant=\"success\"\n >\n Check your email for a link to reset your password. If\n it doesn’t appear within a few minutes, check your spam\n folder.\n <br />\n <div class=\"mt-4 text-center\">\n <!-- Link to login page -->\n <router-link\n tag=\"a\"\n to=\"/\"\n class=\"btn btn-sm btn-primary w-md waves-effect waves-light\"\n >\n Log In\n </router-link>\n </div>\n </b-alert>\n <div v-else class=\"p-2 mt-5\">\n <!-- Display error alert if there's a reset error -->\n <b-alert\n v-model=\"isResetError\"\n class=\"mb-4\"\n variant=\"danger\"\n dismissible\n >{{ error }}</b-alert\n >\n <!-- Password reset form -->\n <form\n class=\"form-horizontal\"\n @submit.prevent=\"forgotpassword\"\n >\n <!-- Success message -->\n <div class=\"alert alert-success mb-4\" role=\"alert\">\n Enter your Email, and instructions will be sent to\n you!\n </div>\n <!-- Email input -->\n <div class=\"form-group auth-form-group-custom mb-4\">\n <i class=\"ri-mail-line auti-custom-input-icon\"></i>\n <label for=\"email\">Email</label>\n <input\n v-model=\"email\"\n class=\"form-control\"\n id=\"email\"\n v-validate=\"'required|email'\"\n name=\"email\"\n placeholder=\"Enter email\"\n :class=\"{\n 'is-invalid': submitted && $v.email.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"errors.has('email')\"\n >\n {{ errors.first(\"email\") }}\n </p>\n <!-- Display error messages -->\n <div\n v-if=\"submitted && $v.email.$error\"\n class=\"invalid-feedback\"\n >\n <span v-if=\"!$v.email.required\"\n >Email is required.</span\n >\n <span v-if=\"!$v.email.email\"\n >Please enter a valid email.</span\n >\n </div>\n </div>\n <div class=\"mt-4 text-center\">\n <!-- Button to submit the password reset request -->\n <button\n class=\"btn btn-sm btn-primary w-md waves-effect waves-light\"\n type=\"submit\"\n >\n Send password reset email\n </button>\n </div>\n </form>\n </div>\n <div class=\"mt-5 text-center\">\n <p>\n <!-- Copyright notice -->\n Copyright © {{ new Date().getFullYear() }}\n <a href=\"https://metapercept.com/\" target=\"_blank\">\n Metapercept Technology Services LLP\n </a>\n All Rights Reserved\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-8\">\n <div class=\"authentication-bg\">\n <div class=\"bg-overlay\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nexport default {\n data() {\n return {\n isVerify: false,\n email: \"\",\n submitted: false,\n error: null,\n tryingToReset: false,\n isResetError: false,\n isEmailSend: false,\n };\n },\n created() {},\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n forgotpassword() {\n this.$validator.validateAll().then((result) => {\n if (result) {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .post(`/orguser/forgotpassword`, {\n email: this.email,\n })\n .then((res) => {\n loader.hide();\n if (res) {\n this.isEmailSend = true;\n this.messageToast(\"Success\", \"success\", res.message);\n } else {\n this.isEmailSend = false;\n // Handle the case where response or response.data is empty\n this.messageToast(\"Error\", \"danger\", \"An error occurred\");\n }\n })\n .catch((error) => {\n this.isEmailSend = false;\n loader.hide();\n // Handle the error and display an error message using a message toast\n this.messageToast(\n \"Error\",\n \"danger\",\n error.response\n ? error.response.data.message\n : \"An error occurred\"\n );\n });\n }\n });\n },\n },\n};\n</script>\n<style scoped>\n.auth-form-group-custom .auti-custom-input-icon {\n top: 30px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forgotpassword.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./forgotpassword.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./forgotpassword.vue?vue&type=template&id=1a4fbf8c&scoped=true\"\nimport script from \"./forgotpassword.vue?vue&type=script&lang=js\"\nexport * from \"./forgotpassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./forgotpassword.vue?vue&type=style&index=0&id=1a4fbf8c&prod&scoped=true&lang=css\"\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 \"1a4fbf8c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._m(0),_c('div',[_c('div',{staticClass:\"container-fluid p-0\"},[_c('div',{staticClass:\"row no-gutters\"},[_c('div',{staticClass:\"col-lg-4\"},[_c('div',{staticClass:\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"},[_c('div',{staticClass:\"w-100\"},[_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-lg-9\"},[_c('div',[_vm._m(1),_c('b-alert',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAuthenticate),expression:\"isAuthenticate\"}],attrs:{\"show\":\"\",\"dismissible\":\"\",\"variant\":\"danger\"}},[_vm._v(\"Invalid Credentials!\")]),_c('div',{staticClass:\"p-2 mt-5\"},[_c('form',{ref:\"form\",staticClass:\"form-horizontal\",on:{\"submit\":function($event){$event.preventDefault();return _vm.resetPassword.apply(null, arguments)}}},[_c('div',{staticClass:\"form-group auth-form-group-custom mb-4\"},[_c('i',{staticClass:\"ri-lock-2-line auti-custom-input-icon\"}),_c('label',{attrs:{\"for\":\"password\"}},[_vm._v(\"New Password\")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|verify_password'),expression:\"'required|verify_password'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.password),expression:\"password\"}],ref:\"password\",staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.password.$error,\n },attrs:{\"name\":\"password\",\"type\":\"password\",\"id\":\"password\",\"placeholder\":\"Enter new password\"},domProps:{\"value\":(_vm.password)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password=$event.target.value}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('password') &&\n _vm._.find(_vm.errors.items, { field: 'password' })\n .rule == 'required'\n ),expression:\"\\n errors.has('password') &&\\n _.find(errors.items, { field: 'password' })\\n .rule == 'required'\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"The new password field is required\")])]),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('password') &&\n _vm._.find(_vm.errors.items, { field: 'password' })\n .rule == 'verify_password'\n ),expression:\"\\n errors.has('password') &&\\n _.find(errors.items, { field: 'password' })\\n .rule == 'verify_password'\\n \"}],staticClass:\"text-danger text-sm\"},[_vm._v(\" \"+_vm._s(_vm.errors.first(\"password\"))+\" \")])]),_c('div',{staticClass:\"form-group auth-form-group-custom mb-4\"},[_c('i',{staticClass:\"ri-lock-2-line auti-custom-input-icon\"}),_c('label',{attrs:{\"for\":\"confirmPassword\"}},[_vm._v(\"Confirm Password\")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|confirmed:password'),expression:\"'required|confirmed:password'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.password_confirmation),expression:\"password_confirmation\"}],staticClass:\"form-control\",class:{\n 'is-invalid':\n _vm.submitted && _vm.$v.password_confirmation.$error,\n },attrs:{\"name\":\"password_confirmation\",\"type\":\"password\",\"id\":\"password_confirmation\",\"placeholder\":\"Enter password\"},domProps:{\"value\":(_vm.password_confirmation)},on:{\"input\":function($event){if($event.target.composing)return;_vm.password_confirmation=$event.target.value}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errors.has('password_confirmation')),expression:\"errors.has('password_confirmation')\"}],staticClass:\"text-danger text-sm\"},[_vm._v(\" The password confirmation field does not match \")])]),_vm._m(2)])]),_c('div',{staticClass:\"mt-5 text-center\"},[_c('p',[_vm._v(\" Copyright © \"+_vm._s(new Date().getFullYear())+\" \"),_c('a',{attrs:{\"href\":\"https://metapercept.com/\",\"target\":\"_blank\"}},[_vm._v(\" Metapercept Technology Services LLP \")]),_vm._v(\" All Rights Reserved \")])])],1)])])])])]),_vm._m(3)])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"home-btn btn-sm d-none d-sm-block\"},[_c('a',{attrs:{\"href\":\"/\"}},[_c('i',{staticClass:\"mdi mdi-home-variant h2 text-white\"})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-center\"},[_c('h4',{staticClass:\"font-size-18 mt-4\"},[_vm._v(\"Welcome Back !\")]),_c('p',{staticClass:\"text-muted\"},[_vm._v(\" Reset Password to continue to metR Client Admin. \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mt-4 text-center\"},[_c('button',{staticClass:\"btn btn-sm btn-primary w-md waves-effect waves-light\",attrs:{\"type\":\"submit\"}},[_vm._v(\" Reset Password \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"col-lg-8\"},[_c('div',{staticClass:\"authentication-bg\"},[_c('div',{staticClass:\"bg-overlay\"})])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Navigation Home button -->\n <div class=\"home-btn btn-sm d-none d-sm-block\">\n <a href=\"/\">\n <i class=\"mdi mdi-home-variant h2 text-white\"></i>\n </a>\n </div>\n <div>\n <div class=\"container-fluid p-0\">\n <div class=\"row no-gutters\">\n <div class=\"col-lg-4\">\n <div\n class=\"authentication-page-content p-4 d-flex align-items-center min-vh-100\"\n >\n <div class=\"w-100\">\n <div class=\"row justify-content-center\">\n <div class=\"col-lg-9\">\n <div>\n <div class=\"text-center\">\n <!-- Title and description -->\n <h4 class=\"font-size-18 mt-4\">Welcome Back !</h4>\n <p class=\"text-muted\">\n Reset Password to continue to metR Client Admin.\n </p>\n </div>\n <!-- Display alert for invalid authentication -->\n <b-alert\n v-show=\"isAuthenticate\"\n show\n dismissible\n variant=\"danger\"\n >Invalid Credentials!</b-alert\n >\n <!-- Display alert if token is expired -->\n\n <div class=\"p-2 mt-5\">\n <!-- Password reset form -->\n <form\n class=\"form-horizontal\"\n @submit.prevent=\"resetPassword\"\n ref=\"form\"\n >\n <!-- New password input -->\n <div class=\"form-group auth-form-group-custom mb-4\">\n <i\n class=\"ri-lock-2-line auti-custom-input-icon\"\n ></i>\n <label for=\"password\">New Password</label>\n <input\n v-validate=\"'required|verify_password'\"\n v-model=\"password\"\n name=\"password\"\n type=\"password\"\n class=\"form-control\"\n id=\"password\"\n placeholder=\"Enter new password\"\n :class=\"{\n 'is-invalid': submitted && $v.password.$error,\n }\"\n ref=\"password\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('password') &&\n _.find(errors.items, { field: 'password' })\n .rule == 'required'\n \"\n >\n <span>The new password field is required</span>\n </p>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('password') &&\n _.find(errors.items, { field: 'password' })\n .rule == 'verify_password'\n \"\n >\n {{ errors.first(\"password\") }}\n </p>\n </div>\n <!-- Confirm password input -->\n <div class=\"form-group auth-form-group-custom mb-4\">\n <i\n class=\"ri-lock-2-line auti-custom-input-icon\"\n ></i>\n <label for=\"confirmPassword\"\n >Confirm Password</label\n >\n <input\n v-validate=\"'required|confirmed:password'\"\n v-model=\"password_confirmation\"\n name=\"password_confirmation\"\n type=\"password\"\n class=\"form-control\"\n id=\"password_confirmation\"\n placeholder=\"Enter password\"\n :class=\"{\n 'is-invalid':\n submitted && $v.password_confirmation.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"errors.has('password_confirmation')\"\n >\n The password confirmation field does not match\n </p>\n </div>\n <!-- Reset password button -->\n <div class=\"mt-4 text-center\">\n <button\n class=\"btn btn-sm btn-primary w-md waves-effect waves-light\"\n type=\"submit\"\n >\n Reset Password\n </button>\n </div>\n </form>\n </div>\n <div class=\"mt-5 text-center\">\n <p>\n <!-- Copyright notice -->\n Copyright © {{ new Date().getFullYear() }}\n <a href=\"https://metapercept.com/\" target=\"_blank\">\n Metapercept Technology Services LLP\n </a>\n All Rights Reserved\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-8\">\n <div class=\"authentication-bg\">\n <div class=\"bg-overlay\"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport VeeValidate from \"vee-validate\";\nimport _ from \"lodash\";\nexport default {\n data() {\n return {\n isAuthenticate: false,\n password: null,\n password_confirmation: null,\n validateCredentials: false,\n error: null,\n submitted: false,\n };\n },\n computed: {\n _() {\n return _;\n },\n },\n created() {\n VeeValidate.Validator.extend(\"verify_password\", {\n getMessage: () =>\n `The password must contain at least: minimum 8 characters, 1 uppercase letter, 1 lowercase letter, 1 number, and one special character (E.g. , . _ & ? etc)`,\n validate: (value) => {\n var strongRegex = new RegExp(\n \"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#%&])(?=.{8,})\"\n );\n return strongRegex.test(value);\n },\n });\n },\n methods: {\n // This method is use to generate error or success message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n\n resetPassword() {\n this.$validator.validateAll().then((result) => {\n if (result) {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .put(`orguser/resetpassword`, {\n token: this.$route.params.token,\n newPassword: this.password,\n })\n .then((res) => {\n if (res && res.data) {\n if (res.data.message === \"Token Expired\") {\n this.handleTokenExpired(loader);\n } else {\n this.handlePasswordResetSuccess(loader);\n }\n } else {\n // Handle the case where response data or message is empty or undefined\n this.handlePasswordResetError(loader, \"An error occurred\");\n }\n })\n .catch((error) => {\n this.handlePasswordResetError(\n loader,\n error.response\n ? error.response.data.message\n : \"An error occurred\"\n );\n });\n }\n });\n },\n handleTokenExpired(loader) {\n this.messageToast(\"Error\", \"danger\", \"Link Expired\");\n loader.hide();\n setTimeout(() => {\n loader.hide();\n this.$refs.form.reset();\n this.$router.push({\n name: \"Login\",\n });\n }, 2000);\n },\n handlePasswordResetSuccess(loader) {\n // Resetting Values\n // this.password = this.password_confirmation = \"\";\n this.messageToast(\"Success\", \"primary\", \"Password reset successfully\");\n loader.hide();\n setTimeout(() => {\n loader.hide();\n this.$refs.form.reset();\n this.$router.push({\n name: \"Login\",\n });\n }, 2000);\n },\n handlePasswordResetError(loader, errorMessage) {\n this.messageToast(\"Error\", \"danger\", errorMessage);\n loader.hide();\n },\n },\n};\n</script>\n<style scoped>\n.auth-form-group-custom .auti-custom-input-icon {\n top: 30px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetpassword.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetpassword.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./resetpassword.vue?vue&type=template&id=02217321&scoped=true\"\nimport script from \"./resetpassword.vue?vue&type=script&lang=js\"\nexport * from \"./resetpassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./resetpassword.vue?vue&type=style&index=0&id=02217321&prod&scoped=true&lang=css\"\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 \"02217321\",\n null\n \n)\n\nexport default component.exports","// Import the Login and EmailVerification components from their respective files\nimport Login from \"./login\";\nimport EmailVerification from \"./emailverification\";\n\nimport ForgotPassword from \"./forgotpassword\";\nimport ResetPassword from \"./resetpassword\";\n\n// Define an array of route objects\nconst routes = [\n {\n // Define the path for the Login route\n path: \"/\",\n component: Login,\n name: \"Login\",\n beforeEnter: (to, from, next) => {\n // Check if a token is stored in the local storage\n const token = localStorage.getItem(\"token\");\n if (token) {\n // If a token is found, redirect the user to the dashboard\n next(\"/dashboard\");\n } else {\n // If no token is found, allow navigation to the login page\n next();\n }\n },\n },\n {\n // GitHub OAuth callback route\n path: \"/user-login\",\n component: Login,\n name: \"UserLogin\",\n },\n {\n // Define the path for the EmailVerification route with a token parameter\n path: \"/verify/:token\",\n component: EmailVerification,\n name: \"EmailVerification\",\n },\n\n {\n // Forgot Password Route\n path: \"/forgotpassword\",\n component: ForgotPassword,\n name: \"forgotpassword\",\n },\n {\n // Reset Password Route\n path: \"/resetpassword/:token\",\n component: ResetPassword,\n name: \"resetpassword\",\n },\n];\n\n// Export the routes array for use in a Vue Router\nexport default routes;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row mt-2 d-flex justify-content-between mx-3\"},[_c('div',{staticClass:\"dataTables_length\",attrs:{\"id\":\"tickets-table_length\"}},[_c('label',{staticClass:\"d-inline-flex align-items-center\"},[_vm._v(\" Show \"),_c('b-form-select',{attrs:{\"size\":\"sm\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_vm._v(\" entries \")],1)]),_c('div',{staticClass:\"table-responsive mb-0\"},[_c('b-table',{ref:\"adminTable\",attrs:{\"items\":_vm.creditsDetails.data,\"fields\":_vm.colfields,\"responsive\":\"sm\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"show-empty\":\"\"}})],1),_c('div',{staticClass:\"col-12 border-top pt-3\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-pagination',{attrs:{\"total-rows\":_vm.filteredData.length,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)])])])])])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <!-- Main Card -->\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"card\">\n <div class=\"card-body\">\n <!-- Filter and Per Page Options -->\n <div class=\"row mt-2 d-flex justify-content-between mx-3\">\n <div id=\"tickets-table_length\" class=\"dataTables_length\">\n <label class=\"d-inline-flex align-items-center\">\n Show \n <b-form-select\n v-model=\"perPage\"\n size=\"sm\"\n :options=\"pageOptions\"\n ></b-form-select\n > entries\n </label>\n </div>\n\n <!-- Data Table -->\n <div class=\"table-responsive mb-0\">\n <b-table\n :items=\"creditsDetails.data\"\n :fields=\"colfields\"\n responsive=\"sm\"\n :per-page=\"perPage\"\n :current-page=\"currentPage\"\n ref=\"adminTable\"\n show-empty\n >\n </b-table>\n </div>\n <!-- Pagination -->\n <div class=\"col-12 border-top pt-3\">\n <div class=\"d-flex justify-content-end\">\n <b-pagination\n v-model=\"currentPage\"\n :total-rows=\"filteredData.length\"\n :per-page=\"perPage\"\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { eventBus } from \"../../../../main\";\n\nexport default {\n data() {\n return {\n creditsDetails: [],\n filteredData: [],\n title: \"Total Credits Usage\",\n items: [\n {\n text: \"Dashboard\",\n href: `/dashboard`,\n },\n {\n text: \"Total Credits Usage\",\n active: true,\n },\n ],\n userId: this.$store.state.Auth.userId,\n gitToken: this.$store.state.Auth.gitToken,\n totalRows: 1,\n currentPage: 1,\n perPage: 5,\n pageOptions: [5, 10, 25, 50, 100],\n filter: null,\n filterOn: [],\n sortBy: \"\",\n sortDesc: true,\n colfields: this.generateTableColumns(),\n };\n },\n computed: {\n rows() {\n return this.creditsDetails.data.length;\n },\n _() {\n return _;\n },\n totalPages() {\n return Math.ceil(this.rows / this.perPage);\n },\n },\n watch: {\n perPage: {\n handler() {\n this.currentPage = 1;\n },\n },\n creditsDetails: {\n handler() {\n this.filteredData = this.creditsDetails.data;\n },\n },\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.dashboard.text\");\n },\n mounted() {\n if (this.$store.state.Auth.creditsDetails) {\n this.creditsDetails = this.$store.state.Auth.creditsDetails;\n } else {\n this.getCreditsDetails(); // Fetch recent publications\n }\n },\n\n methods: {\n moment,\n onFiltered(filteredItems) {\n // Update the totalRows to the length of the filtered items\n this.totalRows = filteredItems.length;\n this.currentPage = 1;\n },\n onPageChange(page) {\n this.currentPage = page;\n },\n\n generateTableColumns() {\n return [\n {\n key: \"docMigrationType.text\",\n label: \"Migration Type\",\n sortable: true,\n },\n {\n key: \"fileName\",\n label: \"File Name\",\n sortable: true,\n },\n {\n key: \"pagesConverted\",\n label: \"Credits Usage\",\n sortable: true,\n },\n\n {\n key: \"convertedAt\",\n label: \"Migrated At\",\n sortable: true,\n sortByFormatted: true,\n formatter: (value, key, item) =>\n moment(item.convertedAt).format(\"DD-MM-YYYY hh:mm A\"),\n },\n ];\n },\n // This method is use to generate error or success message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n\n getCreditsDetails() {\n this.$store.getters.client\n .get(`/orguser/credits-info`)\n .then((response) => {\n this.creditsDetails = response.data;\n this.$store.commit(\"setCreditsDetails\", response.data);\n })\n .catch((err) => {\n console.log(err);\n });\n },\n },\n};\n</script>\n\n<style scoped>\n.custom-input-box {\n border: 1px solid #ced4da !important;\n border-radius: 0px;\n background-color: #ffffff !important;\n}\n\n.export-button {\n height: 38px;\n}\n\n.search-box input {\n height: 38px;\n}\n\n/* Extra small devices (phones, 600px and down) */\n@media only screen and (max-width: 600px) {\n .row-count-cust-cls {\n margin-bottom: 10px;\n }\n\n .row-pagination-cust-cls {\n margin-top: 20px;\n }\n}\n\n/* Small devices (portrait tablets and large phones, 600px and up) */\n@media only screen and (min-width: 600px) {\n .row-count-cust-cls ul {\n margin-bottom: 10px;\n text-align: left !important;\n }\n}\n\n/* Medium devices (landscape tablets, 768px and up) */\n@media only screen and (min-width: 768px) {\n}\n\n/* Large devices (laptops/desktops, 992px and up) */\n@media only screen and (min-width: 992px) {\n}\n\n/* Extra large devices (large laptops and desktops, 1200px and up) */\n@media only screen and (min-width: 1200px) {\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./totalPointsUsage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./totalPointsUsage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./totalPointsUsage.vue?vue&type=template&id=0a45fabe&scoped=true\"\nimport script from \"./totalPointsUsage.vue?vue&type=script&lang=js\"\nexport * from \"./totalPointsUsage.vue?vue&type=script&lang=js\"\nimport style0 from \"./totalPointsUsage.vue?vue&type=style&index=0&id=0a45fabe&prod&scoped=true&lang=css\"\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 \"0a45fabe\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-8 col-sm-12 mb-3\"},[_c('InfoCard'),_c('div',{staticClass:\"card mb-0\"},[_c('div',{staticClass:\"card-body\"},[_c('Chart')],1)])],1),_c('div',{staticClass:\"col-md-4 col-sm-12 mb-3\"},[_c('RecentNotification',{staticClass:\"h-100\"})],1)]),_c('b-card',[_c('b-tabs',{staticClass:\"btabs-height\",attrs:{\"justified\":\"\",\"nav-class\":\"nav-tabs-custom\",\"content-class\":\"text-muted\"}},[_c('b-tab',{attrs:{\"title\":\"Recent Activities\",\"active\":\"\"}},[_c('div',[_c('div',[_c('RecentActivities')],1)])]),_c('b-tab',{attrs:{\"title\":\"Recent Release Log\"}},[_c('div',[_c('div',[_c('RecentPublication',{staticClass:\"m-0 p-0\"})],1)])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"card\",staticStyle:{\"max-height\":\"500px\"}},[_vm._m(0),_c('div',{staticClass:\"card-body border-top mb-3\",attrs:{\"data-simplebar\":\"\"}},[_c('ul',{staticClass:\"list-unstyled activity-wid m-0\"},[(_vm.showSpinner)?_c('b-skeleton-table',{attrs:{\"rows\":5,\"columns\":1,\"table-props\":{ bordered: true, striped: true }}}):(_vm.notificationData.length > 0 && !_vm.showSpinner)?_c('div',_vm._l((_vm.notificationData),function(data){return _c('li',{key:data.id,staticClass:\"activity-list publication-list-cust-cls\"},[_c('div',{},[_c('div',{staticClass:\"activity-icon avatar-xs\"},[_c('span',{staticClass:\"avatar-title bg-soft-primary text-secondary rounded-circle font-size-24 avatar-title-cust-cls\"},[_c('span',{staticClass:\"dot\"})])]),_c('div',[_c('div',[_c('h5',{staticClass:\"font-size-13 ptitle-cust-cls\"},[_vm._v(\" \"+_vm._s(data.projectName)+\" \")])]),_c('div',[_c('p',{staticClass:\"text-muted mb-0\"},[_vm._v(_vm._s(data.message))])])]),_c('div',[_c('p',{staticClass:\"text-muted mb-0 mr-1 mt-1 font-12\"},[_vm._v(\" \"+_vm._s(_vm.getTimeAgo(data.committer.date))+\" \")])])])])}),0):_c('div',{staticClass:\"d-flex justify-content-center align-items-center m-0 p-0\"},[_c('div',{staticClass:\"text-center\"},[_c('img',{staticClass:\"custom-image\",attrs:{\"src\":require(\"../../../../assets/placeholder.png\")}}),_c('div',{staticClass:\"custom-text\"},[_vm._v(\" No commits added in the last 24 hours \")])])])],1)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"Notifications\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Notification card component -->\n <div class=\"card\" style=\"max-height: 500px\">\n <div\n class=\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">Notifications</div>\n </div>\n <div data-simplebar class=\"card-body border-top mb-3\">\n <ul class=\"list-unstyled activity-wid m-0\">\n <!-- Show skeleton loading when 'showSpinner' is true -->\n <b-skeleton-table\n v-if=\"showSpinner\"\n :rows=\"5\"\n :columns=\"1\"\n :table-props=\"{ bordered: true, striped: true }\"\n ></b-skeleton-table>\n <!-- Render notifications when data is available and not loading -->\n <div v-else-if=\"notificationData.length > 0 && !showSpinner\">\n <li\n class=\"activity-list publication-list-cust-cls\"\n v-for=\"data in notificationData\"\n :key=\"data.id\"\n >\n <div class=\"\">\n <div class=\"activity-icon avatar-xs\">\n <!-- Notification icon -->\n <span\n class=\"avatar-title bg-soft-primary text-secondary rounded-circle font-size-24 avatar-title-cust-cls\"\n >\n <span class=\"dot\"></span>\n </span>\n </div>\n <div>\n <div>\n <!-- Project name -->\n <h5 class=\"font-size-13 ptitle-cust-cls\">\n {{ data.projectName }}\n </h5>\n </div>\n <div>\n <!-- Notification message -->\n <p class=\"text-muted mb-0\">{{ data.message }}</p>\n </div>\n </div>\n <div>\n <!-- Time ago since notification -->\n <p class=\"text-muted mb-0 mr-1 mt-1 font-12\">\n {{ getTimeAgo(data.committer.date) }}\n </p>\n </div>\n </div>\n </li>\n </div>\n <!-- Display a message when no notifications are available -->\n <div\n v-else\n class=\"d-flex justify-content-center align-items-center m-0 p-0\"\n >\n <div class=\"text-center\">\n <img\n class=\"custom-image\"\n src=\"../../../../assets/placeholder.png\"\n />\n <div class=\"custom-text\">\n No commits added in the last 24 hours\n </div>\n </div>\n </div>\n </ul>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { mapActions } from \"vuex\";\nexport default {\n props: {\n items: Object,\n },\n data() {\n return {\n showSpinner: true,\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n notificationData: [], // List of recent notifications\n userProjects: null,\n };\n },\n mounted() {\n // Check if notification data is available in the store, if not, fetch data\n if (this.$store.state.Auth.notificationData.length) {\n this.showSpinner = false;\n this.notificationData = this.$store.state.Auth.notificationData;\n } else {\n this.getrecentnotification(); // Fetch recent notifications\n }\n },\n created() {\n // Fetch DITA OT versions for the organization\n this.fetchDitaOtVersions(this.orgId);\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n ...mapActions({\n get: \"userProjectDetails\",\n }),\n ...mapActions([\"fetchDitaOtVersions\"]),\n ...mapActions([\"fetchRecentNotification\"]),\n // Function to calculate the time ago since a given timestamp\n getTimeAgo(timestamp) {\n const now = new Date();\n const timeDiff = now.getTime() - new Date(timestamp).getTime();\n const minuteDiff = Math.floor(timeDiff / 60000); // 60000 milliseconds in a minute\n if (minuteDiff < 1) {\n return \"just now\";\n } else if (minuteDiff < 60) {\n return `${minuteDiff} minute${minuteDiff > 1 ? \"s\" : \"\"} ago`;\n } else {\n const hourDiff = Math.floor(minuteDiff / 60);\n if (hourDiff < 24) {\n return `${hourDiff} hour${hourDiff > 1 ? \"s\" : \"\"} ago`;\n } else {\n const dayDiff = Math.floor(hourDiff / 24);\n if (dayDiff < 30) {\n return `${dayDiff} day${dayDiff > 1 ? \"s\" : \"\"} ago`;\n } else {\n const monthDiff = Math.floor(dayDiff / 30);\n if (monthDiff < 12) {\n return `${monthDiff} month${monthDiff > 1 ? \"s\" : \"\"} ago`;\n } else {\n const yearDiff = Math.floor(monthDiff / 12);\n return `${yearDiff} year${yearDiff > 1 ? \"s\" : \"\"} ago`;\n }\n }\n }\n }\n },\n // Fetch recent notifications\n getrecentnotification() {\n this.$store.getters.client\n .get(`/orguser/repo/24hrsCommitNotifications?userId=${this.userId}`)\n .then((response) => {\n if (response.data) {\n this.showSpinner = false;\n this.notificationData = response.data;\n this.$store.commit(\"setNotificationData\", response.data);\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No data received from the server\"\n );\n this.showSpinner = false;\n }\n })\n .catch((err) => {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n this.showSpinner = false;\n });\n },\n },\n};\n</script>\n<style scoped>\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n/* .card {\n height: 50rem;\n} */\n.custom-image {\n width: min(90%, 250px);\n}\n.custom-text {\n color: #666;\n font-size: 16px;\n}\n\n.dot {\n width: 12px;\n height: 12px;\n background-color: #fe5e45;\n border-radius: 50%;\n display: inline-block;\n}\n\n.bg-soft-primary {\n background-color: transparent !important;\n}\n.font-12 {\n font-size: 12px;\n}\n\n.card {\n /* height: 24.3rem; */\n height: 100%;\n}\n\n@media (max-width: 767px) {\n .card {\n max-height: 500px;\n }\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentnotification.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentnotification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./recentnotification.vue?vue&type=template&id=77708854&scoped=true\"\nimport script from \"./recentnotification.vue?vue&type=script&lang=js\"\nexport * from \"./recentnotification.vue?vue&type=script&lang=js\"\nimport style0 from \"./recentnotification.vue?vue&type=style&index=0&id=77708854&prod&scoped=true&lang=css\"\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 \"77708854\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('div',{staticClass:\"custom-notifications d-flex justify-content-end align-items-center\"},[_c('div',[_c('button',{staticClass:\"btn text-primary view-details-btn btn-sm m-0\",on:{\"click\":_vm.viewMore}},[_c('span',{staticClass:\"mdi mdi-eye-outline mr-2\"}),_vm._v(\" View More \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{},[_c('div',{},[_c('div',{staticClass:\"row mt-2 d-flex justify-content-between mx-3\"},[_c('div',{staticClass:\"table-responsive mb-0\"},[_c('b-table',{ref:\"adminTable\",attrs:{\"items\":_vm.activityData,\"fields\":_vm.colfields,\"responsive\":\"sm\",\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(createdAt)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.moment(row.item.createdAt).format(\"YYYY-MM-DD h:mm A\"))+\" \")]}},{key:\"cell(download)\",fn:function(row){return [_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.downloadFun(row.item)}}},[_c('i',{staticClass:\"mdi mdi-download\"})])]}}])})],1)])])])])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import store from \"../state/store\";\nconst downloadSourceFiles = async ({ repoName, commitSHA = \"\" }) => {\n console.log(\"in downloadSourceFiles: \", repoName, commitSHA);\n const api = store.getters.client;\n\n await api\n .get(\n `/orguser/docpublish/download-output?repoName=${repoName}&commitSHA=${commitSHA}`,\n {\n responseType: \"blob\",\n }\n )\n .then((response) => {\n console.log(\"download res: \", response);\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", repoName + \".zip\");\n document.body.appendChild(link);\n link.click();\n })\n .catch(async (error) => {\n let errorText = null;\n\n if (error.response.data instanceof Blob) {\n const reader = new FileReader();\n\n // Return a new Promise to handle the async flow\n await new Promise((resolve, reject) => {\n reader.onload = () => {\n errorText = reader.result\n ? reader.result\n : \"Error in the downloading file.\";\n console.log(\"📢[tree.vue:203]: errorText: \", errorText);\n\n try {\n // Attempt to parse the error message if it's JSON formatted\n const parsedError = JSON.parse(errorText);\n errorText = parsedError.message || \"An unknown error occurred\";\n console.log(\n \"📢[download-source-files.js:35]: errorText: \",\n errorText\n );\n resolve(); // Resolve the Promise once we're done\n } catch (parseError) {\n // Handle parsing errors\n errorText = \"Error parsing the error message.\";\n reject(parseError); // Reject if there was a parsing issue\n }\n };\n\n reader.onerror = (err) => {\n reject(err); // Reject the Promise if FileReader encounters an error\n };\n\n reader.readAsText(error.response.data); // Start reading the Blob as text\n });\n }\n\n // If errorText is still null, rethrow the original error\n if (errorText === null) {\n throw error; // Rethrow the original error\n } else {\n throw new Error(errorText); // Throw a new error with the processed message\n }\n });\n};\n\nexport default downloadSourceFiles;\n","<template>\n <div>\n <div>\n <div\n class=\"custom-notifications d-flex justify-content-end align-items-center\"\n >\n <div>\n <button\n class=\"btn text-primary view-details-btn btn-sm m-0\"\n @click=\"viewMore\"\n >\n <span class=\"mdi mdi-eye-outline mr-2\"></span> View More\n </button>\n </div>\n </div>\n <!-- Main Card -->\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"\">\n <div class=\"\">\n <!-- Filter and Per Page Options -->\n <div class=\"row mt-2 d-flex justify-content-between mx-3\">\n <!-- Data Table -->\n <div class=\"table-responsive mb-0\">\n <b-table\n :items=\"activityData\"\n :fields=\"colfields\"\n responsive=\"sm\"\n ref=\"adminTable\"\n show-empty\n >\n <!-- Custom cell rendering for createdAt -->\n <template #cell(createdAt)=\"row\">\n {{\n moment(row.item.createdAt).format(\"YYYY-MM-DD h:mm A\")\n }}\n </template>\n\n <template #cell(download)=\"row\">\n <b-button\n size=\"sm\"\n variant=\"primary\"\n @click=\"downloadFun(row.item)\"\n ><i class=\"mdi mdi-download\"></i\n ></b-button>\n </template>\n </b-table>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport { eventBus } from \"../../../../main\";\nimport downloadSourceFiles from \"../../../../services/download-source-files\";\n\nexport default {\n data() {\n return {\n activityData: [],\n userId: this.$store.state.Auth.userId,\n gitToken: this.$store.state.Auth.gitToken,\n colfields: this.generateTableColumns(),\n };\n },\n computed: {\n _() {\n return _;\n },\n },\n\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.dashboard.text\");\n if (this.$store.state.Auth.recentPublicationsData.length) {\n this.activityData = this.$store.state.Auth.recentPublicationsData.splice(\n 0,\n 10\n );\n } else {\n this.getReleasePublication();\n }\n },\n\n methods: {\n viewMore() {\n this.$router.push({\n name: \"Releasetable\",\n });\n },\n moment,\n\n generateTableColumns() {\n return [\n {\n key: \"releaseTitle\",\n label: \"Release Title\",\n sortable: true,\n },\n {\n key: \"projectName\",\n label: \"Project Name\",\n sortable: true,\n },\n\n {\n key: \"outputFormat\",\n label: \"Output Format\",\n sortable: true,\n },\n {\n key: \"ditaotVersion\",\n label: \"DITA OT Version\",\n sortable: true,\n },\n {\n key: \"createdAt\",\n label: \"Created At\",\n sortable: true,\n sortByFormatted: true,\n formatter: (value, key, item) =>\n moment(item.createdAt).format(\"YYYY-MM-DD HH:mm:ss\"),\n },\n\n {\n key: \"download\",\n label: \"Download\",\n sortable: false,\n },\n ];\n },\n // This method is use to generate error or success message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n\n getReleasePublication() {\n this.$store.getters.client\n .get(`/orguser/release/byuserId?userId=${this.userId}`)\n .then((response) => {\n if (response.data) {\n this.activityData = response.data.splice(0, 10);\n this.$store.commit(\"setRecentPublicationsData\", response.data);\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No data received from the server\"\n );\n }\n })\n .catch((err) => {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n this.showSpinner = false;\n });\n },\n\n async downloadFun(item) {\n console.log(\"📢[releasetable.vue:389]: item: \", item);\n\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n await downloadSourceFiles({\n repoName: item.projectName,\n commitSHA: item.commitSHA,\n });\n this.messageToast(\n \"Files downloaded\",\n \"primary\",\n \"Downloaded successful!\"\n );\n } catch (error) {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n } finally {\n loader.hide();\n }\n },\n },\n};\n</script>\n\n<style scoped>\n.custom-input-box {\n border: 1px solid #ced4da !important;\n border-radius: 0px;\n background-color: #ffffff !important;\n}\n\n.export-button {\n height: 38px;\n}\n\n.search-box input {\n height: 38px;\n}\n\n.view-details-btn {\n background-color: rgba(113, 165, 203, 0.2);\n}\n\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n\n/* Extra small devices (phones, 600px and down) */\n@media only screen and (max-width: 600px) {\n .row-count-cust-cls {\n margin-bottom: 10px;\n }\n\n .row-pagination-cust-cls {\n margin-top: 20px;\n }\n}\n\n/* Small devices (portrait tablets and large phones, 600px and up) */\n@media only screen and (min-width: 600px) {\n .row-count-cust-cls ul {\n margin-bottom: 10px;\n text-align: left !important;\n }\n}\n\n/* Medium devices (landscape tablets, 768px and up) */\n@media only screen and (min-width: 768px) {\n}\n\n/* Large devices (laptops/desktops, 992px and up) */\n@media only screen and (min-width: 992px) {\n}\n\n/* Extra large devices (large laptops and desktops, 1200px and up) */\n@media only screen and (min-width: 1200px) {\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentpublication.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentpublication.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./recentpublication.vue?vue&type=template&id=23bdb6d5&scoped=true\"\nimport script from \"./recentpublication.vue?vue&type=script&lang=js\"\nexport * from \"./recentpublication.vue?vue&type=script&lang=js\"\nimport style0 from \"./recentpublication.vue?vue&type=style&index=0&id=23bdb6d5&prod&scoped=true&lang=css\"\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 \"23bdb6d5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"height\":\"320px\"}},[(!_vm.isFetching)?_c('apexchart',{attrs:{\"type\":\"area\",\"options\":_vm.chartOptions,\"series\":_vm.chartSeries,\"height\":\"320\"}}):_vm._e(),(_vm.isChartLoading)?_c('div',[_c('b-overlay',{attrs:{\"show\":\"\",\"variant\":\"light\"}},[_c('div',{staticStyle:{\"height\":\"320px\"}})])],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 320px\">\n <apexchart\n v-if=\"!isFetching\"\n type=\"area\"\n :options=\"chartOptions\"\n :series=\"chartSeries\"\n height=\"320\"\n />\n <div v-if=\"isChartLoading\">\n <b-overlay show variant=\"light\"\n ><div style=\"height: 320px\"></div\n ></b-overlay>\n </div>\n </div>\n</template>\n\n<script>\nimport VueApexCharts from \"vue-apexcharts\";\n\nexport default {\n components: {\n apexchart: VueApexCharts,\n },\n data() {\n return {\n userId: this.$store.state.Auth.userId,\n releases: [],\n isFetching: false,\n chartOptions: {\n chart: {\n type: \"area\",\n // height: 300,\n },\n dataLabels: {\n enabled: false,\n },\n xaxis: {\n type: \"datetime\", // Treat X-axis as datetime\n title: {\n text: \"Date & Time\",\n },\n },\n yaxis: {\n title: {\n text: \"Release Count\",\n },\n },\n title: {\n text: \"Releases by Output Format\",\n },\n stroke: {\n curve: \"smooth\",\n width: \"2\",\n },\n fill: {\n opacity: 0.3,\n },\n colors: [\"#FF5733\", \"#33FF57\", \"#3357FF\", \"#FF33A1\"],\n legend: {\n position: \"top\",\n },\n tooltip: {\n x: {\n format: \"yyyy-MM-dd HH:mm\", // Full date-time format in tooltip\n },\n theme: \"dark\",\n fillSeriesColor: false,\n },\n noData: {\n text: \"No Releases Available\", // Message to display when there is no data\n align: \"center\", // Align the message in the center\n verticalAlign: \"middle\", // Vertically align the message\n offsetX: 0, // Horizontal offset (optional)\n offsetY: 0, // Vertical offset (optional)\n style: {\n fontSize: \"16px\", // Font size for the message\n fontFamily: \"Helvetica, Arial, sans-serif\", // Font family for the message\n color: \"#777\", // Color of the message\n },\n },\n },\n chartSeries: [],\n };\n },\n mounted() {\n // Check if recent publications data is available in the store, if not, fetch data\n this.isFetching = true;\n if (this.$store.state.Auth.recentPublicationsData.length) {\n this.releases = this.$store.state.Auth.recentPublicationsData;\n console.log(\"called direct\", this.releases);\n this.prepareChartData(this.$store.state.Auth.recentPublicationsData);\n } else {\n console.log(\"called api \");\n\n this.getReleaseNote(); // Fetch recent publications\n }\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n prepareChartData(releases) {\n console.log(\"📢[chart.vue:73]: releases: \", releases);\n const groupedData = {};\n\n // Group releases by output format and time intervals (hourly or 30 minutes)\n releases.forEach((release) => {\n const outputFormat = release.outputFormat;\n const releaseDate = new Date(release.createdAt);\n // const dateKey = releaseDate.toISOString().split(\"T\")[0]; // Get date part (e.g., '2024-11-22')\n\n // Create a time-based key for each 30-minute interval\n const intervalKey = new Date(\n Math.floor(releaseDate.getTime() / (30 * 60 * 1000)) *\n (30 * 60 * 1000)\n ).toISOString(); // Round down to nearest 30-minute interval\n\n // Initialize data structure if not yet created\n if (!groupedData[outputFormat]) {\n groupedData[outputFormat] = {};\n }\n if (!groupedData[outputFormat][intervalKey]) {\n groupedData[outputFormat][intervalKey] = 0;\n }\n\n // Increment the count for this interval and output format\n groupedData[outputFormat][intervalKey]++;\n });\n\n // Get all unique intervals from the releases (sorted)\n const allIntervals = Array.from(\n new Set(\n releases.map((release) => {\n const releaseDate = new Date(release.createdAt);\n return new Date(\n Math.floor(releaseDate.getTime() / (30 * 60 * 1000)) *\n (30 * 60 * 1000)\n ).toISOString(); // Round down to nearest 30-minute interval\n })\n )\n ).sort();\n\n // Prepare series data for the chart\n this.chartSeries = Object.keys(groupedData).map((outputFormat) => ({\n name: outputFormat,\n data: allIntervals.map((interval) => {\n // For each interval, get the count or 0 if there is no release for that interval\n return groupedData[outputFormat][interval] || 0;\n }),\n }));\n\n // Set the X-axis categories as the sorted intervals\n this.chartOptions.xaxis.categories = allIntervals;\n console.log(\n \"📢[chart.vue:123]: this.chartOptions.xaxis.categories: \",\n this.chartOptions.xaxis.categories\n );\n this.isFetching = false;\n },\n // Fetch recent publications\n getReleaseNote() {\n this.$store.getters.client\n .get(`/orguser/release/byuserId?userId=${this.userId}`)\n .then((response) => {\n if (response.data) {\n this.releases = response.data;\n this.$store.commit(\"setRecentPublicationsData\", response.data);\n this.prepareChartData(response.data);\n }\n })\n\n .catch(() => {})\n .finally(() => {\n this.isFetching = false;\n });\n },\n\n setData() {},\n },\n};\n</script>\n\n<style scoped>\n/* Optional custom styles */\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chart.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./chart.vue?vue&type=template&id=511e8a35&scoped=true\"\nimport script from \"./chart.vue?vue&type=script&lang=js\"\nexport * from \"./chart.vue?vue&type=script&lang=js\"\nimport style0 from \"./chart.vue?vue&type=style&index=0&id=511e8a35&prod&scoped=true&lang=css\"\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 \"511e8a35\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"align-items-stretch row\"},[_vm._l((_vm.cardData),function(data,index){return _c('div',{key:index,staticClass:\"col-12 col-sm-4 mb-3\"},[_c('router-link',{attrs:{\"to\":data.link}},[_c('div',{staticClass:\"card mb-0 h-100\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(_vm._s(data.name))]),_c('div',{staticClass:\"d-flex align-items-start justify-content-between mt-3\"},[_c('span',{staticClass:\"mdi d-flex align-items-center justify-content-center\",class:data.icon,style:({\n color: data.color,\n fontSize: '25px',\n width: '40px',\n height: '40px',\n borderRadius: '50%',\n backgroundColor: `${data.color}42`,\n })}),_c('h2',{staticClass:\"mb-0\",staticStyle:{\"font-size\":\"30px\",\"font-weight\":\"300\"}},[_vm._v(\" \"+_vm._s(_vm.formatNumber(data.value))+\" \")])])])])])],1)}),_c('div',{staticClass:\"col-12 col-sm-4 mb-3\"},[_c('router-link',{attrs:{\"to\":\"/usage\"}},[_c('div',{staticClass:\"card mb-0 h-100\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"Credits Usage\")]),_c('div',{staticClass:\"d-flex align-items-start justify-content-between mt-3\"},[_c('div',[_c('p',{staticClass:\"mb-0\",staticStyle:{\"font-size\":\"14px\",\"font-weight\":\"300\"}},[_c('b',[_vm._v(\"Used: \")]),_vm._v(\" \"+_vm._s(_vm.formatNumber(_vm.creditsDetails?.totalCreditsUsed))+\" \")]),(_vm.creditsDetails.remainingCredits >= 0)?_c('p',{staticClass:\"mb-0\",staticStyle:{\"font-size\":\"14px\",\"font-weight\":\"300\"}},[_c('b',[_vm._v(\"Remaining: \")]),_vm._v(\" \"+_vm._s(_vm.formatNumber(_vm.creditsDetails.remainingCredits))+\" \")]):_vm._e()])])])])])],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"align-items-stretch row\">\n <div\n class=\"col-12 col-sm-4 mb-3\"\n v-for=\"(data, index) in cardData\"\n :key=\"index\"\n >\n <router-link :to=\"data.link\">\n <div class=\"card mb-0 h-100\">\n <div class=\"card-body\">\n <div class=\"custom-title mb-0\">{{ data.name }}</div>\n <div class=\"d-flex align-items-start justify-content-between mt-3\">\n <span\n class=\"mdi d-flex align-items-center justify-content-center\"\n :class=\"data.icon\"\n :style=\"{\n color: data.color,\n fontSize: '25px',\n width: '40px',\n height: '40px',\n borderRadius: '50%',\n backgroundColor: `${data.color}42`,\n }\"\n ></span>\n <h2 class=\"mb-0\" style=\"font-size: 30px; font-weight: 300\">\n {{ formatNumber(data.value) }}\n </h2>\n </div>\n </div>\n </div>\n </router-link>\n </div>\n <div class=\"col-12 col-sm-4 mb-3\">\n <router-link to=\"/usage\">\n <div class=\"card mb-0 h-100\">\n <div class=\"card-body\">\n <div class=\"custom-title mb-0\">Credits Usage</div>\n <div class=\"d-flex align-items-start justify-content-between mt-3\">\n <!-- <span\n class=\"mdi d-flex align-items-center justify-content-center mdi-file-export custom-class\"\n :style=\"{\n color: '#fb9678',\n fontSize: '25px',\n width: '40px',\n height: '40px',\n borderRadius: '50%',\n backgroundColor: `#fb967842`,\n }\"\n ></span> -->\n <div>\n <p class=\"mb-0\" style=\"font-size: 14px; font-weight: 300\">\n <b>Used: </b>\n {{ formatNumber(creditsDetails?.totalCreditsUsed) }}\n </p>\n <p\n class=\"mb-0\"\n style=\"font-size: 14px; font-weight: 300\"\n v-if=\"creditsDetails.remainingCredits >= 0\"\n >\n <b>Remaining: </b>\n {{ formatNumber(creditsDetails.remainingCredits) }}\n </p>\n </div>\n </div>\n </div>\n </div>\n </router-link>\n </div>\n </div>\n</template>\n<script>\nexport default {\n mounted() {\n if (this.$store.state.Auth.projectsData.length) {\n this.projectList = this.$store.state.Auth.projectsData;\n this.cardData[0].value = this.projectList.length;\n } else {\n this.getProjectData();\n }\n\n if (this.$store.state.Auth.recentPublicationsData.length) {\n this.releases = this.$store.state.Auth.recentPublicationsData;\n this.cardData[1].value = this.releases.length;\n } else {\n this.getReleaseNote(); // Fetch recent publications\n }\n // if (this.$store.state.Auth.creditsDetails) {\n // this.creditsDetails = this.$store.state.Auth.creditsDetails;\n // } else {\n this.getCreditsDetails(); // Fetch recent publications\n // }\n\n // this.getPublisherTypes();\n // this.getMigrationsOptions();\n },\n data() {\n return {\n userId: this.$store.state.Auth.userId,\n projectList: [],\n releases: [],\n publisherTypes: [],\n migrationsOptions: [],\n creditsDetails: null,\n cardData: [\n {\n name: \"Projects\",\n icon: \"mdi-file-document-edit-outline\",\n value: 0,\n link: \"/docmanager\",\n color: \"#03a9f3\",\n },\n {\n name: \"Releases\",\n icon: \"mdi-folder-multiple count-icon-cust-cls\",\n value: 0,\n link: \"/release\",\n color: \"#ab8ce4\",\n },\n // {\n // name: \"Credits Usage\",\n // icon: \"mdi-file-export custom-class\",\n // value: 0,\n // link: \"/usage\",\n // // link: \"/docpublisher\",\n // color: \"#fb9678\",\n // },\n // {\n // name: \"Migration Types\",\n // icon: \"mdi-file-replace\",\n // value: 0,\n // link: \"/docmigration\",\n // color: \"#00c292\",\n // },\n ],\n };\n },\n methods: {\n formatNumber(number) {\n return String(number).padStart(2, \"0\"); // Pads single digit numbers with leading zero\n },\n async getProjectData() {\n this.$store.getters.client\n .get(`/projectuser/byuserid?userId=${this.userId}&show=hide`)\n .then((response) => {\n if (response.data) {\n this.projectList = response.data;\n this.cardData[0].value = this.projectList.length;\n this.$store.commit(\"setProjectsData\", response.data);\n }\n })\n .catch(() => {});\n },\n getReleaseNote() {\n this.$store.getters.client\n .get(`/orguser/release/byuserId?userId=${this.userId}`)\n .then((response) => {\n if (response.data) {\n this.releases = response.data;\n this.$store.commit(\"setRecentPublicationsData\", response.data);\n this.cardData[1].value = this.releases.length;\n }\n })\n .catch(() => {});\n },\n async getoutputFormat() {\n try {\n const res = await this.$store.getters.client.get(\"/plugins\");\n return res.data;\n } catch (error) {\n return [];\n }\n },\n async getCustomOutputFormat() {\n try {\n const res = await this.$store.getters.client.get(\n \"/orguser/docpublisher/customplugin\"\n );\n return res.data;\n } catch (error) {\n console.error(\"Error fetching custom output format:\", error);\n return null;\n }\n },\n\n async getPublisherTypes() {\n const defaultPublisherTypes = await this.getoutputFormat();\n const customPublisherTypes = await this.getCustomOutputFormat();\n this.publisherTypes = [...defaultPublisherTypes, ...customPublisherTypes];\n\n this.cardData[2].value = this.publisherTypes.length;\n },\n async getMigrationsOptions() {\n const response = await this.$store.getters.client.get(\n `/orguser/docMigration/get-docMigrationType-available `\n );\n this.migrationsOptions = response.data.data;\n console.log(\n \"📢[InfoCard.vue:140]: migrationsOptions: \",\n this.migrationsOptions\n );\n this.cardData[3].value = this.migrationsOptions.length;\n },\n\n getCreditsDetails() {\n this.$store.getters.client\n .get(`/orguser/credits-info`)\n .then((response) => {\n this.creditsDetails = response.data;\n // this.$store.commit(\"setCreditsDetails\", response.data);\n })\n .catch((err) => {\n console.log(err);\n });\n },\n },\n};\n</script>\n\n<style scoped>\n.custom-title {\n font-size: 16px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InfoCard.vue?vue&type=template&id=0f8b58f1&scoped=true\"\nimport script from \"./InfoCard.vue?vue&type=script&lang=js\"\nexport * from \"./InfoCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./InfoCard.vue?vue&type=style&index=0&id=0f8b58f1&prod&scoped=true&lang=css\"\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 \"0f8b58f1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{},[_c('div',{},[_c('b-table',{ref:\"adminTable\",attrs:{\"items\":_vm.activityData,\"fields\":_vm.colFields,\"responsive\":\"sm\",\"show-empty\":\"\"},scopedSlots:_vm._u([{key:\"cell(activity)\",fn:function(row){return [_c('div',{},[_c('div',{},[_c('p',{},[_vm._v(\" \"+_vm._s(row.item.activity.name)+\" \"),(row.item.activity.subModule)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"(\"+_vm._s(row.item.activity.subModule)+\")\")]):_vm._e()])])])]}},{key:\"cell(date)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.moment(row.item.date).format(\"YYYY-MM-DD/HH:MM A\"))+\" \")]}},{key:\"cell(action)\",fn:function(row){return [(row.item.isActive)?_c('b-dropdown',{attrs:{\"right\":\"\",\"toggle-class\":\"arrow-none card-drop\",\"variant\":\"white\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('i',{staticClass:\"mdi mdi-dots-vertical\"})]},proxy:true}],null,true)},_vm._l((_vm.remainingActivitiesRelatedToCurrent(\n row.item.activity.name\n )),function(activity,index){return _c('b-dropdown-item',{key:index,on:{\"click\":function($event){return _vm.callToActionRelatedToActivity(row.item, activity)}}},[_vm._v(_vm._s(activity.name))])}),1):_c('div',{staticClass:\"ml-3\"},[_c('span',[_vm._v(\" - \")])])]}}])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../api/global.env\";\nconst encodeParam = (param) => {\n const encryptedData = CryptoJS.AES.encrypt(param, secretKey).toString();\n return encodeURIComponent(encryptedData);\n};\n\nconst decryptParam = (param) => {\n // Decode the encrypted data first\n const encryptedData = decodeURIComponent(param);\n const decodedParam = CryptoJS.AES.decrypt(encryptedData, secretKey).toString(\n CryptoJS.enc.Utf8\n );\n return decodedParam;\n};\n\nexport { encodeParam, decryptParam };\n","<template>\n <div class=\"\">\n <div class=\"\">\n <!-- <div class=\"custom-title mb-2\">Recent Activities</div> -->\n <b-table\n :items=\"activityData\"\n :fields=\"colFields\"\n responsive=\"sm\"\n ref=\"adminTable\"\n show-empty\n >\n <template #cell(activity)=\"row\">\n <div class=\"\">\n <div class=\"\">\n <p class=\"\">\n {{ row.item.activity.name }}\n <span\n style=\"font-weight: bold\"\n v-if=\"row.item.activity.subModule\"\n >({{ row.item.activity.subModule }})</span\n >\n </p>\n </div>\n </div>\n </template>\n <template #cell(date)=\"row\">\n {{ moment(row.item.date).format(\"YYYY-MM-DD/HH:MM A\") }}\n </template>\n <template #cell(action)=\"row\">\n <b-dropdown\n right\n toggle-class=\"arrow-none card-drop\"\n variant=\"white\"\n v-if=\"row.item.isActive\"\n >\n <template v-slot:button-content>\n <i class=\"mdi mdi-dots-vertical\"></i>\n </template>\n\n <!-- item for changing password -->\n <b-dropdown-item\n v-for=\"(activity, index) in remainingActivitiesRelatedToCurrent(\n row.item.activity.name\n )\"\n @click=\"callToActionRelatedToActivity(row.item, activity)\"\n :key=\"index\"\n >{{ activity.name }}</b-dropdown-item\n >\n </b-dropdown>\n <div v-else class=\"ml-3\">\n <span> - </span>\n </div>\n </template>\n </b-table>\n </div>\n </div>\n</template>\n<script>\nimport moment from \"moment\";\nimport { encodeParam } from \"../../../../services/cryptoFunction\";\n// import { secretKey } from \"../../../../api/global.env\";\n// import CryptoJS from \"crypto-js\";\nexport default {\n data() {\n return {\n activityData: [\n // {\n // projectName: \"test-new-project-3\",\n // owner: \"test1-meta-omkar\",\n // branch: \"main\",\n // activity: {\n // name: \"DocMigration\",\n // subModule: \"HTML to DITA\",\n // },\n // date: new Date(),\n // },\n // {\n // projectName: \"test-new-project-3\",\n // owner: \"test1-meta-omkar\",\n // branch: \"main\",\n // activity: {\n // name: \"DocPublisher\",\n // subModule: \"html5\",\n // },\n // date: new Date(),\n // },\n ],\n colFields: [\n {\n key: \"projectDetails.projectName\",\n label: \"Project Name\",\n },\n {\n key: \"branch\",\n label: \"Branch\",\n },\n {\n key: \"activity\",\n label: \"Activity\",\n },\n {\n key: \"date\",\n label: \"Date & Time\",\n },\n {\n key: \"action\",\n label: \"Action\",\n },\n ],\n };\n },\n mounted() {\n this.getActivityData();\n },\n methods: {\n moment,\n remainingActivitiesRelatedToCurrent(current) {\n const activities = {\n DocMigration: [\n {\n name: \"DocManager\",\n },\n {\n name: \"DocEditor\",\n },\n {\n name: \"DocPublisher\",\n },\n ],\n DocEditor: [\n {\n name: \"DocManager\",\n },\n {\n name: \"DocEditor\",\n },\n {\n name: \"DocPublisher\",\n },\n ],\n DocPublisher: [\n {\n name: \"DocManager\",\n },\n ],\n };\n return activities[current];\n },\n callToActionRelatedToActivity(project, activity) {\n console.log(\"object: \" + activity.name);\n const functionToCall = {\n DocManager: () => this.redirectToDocManager(project),\n DocEditor: () => this.redirectToDocEditor(project),\n DocPublisher: () => this.redirectToDocPublisher(project),\n };\n\n functionToCall[activity.name]();\n },\n\n redirectToDocManager(project) {\n this.$router.push({\n path: `/docmanager/${encodeParam(\n project.projectDetails?.owner\n )}/${encodeParam(\n project.projectDetails?.projectName\n )}?branchName=${encodeParam(project.branch)}`,\n });\n },\n redirectToDocEditor(project) {\n this.$router.push({\n path: `/doceditor?projectName=${encodeParam(\n project.projectDetails?.projectName\n )}&branchName=${encodeParam(project.branch)}`,\n });\n },\n redirectToDocPublisher(project) {\n this.$router.push({\n path: `/docpublisher?projectName=${encodeParam(\n project.projectDetails?.projectName\n )}&branchName=${encodeParam(project.branch)}`,\n });\n },\n getActivityData() {\n this.$store.getters.client\n .get(`/orguser/recent-activities`)\n .then((response) => {\n this.activityData = response.data.data?.filter(\n (activity) => activity?.projectDetails?.projectName\n );\n })\n .catch((err) => {\n console.log(err);\n });\n },\n },\n};\n</script>\n<style scoped>\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n.view-details-btn {\n background-color: rgba(113, 165, 203, 0.2);\n}\n\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentActivities.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentActivities.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./recentActivities.vue?vue&type=template&id=5b3105d8&scoped=true\"\nimport script from \"./recentActivities.vue?vue&type=script&lang=js\"\nexport * from \"./recentActivities.vue?vue&type=script&lang=js\"\nimport style0 from \"./recentActivities.vue?vue&type=style&index=0&id=5b3105d8&prod&scoped=true&lang=css\"\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 \"5b3105d8\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Display a page header with title and breadcrumb items -->\n <PageHeader :title=\"title\" :items=\"items\" />\n\n <div class=\"row\">\n <div class=\"col-md-8 col-sm-12 mb-3\">\n <InfoCard />\n <div class=\"card mb-0\">\n <div class=\"card-body\">\n <Chart />\n </div>\n </div>\n </div>\n <div class=\"col-md-4 col-sm-12 mb-3\">\n <RecentNotification class=\"h-100\" />\n </div>\n <!-- <div class=\"col-12 mb-3\">\n <RecentActivities />\n </div>\n <div class=\"col-md-6 col-sm-12 mb-3\">\n <RecentPublication class=\"m-0 p-0\" />\n </div> -->\n </div>\n <b-card>\n <b-tabs\n justified\n nav-class=\"nav-tabs-custom\"\n content-class=\"text-muted\"\n class=\"btabs-height\"\n >\n <b-tab title=\"Recent Activities\" active>\n <div>\n <div>\n <RecentActivities />\n </div>\n </div>\n </b-tab>\n <b-tab title=\"Recent Release Log\">\n <div>\n <div>\n <RecentPublication class=\"m-0 p-0\" />\n </div>\n </div>\n </b-tab>\n </b-tabs>\n </b-card>\n </div>\n</template>\n\n<script>\nimport RecentNotification from \"./components/recentnotification.vue\";\nimport RecentPublication from \"./components/recentpublication.vue\";\nimport Chart from \"./components/chart.vue\";\nimport InfoCard from \"./components/InfoCard.vue\";\nimport RecentActivities from \"./components/recentActivities.vue\";\nimport { eventBus } from \"../../../main\";\n\nexport default {\n name: \"Dashboard\",\n\n components: {\n RecentNotification,\n RecentPublication,\n Chart,\n InfoCard,\n RecentActivities,\n },\n data() {\n return {\n title: \"Dashboard\",\n items: [\n {\n text: \"Dashboard\",\n active: true,\n },\n ],\n };\n },\n mounted() {\n // Emit an event to update the sidebar with the current menu item\n eventBus.$emit(\"update-sidebar\", \"menuitems.dashboard.text\");\n },\n};\n</script>\n\n<style scoped>\n/* Remove the unnecessary styling for .column */\n@media (max-width: 991px) {\n .recPubl {\n order: 3;\n }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=592dc162&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=592dc162&prod&scoped=true&lang=css\"\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 \"592dc162\",\n null\n \n)\n\nexport default component.exports","// Import the Dashboard component from its respective file\nimport TotalPointsUsage from \"./components/totalPointsUsage.vue\";\nimport Dashboard from \"./index\";\n\n// Define an array with a single route object for the dashboard\nexport default [\n {\n // Define the path for the Dashboard route\n path: \"/dashboard\",\n component: Dashboard,\n name: \"Dashboard\",\n },\n {\n // Define the path for the Dashboard route\n path: \"/usage\",\n component: TotalPointsUsage,\n name: \"Usage\",\n },\n];\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.item}}),_c('b-modal',{ref:\"modalprogress\",attrs:{\"id\":\"modal-progress\",\"hide-header\":\"\",\"title\":\"Setting Up Your Workspace\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(\"Setting Up Your Workspace\")]),_c('div',{staticClass:\"custom-control custom-checkbox mb-3\"},[_c('input',{staticClass:\"custom-control-input\",attrs:{\"type\":\"checkbox\",\"id\":\"customCheck1\",\"disabled\":\"\",\"checked\":\"\"}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"customCheck1\"}},[_vm._v(\"DITA-OT\")])]),_c('div',{staticClass:\"custom-control custom-checkbox mb-3\"},[_c('input',{staticClass:\"custom-control-input\",attrs:{\"type\":\"checkbox\",\"id\":\"customCheck2\",\"disabled\":\"\",\"checked\":\"\"}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":\"customCheck2\"}},[_vm._v(\"Projects\")])]),_c('b-progress',{attrs:{\"value\":75,\"max\":100,\"animated\":\"\"}})],1)])]),_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-output-progress\",\"title\":\"Processing\",\"hide-header\":\"\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Fetching assigned project lists...\")]),_c('b-progress',{staticClass:\"custom-progress\",attrs:{\"value\":_vm.progress,\"max\":100}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-3 col-sm-12 mb-0\"},[_c('div',{staticClass:\"d-flex align-items-center mb-1\"},[_c('b-form-input',{staticClass:\"w-100\",attrs:{\"placeholder\":\"Search Projects\"},on:{\"input\":_vm.searchProject},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)]),_c('div',{staticClass:\"col-md-9 col-sm-12\"},[_c('div',{staticClass:\"d-flex align-items-center justify-content-end mb-1\"},[_c('button',{staticClass:\"btn btn-primary btn-sm custom-button\",on:{\"click\":function($event){$event.preventDefault();return _vm.syncprojects.apply(null, arguments)}}},[_vm._m(0),_c('span',{staticClass:\"custom-text ml-2\"},[_vm._v(\"Refresh\")])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xl-12\"},[_c('b-row',{staticClass:\"mt-4\"},_vm._l((_vm.paginatedProjectList),function(item){return _c('b-col',{key:item.id,attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"6\"}},[_c('projectcard',{attrs:{\"items\":item}})],1)}),1),_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-pagination',{attrs:{\"total-rows\":this.projectList.length,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)]),_c('div',[_c('div',{staticClass:\"my-4 text-center\"},[_c('b-modal',{ref:\"modal\",attrs:{\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-escer\":\"\",\"id\":\"modal-standard\",\"title\":\"Github Login\",\"title-class\":\"font-18\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12\"},[_c('b-card',{staticClass:\"text-center\",attrs:{\"no-body\":\"\"}},[_c('b-card-body',[_c('img',{attrs:{\"src\":require(\"@/assets/images/github/Octocat.png\"),\"height\":\"200\"}}),_c('b-card-title',[_c('h4',{staticClass:\"card-title\"},[_vm._v(\"Connect with GitHub\")])]),_c('b-card-text',[_vm._v(\" To access the project using GitHub, you need to log in to GitHub. \")]),_c('button',{staticClass:\"btn btn-primary btn-sm btn-block custom-button\",on:{\"click\":_vm.syncGithub}},[_vm._v(\" Login \")])],1)],1)],1)])])],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"custom-icon\"},[_c('i',{staticClass:\"mdi mdi-folder-refresh mdi-16px\"})])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-card',{staticClass:\"p-0 org-card\"},[_c('div',{staticClass:\"media\"},[_c('div',{staticClass:\"media-body overflow-hidden bg-primary card-header bg-card\"},[_c('h5',{staticClass:\"custom-title d-flex align-items-center mb-0\"},[_c('i',{staticClass:\"d-inline-block mdi cmh-icon mdi-file-document-outline\"}),_vm._v(\" \"+_vm._s(_vm.items.projectName)+\" \")])])]),_c('div',{staticClass:\"mx-5 my-3\"},[_c('div',{staticClass:\"custom-headlines mb-2\"},[_c('span',{staticClass:\"mr-2 text-primary\"},[_vm._v(\"Total User :\")]),_c('span',[_vm._v(_vm._s(_vm.userList.length))])])]),_c('hr'),_c('div',[_c('button',{staticClass:\"btn card-btn text-primary view-details-btn btn-sm m-0\",on:{\"click\":function($event){return _vm.setdata(_vm.items.owner, _vm.items.projectName)}}},[_c('span',{staticClass:\"mdi mdi-eye-outline mr-1\"}),_vm._v(\" View details \")])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <!-- Container for a project card -->\n <div>\n <!-- Bootstrap Card component with project details -->\n <b-card class=\"p-0 org-card\">\n <!-- Header section with project name -->\n <div class=\"media\">\n <div class=\"media-body overflow-hidden bg-primary card-header bg-card\">\n <h5 class=\"custom-title d-flex align-items-center mb-0\">\n <!-- File icon and project name -->\n <i\n class=\"d-inline-block mdi cmh-icon mdi-file-document-outline\"\n ></i>\n {{ items.projectName }}\n </h5>\n </div>\n </div>\n <!-- Footer details displaying user count and roles -->\n <div class=\"mx-5 my-3\">\n <div class=\"custom-headlines mb-2\">\n <span class=\"mr-2 text-primary\">Total User :</span\n ><span>{{ userList.length }}</span>\n </div>\n </div>\n <hr />\n <!-- Button to get project details -->\n <div>\n <button\n class=\"btn card-btn text-primary view-details-btn btn-sm m-0\"\n v-on:click=\"setdata(items.owner, items.projectName)\"\n >\n <span class=\"mdi mdi-eye-outline mr-1\"></span> View details\n </button>\n </div>\n </b-card>\n </div>\n</template>\n\n<script>\nimport CryptoJS from \"crypto-js\";\nimport cryptoJs from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nexport default {\n props: {\n items: Object, // Project details passed as a prop\n },\n data() {\n return {\n item: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"Projects\",\n active: true,\n },\n ],\n modalShow: false,\n projectList: [],\n userList: [],\n projectOwner: null,\n projectName: null,\n };\n },\n created() {\n this.userId = this.$store.state.Auth.userId;\n },\n mounted() {\n // Call the getUserInProject method when the component is mounted\n this.getUserInProject();\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n async getUserInProject() {\n // Fetch user list for the project\n this.$store.getters.client\n .get(`/projectuser/byprojectid?projectId=${this.items.projectId}`)\n .then((response) => {\n if (response.data) {\n // Check if data exists\n this.userList = response.data;\n } else {\n // Handle an invalid response\n this.messageToast(\"Invalid request\", \"danger\", \"An error occurred\");\n }\n })\n .catch((err) => {\n // Handle network issues or unexpected errors\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n });\n },\n setdata(owner, projectName) {\n if (projectName !== \"AI-Deployment\") {\n // Set data in local storage and commit to the store\n localStorage.setItem(\n \"repouser\",\n cryptoJs.AES.encrypt(owner, secretKey).toString()\n );\n localStorage.setItem(\n \"reponame\",\n cryptoJs.AES.encrypt(projectName, secretKey).toString()\n );\n this.$store.commit(\"setCurrentWorkingProject\", this.items);\n }\n this.$store.commit(\"setRepoUser\", owner);\n this.$store.commit(\"setRepoName\", projectName);\n this.redirectProject(owner, projectName);\n },\n async redirectProject(repouser, reponame) {\n const encryptedRepouser = CryptoJS.AES.encrypt(\n repouser,\n secretKey\n ).toString();\n const encryptedReponame = CryptoJS.AES.encrypt(\n reponame,\n secretKey\n ).toString();\n const encodedRepouser = encodeURIComponent(encryptedRepouser);\n const encodedReponame = encodeURIComponent(encryptedReponame);\n this.$router.push({\n path: `/docmanager/${encodedRepouser}/${encodedReponame}`,\n });\n },\n },\n};\n</script>\n\n<style lang=\"scss\">\n.custom-headlines {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.custom-title {\n font-size: 16px;\n font-weight: 600;\n line-height: 19px;\n letter-spacing: 0em;\n text-align: center;\n}\n\nhr {\n margin-bottom: 0rem !important;\n}\n\nbody {\n .bg-primary {\n background-color: rgba(207, 222, 233, 1) !important;\n color: #0f3460;\n\n h5 {\n color: #0f3460;\n }\n\n .cmh-icon {\n color: #0f3460;\n }\n }\n\n .btn-primary {\n background-color: #0f3460 !important;\n // color: #0f3460;\n font-weight: 500;\n border: none;\n }\n}\n\nbody .org-card {\n overflow: hidden;\n\n .card-body {\n padding: 0;\n }\n\n .header {\n background: rgba(23, 37, 146, 0.85);\n color: #fff;\n\n .title {\n font-weight: 500;\n font-size: 15px;\n }\n }\n\n .details {\n color: #000;\n font-weight: 700;\n }\n\n .b-dropdown {\n button {\n border: 0;\n padding: 0;\n background: transparent;\n box-shadow: none;\n\n &:active {\n background: transparent !important;\n box-shadow: none !important;\n }\n }\n }\n\n .b-dropdown.show {\n button {\n border: 0;\n padding: 0;\n background: transparent;\n box-shadow: none;\n\n &:active {\n background: transparent !important;\n box-shadow: none !important;\n }\n }\n }\n\n &.deActive {\n .header {\n background: rgba(23, 37, 146, 0.45);\n }\n\n .details,\n .footer-details {\n opacity: 0.4;\n background: #f1f1f1;\n }\n }\n\n &.warningCard {\n .header {\n background-color: rgba(#fcb92c, 1);\n }\n }\n\n &.dangerCard {\n .header {\n background-color: rgba(#ff3d60, 1);\n }\n }\n\n .gap-y-3 div {\n margin-bottom: 0.75rem !important;\n }\n\n .mdi-eye-outline {\n font-size: 25px;\n }\n\n .card-btn {\n display: flex;\n justify-content: center;\n align-items: center;\n float: right;\n }\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectcard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectcard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectcard.vue?vue&type=template&id=5f52c08c\"\nimport script from \"./projectcard.vue?vue&type=script&lang=js\"\nexport * from \"./projectcard.vue?vue&type=script&lang=js\"\nimport style0 from \"./projectcard.vue?vue&type=style&index=0&id=5f52c08c&prod&lang=scss\"\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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Page Header component -->\n <PageHeader :title=\"title\" :items=\"item\" />\n <!-- Modal for Workspace Setup -->\n <b-modal\n id=\"modal-progress\"\n hide-header\n ref=\"modalprogress\"\n title=\"Setting Up Your Workspace\"\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <div class=\"card\">\n <div class=\"card-body\">\n <h5 class=\"card-title\">Setting Up Your Workspace</h5>\n <!-- Checkbox for DITA-OT -->\n <div class=\"custom-control custom-checkbox mb-3\">\n <input\n type=\"checkbox\"\n class=\"custom-control-input\"\n id=\"customCheck1\"\n disabled\n checked\n />\n <label class=\"custom-control-label\" for=\"customCheck1\"\n >DITA-OT</label\n >\n </div>\n <!-- Checkbox for Projects -->\n <div class=\"custom-control custom-checkbox mb-3\">\n <input\n type=\"checkbox\"\n class=\"custom-control-input\"\n id=\"customCheck2\"\n disabled\n checked\n />\n <label class=\"custom-control-label\" for=\"customCheck2\"\n >Projects</label\n >\n </div>\n <!-- Progress bar for setup progress -->\n <b-progress :value=\"75\" :max=\"100\" animated></b-progress>\n </div>\n </div>\n </b-modal>\n <!-- Modal for Processing -->\n <b-modal\n id=\"modal-output-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n hide-header\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Fetching assigned project lists...</p>\n <!-- Progress bar for processing progress -->\n <b-progress\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-progress\"\n ></b-progress>\n </b-modal>\n <div class=\"row\">\n <div class=\"col-md-3 col-sm-12 mb-0\">\n <div class=\"d-flex align-items-center mb-1\">\n <!-- Input for searching projects -->\n <b-form-input\n class=\"w-100\"\n v-model=\"search\"\n placeholder=\"Search Projects\"\n @input=\"searchProject\"\n ></b-form-input>\n </div>\n </div>\n <div class=\"col-md-9 col-sm-12\">\n <div class=\"d-flex align-items-center justify-content-end mb-1\">\n <!-- Button to refresh projects -->\n <button\n class=\"btn btn-primary btn-sm custom-button\"\n @click.prevent=\"syncprojects\"\n >\n <span class=\"custom-icon\">\n <i class=\"mdi mdi-folder-refresh mdi-16px\"></i>\n </span>\n <span class=\"custom-text ml-2\">Refresh</span>\n </button>\n </div>\n </div>\n </div>\n <!-- Project Cards -->\n <div class=\"row\">\n <div class=\"col-xl-12\">\n <b-row class=\"mt-4\">\n <b-col\n cols=\"12\"\n md=\"6\"\n lg=\"6\"\n v-for=\"item in paginatedProjectList\"\n :key=\"item.id\"\n >\n <projectcard :items=\"item\" />\n </b-col>\n </b-row>\n <!-- Pagination for project list -->\n <div class=\"d-flex justify-content-end\">\n <b-pagination\n v-model=\"currentPage\"\n :total-rows=\"this.projectList.length\"\n :per-page=\"perPage\"\n />\n </div>\n </div>\n </div>\n <!-- GitHub Login Modal -->\n <div>\n <div class=\"my-4 text-center\">\n <b-modal\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-escer\n id=\"modal-standard\"\n ref=\"modal\"\n title=\"Github Login\"\n title-class=\"font-18\"\n >\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <b-card no-body class=\"text-center\">\n <b-card-body>\n <!-- GitHub login image -->\n <img src=\"@/assets/images/github/Octocat.png\" height=\"200\" />\n <b-card-title>\n <h4 class=\"card-title\">Connect with GitHub</h4>\n </b-card-title>\n <b-card-text>\n To access the project using GitHub, you need to log in to\n GitHub.\n </b-card-text>\n <!-- Button to initiate GitHub login -->\n <button\n class=\"btn btn-primary btn-sm btn-block custom-button\"\n @click=\"syncGithub\"\n >\n Login\n </button>\n </b-card-body>\n </b-card>\n </div>\n </div>\n </b-modal>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport projectcard from \"./components/projectcard\";\nimport CryptoJS from \"crypto-js\";\nimport { mapActions } from \"vuex\";\n\nimport { BRow, BCol, BPagination } from \"bootstrap-vue\";\nimport { ClientId, InstalledPath } from \"@/api/global.env.js\";\nimport { eventBus } from \"../../../main\";\nimport { secretKey } from \"../../../api/global.env\";\nexport default {\n components: {\n projectcard,\n BRow,\n BCol,\n BPagination,\n },\n data() {\n return {\n title: \"Projects\",\n item: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"Projects\",\n active: true,\n },\n ],\n gitToken: null,\n projectData: null,\n clientId: `${ClientId}`,\n appAccess: {},\n isLoading: false,\n orgGithubUser: \"\",\n orgAccessURL: \"\",\n userGithubUsername: \"\",\n projectList: [],\n currentPage: parseInt(localStorage.getItem(\"currentPage\")) || 1,\n progress: 0,\n perPage: 6,\n gitCode: null,\n search: \"\",\n projectListSearch: \"\",\n };\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docmanager.text\");\n this.gitToken = this.$store.state.Auth.gitToken;\n this.orgId = this.$store.state.Auth.orgId;\n this.userId = this.$store.state.Auth.userId;\n \n // Get GitHub username from store first, fallback to localStorage\n this.userGithubUsername = this.$store.state.Auth.githubUsername;\n if (!this.userGithubUsername) {\n try {\n this.userGithubUsername = JSON.parse(\n CryptoJS.AES.decrypt(\n localStorage.getItem(\"githubUsername\"),\n secretKey\n ).toString(CryptoJS.enc.Utf8)\n );\n } catch (error) {\n // Could not decrypt GitHub username from localStorage\n }\n }\n \n this.getProjectData();\n },\n computed: {\n paginatedProjectList() {\n if (this.projectList === null) {\n return []; // return empty array if projectList is null\n }\n const startIndex = (this.currentPage - 1) * this.perPage;\n const endIndex = startIndex + this.perPage;\n return this.projectList.slice(startIndex, endIndex);\n },\n },\n watch: {\n currentPage(newVal) {\n localStorage.setItem(\"currentPage\", newVal);\n },\n },\n mounted() {\n this.getToken();\n this.getfoldertree();\n \n // Check GitHub token status\n const currentGitToken = this.$store.state.Auth.gitToken;\n if (\n !currentGitToken ||\n currentGitToken === \"\" ||\n currentGitToken === null ||\n currentGitToken === \"null\" ||\n currentGitToken === undefined ||\n currentGitToken === \"undefined\"\n ) {\n if (!window.location.search.includes(\"code\")) {\n this.$refs[\"modal\"].show();\n }\n }\n },\n methods: {\n ...mapActions({\n get: \"userProjectDetails\",\n }),\n syncGithub() {\n const apiUrl = process.env.VUE_APP_API_KEY;\n if (!apiUrl) {\n this.messageToast(\"Error\", \"danger\", \"Configuration error. Please contact support.\");\n return;\n }\n \n const baseUrl = apiUrl.endsWith('/') ? apiUrl.slice(0, -1) : apiUrl;\n const loginUrl = `${baseUrl}/api/orguser/github/login`;\n window.location.href = loginUrl;\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n makeToast(variant = null) {\n this.$bvToast.toast(\"Toast body content\", {\n title: `Toast ${variant || \"default\"}`,\n variant: variant,\n solid: true,\n });\n },\n searchProject() {\n if (this.search) {\n this.projectList = this.projectListSearch.filter((prct) => {\n return prct.projectName\n .toLowerCase()\n .includes(this.search.toLowerCase());\n });\n } else {\n this.projectList = this.projectListSearch;\n }\n },\n async getfoldertree() {\n await this.$store.getters.client\n .get(\n `/orguser/workspace/byuserId?userId=${this.$store.state.Auth.userId}`\n )\n .then((res) => {\n const hasWorkspace = res.data && res.data.userId;\n this.$store.commit(\"setWorkspaceStatus\", hasWorkspace);\n })\n .catch(() => {\n this.$store.commit(\"setWorkspaceStatus\", false);\n });\n },\n // This method is use to validate get token using github api\n async getToken() {\n \n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const gitCode = urlParams.get(\"code\");\n this.gitCode = gitCode;\n \n if (!gitCode) {\n return;\n }\n this[\"$refs\"].modal.hide();\n const loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.getOrgDetails();\n this.$store.getters.client\n .get(`/orguser/github/success?code=${gitCode}`)\n .then((res) => {\n this.$store.commit(\"updateGitToken\", {\n gitToken: res.data.access_token,\n });\n if (res.data.userData.login) {\n if (\n res.data.access_token !== null &&\n res.data.access_token !== \"\"\n ) {\n this.gitToken = res.data.access_token;\n this.username = res.data.userData.login;\n }\n if (this.$store.state.Auth.isWorkspaceCreated) {\n return;\n }\n if (res.data.access_token !== \"\") {\n let workspaceParams = {\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n packeges: [`DITAOt-${this.appAccess.ditaotVersion}`, \"Custom plugin\"],\n installedPath: `${InstalledPath}`,\n isInstalled: true,\n };\n this.$refs[\"modalprogress\"].show();\n this.$store.getters.client\n .post(\n `/orguser/workspace?orgId=${this.$store.state.Auth.orgId}`,\n workspaceParams\n )\n .then(() => {\n this.$store.commit(\"setWorkspaceStatus\", true);\n this.$refs[\"modalprogress\"].hide();\n this.messageToast(\n \"Workspace Created\",\n \"primary\",\n \"Workspace Created Successfully\"\n );\n })\n .catch(() => {\n this.$refs[\"modalprogress\"].hide();\n this.isLoading = false;\n });\n }\n } else {\n this.messageToast(\n \"Invalid response\",\n \"danger\",\n \"Received an invalid response from the server\"\n );\n }\n })\n .catch((err) => {\n this.messageToast(\n \"Error\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n })\n .finally(() => {\n loader.hide();\n });\n },\n async getOrgDetails() {\n // loading is enabled until organization details are fetched\n this.isLoading = true;\n // Try request to get organization details\n this.$store.getters.client\n .get(`/serveradmin/organization/byorgid?orgId=${this.orgId}`)\n .then((res) => {\n if (res.data) {\n // If the response contains data, consider it a successful response and update the data\n this.appAccess = res.data[0];\n const str = res.data[0].orgGithubURL;\n // Split orgGithubURL using a forward slash\n const gitUrlSplitArr = str.split(\"/\");\n // The array github URL split initializes data variables\n this.orgGithubUser = gitUrlSplitArr[3];\n this.orgAccessURL = res.data[0].accessURL;\n } else {\n // Handle other errors, e.g., data is null or not as expected\n this.messageToast(\"Invalid request\", \"danger\", \"An error occurred\");\n }\n // loading is disabled once organization details are fetched\n this.isLoading = false;\n })\n .catch((err) => {\n // Handle network issues or unexpected errors\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n // loading is disabled if an error occurs while fetching organization details\n this.isLoading = false;\n });\n },\n syncprojects() {\n this.progress = 0;\n \n // Check if GitHub token is available\n const gitToken = this.$store.state.Auth.gitToken;\n if (!gitToken || gitToken === 'null' || gitToken === null) {\n this.messageToast(\n \"GitHub Not Connected\",\n \"warning\",\n \"Please connect your GitHub account first.\"\n );\n this.$refs[\"modal\"].show();\n return;\n }\n \n let body = {\n userId: this.userId,\n orgId: this.orgId,\n gitToken: gitToken,\n githubUsername: this.userGithubUsername,\n };\n const progressInterval = setInterval(() => {\n if (this.progress < 90) {\n this.progress += 10;\n }\n }, 500);\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .put(`/orguser/workspace/sync`, body)\n .then(() => {\n clearInterval(progressInterval); // Stop the progress interval\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"Sync Complete\",\n \"primary\",\n \"Your assigned project list is up to date!\"\n );\n this.getProjectData();\n })\n .catch((err) => {\n clearInterval(progressInterval); // Stop the progress interval\n this.$refs[\"modaloutputprogress\"].hide();\n \n const errorMessage = err.response?.data?.message || err.message;\n \n if (errorMessage && (errorMessage.includes(\"Workspace not found\") || errorMessage.includes(\"directory not found\") || errorMessage.includes(\"incomplete\"))) {\n this.messageToast(\n \"Workspace Required\",\n \"warning\",\n \"Please wait while we set up your workspace. This may take a few moments.\"\n );\n // Trigger workspace creation\n this.createWorkspace();\n } else {\n this.messageToast(\n \"Error\",\n \"danger\",\n errorMessage || \"An error occurred while syncing your project. Please try again later or contact our support team for assistance.\"\n );\n }\n });\n },\n async getProjectData() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .get(`/projectuser/byuserid?userId=${this.userId}&show=hide`)\n .then((response) => {\n if (response.data) {\n this.projectList = response.data;\n this.projectListSearch = response.data;\n } else {\n this.messageToast(\"Invalid request\", \"danger\", \"An error occurred\");\n }\n loader.hide();\n })\n .catch((err) => {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n loader.hide();\n });\n },\n\n async createWorkspace() {\n let modalShown = false;\n try {\n if (!InstalledPath) {\n throw new Error('InstalledPath is required');\n }\n \n this.$refs[\"modalprogress\"].show();\n modalShown = true;\n \n // Get organization details for DITA-OT version\n const orgData = await this.$store.getters.client.get(`/serveradmin/organization/byorgid?orgId=${this.$store.state.Auth.orgId}`);\n const ditaotVersion = orgData.data[0]?.ditaotVersion || '3.6.1';\n \n const workspaceParams = {\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n packeges: [`DITAOt-${ditaotVersion}`, \"Custom plugin\"],\n installedPath: InstalledPath,\n isInstalled: true,\n };\n \n await this.$store.getters.client.post(\n `/orguser/workspace?orgId=${this.$store.state.Auth.orgId}`,\n workspaceParams\n );\n \n this.$store.commit(\"setWorkspaceStatus\", true);\n \n this.messageToast(\n \"Workspace Created\",\n \"success\",\n \"Workspace created successfully! You can now sync your projects.\"\n );\n \n } catch (error) {\n const errorMessage = error.response?.data?.message || error.message || \"Failed to create workspace. Please try again.\";\n \n this.messageToast(\n \"Error\",\n \"danger\",\n errorMessage\n );\n throw error; // Re-throw to handle in calling function\n } finally {\n if (modalShown) {\n this.$refs[\"modalprogress\"].hide();\n }\n }\n },\n },\n};\n</script>\n<style scoped>\n.custom-control-label {\n cursor: default;\n}\n.custom-button {\n display: inline;\n float: right;\n margin-left: auto;\n}\n.custom-icon {\n display: inline-block;\n}\n.custom-text {\n margin-left: 5px;\n}\n.custom-progress {\n height: 5px;\n}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=60ced28a&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=60ced28a&prod&scoped=true&lang=css\"\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 \"60ced28a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',{staticClass:\"d-sm-flex justify-content-between align-items-center\"},[_c('div',{staticClass:\"mb-3\"},[_c('div',{staticClass:\"mr-2 px-1\"},[_c('span',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.projectName))])]),_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])]),(_vm.repobranchesdata.length)?_c('div',[_c('button',{staticClass:\"btn btn-primary btn-sm mr-3 mb-2\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.navigateToDiff}},[_vm._m(0)]),(_vm.ditaTreeData && _vm.ditaTreeData[0]?.children?.length > 0)?_c('button',{staticClass:\"btn btn-primary btn-sm mr-3 mb-2\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){return _vm.downloadZip()}}},[_vm._m(1)]):_vm._e(),(\n _vm.projectName !== 'AI-Deployment' &&\n _vm.isDocEditor &&\n _vm.ditaTreeData &&\n _vm.ditaTreeData[0]?.children?.length > 0\n )?_c('button',{staticClass:\"btn btn-primary btn-sm mb-2\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){return _vm.openEditor()}}},[_vm._m(2)]):_vm._e()]):_vm._e()]),_c('div',{staticClass:\"row mb-2 mt-3\"},[(_vm.projectName !== 'AI-Deployment')?_c('button',{staticClass:\"btn btn-primary btn-sm ml-3 mb-2\",on:{\"click\":function($event){return _vm.$bvModal.show('changeBranch-bv-modal')}}},[_vm._v(\" Create new branch \")]):_vm._e(),_c('div',{staticClass:\"col-lg-12\"},[_c('multiselect',{attrs:{\"max-height\":150,\"options\":_vm.repobranchesdata.map((item) => item.text),\"placeholder\":\"Choose a branch\",\"allow-empty\":false},model:{value:(_vm.brachName),callback:function ($$v) {_vm.brachName=$$v},expression:\"brachName\"}})],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_vm._m(3),_c('div',{staticClass:\"border-top mt-1 infoDiv folderStructure\"},[(\n _vm.ditaTreeData && _vm.ditaTreeData[0]?.children?.length > 0\n )?_c('simplebar',{staticClass:\"pt-1 custom-jstree p-3\"},[_c('v-jstree',{attrs:{\"data\":_vm.ditaTreeData},on:{\"item-click\":_vm.itemClick}})],1):[_c('div',{staticClass:\"d-flex justify-content-center align-items-center no-output-cont\"},[_c('div',{staticClass:\"mb-5 no-output-div\"},[_c('img',{staticClass:\"custom-img\",attrs:{\"src\":require(\"../../../assets/placeholder.png\")}}),_c('div',{staticClass:\"no-output-text\"},[_vm._v(\" Repository is empty. \")])])])]],2)]),(_vm.ditaTreeData && _vm.ditaTreeData[0]?.children?.length > 0)?_c('div',{staticClass:\"col-md-6 mt-3 mt-md-0\"},[_vm._m(4),(_vm.displayDitaContent)?_c('div',{staticClass:\"border-top mt-1 infoDiv\"},[_c('simplebar',{staticClass:\"custom-jstree p-3\"},[_c('ssh-pre',{attrs:{\"language\":_vm.contentTypeFormat}},[_vm._v(\" \"+_vm._s(_vm.displayDitaContent)+\" \")])],1)],1):[_vm._m(5)]],2):_vm._e()])])])])])])]),_c('changeBranch',{attrs:{\"branches\":_vm.repobranchesdata.map((element) => element.value),\"createNewBranchHandler\":_vm.createNewBranchHandler,\"clone\":true}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"d-flex align-items-center justify-content-center\"},[_c('span',[_c('i',{staticClass:\"mdi mdi-file-compare mdi-16px\"})]),_c('span',{staticClass:\"ml-2\"},[_vm._v(\" Compare branches \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"d-flex align-items-center justify-content-center\"},[_c('span',[_c('i',{staticClass:\"mdi mdi-content-save mdi-16px\"})]),_c('span',{staticClass:\"ml-2\"},[_vm._v(\" Download Source Files \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"d-flex align-items-center justify-content-center\"},[_c('span',[_c('i',{staticClass:\"mdi mdi-file-edit mdi-16px\"})]),_c('span',{staticClass:\"ml-2\"},[_vm._v(\" DocEditor \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-source d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"Source\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-source d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"Content Preview\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex justify-content-center align-items-center no-output-cont\"},[_c('div',{staticClass:\"mb-5 no-output-div\"},[_c('img',{staticClass:\"custom-img\",attrs:{\"src\":require(\"../../../assets/placeholder.png\")}}),_c('div',{staticClass:\"no-output-text\"},[_vm._v(\"No file selected.\")])])])\n}]\n\nexport { render, staticRenderFns }","function checkurl() {\n window.location.href = \"/not-found\";\n}\nexport default checkurl;\n","import store from \"../state/store\";\nimport Swal from \"sweetalert2\";\n\nconst currentBranch = async (projectName) => {\n console.log(\"project name: \", projectName);\n const api = store.getters.client;\n // try {\n const { data } = await api.get(\n `/orguser/branch/get-current-branch?repoName=${projectName}`\n );\n console.log(\"branch name:\", data);\n return data;\n // } catch (error) {\n // console.error(error);\n // }\n};\n\n// {\n// \"repoName\": \"TestingOct12\",\n// \"baseBranchName\": \"master-2\",\n// \"newBranchName\": \"master-test-1\",\n// \"clone\": true\n// }\nconst createNewBranch = async (body, branches) => {\n console.log(\"create new branch: \", body, branches);\n const api = store.getters.client;\n\n // Now send this data to the API\n try {\n const { data } = await api.post(`/orguser/branch/create`, body);\n console.log(\"new branch create:\", data);\n return {\n type: \"success\",\n data,\n };\n } catch (error) {\n console.error(error);\n return { type: \"error\", error };\n }\n};\n\nconst discardOrCommit = async (body) => {\n console.log(\"discardOrCommit : \", body);\n const api = store.getters.client;\n try {\n const { data } = await api.patch(`/orguser/branch/discard-or-commit`, body);\n\n // body = { \"action\": \"commit\", // or 'discard' \"branchToCheckout\": \"master-3\", \"commitMessage\": \"Removing some files - Testing 2\", // Not needed when discard \"repoName\": \"TestingOct12\"}\n console.log(\"res discardOrCommit:\", data);\n return data;\n } catch (error) {\n console.error(error);\n }\n};\n\n// {\n// repoName: this.projectName,\n// branchName: this.brachName,\n// },\nconst checkout = async (body, VueInstance) => {\n const api = store.getters.client;\n let loadingInstance;\n try {\n loadingInstance = VueInstance.$loading.show({\n loader: \"dots\",\n }); // Show loading\n const { data } = await api.put(`/orguser/branch/checkout`, body);\n console.log(\"checkout service:\", data);\n if (loadingInstance) {\n loadingInstance.hide(); // Hide loading\n }\n return data;\n } catch (error) {\n console.log(error);\n if (loadingInstance) {\n loadingInstance.hide(); // Hide loading\n }\n if (error.response.data.data === \"discard-or-commit\") {\n // Show Swal.fire dialog and handle the result\n const result = await Swal.fire({\n title: \"Warning\",\n text: \"You have unsaved changes. Do you want to discard them or commit?\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#556ee6\",\n confirmButtonText: \"Discard\",\n cancelButtonColor: \"#f46a6a\",\n cancelButtonText: \"Commit\",\n });\n\n console.log(result);\n loadingInstance = VueInstance.$loading.show({\n loader: \"dots\",\n }); // Show loading\n\n // If the user clicked the \"Discard\" button\n if (result.isConfirmed) {\n console.log(\"User clicked Discard\");\n return await discardOrCommit({\n action: \"discard\",\n branchToCheckout: body.branchName,\n repoName: body.repoName,\n });\n }\n // If the user clicked the \"Commit\" button\n else if (result.dismiss === Swal.DismissReason.cancel) {\n console.log(\"User clicked Commit\");\n return await discardOrCommit({\n action: \"commit\",\n branchToCheckout: body.branchName,\n commitMessage: `Committing changes while checkout ${body.repoName} : ${body.branchName}`, // Add an appropriate commit message\n repoName: body.repoName,\n });\n }\n if (loadingInstance) {\n loadingInstance.hide(); // Hide loading\n }\n return false; // If neither option was chosen\n }\n console.error(error.response.data.data);\n } finally {\n if (loadingInstance) {\n loadingInstance.hide(); // Hide loading\n }\n }\n};\n\nconst githubService = {\n currentBranch,\n createNewBranch,\n discardOrCommit,\n checkout,\n};\nexport default githubService;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"changeBranch-bv-modal\",\"hide-footer\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\" Create new branch \"+_vm._s(_vm.clone ? \"(Clone)\" : \"(Empty)\"))]},proxy:true}])},[_c('div',[_c('label',[_vm._v(\"Select Base Branch\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])]),_c('multiselect',{attrs:{\"options\":_vm.branches,\"placeholder\":\"Choose a branch\",\"max-height\":150},model:{value:(_vm.baseBranchName),callback:function ($$v) {_vm.baseBranchName=$$v},expression:\"baseBranchName\"}}),_c('div',{staticClass:\"my-3\"},[_c('label',[_vm._v(\"New Branch Name\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newBranchName),expression:\"newBranchName\"}],staticClass:\"form-control\",attrs:{\"id\":\"newBranchName\"},domProps:{\"value\":(_vm.newBranchName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.newBranchName=$event.target.value}}})]),_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":!_vm.baseBranchName || !_vm.newBranchName},on:{\"click\":_vm.handleBranchChange}},[_vm._v(\" Create new branch \")])])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-modal id=\"changeBranch-bv-modal\" hide-footer>\n <template #modal-title>\n Create new branch {{ clone ? \"(Clone)\" : \"(Empty)\" }}</template\n >\n\n <div>\n <label>Select Base Branch<span class=\"text-danger\">*</span></label>\n\n <!-- Multiselect for project selection -->\n <multiselect\n v-model=\"baseBranchName\"\n :options=\"branches\"\n placeholder=\"Choose a branch\"\n :max-height=\"150\"\n >\n </multiselect>\n <div class=\"my-3\">\n <label>New Branch Name<span class=\"text-danger\">*</span></label>\n <input\n class=\"form-control\"\n id=\"newBranchName\"\n v-model=\"newBranchName\"\n />\n </div>\n <div class=\"text-center\">\n <!-- @click=\"createNewBranchHandler\" -->\n <button\n class=\"btn btn-primary\"\n :disabled=\"!baseBranchName || !newBranchName\"\n @click=\"handleBranchChange\"\n >\n Create new branch\n </button>\n </div>\n </div>\n </b-modal>\n</template>\n\n<script>\nimport Multiselect from \"vue-multiselect\";\nexport default {\n name: \"changeBranch\",\n\n components: {\n Multiselect,\n },\n\n props: {\n branches: {\n type: Array,\n default: () => {\n return [];\n },\n },\n createNewBranchHandler: {\n type: Function,\n },\n clone: {\n type: Boolean,\n },\n },\n data() {\n return {\n newBranchName: \"\",\n baseBranchName: \"\",\n };\n },\n methods: {\n async handleBranchChange() {\n await this.createNewBranchHandler({\n baseBranchName: this.baseBranchName,\n newBranchName: this.newBranchName,\n });\n console.log(\"after complete create branch\");\n this.newBranchName = \"\";\n this.baseBranchName = \"\";\n },\n },\n};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeBranch.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./changeBranch.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./changeBranch.vue?vue&type=template&id=64a8007a&scoped=true\"\nimport script from \"./changeBranch.vue?vue&type=script&lang=js\"\nexport * from \"./changeBranch.vue?vue&type=script&lang=js\"\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 \"64a8007a\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Page Header -->\n <PageHeader :title=\"title\" :items=\"items\" />\n <!-- Project Info -->\n <div class=\"d-sm-flex justify-content-between align-items-center\">\n <div class=\"mb-3\">\n <div class=\"mr-2 px-1\">\n <span class=\"project-name\">{{ projectName }}</span>\n </div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n <div v-if=\"repobranchesdata.length\">\n <button class=\"btn btn-primary btn-sm mr-3 mb-2\" type=\"button\" @click=\"navigateToDiff\">\n <span class=\"d-flex align-items-center justify-content-center\">\n <span>\n <i class=\"mdi mdi-file-compare mdi-16px\"></i>\n </span>\n <span class=\"ml-2\"> Compare branches </span>\n </span>\n </button>\n <button v-if=\"ditaTreeData && ditaTreeData[0]?.children?.length > 0\" class=\"btn btn-primary btn-sm mr-3 mb-2\"\n type=\"submit\" @click=\"downloadZip()\">\n <span class=\"d-flex align-items-center justify-content-center\">\n <span>\n <i class=\"mdi mdi-content-save mdi-16px\"></i>\n </span>\n <span class=\"ml-2\"> Download Source Files </span>\n </span>\n </button>\n <button v-if=\"\n projectName !== 'AI-Deployment' &&\n isDocEditor &&\n ditaTreeData &&\n ditaTreeData[0]?.children?.length > 0\n \" class=\"btn btn-primary btn-sm mb-2\" type=\"submit\" @click=\"openEditor()\">\n <span class=\"d-flex align-items-center justify-content-center\">\n <span>\n <i class=\"mdi mdi-file-edit mdi-16px\"></i>\n </span>\n <span class=\"ml-2\"> DocEditor </span>\n </span>\n </button>\n </div>\n </div>\n <!-- Branches Dropdown -->\n <div class=\"row mb-2 mt-3\">\n <button v-if=\"projectName !== 'AI-Deployment'\" class=\"btn btn-primary btn-sm ml-3 mb-2\"\n @click=\"$bvModal.show('changeBranch-bv-modal')\">\n Create new branch\n </button>\n\n <div class=\"col-lg-12\">\n <multiselect :max-height=\"150\" v-model=\"brachName\" :options=\"repobranchesdata.map((item) => item.text)\"\n placeholder=\"Choose a branch\" :allow-empty=\"false\">\n </multiselect>\n <!-- <select\n class=\"form-control\"\n v-model=\"brachName\"\n placeholder=\"Select Branch\"\n @change=\"getObject\"\n >\n <option value=\"\" disabled>Please Choose Branch</option>\n <option\n v-for=\"(option, index) in repobranchesdata\"\n :key=\"index\"\n :value=\"option.value\"\n >\n {{ option.text }}\n </option>\n </select> -->\n </div>\n </div>\n <!-- Source and Target -->\n <div class=\"row\">\n <!-- Source Section -->\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"card\">\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"custom-source d-flex justify-content-between align-items-center flex-wrap\">\n <div class=\"custom-title mb-0\">Source</div>\n </div>\n\n <div class=\"border-top mt-1 infoDiv folderStructure\">\n <simplebar v-if=\"\n ditaTreeData && ditaTreeData[0]?.children?.length > 0\n \" class=\"pt-1 custom-jstree p-3\">\n <v-jstree :data=\"ditaTreeData\" @item-click=\"itemClick\"></v-jstree>\n </simplebar>\n <template v-else>\n <div class=\"d-flex justify-content-center align-items-center no-output-cont\">\n <div class=\"mb-5 no-output-div\">\n <img class=\"custom-img\" src=\"../../../assets/placeholder.png\" />\n <div class=\"no-output-text\">\n Repository is empty.\n </div>\n </div>\n </div>\n </template>\n </div>\n </div>\n <div class=\"col-md-6 mt-3 mt-md-0\" v-if=\"ditaTreeData && ditaTreeData[0]?.children?.length > 0\">\n <div class=\"custom-source d-flex justify-content-between align-items-center flex-wrap\">\n <div class=\"custom-title mb-0\">Content Preview</div>\n </div>\n <div class=\"border-top mt-1 infoDiv\" v-if=\"displayDitaContent\">\n <simplebar class=\"custom-jstree p-3\">\n <ssh-pre :language=\"contentTypeFormat\">\n {{ displayDitaContent }}\n </ssh-pre>\n </simplebar>\n </div>\n <template v-else>\n <div class=\"d-flex justify-content-center align-items-center no-output-cont\">\n <div class=\"mb-5 no-output-div\">\n <img class=\"custom-img\" src=\"../../../assets/placeholder.png\" />\n <div class=\"no-output-text\">No file selected.</div>\n </div>\n </div>\n </template>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <changeBranch :branches=\"repobranchesdata.map((element) => element.value)\"\n :createNewBranchHandler=\"createNewBranchHandler\" :clone=\"true\" />\n </div>\n</template>\n<script>\nimport simplebar from \"simplebar-vue\";\nimport Swal from \"sweetalert2\";\nimport { mapGetters } from \"vuex\";\nimport checkurl from \"../../../components/urlvalidator\";\nimport PageHeader from \"@/components/pageheader\";\nimport ClassicEditor from \"@ckeditor/ckeditor5-build-classic\";\nimport CryptoJS from \"crypto-js\";\nimport { eventBus } from \"../../../main\";\nimport { secretKey } from \"../../../api/global.env\";\nimport xmlFormat from \"xml-formatter\";\nimport VJstree from \"vue-jstree\";\nimport SshPre from \"simple-syntax-highlighter\";\nimport \"simple-syntax-highlighter/dist/sshpre.css\";\nimport githubService from \"../../../services/github\";\nimport Multiselect from \"vue-multiselect\";\nimport changeBranch from \"../../../components/reusables/changeBranch.vue\";\nimport { decryptParam } from \"../../../services/cryptoFunction\";\nexport default {\n components: {\n VJstree,\n SshPre,\n PageHeader,\n simplebar,\n Multiselect,\n changeBranch,\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n data() {\n return {\n title: \"DocManager\",\n items: [\n {\n text: \"Projects\",\n href: `/docmanager`,\n },\n {\n text: \"DocManager\",\n active: true,\n },\n ],\n treeData: [],\n contentTypeFormat: \"xml\",\n repobranchesdata: [],\n ditaotVersion: \"\",\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n isLoading: false,\n downloadURL: \"\",\n brachName: \"\",\n previousSelectedBranch: \"\",\n urlParserRegex: /^[/]([^/]+)[/]([^/]+)[/]tree[/]([^/]+)[/](.*)/,\n outputURL: null,\n gitToken: this.$store.state.Auth.gitToken,\n isDocEditor: null,\n isDocPublisher: null,\n editor: ClassicEditor,\n editorData: null,\n editorLoader: false,\n modal: false,\n userId: this.$store.state.Auth.userId,\n isDitaFilesPresent: false,\n ditaTreeData: [],\n selectedFile: null,\n displayDitaContent: null,\n ignoreNextChange: false, // Flag to ignore next change\n };\n },\n\n async mounted() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docmanager.text\");\n this.getRepoBranch();\n this.getOrgDetails();\n this.getfoldertree();\n },\n methods: {\n navigateToDiff() {\n const encryptedRepouser = CryptoJS.AES.encrypt(\n this.repouser,\n secretKey\n ).toString();\n const encryptedReponame = CryptoJS.AES.encrypt(\n this.projectName,\n secretKey\n ).toString();\n const encryptedCurrentBranch = CryptoJS.AES.encrypt(\n this.brachName,\n secretKey\n ).toString();\n const encodedRepouser = encodeURIComponent(encryptedRepouser);\n const encodedReponame = encodeURIComponent(encryptedReponame);\n const encodedCurrentBranch = encodeURIComponent(encryptedCurrentBranch);\n\n this.$router.push(`/docmanager/${encodedRepouser}/${encodedReponame}/${encodedCurrentBranch}/diff`);\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n async openEditor() {\n if (this.$store.state.Auth.projectsData.length) {\n this.navigateToEditor();\n } else {\n this.userId = this.$store.state.Auth.userId;\n this.$store.getters.client\n .get(`/projectuser/byuserid?userId=${this.userId}`)\n .then((res) => {\n this.$store.commit(\"setProjectsData\", res.data);\n this.navigateToEditor();\n })\n .catch(() => { });\n }\n },\n navigateToEditor() {\n console.log(this.repouser, this.projectName, this.brachName);\n const encryptedRepouser = CryptoJS.AES.encrypt(\n this.repouser,\n secretKey\n ).toString();\n const encryptedReponame = CryptoJS.AES.encrypt(\n this.projectName,\n secretKey\n ).toString();\n const encryptedBranch = CryptoJS.AES.encrypt(\n this.brachName,\n secretKey\n ).toString();\n const encodedRepouser = encodeURIComponent(encryptedRepouser);\n const encodedReponame = encodeURIComponent(encryptedReponame);\n const encodedBranch = encodeURIComponent(encryptedBranch);\n this.$router.push({\n path: `/doceditor/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n },\n handleAccessDenied() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Oops...\",\n text: \"Sorry, you do not have access to DocEditor. Please contact your administrator if you would like to access this feature. Thank you.\",\n });\n },\n\n async getOrgDetails() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n let orgId = this.$store.state.Auth.orgId;\n this.$store.getters.client\n .get(`serveradmin/organization/byorgid?orgId=${orgId}`)\n .then((res) => {\n loader.hide();\n if (res.data && res.data.length > 0) {\n // Check if data exists and if it's in the expected format\n this.isDocEditor = res.data[0].editor;\n this.isDocPublisher = res.data[0].publisher;\n } else {\n // Handle an invalid response\n this.messageToast(\"Invalid request\", \"danger\", \"An error occurred\");\n }\n })\n .catch((err) => {\n alert(err.message);\n loader.hide();\n // Handle network issues or unexpected errors\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n });\n },\n // Get all branches inside repository\n async getRepoBranch() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n this.$store.getters.client\n .get(\n `orguser/repobranches?repoUser=${this.repouser}&repoName=${this.projectName}`\n )\n .then(async (branchResponse) => {\n if (this.$route.query.branchName) {\n this.brachName = decryptParam(this.$route.query.branchName);\n this.previousSelectedBranch = this.brachName;\n this.getObject(this.brachName);\n this.$router.push({});\n } else {\n const res = await githubService.currentBranch(this.projectName);\n this.brachName = res.data;\n this.previousSelectedBranch = res.data;\n }\n\n if (branchResponse.data && branchResponse.data.length > 0) {\n this.repobranchesdata = branchResponse.data.map((element) => ({\n value: element.name,\n text: element.name,\n }));\n this.outputURL = `https://github.com/${this.repouser}/${this.projectName}/tree/${this.brachName}/output`;\n\n return this.$store.getters.client.get(\n `project/outputtree?gitUsername=${this.repouser}&gitReponame=${this.projectName}&branchsha=${this.brachName}`\n );\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No branches found in the repository.\"\n );\n }\n })\n .then((outputResponse) => {\n if (outputResponse.data) {\n this.treeData = outputResponse.data;\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No data found in the output tree.\"\n );\n }\n })\n .catch((err) => {\n // Handle errors here, e.g., show an error message or log the error.\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response\n ? err.response.data.message\n : \"An error occurred while fetching data.\"\n );\n })\n .finally(() => {\n loader.hide();\n });\n },\n // Get tree of output folder in particular branch\n async getObject(branch) {\n console.log(\"📢[details.vue:414]: branch: \", branch);\n this.brachName = branch;\n\n // ============checkout the branch============\n\n const res = await githubService.checkout(\n {\n repoName: this.projectName,\n branchName: this.brachName,\n },\n this\n );\n console.log(\"ckeckout res: \", res);\n\n if (res === false) {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Failed to checkout branch.\"\n );\n this.brachName = this.previousSelectedBranch;\n this.ignoreNextChange = true; // Set the flag to ignore next change\n return;\n } else {\n this.previousSelectedBranch = this.brachName;\n this.messageToast(\"Branch checkout\", \"success\", res.message);\n }\n // ============checkout the branch============\n\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n this.outputURL = `https://github.com/${CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8)}/${CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8)}/tree/${this.brachName}/bin/output`;\n this.$store.getters.client\n .get(\n `project/outputtree?gitUsername=${CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8)}&gitReponame=${CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8)}&branchsha=${this.brachName}`\n )\n .then((res) => {\n loader.hide();\n if (res.data) {\n // Check if data exists\n this.treeData = res.data;\n } else {\n // Handle an invalid response\n this.messageToast(\"Invalid request\", \"danger\", \"An error occurred\");\n }\n })\n .catch((err) => {\n loader.hide();\n // Handle network issues or unexpected errors\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n });\n this.selectedFile = null;\n this.displayDitaContent = null;\n await this.getfoldertree();\n await this.getIndentedContent();\n },\n\n // create new branch\n async createNewBranchHandler({ baseBranchName, newBranchName }) {\n let loadingInstance = this.$loading.show({\n loader: \"dots\",\n }); // Show loading\n const branches = this.repobranchesdata.map((element) => element.value);\n const res = await githubService.createNewBranch(\n {\n repoName: this.projectName,\n clone: true,\n baseBranchName,\n newBranchName,\n },\n branches\n );\n console.log(\"res\", res);\n loadingInstance.hide(); // Hide loading\n this.$bvModal.hide(\"changeBranch-bv-modal\");\n\n if (res.type === \"success\") {\n this.selectedFile = null;\n this.displayDitaContent = null;\n await this.getRepoBranch();\n await this.getfoldertree();\n await this.getIndentedContent();\n this.messageToast(\"New branch\", \"success\", res.data.message);\n } else {\n this.messageToast(\n \"Failed to create new branch.\",\n \"danger\",\n res.error.response.data.message\n );\n }\n },\n\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n escapeFilepath(path) {\n return path.replaceAll(\"#\", \"%23\");\n },\n hasDitaOrDitamapFile(tree) {\n // Helper function to check if a name has a .dita or .ditamap extension\n function hasDitaOrDitamapExtension(name) {\n return name.endsWith(\".dita\") || name.endsWith(\".ditamap\");\n }\n\n // Recursive function to traverse the tree\n function traverse(node) {\n if (hasDitaOrDitamapExtension(node.name)) {\n return true;\n }\n if (node.children && node.children.length > 0) {\n for (let child of node.children) {\n if (traverse(child)) {\n return true;\n }\n }\n }\n return false;\n }\n\n // Start the traversal from each root node in the tree array\n for (let root of tree) {\n if (traverse(root)) {\n return true;\n }\n }\n\n return false;\n },\n\n addFieldsToNestedArray(array) {\n array.forEach((item) => {\n // save index.ditamap as selected file\n const fileExt = item?.name.split(\".\").pop();\n if (\n (fileExt == \"ditamap\" || item?.name == \"index.html\") &&\n !this.selectedFile\n ) {\n this.selectedFile = item;\n this.getIndentedContent();\n item.selected = true;\n }\n\n // Add text and icon fields\n item.text = item?.name;\n\n item.isDirectory = item?.children?.length > 0;\n item.icon = item.isDirectory\n ? \"fa-solid fa-folder-open custom-structure-img\"\n : \"fa-solid fa-file-lines custom-structure-img\";\n\n // Exclude \".git\" and \"output\" children\n if (item?.children?.length) {\n item.children = item.children.filter(\n (child) =>\n ![\".git\", \"README.md\", \"images\", \"log.txt\"].includes(child.name)\n );\n // Recursively call the function on the filtered children\n this.addFieldsToNestedArray(item.children);\n }\n\n // Set the \"opened\" property based on conditions\n if ([\".git\", \"output\"].includes(item.name)) {\n item.opened = false;\n } else {\n item.opened = true;\n }\n });\n\n return array;\n },\n async getfoldertree() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(\n `/orguser/workspace/byuserId?userId=${this.$store.state.Auth.userId}`\n )\n .then(async (res) => {\n let path = res.data.installedPath + `/${this.projectName}`;\n\n await this.$store.getters.client\n .get(`/orguser/workspace/repotree?path=${path}`)\n .then((tree) => {\n this.ditaTreeData = this.addFieldsToNestedArray([tree.data]);\n\n this.isDitaFilesPresent = this.hasDitaOrDitamapFile([tree.data]);\n })\n .catch(() => { });\n })\n .catch(() => { })\n .finally(() => {\n loader.hide();\n });\n },\n itemClick(node) {\n if (\n node.model.name.endsWith(\".dita\") ||\n node.model.name.endsWith(\".ditamap\") ||\n node.model.name.endsWith(\".html\") ||\n node.model.name.endsWith(\".css\") ||\n node.model.name.endsWith(\".js\")\n ) {\n this.selectedFile = node.model;\n this.getIndentedContent();\n } else {\n this.selectedFile = null;\n }\n const treeSelectedElements = document.querySelectorAll(\".tree-selected\");\n treeSelectedElements.forEach(function (el) {\n el.classList.remove(\"tree-selected\");\n });\n },\n xmlFormat,\n getIndentedContent() {\n console.log(\"selected file: \", this.selectedFile);\n const ext = this.selectedFile.name.split(\".\").pop();\n\n if (\n ext.startsWith(\"dita\") ||\n ext.startsWith(\"xml\") ||\n ext.startsWith(\"html\") ||\n ext.startsWith(\"css\") ||\n ext.startsWith(\"js\")\n ) {\n if ([\"dita\", \"ditamap\", \"xml\", \"html\"].includes(ext)) {\n this.contentTypeFormat = \"xml\";\n } else if ([\"css\", \"js\"].includes(ext)) {\n this.contentTypeFormat = \"css\";\n }\n this.$store.getters.client\n .get(`/orguser/workspace/filecontent?path=${this.selectedFile.path}`)\n .then((res) => {\n this.displayDitaContent = res.data;\n });\n } else {\n this.displayDitaContent = null;\n }\n },\n async downloadZip() {\n let user;\n let repository;\n try {\n console.log(\"object url\", this.outputURL);\n const parsedUrl = new URL(this.outputURL);\n [, user, repository] = this.urlParserRegex.exec(parsedUrl.pathname);\n } catch (err) {\n // Handle URL parsing error\n this.messageToast(\"Invalid request\", \"danger\", \"Error parsing URL\");\n return;\n }\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .post(\n \"/orguser/downloadSourceFiles\",\n {\n owner: user, //Project Owner name\n projectName: repository,\n },\n {\n responseType: \"blob\",\n }\n )\n .then((response) => {\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", repository + \".zip\");\n document.body.appendChild(link);\n link.click();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Downloaded successfull!\");\n })\n .catch((error) => {\n loader.hide();\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n });\n },\n downloadRepoContent() {\n let user;\n let repository;\n try {\n const parsedUrl = new URL(this.outputURL);\n [, user, repository] = this.urlParserRegex.exec(parsedUrl.pathname);\n } catch (err) {\n // Handle URL parsing error\n this.messageToast(\"Invalid request\", \"danger\", \"Error parsing URL\");\n return;\n }\n const url = `https://github.com/${user}/${repository}/archive/refs/heads/main.zip`;\n window.open(url, \"_blank\");\n },\n },\n watch: {\n brachName(newVal, oldValue) {\n // Ignore the next change if we're reverting the value\n if (this.ignoreNextChange) {\n this.ignoreNextChange = false; // Reset the flag\n return;\n }\n if (oldValue && newVal) {\n console.log(\"in brachName: \", newVal, oldValue);\n this.getObject(newVal);\n }\n },\n },\n};\n</script>\n<style scoped>\n.custom-img {\n height: 200px;\n}\n\n.custom-source {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.btabs-height {\n height: 100%;\n}\n\n/* Media query for Z Fold when the screen is folded */\n@media screen and (max-width: 280px) {\n .font-size-15 {\n font-size: 8px !important;\n }\n}\n\n.card-body {\n padding: 5px 0px 5px 0px;\n}\n\n.custom-jstree {\n height: 60vh;\n overflow: auto;\n}\n\n.source-card,\n.target-card {\n height: 60vh;\n}\n\n.source-card .media-body,\n.target-card .media-body {\n background: #007bff;\n}\n\n.no-output-cont {\n height: 60vh;\n}\n\n.no-output-text {\n color: #666;\n font-size: 20px;\n}\n\n.no-output-div {\n text-align: center;\n}\n\n.no-output {\n height: 60vh;\n text-align: center;\n color: #666;\n font-size: 20px;\n}\n\n.height-100 {\n height: 100% !important;\n}\n\n.gap-3 {\n gap: 0.75rem;\n}\n\n.pointer {\n cursor: pointer;\n}\n\n.custom-doceditor-btn {\n float: right;\n}\n\n.download-field {\n display: flex;\n cursor: pointer;\n justify-content: center;\n align-items: center;\n height: 200px;\n margin-top: 2rem;\n margin: 2rem;\n border: 1.5px dashed rgba(15, 52, 96, 1);\n border-radius: 8px;\n background-color: rgba(113, 165, 203, 0.05);\n}\n\n.download-btn {\n text-align: center;\n cursor: pointer;\n}\n\n.download-text {\n display: block;\n font-size: 1.8rem;\n font-family: \"Roboto\";\n}\n\n.download-icon {\n display: block;\n height: zz;\n margin: 0 auto;\n}\n\n.downloadImg {\n display: block;\n margin: 0 auto;\n height: 64px;\n width: 64px;\n}\n\n.download-field .download-btn span {\n font-size: 24px;\n font-weight: 500;\n line-height: 12px;\n letter-spacing: 0.5px;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n\nimg {\n height: 32px;\n margin-bottom: 0px;\n}\n\n/* Media query for Z Fold when the screen is folded */\n@media screen and (max-width: 280px) {\n body {\n font-size: 15px;\n }\n\n .downloadImg {\n height: 5rem;\n }\n\n .btn {\n font-size: 10px;\n height: 20px;\n margin: 0;\n padding: 2px 4px;\n }\n\n .font-size-15 {\n font-size: 9px !important;\n }\n\n img {\n height: 200px;\n }\n}\n</style>\n<style>\n.custom-structure-img {\n width: 18px !important;\n height: 18px !important;\n}\n\n.custom-jstree {\n background-color: #00000006;\n}\n\n.ssh-pre {\n border: none;\n background-color: transparent;\n}\n\n.infoDiv.folderStructure .tree-container-ul {\n width: 100vw;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./details.vue?vue&type=template&id=4ca364bc&scoped=true\"\nimport script from \"./details.vue?vue&type=script&lang=js\"\nexport * from \"./details.vue?vue&type=script&lang=js\"\nimport style0 from \"./details.vue?vue&type=style&index=0&id=4ca364bc&prod&scoped=true&lang=css\"\nimport style1 from \"./details.vue?vue&type=style&index=1&id=4ca364bc&prod&lang=css\"\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 \"4ca364bc\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pr-comparison-container\"},[_c('h2',{staticClass:\"page-heading\"},[_vm._v(\"Compare Branches\")]),_c('div',{staticClass:\"pr-header\"},[_c('span',{staticClass:\"branch-label\"},[_vm._v(\"Base:\")]),_c('multiselect',{staticClass:\"branch-multiselect\",attrs:{\"options\":_vm.branches,\"placeholder\":\"Select branch\",\"label\":\"name\",\"track-by\":\"name\",\"disabled\":!_vm.branches.length || _vm.isLoading},scopedSlots:_vm._u([{key:\"singleLabel\",fn:function({ option }){return [_vm._v(\" \"+_vm._s(option.name || \"Select branch\")+\" \")]}}]),model:{value:(_vm.baseBranch),callback:function ($$v) {_vm.baseBranch=$$v},expression:\"baseBranch\"}}),_c('i',{staticClass:\"mdi mdi-arrow-left-right arrow-icon\"}),_c('span',{staticClass:\"branch-label\"},[_vm._v(\"Target:\")]),_c('multiselect',{staticClass:\"branch-multiselect\",attrs:{\"options\":_vm.filteredBranches,\"placeholder\":\"Select branch\",\"label\":\"name\",\"track-by\":\"name\",\"disabled\":!_vm.branches.length || _vm.isLoading},scopedSlots:_vm._u([{key:\"singleLabel\",fn:function({ option }){return [_vm._v(\" \"+_vm._s(option.name || \"Select branch\")+\" \")]}}]),model:{value:(_vm.headBranch),callback:function ($$v) {_vm.headBranch=$$v},expression:\"headBranch\"}}),_c('button',{staticClass:\"compare-btn\",attrs:{\"disabled\":_vm.isLoading},on:{\"click\":_vm.fetchDiff}},[_c('i',{staticClass:\"mdi mdi-file-compare mdi-16px\"}),_vm._v(\" Compare \")])],1),(_vm.isLoading)?_c('div',{staticClass:\"loader-container\"},[_c('i',{staticClass:\"mdi mdi-loading mdi-spin mdi-36px\"}),_c('p',[_vm._v(\"Fetching data...\")])]):_vm._e(),(_vm.originalDiff && !_vm.isLoading)?_c('button',{staticClass:\"toggle-btn\",class:{ active: _vm.diffFormat === 'side-by-side' },on:{\"click\":_vm.toggleDiffView}},[_c('i',{staticClass:\"mdi\",class:_vm.diffFormat === 'side-by-side'\n ? 'mdi-toggle-switch'\n : 'mdi-toggle-switch-off'}),_vm._v(\" \"+_vm._s(_vm.diffFormat === \"side-by-side\" ? \"Split View\" : \"Unified View\")+\" \")]):_vm._e(),(_vm.originalDiff && !_vm.isLoading)?_c('div',{staticClass:\"custom-diff-container\",domProps:{\"innerHTML\":_vm._s(_vm.computedDiffHtml)}}):_vm._e(),(!_vm.originalDiff && !_vm.isLoading)?_c('div',{staticClass:\"no-changes-container\"},[_c('i',{staticClass:\"mdi mdi-information-outline mdi-36px\"}),_c('p',[_vm._v(\"There isn’t anything to compare.\")]),_c('span',[_vm._v(\"Select different branches to compare.\")])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"pr-comparison-container\">\n <h2 class=\"page-heading\">Compare Branches</h2>\n\n <div class=\"pr-header\">\n <span class=\"branch-label\">Base:</span>\n <multiselect\n v-model=\"baseBranch\"\n :options=\"branches\"\n placeholder=\"Select branch\"\n label=\"name\"\n track-by=\"name\"\n class=\"branch-multiselect\"\n :disabled=\"!branches.length || isLoading\"\n >\n <template slot=\"singleLabel\" slot-scope=\"{ option }\">\n {{ option.name || \"Select branch\" }}\n </template>\n </multiselect>\n\n <i class=\"mdi mdi-arrow-left-right arrow-icon\"></i>\n\n <span class=\"branch-label\">Target:</span>\n <multiselect\n v-model=\"headBranch\"\n :options=\"filteredBranches\"\n placeholder=\"Select branch\"\n label=\"name\"\n track-by=\"name\"\n class=\"branch-multiselect\"\n :disabled=\"!branches.length || isLoading\"\n >\n <template slot=\"singleLabel\" slot-scope=\"{ option }\">\n {{ option.name || \"Select branch\" }}\n </template>\n </multiselect>\n\n <button class=\"compare-btn\" @click=\"fetchDiff\" :disabled=\"isLoading\">\n <i class=\"mdi mdi-file-compare mdi-16px\"></i> Compare\n </button>\n </div>\n\n <div v-if=\"isLoading\" class=\"loader-container\">\n <i class=\"mdi mdi-loading mdi-spin mdi-36px\"></i>\n <p>Fetching data...</p>\n </div>\n\n <button\n v-if=\"originalDiff && !isLoading\"\n class=\"toggle-btn\"\n :class=\"{ active: diffFormat === 'side-by-side' }\"\n @click=\"toggleDiffView\"\n >\n <i\n class=\"mdi\"\n :class=\"\n diffFormat === 'side-by-side'\n ? 'mdi-toggle-switch'\n : 'mdi-toggle-switch-off'\n \"\n ></i>\n {{ diffFormat === \"side-by-side\" ? \"Split View\" : \"Unified View\" }}\n </button>\n\n <div\n v-if=\"originalDiff && !isLoading\"\n class=\"custom-diff-container\"\n v-html=\"computedDiffHtml\"\n ></div>\n\n <div v-if=\"!originalDiff && !isLoading\" class=\"no-changes-container\">\n <i class=\"mdi mdi-information-outline mdi-36px\"></i>\n <p>There isn’t anything to compare.</p>\n <span>Select different branches to compare.</span>\n </div>\n </div>\n</template>\n\n<script>\nimport * as Diff2Html from \"diff2html\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../api/global.env\";\nimport \"diff2html/bundles/css/diff2html.min.css\";\nimport Multiselect from \"vue-multiselect\";\n\nexport default {\n components: { Multiselect },\n data() {\n return {\n headBranch: null,\n branches: [],\n originalDiff: \"\",\n isLoading: false,\n diffFormat: \"side-by-side\",\n token: this.$store.state.Auth.gitToken,\n repoOwner: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repoName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n baseBranch: CryptoJS.AES.decrypt(\n this.$route.params.currentbranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n };\n },\n computed: {\n filteredBranches() {\n return this.branches.filter(\n (branch) => branch.name !== this.baseBranch?.name\n );\n },\n computedDiffHtml() {\n if (!this.originalDiff) return \"\";\n return Diff2Html.html(this.originalDiff, {\n fileListToggle: true,\n drawFileList: true,\n fileListStartVisible: false,\n outputFormat: this.diffFormat,\n synchronisedScroll: true,\n highlight: true,\n highlightCode: true,\n diffMaxChanges: 200,\n matching: \"words\",\n });\n },\n },\n mounted() {\n this.fetchBranches();\n },\n methods: {\n messageToast(title, variant, content) {\n this.$bvToast.toast(content, { title, variant, solid: true });\n },\n toggleDiffView() {\n this.diffFormat =\n this.diffFormat === \"side-by-side\" ? \"line-by-line\" : \"side-by-side\";\n },\n async fetchBranches() {\n this.isLoading = true;\n try {\n const response = await this.$store.getters.client.get(\n `orguser/repobranches?repoUser=${this.repoOwner}&repoName=${this.repoName}`\n );\n this.branches = response.data.map((branch) => ({ name: branch.name }));\n } catch (error) {\n console.error(\"Error fetching branches:\", error.response);\n this.messageToast(\n \"Internal Server Error\",\n \"danger\",\n \"Error fetching branches\"\n );\n } finally {\n this.isLoading = false;\n }\n },\n async fetchDiff() {\n if (!this.baseBranch || !this.headBranch) {\n this.messageToast(\n \"Branch Selection Required\",\n \"warning\",\n \"Please select both base and target branches.\"\n );\n return;\n }\n\n this.isLoading = true;\n\n try {\n const response = await this.$store.getters.client.get(\n `orguser/branch/diff?repoOwner=${this.repoOwner}&repoName=${this.repoName}&baseBranch=${this.baseBranch.name}&compareBranch=${this.headBranch.name}`\n );\n\n this.originalDiff = response.data?.data || \"\";\n } catch (error) {\n this.messageToast(\n \"Internal Server Error\",\n \"danger\",\n \"Error fetching diff\"\n );\n } finally {\n this.isLoading = false;\n }\n },\n },\n};\n</script>\n\n<style scoped>\n.pr-comparison-container {\n padding: 20px;\n font-family: Arial, sans-serif;\n}\n\n.page-heading {\n text-align: center;\n font-size: 1.5rem;\n font-weight: bold;\n margin-bottom: 1.2rem;\n}\n\n.pr-header {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n margin-bottom: 20px;\n}\n\n.branch-label {\n font-weight: bold;\n color: black;\n}\n\n.branch-multiselect {\n width: 200px;\n color: black !important;\n background-color: white;\n}\n\n.arrow-icon {\n font-size: 18px;\n color: #666;\n}\n\n.compare-btn {\n background-color: #0f3460;\n color: white;\n border: none;\n padding: 6px 12px;\n border-radius: 4px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 5px;\n}\n\n.compare-btn:disabled {\n background-color: #ccc;\n cursor: not-allowed;\n}\n\n.compare-btn i {\n font-size: 16px;\n}\n\n.custom-diff-container {\n margin-top: 20px;\n width: 100%;\n border: 1px solid #ccc;\n overflow: auto;\n padding: 1rem;\n}\n\n.loader-container {\n text-align: center;\n padding: 20px;\n color: #666;\n}\n\n.loader-container i {\n font-size: 36px;\n color: #0f3460;\n}\n\n.no-changes-container {\n text-align: center;\n padding: 50px;\n color: #666;\n}\n\n.no-changes-container i {\n font-size: 36px;\n color: #999;\n}\n\n.no-changes-container p {\n font-size: 18px;\n font-weight: bold;\n margin: 10px 0;\n}\n\n.toggle-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n background-color: #f6f8fa;\n color: #fe5e45;\n border: 1px solid #d0d7de;\n padding: 4px 12px;\n border-radius: 6px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: background 0.2s, border-color 0.2s;\n margin-left: auto;\n}\n\n.toggle-btn:hover {\n background-color: #eaeef2;\n border-color: #b1bac4;\n}\n\n.toggle-btn:active {\n background-color: #fe5e45;\n}\n\n.toggle-btn i {\n font-size: 1rem;\n color: #656d76;\n}\n\n.toggle-btn.active {\n background-color: #ddf4ff;\n border-color: #0f3460;\n color: #0f3460;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./githubDiff.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./githubDiff.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./githubDiff.vue?vue&type=template&id=0386c9c6&scoped=true\"\nimport script from \"./githubDiff.vue?vue&type=script&lang=js\"\nexport * from \"./githubDiff.vue?vue&type=script&lang=js\"\nimport style0 from \"./githubDiff.vue?vue&type=style&index=0&id=0386c9c6&prod&scoped=true&lang=css\"\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 \"0386c9c6\",\n null\n \n)\n\nexport default component.exports","// Import the DocManager and ProjectDetail components from their respective files\nimport DocManager from \"./index.vue\";\nimport ProjectDetail from \"./details.vue\";\nimport GithubDiff from \"./githubDiff.vue\";\n// Define an array of route objects\nexport default [\n {\n // Define a route for the DocManager component\n path: \"/docmanager\",\n component: DocManager,\n name: \"DocManager\",\n props: (route) => ({\n // Decode and pass dynamic parameters from the URL as props to the component\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n }),\n },\n {\n // Define a route for the ProjectDetail component with dynamic parameters\n path: \"/docmanager/:repouser/:reponame\",\n component: ProjectDetail,\n name: \"ProjectDetail\",\n props: (route) => ({\n // Decode and pass dynamic parameters from the URL as props to the component\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n }),\n },\n {\n path: \"/docmanager/:repouser/:reponame/:currentbranch/diff\",\n component: GithubDiff,\n name: \"GitHubDiff\",\n props: (route) => ({\n owner: decodeURIComponent(route.params.repouser),\n repo: decodeURIComponent(route.params.reponame),\n currentBranch: decodeURIComponent(route.params.currentbranch),\n }),\n },\n];\n","import BootstrapVue from \"bootstrap-vue\";\nimport Vue from \"vue\";\nVue.use(BootstrapVue);\nconst vm = new Vue({});\nimport { axios } from \"../api\";\nimport { URL } from \"@/api/global.env.js\";\nimport CryptoJS from \"crypto-js\";\nimport { handleApiError } from \"../apiErrorHandler\";\nimport { secretKey } from \"../api/global.env\";\n\nexport const checkAccessToService = (to, from, next, serviceName) => {\n // Before entering this route, fetch user data from the API\n const decryptData = (encryptedData) => {\n try {\n const bytes = CryptoJS.AES.decrypt(encryptedData, secretKey);\n const decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n return decryptedData;\n } catch (error) {\n return null;\n }\n };\n axios\n .get(`${URL}api/orguser/available-permissions`, {\n headers: {\n Authorization: `Bearer ${decryptData(localStorage.getItem(\"token\"))}`,\n sessionId: decryptData(localStorage.getItem(\"sessionId\")),\n userId: decryptData(localStorage.getItem(\"userId\")),\n orgId: decryptData(localStorage.getItem(\"orgId\")),\n },\n })\n .then((res) => {\n console.log(\"📢[secure-route.js:33]: res: \", res);\n if (\n res.data &&\n res.data.permissions &&\n res.data.permissions.includes(serviceName)\n ) {\n // If the user has the DocMigration role, allow access to this route\n\n next();\n } else {\n vm.$bvToast.toast(`${serviceName} role is not assigned to you.`, {\n title: \"Unassigned role\",\n variant: \"danger\",\n autoHideDelay: 2000,\n solid: true,\n });\n next(from.path);\n }\n })\n .catch((error) => {\n console.log(\"📢[secure-route.js:50]: error: \", error);\n handleApiError(error);\n next(from.path); // Disable this route\n });\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',[_c('div',{staticClass:\"mr-2 px-1\"},[_c('span',{staticClass:\"project-name mr-3\"},[_vm._v(_vm._s(_vm.projectName))]),_c('span',[_vm._v(_vm._s(_vm.brachName))])]),_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])])]),_c('div',{staticClass:\"row mt-3\"},[(\n this.$store.state.Auth.orgDetails.customPlugin &&\n _vm.customPluginOutputFormat.length\n )?_c('div',{staticClass:\"col-xl-12\"},[_c('b-card',[_c('b-tabs',{staticClass:\"btabs-height\",attrs:{\"justified\":\"\",\"nav-class\":\"nav-tabs-custom\",\"content-class\":\"text-muted\"}},[_c('b-tab',{attrs:{\"title\":\"Default Publisher\",\"active\":\"\"}},[_c('div',[_c('div',[_c('generateoutput',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1)])]),_c('b-tab',{attrs:{\"title\":\"Custom Publisher\"}},[_c('div',[_c('div',[_c('customPlugin',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1)])])],1)],1)],1):_c('div',{staticClass:\"col-xl-12\"},[(_vm.ditaOtVersions !== null)?_c('div',[_c('generateoutput',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1):_vm._e()])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Document publishing is currently in progress.\")]),_c('b-progress',{attrs:{\"value\":75,\"max\":100,\"animated\":\"\"}})],1),_c('b-modal',{ref:\"modalcommit\",attrs:{\"id\":\"modal-commit\",\"title\":\"Commit Output\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('div',[_c('b-form-group',{attrs:{\"label\":\"Commit Message\"}},[_c('b-form-input',{attrs:{\"for\":\"text\"},model:{value:(_vm.commitMsg),callback:function ($$v) {_vm.commitMsg=$$v},expression:\"commitMsg\"}})],1),_c('button',{staticClass:\"btn btn-primary btn-sm\",on:{\"click\":function($event){return _vm.commitOutput()}}},[_vm._v(\" Commit \")])],1)]),(_vm.hideform)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-8\"},[_c('div',{staticClass:\"bg-primary text-white\"}),_c('div',{staticClass:\"card shadow-sm\"},[_c('div',{staticClass:\"card-body text-center\"},[_c('h5',{staticClass:\"mb-4\"},[_vm._v(\"Project Name : \"+_vm._s(_vm.projectName))]),_c('p',[_vm._v(\"Important! Commit changes to download the output.\")]),_c('div',{staticClass:\"d-flex justify-content-center pt-1\"},[_c('button',{staticClass:\"btn btn-primary btn-sm mr-2 mb-2\",attrs:{\"disabled\":_vm.disablecommitbutton},on:{\"click\":function($event){$event.preventDefault();return _vm.githubCommit.apply(null, arguments)}}},[_vm._v(\" Commit on GitHub \")]),_c('button',{staticClass:\"btn btn-light btn-sm mr-2 mb-2\",on:{\"click\":function($event){return _vm.downloadFun()}}},[_vm._v(\" Download Output \")]),(['html5', 'metrhtml5'].includes(_vm.typeform.outputFormat))?_c('button',{staticClass:\"btn btn-info btn-sm mr-2 mb-2\",attrs:{\"disabled\":!_vm.userActivityId},on:{\"click\":function($event){return _vm.deployToChatbotSelectBranch()}}},[_vm._v(\" Deploy to chatbot \")]):_vm._e()]),_c('ChatbotPublishStatus')],1)])])]):_vm._e(),(!_vm.hideform)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('form',{attrs:{\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.releaseTitle),expression:\"typeform.releaseTitle\"}],staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.releaseTitle.$error,\n },attrs:{\"required\":\"\",\"name\":\"releaseTitle\",\"type\":\"text\",\"id\":\"releaseTitle\",\"placeholder\":\"Enter release title\"},domProps:{\"value\":(_vm.typeform.releaseTitle)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.typeform, \"releaseTitle\", $event.target.value)}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('releaseTitle') &&\n _vm._.find(_vm.errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n ),expression:\"\\n errors.has('releaseTitle') &&\\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\\n 'required'\\n \"}],staticClass:\"text-danger text-sm\"})]),_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('div',[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.inputPath),expression:\"typeform.inputPath\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"inputPath\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\" Select source Ditamap \")]),_vm._l((_vm.selectInput),function(data){return _c('option',{key:data.path,domProps:{\"value\":data.path}},[_vm._v(\" \"+_vm._s(data.fileName)+\" \")])})],2),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('typeform.inputPath') &&\n _vm.$v.typeform.inputPath.required\n ),expression:\"\\n errors.has('typeform.inputPath') &&\\n $v.typeform.inputPath.required\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Input Format selection is required\")])])])]),_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('div',[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.outputFormat),expression:\"typeform.outputFormat\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"outputFormat\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"Select output format\")]),_vm._l((_vm.selectOutputFormat),function(data){return _c('option',{key:data.id,domProps:{\"value\":data.transtype}},[_vm._v(\" \"+_vm._s(data.transtype)+\" \")])})],2),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('typeform.outputFormat') &&\n _vm.$v.typeform.outputFormat.required\n ),expression:\"\\n errors.has('typeform.outputFormat') &&\\n $v.typeform.outputFormat.required\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Output Format selection is required\")])])])]),_c('div',{staticClass:\"form-group text-right mb-0\"},[_c('div',[_c('button',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"disabled\":!(\n _vm.typeform.outputFormat &&\n _vm.typeform.inputPath &&\n _vm.typeform.releaseTitle\n )},on:{\"click\":function($event){return _vm.generateOutputFun(_vm.projectPath, _vm.workspacePath)}}},[_vm._v(\" Transform \")]),_c('button',{staticClass:\"btn btn-light btn-sm m-l-5 ml-1\",on:{\"click\":_vm.resetform}},[_vm._v(\" Cancel \")])])])])])]):_vm._e(),_c('b-modal',{ref:\"pull-modal\",attrs:{\"size\":\"lg\",\"centered\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-escer\":\"\",\"title\":\"Create a Pull Request\"}},[_c('div',{staticClass:\"d-block\"},[_c('p',{staticClass:\"modal-text\"},[_vm._v(\"Your files are not updated. Update now.\")])]),_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-primary mt-2 px-2 py-1 btn-sm\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.createPullreq()}}},[_vm._v(\" Pull Repository \")])])]),_c('DeployToChatbot',{ref:\"deplotToChatbotRef\",attrs:{\"userActivityId\":_vm.userActivityId,\"repouser\":_vm.repouser},on:{\"deleteUserActivityId\":_vm.deleteUserActivityId,\"publishSuccess\":_vm.handlePublishSuccess}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Title \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Input Source Ditamap \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Output Format \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"deployToChatbotModal\",attrs:{\"hide-footer\":\"\"}},[_c('div',[(_vm.newOrExistingBranch == 'new')?_c('div',{staticClass:\"my-3\"},[_c('label',[_vm._v(\"New Branch Name\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedName),expression:\"selectedName\"}],staticClass:\"form-control\",attrs:{\"id\":\"newBranchName\"},domProps:{\"value\":(_vm.selectedName)},on:{\"input\":function($event){if($event.target.composing)return;_vm.selectedName=$event.target.value}}})]):_vm._e(),(_vm.newOrExistingBranch == 'existing')?_c('div',{staticClass:\"my-3\"},[_c('label',[_vm._v(\"Select Branch Name\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])]),_c('multiselect',{attrs:{\"options\":_vm.repobranchesdata,\"placeholder\":\"Choose a branch\",\"max-height\":150},model:{value:(_vm.selectedName),callback:function ($$v) {_vm.selectedName=$$v},expression:\"selectedName\"}})],1):_vm._e(),_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-primary\",attrs:{\"disabled\":!_vm.selectedName},on:{\"click\":function($event){return _vm.deployToChatbotHandler()}}},[_vm._v(\" Deploy to chatbot \")])])])]),_c('b-modal',{ref:\"modalProgress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Deploying...\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\",\"centered\":\"\"}},[_c('div',{staticClass:\"text-center\"},[(_vm.progress < 100)?_c('p',[_vm._v(\"Deployment in progress...\")]):_c('p',{staticClass:\"text-success\"},[_vm._v(\"Deployment successful!\")])]),_c('b-progress',{staticClass:\"mb-3 custom-progress\",attrs:{\"value\":_vm.progress,\"max\":100}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <b-modal ref=\"deployToChatbotModal\" hide-footer>\n <div>\n <div class=\"my-3\" v-if=\"newOrExistingBranch == 'new'\">\n <label>New Branch Name<span class=\"text-danger\">*</span></label>\n <input\n class=\"form-control\"\n id=\"newBranchName\"\n v-model=\"selectedName\"\n />\n </div>\n <div class=\"my-3\" v-if=\"newOrExistingBranch == 'existing'\">\n <label>Select Branch Name<span class=\"text-danger\">*</span></label>\n\n <!-- Multiselect for project selection -->\n <multiselect\n v-model=\"selectedName\"\n :options=\"repobranchesdata\"\n placeholder=\"Choose a branch\"\n :max-height=\"150\"\n >\n </multiselect>\n </div>\n <div class=\"text-center\">\n <!-- @click=\"createNewBranchHandler\" -->\n <button\n class=\"btn btn-primary\"\n :disabled=\"!selectedName\"\n @click=\"deployToChatbotHandler()\"\n >\n Deploy to chatbot\n </button>\n </div>\n </div>\n </b-modal>\n\n <!-- Progress Bar Modal -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modalProgress\"\n title=\"Deploying...\"\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n centered\n >\n <div class=\"text-center\">\n <p v-if=\"progress < 100\">Deployment in progress...</p>\n <p v-else class=\"text-success\">Deployment successful!</p>\n </div>\n <b-progress\n :value=\"progress\"\n :max=\"100\"\n class=\"mb-3 custom-progress\"\n ></b-progress>\n </b-modal>\n </div>\n</template>\n<script>\nimport Multiselect from \"vue-multiselect\";\nimport Swal from \"sweetalert2\";\n\nexport default {\n components: {\n Multiselect,\n },\n\n props: { userActivityId: String, repouser: String },\n data() {\n return {\n selectedName: null,\n newOrExistingBranch: null,\n repobranchesdata: [],\n progress: 0\n };\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n deployToChatbotSelectBranch() {\n Swal.fire({\n title: \"Choose Existing or New Branch?\",\n icon: \"info\",\n showCancelButton: true,\n confirmButtonText: \"New\",\n cancelButtonText: \"Extisting\",\n }).then(async (result) => {\n if (result.isConfirmed) {\n this.selectedName = null;\n console.log(\"confirm new\");\n this.newOrExistingBranch = \"new\";\n this.$refs[\"deployToChatbotModal\"].show();\n } else if (result.dismiss === Swal.DismissReason.cancel) {\n console.log(\"cancle existing\");\n await this.getRepoBranch();\n this.newOrExistingBranch = \"existing\";\n this.$refs[\"deployToChatbotModal\"].show();\n }\n });\n },\n async getRepoBranch() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n this.$store.getters.client\n .get(\n `orguser/repobranches?repoUser=${this.repouser}&repoName=AI-Deployment`\n )\n .then(async (branchResponse) => {\n if (branchResponse.data && branchResponse.data.length > 0) {\n this.repobranchesdata = branchResponse.data\n .map((element) => element.name)\n .filter((f) => f !== \"main\");\n\n if (this.repobranchesdata.length == 0) {\n this.messageToast(\n \"No branch found\",\n \"danger\",\n \"No branch found in the repository.\"\n );\n }\n } else {\n this.messageToast(\n \"No branch found\",\n \"danger\",\n \"No branch found in the repository.\"\n );\n }\n })\n .catch((error) => {\n this.messageToast(\n \"invalid request\",\n \"danger\",\n error.response.data.message\n );\n })\n .finally(() => {\n loader.hide();\n });\n },\n async simulateProgress() {\n for (let i = 5; i <= 90; i += 2) {\n await new Promise((resolve) => setTimeout(resolve, 500));\n if (this.progress >= 100) break; \n this.progress = i;\n }\n },\n async deployToChatbotHandler() {\n this.progress = 0;\n this.$refs[\"deployToChatbotModal\"].hide();\n this.$refs.modalProgress.show(); \n\n const deployToChatbotParams = {\n selectedName: this.selectedName,\n publishOption: this.newOrExistingBranch,\n userActivityId: this.userActivityId,\n };\n \n try {\n this.simulateProgress();\n\n const response = await this.$store.getters.client.post(\n `/orguser/workspace/publish-to-chatbot`,\n deployToChatbotParams\n );\n\n console.log(\"📢Publish Response\", response);\n this.progress = 100; // Set progress to complete\n this.messageToast(\"Success\", \"primary\", response.data.message);\n this.$refs[\"deployToChatbotModal\"].hide();\n this.$emit(\"deleteUserActivityId\");\n this.$root.$emit(\"publishSuccess\");\n\n setTimeout(() => {\n this.$refs.modalProgress.hide();\n }, 1000);\n\n } catch (error) {\n this.messageToast(\"Error\", \"danger\", error.response?.data?.message || \"Deployment failed\");\n this.progress = 0;\n this.$refs.modalProgress.hide();\n }\n },\n },\n};\n</script>\n\n<style>\n.custom-progress .progress-bar {\n background-color: #fe5e45 !important;\n border-radius: 5px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deployToChatbot.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./deployToChatbot.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./deployToChatbot.vue?vue&type=template&id=1883845a\"\nimport script from \"./deployToChatbot.vue?vue&type=script&lang=js\"\nexport * from \"./deployToChatbot.vue?vue&type=script&lang=js\"\nimport style0 from \"./deployToChatbot.vue?vue&type=style&index=0&id=1883845a&prod&lang=css\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isPublishedToChatbot)?_c('b-alert',{staticClass:\"mt-2 mb-0\",attrs:{\"variant\":\"info\",\"show\":\"\"}},[_c('p',{staticClass:\"deploy-text\"},[_vm._v(\" Your HTML output has been successfully published. \"),_c('br'),_vm._v(\" View it here: \"),_c('a',{attrs:{\"href\":_vm.ChatbotFrontendURL,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.ChatbotFrontendURL))])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-alert variant=\"info\" show v-if=\"isPublishedToChatbot\" class=\"mt-2 mb-0\">\n <p class=\"deploy-text\">\n Your HTML output has been successfully published.\n <br />\n View it here:\n <a :href=\"ChatbotFrontendURL\" target=\"_blank\">{{ ChatbotFrontendURL }}</a>\n </p>\n </b-alert>\n</template>\n\n<script>\nimport { ChatbotFrontendURL } from \"../api/global.env\";\n\nexport default {\n data() {\n return {\n ChatbotFrontendURL: ChatbotFrontendURL,\n isPublishedToChatbot: false, // Local state for publishing status\n };\n },\n created() {\n // Listen for the event globally\n this.$root.$on(\"publishSuccess\", this.handlePublishSuccess);\n },\n beforeDestroy() {\n // Cleanup event listener when the component is destroyed\n this.$root.$off(\"publishSuccess\", this.handlePublishSuccess);\n },\n methods: {\n handlePublishSuccess() {\n this.isPublishedToChatbot = true;\n },\n },\n};\n</script>\n\n<style scoped>\n.deploy-text {\n font-weight: 400;\n font-size: 0.875rem;\n color: #17233d;\n line-height: 1.5;\n margin-top: 1rem;\n}\n\n.deploy-text a {\n color: inherit;\n font-size: 0.8rem;\n font-weight: 500;\n transition: color 0.3s ease-in-out;\n text-decoration: none;\n color: #fe5e45;\n}\n\n.deploy-text:hover a {\n color: #fe5e45cc;\n text-decoration: underline !important;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatbotPublishStatus.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatbotPublishStatus.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChatbotPublishStatus.vue?vue&type=template&id=5c33f4a8&scoped=true\"\nimport script from \"./ChatbotPublishStatus.vue?vue&type=script&lang=js\"\nexport * from \"./ChatbotPublishStatus.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChatbotPublishStatus.vue?vue&type=style&index=0&id=5c33f4a8&prod&scoped=true&lang=css\"\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 \"5c33f4a8\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Progress Modal -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Document publishing is currently in progress.</p>\n <b-progress :value=\"75\" :max=\"100\" animated></b-progress>\n </b-modal>\n <!-- Commit Modal -->\n <b-modal\n id=\"modal-commit\"\n v-model=\"showModal\"\n ref=\"modalcommit\"\n title=\"Commit Output\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <div>\n <b-form-group label=\"Commit Message\">\n <b-form-input for=\"text\" v-model=\"commitMsg\"></b-form-input>\n </b-form-group>\n <button class=\"btn btn-primary btn-sm\" v-on:click=\"commitOutput()\">\n Commit\n </button>\n </div>\n </b-modal>\n <div v-if=\"hideform\" class=\"row justify-content-center\">\n <div class=\"col-md-8\">\n <div class=\"bg-primary text-white\"></div>\n <div class=\"card shadow-sm\">\n <div class=\"card-body text-center\">\n <h5 class=\"mb-4\">Project Name : {{ projectName }}</h5>\n <p>Important! Commit changes to download the output.</p>\n <div class=\"d-flex justify-content-center pt-1\">\n <button\n class=\"btn btn-primary btn-sm mr-2 mb-2\"\n :disabled=\"disablecommitbutton\"\n @click.prevent=\"githubCommit\"\n >\n Commit on GitHub\n </button>\n <button\n v-on:click=\"downloadFun()\"\n class=\"btn btn-light btn-sm mr-2 mb-2\"\n >\n Download Output\n </button>\n <button\n v-if=\"['html5', 'metrhtml5'].includes(typeform.outputFormat)\"\n v-on:click=\"deployToChatbotSelectBranch()\"\n class=\"btn btn-info btn-sm mr-2 mb-2\"\n :disabled=\"!userActivityId\"\n >\n Deploy to chatbot\n </button>\n </div>\n <ChatbotPublishStatus />\n </div>\n </div>\n </div>\n </div>\n <!-- Conditional HR -->\n <!-- <hr v-if=\"!this.$store.state.Auth.orgDetails.customPlugi\" /> -->\n <div v-if=\"!hideform\" class=\"card\">\n <div class=\"card-body\">\n <form novalidate @submit.prevent>\n <!-- Title Input -->\n <div class=\"form-group\">\n <label>Title <span class=\"text-secondary\">*</span></label>\n <input\n v-validate=\"'required'\"\n required\n v-model=\"typeform.releaseTitle\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"releaseTitle\"\n type=\"text\"\n id=\"releaseTitle\"\n class=\"form-control\"\n placeholder=\"Enter release title\"\n :class=\"{\n 'is-invalid': submitted && $v.releaseTitle.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('releaseTitle') &&\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n \"\n ></p>\n </div>\n <!-- Input Source Dropdown -->\n <div class=\"form-group\">\n <label\n >Input Source Ditamap <span class=\"text-secondary\">*</span></label\n >\n <div>\n <select\n class=\"form-control\"\n v-validate=\"'required'\"\n required\n v-model=\"typeform.inputPath\"\n >\n <option value=\"\" disabled selected>\n Select source Ditamap\n </option>\n <option\n v-for=\"data in selectInput\"\n :key=\"data.path\"\n :value=\"data.path\"\n >\n {{ data.fileName }}\n </option>\n </select>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('typeform.inputPath') &&\n $v.typeform.inputPath.required\n \"\n >\n <span>Input Format selection is required</span>\n </p>\n </div>\n </div>\n <!-- Output Format Dropdown -->\n <div class=\"form-group\">\n <label>Output Format <span class=\"text-secondary\">*</span></label>\n <div>\n <select\n class=\"form-control\"\n v-validate=\"'required'\"\n required\n v-model=\"typeform.outputFormat\"\n >\n <option value=\"\" disabled selected>Select output format</option>\n <option\n v-for=\"data in selectOutputFormat\"\n :key=\"data.id\"\n :value=\"data.transtype\"\n >\n {{ data.transtype }}\n </option>\n </select>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('typeform.outputFormat') &&\n $v.typeform.outputFormat.required\n \"\n >\n <span>Output Format selection is required</span>\n </p>\n </div>\n </div>\n <!-- Buttons for Generating Output and Resetting Form -->\n <div class=\"form-group text-right mb-0\">\n <div>\n <button\n :disabled=\"\n !(\n typeform.outputFormat &&\n typeform.inputPath &&\n typeform.releaseTitle\n )\n \"\n class=\"btn btn-sm btn-primary\"\n v-on:click=\"generateOutputFun(projectPath, workspacePath)\"\n >\n Transform\n </button>\n <button\n @click=\"resetform\"\n class=\"btn btn-light btn-sm m-l-5 ml-1\"\n >\n Cancel\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n <!-- Pull Request Modal -->\n <b-modal\n size=\"lg\"\n ref=\"pull-modal\"\n centered\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-escer\n title=\"Create a Pull Request\"\n >\n <div class=\"d-block\">\n <p class=\"modal-text\">Your files are not updated. Update now.</p>\n </div>\n <div class=\"text-center\">\n <button\n class=\"btn btn-primary mt-2 px-2 py-1 btn-sm\"\n block\n @click=\"createPullreq()\"\n >\n Pull Repository\n </button>\n </div>\n </b-modal>\n <DeployToChatbot\n ref=\"deplotToChatbotRef\"\n :userActivityId=\"userActivityId\"\n :repouser=\"repouser\"\n @deleteUserActivityId=\"deleteUserActivityId\"\n @publishSuccess=\"handlePublishSuccess\"\n />\n </div>\n</template>\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport checkurl from \"../../../../components/urlvalidator\";\nimport { eventBus } from \"../../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nimport downloadSourceFiles from \"../../../../services/download-source-files\";\nimport DeployToChatbot from \"./deployToChatbot.vue\";\nimport ChatbotPublishStatus from \"@/components/ChatbotPublishStatus.vue\";\n\nexport default {\n components: {\n DeployToChatbot,\n ChatbotPublishStatus\n },\n props: {\n ditaotVersion: String,\n },\n data() {\n return {\n isPublishedToChatbot: false,\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n userName: this.$store.state.Auth.userName,\n typeform: {\n inputPath: \"\",\n outputPath: \"\",\n outputFormat: \"\",\n releaseTitle: \"\",\n },\n selectInput: null,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectOutputFormat: null,\n submitted: false,\n projectPath: null,\n typesubmit: false,\n workspacePath: null,\n disablebutton: false,\n disablecommitbutton: false,\n commitMsg: null,\n hideform: false,\n showModal: false,\n model: \"\",\n releaseParams: null,\n outputURL: null,\n gitToken: this.$store.state.Auth.gitToken,\n urlParserRegex: /^[/]([^/]+)[/]([^/]+)[/]tree[/]([^/]+)[/](.*)/,\n userActivityId: null,\n chatbotDeplyedFlag: false\n };\n },\n created() {\n this.getWorkspace();\n this.hideform = false;\n },\n mounted() {\n this.getoutputFormat();\n this.outputURL = `https://github.com/${this.repouser}/${this.projectName}/tree/${this.brachName}/output`;\n this.makedefaultplugin();\n this.hideform = false;\n },\n computed: {\n _() {\n return _;\n },\n },\n methods: {\n handlePublishSuccess() {\n this.isPublishedToChatbot = true;\n },\n preventLeadingSpace(e) {\n // only prevent the keypress if the value is blank\n if (!e.target.value) e.preventDefault();\n // otherwise, if the leading character is a space, remove all leading white-space\n else if (e.target.value[0] == \" \")\n e.target.value = e.target.value.replace(/^\\s*/, \"\");\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n createPullreq() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .post(\n `/orguser/workspace/pullGitChanges?projectName=${this.projectName}`\n )\n .then(() => {\n this.$store.getters.client\n .get(`/orguser/workspace/filecontent?path=${this.currentfilePath}`)\n .then((res) => {\n eventBus.$emit(\"getcontent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"textViewContent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"clearHistory\");\n })\n .catch(() => {});\n this.$refs[\"pull-modal\"].hide();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Pull request completed\");\n })\n .catch((err) => {\n loader.hide();\n this.messageToast(\n \"Error\",\n \"danger\",\n err.response\n ? err.response.data.message\n : \"An error occurred during the pull request.\"\n );\n });\n },\n async getWorkspace() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/byuserId?userId=${this.userId}`)\n .then(async (res) => {\n let path = res.data.installedPath + `/${this.projectName}`;\n this.workspacePath = res.data.installedPath;\n this.projectPath = res.data.installedPath + \"/\" + this.projectName;\n await this.$store.getters.client\n .post(`/orguser/workspace/fetchGitRemoteChanges?path=${path}`)\n .then((res) => {\n if (\n res.data.message.includes(\"please pull your branch to proceed\")\n ) {\n this.$refs[\"pull-modal\"].show();\n }\n });\n let ext = \"ditamap\";\n await this.$store.getters.client\n .get(`/orguser/workspace/inputfiles?path=${path}&extenssion=${ext}`)\n .then((res) => {\n loader.hide();\n this.selectInput = res.data;\n })\n .catch(() => {\n loader.hide();\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/repotree?path=${path}`)\n .then((tres) => {\n loader.hide();\n this.model = tres.data;\n })\n .catch(() => {\n loader.hide();\n });\n })\n .catch(() => {\n loader.hide();\n });\n },\n makedefaultplugin() {\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: {},\n };\n this.$store.getters.client\n .post(`/orguser/docstyler/customizePdfOutput`, body)\n .then(() => {})\n .catch(() => {});\n this.$store.getters.client\n .post(`/orguser/docstyler/customizehtmlOutput`, body)\n .then(() => {})\n .catch(() => {});\n },\n async generateOutputFun(path, workspacePath) {\n this.disablebutton = true;\n let bitPath = workspacePath + \"/dita-ot-\" + this.ditaotVersion + \"/bin\";\n let outputParams = {\n inputPath: this.typeform.inputPath,\n ditaotVersion: this.ditaotVersion,\n binPath: bitPath,\n outputPath: path + \"/output\",\n outputFormat: this.typeform.outputFormat,\n };\n this.releaseParams = {\n ditaMapFileName: this.typeform.inputPath.split(\"/\").pop(),\n outputFormat: this.typeform.outputFormat,\n ditaotVersion: this.ditaotVersion,\n orgId: this.orgId,\n userId: this.userId,\n releaseTitle: this.typeform.releaseTitle,\n releasedBy: this.userName,\n projectName: this.projectName,\n };\n await this.$validator.validateAll().then((result) => {\n if (result) {\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .post(`/orguser/docpublish`, outputParams)\n .then((res) => {\n this.disablebutton = false;\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\"Success\", \"primary\", res.data.message);\n this.typeform.inputPath = null;\n this.hideform = true;\n // this.typeform.outputFormat = null;\n this.disablecommitbutton = false;\n this.typeform.releaseTitle = null;\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n }\n });\n },\n commitOnGithub() {\n this.showModal = true;\n },\n githubCommit() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n title: \"Add description to submit and commit.\",\n input: \"text\",\n showCancelButton: true,\n confirmButtonText: \"Submit\",\n showLoaderOnConfirm: true,\n confirmButtonColor: \"#556ee6\",\n cancelButtonColor: \"#f46a6a\",\n preConfirm: (commitMsg) => {\n return new Promise((resolve, reject) => {\n if (commitMsg.trim() === \"\") {\n reject(new Error(\"Please enter a commit message.\"));\n } else {\n resolve(commitMsg);\n }\n });\n },\n allowOutsideClick: false,\n inputValidator: (value) => {\n return value.trim() !== \"\"\n ? undefined\n : \"Please enter a commit message.\";\n },\n })\n .then(({ value: commitMsg }) => {\n if (commitMsg !== undefined) {\n let commitProjectObj = {\n path: this.projectPath,\n githubUsername: this.$store.state.Auth.githubUsername,\n email: this.$store.state.Auth.userEmail,\n message: commitMsg,\n repoName: this.projectName,\n transType: this.typeform.outputFormat,\n };\n swalWithBootstrapButtons.fire({\n title: \"Commit request in progress...\",\n allowOutsideClick: false,\n onOpen: () => {},\n });\n Swal.showLoading();\n this.$store.getters.client\n .put(`/orguser/workspace/commit`, commitProjectObj)\n .then((res) => {\n this.disablecommitbutton = true;\n this.releaseParams.commitSHA = res.data.commitSHA;\n this.userActivityId = res.data.userActivityId;\n this.releaseParams.owner = CryptoJS.AES.decrypt(\n this.$route.params.repoowner,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n this.$store.getters.client\n .post(`/orguser/release`, this.releaseParams)\n .then(() => {\n this.$store.commit(\"setRecentPublicationsData\", []);\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n if (\n err.response &&\n err.response.data &&\n err.response.data.message ===\n \"release validation failed: commitSHA: Path `commitSHA` is required.\"\n ) {\n // Do nothing, just return\n return;\n } else {\n // Display the error\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response && err.response.data\n ? err.response.data.message\n : \"Unknown error occurred\"\n );\n }\n });\n swalWithBootstrapButtons.fire({\n icon: \"success\",\n title: \"Commit request completed.\",\n text: res.data.message || `Files committed successfully.`,\n });\n })\n .catch((err) => {\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Commit failed!\",\n text: err.response.data.message,\n });\n });\n }\n });\n },\n deployToChatbotSelectBranch() {\n this.$refs.deplotToChatbotRef.deployToChatbotSelectBranch();\n },\n\n deleteUserActivityId() {\n this.userActivityId = null;\n },\n\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/plugins?category=default`)\n .then((res) => {\n this.selectOutputFormat = res.data;\n })\n .catch(() => {});\n },\n resetform() {\n this.typeform.inputPath = \"\";\n this.typeform.outputFormat = \"\";\n this.typeform.releaseTitle = \"\";\n },\n\n async downloadFun() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n await downloadSourceFiles({\n repoName: this.projectName,\n commitSHA: this.releaseParams.commitSHA,\n });\n this.messageToast(\n \"Files downloaded\",\n \"primary\",\n \"Downloaded successful!\"\n );\n } catch (error) {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n } finally {\n loader.hide();\n }\n },\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n escapeFilepath(path) {\n return path.replaceAll(\"#\", \"%23\");\n },\n },\n};\n</script>\n<style scoped>\n.modal-text {\n font-weight: 400;\n font-size: 14px;\n\n color: #17233d;\n}\n\n/* label {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n} */\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./generateoutput.vue?vue&type=template&id=578b78d9&scoped=true\"\nimport script from \"./generateoutput.vue?vue&type=script&lang=js\"\nexport * from \"./generateoutput.vue?vue&type=script&lang=js\"\nimport style0 from \"./generateoutput.vue?vue&type=style&index=0&id=578b78d9&prod&scoped=true&lang=css\"\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 \"578b78d9\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Document publishing is currently in progress.\")]),_c('b-progress',{attrs:{\"value\":75,\"max\":100,\"animated\":\"\"}})],1),_c('b-modal',{ref:\"modalcommit\",attrs:{\"id\":\"modal-commit\",\"title\":\"Commit Output\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('div',[_c('b-form-group',{attrs:{\"label\":\"Commit Message\"}},[_c('b-form-input',{attrs:{\"for\":\"text\"},model:{value:(_vm.commitMsg),callback:function ($$v) {_vm.commitMsg=$$v},expression:\"commitMsg\"}})],1),_c('button',{staticClass:\"btn btn-primary btn-sm\",on:{\"click\":function($event){return _vm.commitOutput()}}},[_vm._v(\" Commit \")])],1)]),(_vm.hideform)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-8\"},[_c('div',{staticClass:\"bg-primary text-white\"}),_c('div',{staticClass:\"card shadow-sm\"},[_c('div',{staticClass:\"card-body text-center\"},[_c('h5',{staticClass:\"mb-4\"},[_vm._v(\"Project Name : \"+_vm._s(_vm.projectName))]),_c('p',[_vm._v(\"Important! Commit changes to download the output.\")]),_c('div',{staticClass:\"d-flex justify-content-center pt-1\"},[_c('button',{staticClass:\"btn btn-primary btn-sm mr-2 mb-2\",attrs:{\"disabled\":_vm.disablecommitbutton},on:{\"click\":function($event){$event.preventDefault();return _vm.githubCommit.apply(null, arguments)}}},[_vm._v(\" Commit on GitHub \")]),_c('button',{staticClass:\"btn btn-light btn-sm mr-2 mb-2\",on:{\"click\":function($event){return _vm.downloadFun()}}},[_vm._v(\" Download Output \")]),(\n _vm.ditaOtFolder[_vm.selectedOutputFormatIndex].transtype ===\n 'metrhtml5'\n )?_c('button',{staticClass:\"btn btn-info btn-sm mr-2 mb-2\",attrs:{\"disabled\":!_vm.userActivityId},on:{\"click\":function($event){return _vm.deployToChatbotSelectBranch()}}},[_vm._v(\" Deploy to chatbot \")]):_vm._e()]),_c('ChatbotPublishStatus')],1)])])]):_vm._e(),(!_vm.hideform)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('form',{attrs:{\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.releaseTitle),expression:\"typeform.releaseTitle\"}],staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.releaseTitle.$error,\n },attrs:{\"required\":\"\",\"name\":\"releaseTitle\",\"type\":\"text\",\"id\":\"releaseTitle\",\"placeholder\":\"Enter Release Title\"},domProps:{\"value\":(_vm.typeform.releaseTitle)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.typeform, \"releaseTitle\", $event.target.value)}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('releaseTitle') &&\n _vm._.find(_vm.errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n ),expression:\"\\n errors.has('releaseTitle') &&\\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\\n 'required'\\n \"}],staticClass:\"text-danger text-sm\"})]),_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('div',[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.inputPath),expression:\"typeform.inputPath\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"inputPath\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\" Select Source Ditamap \")]),_vm._l((_vm.selectInput),function(data){return _c('option',{key:data.path,domProps:{\"value\":data.path}},[_vm._v(\" \"+_vm._s(data.fileName)+\" \")])})],2),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('typeform.inputPath') &&\n _vm.$v.typeform.inputPath.required\n ),expression:\"\\n errors.has('typeform.inputPath') &&\\n $v.typeform.inputPath.required\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Input Format selection is required\")])])])]),_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('div',[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOutputFormatIndex),expression:\"selectedOutputFormatIndex\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedOutputFormatIndex=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"Select Output Format\")]),_vm._l((_vm.selectOutputFormat),function(data,index){return _c('option',{key:data.id,domProps:{\"value\":index}},[_vm._v(\" \"+_vm._s(data.transtype)+\" \")])})],2),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('typeform.outputFormat') &&\n _vm.$v.typeform.outputFormat.required\n ),expression:\"\\n errors.has('typeform.outputFormat') &&\\n $v.typeform.outputFormat.required\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Output Format selection is required\")])])])]),_c('div',{staticClass:\"form-group mb-0 text-right\"},[_c('div',[_c('button',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"disabled\":!(_vm.typeform.inputPath && _vm.typeform.releaseTitle)},on:{\"click\":function($event){return _vm.generateOutputFun(_vm.projectPath, _vm.workspacePath)}}},[_vm._v(\" Transform \")]),_c('button',{staticClass:\"btn btn-light btn-sm m-l-5 ml-1\",on:{\"click\":_vm.resetform}},[_vm._v(\" Cancel \")])])])])])]):_vm._e(),_c('DeployToChatbot',{ref:\"deplotToChatbotRef\",attrs:{\"userActivityId\":_vm.userActivityId,\"repouser\":_vm.repouser},on:{\"deleteUserActivityId\":_vm.deleteUserActivityId,\"publishSuccess\":_vm.handlePublishSuccess}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Title \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Input Source Ditamap \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Output Format \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Progress Modal -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Document publishing is currently in progress.</p>\n <b-progress :value=\"75\" :max=\"100\" animated></b-progress>\n </b-modal>\n <!-- Commit Modal -->\n <b-modal\n id=\"modal-commit\"\n v-model=\"showModal\"\n ref=\"modalcommit\"\n title=\"Commit Output\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <div>\n <b-form-group label=\"Commit Message\">\n <b-form-input for=\"text\" v-model=\"commitMsg\"></b-form-input>\n </b-form-group>\n <button class=\"btn btn-primary btn-sm\" v-on:click=\"commitOutput()\">\n Commit\n </button>\n </div>\n </b-modal>\n <div v-if=\"hideform\" class=\"row justify-content-center\">\n <div class=\"col-md-8\">\n <div class=\"bg-primary text-white\"></div>\n <div class=\"card shadow-sm\">\n <div class=\"card-body text-center\">\n <h5 class=\"mb-4\">Project Name : {{ projectName }}</h5>\n <p>Important! Commit changes to download the output.</p>\n <div class=\"d-flex justify-content-center pt-1\">\n <button\n class=\"btn btn-primary btn-sm mr-2 mb-2\"\n :disabled=\"disablecommitbutton\"\n @click.prevent=\"githubCommit\"\n >\n Commit on GitHub\n </button>\n <button\n v-on:click=\"downloadFun()\"\n class=\"btn btn-light btn-sm mr-2 mb-2\"\n >\n Download Output\n </button>\n <button\n v-if=\"\n ditaOtFolder[selectedOutputFormatIndex].transtype ===\n 'metrhtml5'\n \"\n v-on:click=\"deployToChatbotSelectBranch()\"\n class=\"btn btn-info btn-sm mr-2 mb-2\"\n :disabled=\"!userActivityId\"\n >\n Deploy to chatbot\n </button>\n </div>\n <ChatbotPublishStatus />\n </div>\n </div>\n </div>\n </div>\n <div v-if=\"!hideform\" class=\"card\">\n <div class=\"card-body\">\n <form novalidate @submit.prevent>\n <!-- Title Input -->\n <div class=\"form-group\">\n <label>Title <span class=\"text-secondary\">*</span></label>\n <input\n v-validate=\"'required'\"\n required\n v-model=\"typeform.releaseTitle\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"releaseTitle\"\n type=\"text\"\n id=\"releaseTitle\"\n class=\"form-control\"\n placeholder=\"Enter Release Title\"\n :class=\"{\n 'is-invalid': submitted && $v.releaseTitle.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('releaseTitle') &&\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n \"\n ></p>\n </div>\n <!-- Input Source Dropdown -->\n <div class=\"form-group\">\n <label\n >Input Source Ditamap <span class=\"text-secondary\">*</span></label\n >\n <div>\n <select\n class=\"form-control\"\n v-validate=\"'required'\"\n required\n v-model=\"typeform.inputPath\"\n >\n <option value=\"\" disabled selected>\n Select Source Ditamap\n </option>\n <option\n v-for=\"data in selectInput\"\n :key=\"data.path\"\n :value=\"data.path\"\n >\n {{ data.fileName }}\n </option>\n </select>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('typeform.inputPath') &&\n $v.typeform.inputPath.required\n \"\n >\n <span>Input Format selection is required</span>\n </p>\n </div>\n </div>\n <!-- Output Format Dropdown -->\n <div class=\"form-group\">\n <label>Output Format <span class=\"text-secondary\">*</span></label>\n <div>\n <select\n class=\"form-control\"\n v-validate=\"'required'\"\n required\n v-model=\"selectedOutputFormatIndex\"\n >\n <option value=\"\" disabled selected>Select Output Format</option>\n <option\n v-for=\"(data, index) in selectOutputFormat\"\n :key=\"data.id\"\n :value=\"index\"\n >\n {{ data.transtype }}\n </option>\n </select>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('typeform.outputFormat') &&\n $v.typeform.outputFormat.required\n \"\n >\n <span>Output Format selection is required</span>\n </p>\n </div>\n </div>\n <!-- Buttons for Generating Output and Resetting Form -->\n <div class=\"form-group mb-0 text-right\">\n <div>\n <button\n :disabled=\"!(typeform.inputPath && typeform.releaseTitle)\"\n class=\"btn btn-sm btn-primary\"\n v-on:click=\"generateOutputFun(projectPath, workspacePath)\"\n >\n Transform\n </button>\n <button\n @click=\"resetform\"\n class=\"btn btn-light btn-sm m-l-5 ml-1\"\n >\n Cancel\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n <DeployToChatbot\n ref=\"deplotToChatbotRef\"\n :userActivityId=\"userActivityId\"\n :repouser=\"repouser\"\n @deleteUserActivityId=\"deleteUserActivityId\"\n @publishSuccess=\"handlePublishSuccess\"\n />\n </div>\n</template>\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport checkurl from \"../../../../components/urlvalidator\";\nimport { eventBus } from \"../../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\n\nimport downloadSourceFiles from \"../../../../services/download-source-files\";\nimport DeployToChatbot from \"./deployToChatbot.vue\";\nimport ChatbotPublishStatus from \"@/components/ChatbotPublishStatus.vue\";\n\nexport default {\n components: {\n DeployToChatbot,\n ChatbotPublishStatus\n },\n props: {\n ditaotVersion: String,\n },\n data() {\n return {\n isPublishedToChatbot: false,\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n userName: this.$store.state.Auth.userName,\n typeform: {\n inputPath: \"\",\n outputPath: \"\",\n outputFormat: \"\",\n releaseTitle: \"\",\n },\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectInput: null,\n selectOutputFormat: null,\n outputURL: null,\n submitted: false,\n projectPath: null,\n typesubmit: false,\n workspacePath: null,\n disablebutton: false,\n disablecommitbutton: false,\n commitMsg: null,\n hideform: false,\n showModal: false,\n model: \"\",\n ditaOtFolder: \"\",\n selectedOutputFormatIndex: \"\",\n releaseParams: null,\n gitToken: this.$store.state.Auth.gitToken,\n urlParserRegex: /^[/]([^/]+)[/]([^/]+)[/]tree[/]([^/]+)[/](.*)/,\n userActivityId: null,\n };\n },\n created() {\n this.getWorkspace();\n this.hideform = false;\n },\n mounted() {\n console.log(\"route param doc publish: \", this.$route.params);\n this.getoutputFormat();\n this.outputURL = `https://github.com/${this.repouser}/${this.projectName}/tree/${this.brachName}/output`;\n console.log(\"out url mounted: \", this.outputURL);\n this.makedefaultplugin();\n this.hideform = false;\n },\n computed: {\n _() {\n return _;\n },\n },\n methods: {\n handlePublishSuccess() {\n this.isPublishedToChatbot = true;\n },\n redirectToDocStyler() {\n const encryptedRepouser = CryptoJS.AES.encrypt(\n this.repouser,\n secretKey\n ).toString();\n const encryptedReponame = CryptoJS.AES.encrypt(\n this.projectName,\n secretKey\n ).toString();\n const encryptedBranch = CryptoJS.AES.encrypt(\n this.brachName,\n secretKey\n ).toString();\n const encodedRepouser = encodeURIComponent(encryptedRepouser);\n const encodedReponame = encodeURIComponent(encryptedReponame);\n const encodedBranch = encodeURIComponent(encryptedBranch);\n this.$router.push({\n path: `/docstyler/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n },\n preventLeadingSpace(e) {\n // only prevent the keypress if the value is blank\n if (!e.target.value) e.preventDefault();\n // otherwise, if the leading character is a space, remove all leading white-space\n else if (e.target.value[0] == \" \")\n e.target.value = e.target.value.replace(/^\\s*/, \"\");\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n createPullreq() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .post(\n `/orguser/workspace/pullGitChanges?projectName=${this.projectName}`\n )\n .then(() => {\n this.$store.getters.client\n .get(`/orguser/workspace/filecontent?path=${this.currentfilePath}`)\n .then((res) => {\n eventBus.$emit(\"getcontent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"textViewContent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"clearHistory\");\n })\n .catch(() => {});\n this.$refs[\"pull-modal\"].hide();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Pull request completed\");\n })\n .catch((err) => {\n loader.hide();\n this.messageToast(\n \"Error\",\n \"danger\",\n err.response\n ? err.response.data.message\n : \"An error occurred during the pull request.\"\n );\n });\n },\n async getWorkspace() {\n await this.$store.getters.client\n .get(`/orguser/workspace/byuserId?userId=${this.userId}`)\n .then(async (res) => {\n let path = res.data.installedPath + `/${this.projectName}`;\n this.workspacePath = res.data.installedPath;\n this.projectPath = res.data.installedPath + \"/\" + this.projectName;\n await this.$store.getters.client\n .post(`/orguser/workspace/fetchGitRemoteChanges?path=${path}`)\n .then((res) => {\n if (\n res.data.message.includes(\"please pull your branch to proceed\")\n ) {\n this.$refs[\"pull-modal\"].show();\n }\n });\n let ext = \"ditamap\";\n await this.$store.getters.client\n .get(`/orguser/workspace/inputfiles?path=${path}&extenssion=${ext}`)\n .then((res) => {\n this.selectInput = res.data;\n })\n .catch(() => {});\n await this.$store.getters.client\n .get(`/orguser/workspace/repotree?path=${path}`)\n .then((tres) => {\n this.model = tres.data;\n })\n .catch(() => {});\n })\n .catch(() => {});\n },\n makedefaultplugin() {\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: {},\n };\n this.$store.getters.client\n .post(`/orguser/docstyler/customizePdfOutput`, body)\n .then(() => {})\n .catch(() => {});\n this.$store.getters.client\n .post(`/orguser/docstyler/customizehtmlOutput`, body)\n .then(() => {})\n .catch(() => {});\n },\n async generateOutputFun(path) {\n this.disablebutton = true;\n let outputParams = {\n inputPath: this.typeform.inputPath,\n outputPath: path + \"/output\",\n transtype: this.ditaOtFolder[this.selectedOutputFormatIndex].transtype,\n ditaOtFolder:\n this.ditaOtFolder[this.selectedOutputFormatIndex].ditaOtFolder,\n };\n this.releaseParams = {\n ditaMapFileName: this.typeform.inputPath.split(\"/\").pop(),\n outputFormat:\n this.ditaOtFolder[this.selectedOutputFormatIndex].transtype,\n ditaotVersion: this.ditaotVersion,\n orgId: this.orgId,\n userId: this.userId,\n releaseTitle: this.typeform.releaseTitle,\n releasedBy: this.userName,\n projectName: this.projectName,\n };\n await this.$validator.validateAll().then((result) => {\n if (result) {\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .post(\n `/orguser/docpublisher/customplugin/publishOutput`,\n outputParams\n )\n .then((res) => {\n this.disablebutton = false;\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\"Success\", \"primary\", res.data.message);\n this.typeform.inputPath = null;\n this.hideform = true;\n // this.typeform.outputFormat = null;\n this.disablecommitbutton = false;\n this.typeform.releaseTitle = null;\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n }\n });\n },\n commitOnGithub() {\n this.showModal = true;\n },\n githubCommit() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n title: \"Add description to submit and commit.\",\n input: \"text\",\n showCancelButton: true,\n confirmButtonText: \"Submit\",\n showLoaderOnConfirm: true,\n confirmButtonColor: \"#556ee6\",\n cancelButtonColor: \"#f46a6a\",\n preConfirm: (commitMsg) => {\n return new Promise((resolve, reject) => {\n if (commitMsg.trim() === \"\") {\n reject(new Error(\"Please enter a commit message.\"));\n } else {\n resolve(commitMsg);\n }\n });\n },\n allowOutsideClick: false,\n inputValidator: (value) => {\n return value.trim() !== \"\"\n ? undefined\n : \"Please enter a commit message.\";\n },\n })\n .then(({ value: commitMsg }) => {\n if (commitMsg !== undefined) {\n let commitProjectObj = {\n path: this.projectPath,\n githubUsername: this.$store.state.Auth.githubUsername,\n email: this.$store.state.Auth.userEmail,\n message: commitMsg,\n repoName: this.projectName,\n transType:\n this.ditaOtFolder[this.selectedOutputFormatIndex].transtype,\n };\n swalWithBootstrapButtons.fire({\n title: \"Commit request in progress...\",\n allowOutsideClick: false,\n onOpen: () => {},\n });\n Swal.showLoading();\n this.$store.getters.client\n .put(`/orguser/workspace/commit`, commitProjectObj)\n .then((res) => {\n this.disablecommitbutton = true;\n this.releaseParams.commitSHA = res.data.commitSHA;\n this.userActivityId = res.data.userActivityId;\n this.releaseParams.owner = CryptoJS.AES.decrypt(\n this.$route.params.repoowner,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n this.$store.getters.client\n .post(`/orguser/release`, this.releaseParams)\n .then(() => {\n this.$store.commit(\"setRecentPublicationsData\", []);\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n if (\n err.response &&\n err.response.data &&\n err.response.data.message ===\n \"release validation failed: commitSHA: Path `commitSHA` is required.\"\n ) {\n // Do nothing, just return\n return;\n } else {\n // Display the error\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response && err.response.data\n ? err.response.data.message\n : \"Unknown error occurred\"\n );\n }\n });\n swalWithBootstrapButtons.fire({\n icon: \"success\",\n title: \"Commit request completed.\",\n text: res.data.message || `Files committed successfully.`,\n });\n })\n .catch((err) => {\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Commit failed!\",\n text: err.response.data.message,\n });\n });\n }\n });\n },\n deployToChatbotSelectBranch() {\n this.$refs.deplotToChatbotRef.deployToChatbotSelectBranch();\n },\n\n deleteUserActivityId() {\n this.userActivityId = null;\n },\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/orguser/docpublisher/customplugin`)\n .then((res) => {\n this.selectOutputFormat = res.data;\n this.ditaOtFolder = res.data;\n })\n .catch(() => {});\n },\n resetform() {\n this.typeform.inputPath = \"\";\n this.typeform.outputFormat = \"\";\n this.typeform.releaseTitle = \"\";\n },\n // Download output folder as a zip\n async downloadFun() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n await downloadSourceFiles({\n repoName: this.projectName,\n commitSHA: this.releaseParams.commitSHA,\n });\n this.messageToast(\n \"Files downloaded\",\n \"primary\",\n \"Downloaded successful!\"\n );\n } catch (error) {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n } finally {\n loader.hide();\n }\n },\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n escapeFilepath(path) {\n return path.replaceAll(\"#\", \"%23\");\n },\n },\n};\n</script>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customplugin.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./customplugin.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./customplugin.vue?vue&type=template&id=36c9304d\"\nimport script from \"./customplugin.vue?vue&type=script&lang=js\"\nexport * from \"./customplugin.vue?vue&type=script&lang=js\"\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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <div>\n <div class=\"mr-2 px-1\">\n <span class=\"project-name mr-3\">{{ projectName }}</span>\n <span>{{ brachName }}</span>\n </div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n </div>\n <div class=\"row mt-3\">\n <div\n class=\"col-xl-12\"\n v-if=\"\n this.$store.state.Auth.orgDetails.customPlugin &&\n customPluginOutputFormat.length\n \"\n >\n <b-card>\n <b-tabs\n justified\n nav-class=\"nav-tabs-custom\"\n content-class=\"text-muted\"\n class=\"btabs-height\"\n >\n <b-tab title=\"Default Publisher\" active>\n <div>\n <div>\n <generateoutput :ditaotVersion=\"ditaOtVersions\" />\n </div>\n </div>\n </b-tab>\n <b-tab title=\"Custom Publisher\">\n <div>\n <div>\n <customPlugin :ditaotVersion=\"ditaOtVersions\"></customPlugin>\n </div>\n </div>\n </b-tab>\n </b-tabs>\n </b-card>\n </div>\n <div v-else class=\"col-xl-12\">\n <div v-if=\"ditaOtVersions !== null\">\n <generateoutput :ditaotVersion=\"ditaOtVersions\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport generateoutput from \"./components/generateoutput\";\nimport customPlugin from \"./components/customplugin\";\nimport { eventBus } from \"../../../main\";\nimport { mapGetters } from \"vuex\";\nimport Swal from \"sweetalert2\";\nimport { secretKey } from \"../../../api/global.env\";\nimport { BTabs, BTab } from \"bootstrap-vue\";\nimport CryptoJS from \"crypto-js\";\nexport default {\n components: {\n generateoutput,\n BTabs,\n BTab,\n customPlugin,\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n data() {\n return {\n organizationDetails: null,\n customPluginOutputFormat: null,\n orgId: this.$store.state.Auth.orgId,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n title: \"DocPublisher\",\n items: [\n {\n text: \"Projects\",\n href: \"/docpublisher\",\n },\n {\n text: \"DocPublisher\",\n active: true,\n },\n ],\n };\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n this.getoutputFormat();\n },\n mounted() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm my-3\",\n cancelButton: \"btn btn-sm mr-2 btn-light\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n text: \"Do you want to style your document before publishing?\",\n showCancelButton: true,\n confirmButtonText: \"Yes! Let's proceed\",\n cancelButtonText: \"No! Continue with DocPublisher\",\n reverseButtons: true,\n })\n .then((result) => {\n if (result.isConfirmed) {\n const encodedRepouser = encodeURIComponent(\n this.$route.params.repouser\n );\n const encodedReponame = encodeURIComponent(\n this.$route.params.reponame\n );\n const encodedBranch = encodeURIComponent(\n this.$route.params.repobranch\n );\n this.$router.push({\n path: `/docstyler/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n } else if (\n /* Read more about handling dismissals below */\n result.dismiss === Swal.DismissReason.cancel\n ) {\n swalWithBootstrapButtons;\n }\n });\n if (Object.keys(this.$store.state.Auth.orgDetails).length) {\n this.organizationDetails = this.$store.state.Auth.orgDetails;\n } else {\n this.getOrgDetails();\n }\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n async getOrgDetails() {\n await this.$store.getters.client\n .get(`/serveradmin/organization/byorgid?orgId=${this.orgId}`)\n .then((response) => {\n if (response.data) {\n this.organizationDetails = response.data[0];\n this.$store.commit(\"setOrgDetails\", this.organizationDetails);\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No data received from the server\"\n );\n }\n })\n .catch((err) => {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n });\n },\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/orguser/docpublisher/customplugin`)\n .then((res) => {\n this.customPluginOutputFormat = res.data;\n this.ditaOtFolder = res.data;\n })\n .catch(() => {});\n },\n },\n};\n</script>\n<style scoped>\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n.form-group {\n margin: 10px;\n}\n.btabs-height {\n height: 100%;\n}\n/* Media query for Z Fold when the screen is folded */\n@media screen and (max-width: 280px) {\n .font-size-15 {\n font-size: 8px !important;\n }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=cc60f998&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=cc60f998&prod&scoped=true&lang=css\"\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 \"cc60f998\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.item}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-8\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"card shadow-sm\"},[_vm._m(0),_c('div',{staticClass:\"container\"},[_c('form',[_c('div',{staticClass:\"form-group row\"},[_vm._m(1),_c('div',{staticClass:\"col-md-12\"},[_c('multiselect',{staticClass:\"custom-multiselect\",staticStyle:{\"width\":\"100%\"},attrs:{\"options\":_vm.projectList.map((item) => item.projectName),\"max-height\":150,\"placeholder\":\"Choose a Project\",\"allow-empty\":false},model:{value:(_vm.selectedproject),callback:function ($$v) {_vm.selectedproject=$$v},expression:\"selectedproject\"}})],1)]),(_vm.hasData)?_c('div',{staticClass:\"form-group row\"},[_vm._m(2),_c('div',{staticClass:\"col-md-12\"},[_c('multiselect',{attrs:{\"max-height\":150,\"options\":_vm.repobranchesdata.map((item) => item.text),\"placeholder\":\"Choose a branch\",\"allow-empty\":false},model:{value:(_vm.selectedBranch),callback:function ($$v) {_vm.selectedBranch=$$v},expression:\"selectedBranch\"}})],1)]):_vm._e(),_c('div',{staticClass:\"row from-group\"},[_c('div',{staticClass:\"col-md-12\"},[_c('button',{staticClass:\"btn btn-primary mb-3 btn-sm\",attrs:{\"type\":\"submit\",\"disabled\":_vm.isButtonDisabled},on:{\"click\":function($event){$event.preventDefault();_vm.selectedproject !== '' &&\n _vm.setdata(_vm.selectedProjectOwner, _vm.selectedProjectName)}}},[_vm._v(\" Next \")])])])])])])])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title\"},[_vm._v(\" Add details to proceed with DocPublisher \")]),_c('div')])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"col-md-12 col-form-label\"},[_vm._v(\"Select Project\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"col-md-12 col-form-label\"},[_vm._v(\"Select Branch\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <PageHeader :title=\"title\" :items=\"item\" />\n <div class=\"row\">\n <div class=\"col-md-8\">\n <div class=\"card-body\">\n <!-- Project selection card -->\n <div class=\"card shadow-sm\">\n <div\n class=\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title\">\n Add details to proceed with DocPublisher\n </div>\n <div></div>\n </div>\n <div class=\"container\">\n <form>\n <div class=\"form-group row\">\n <label class=\"col-md-12 col-form-label\"\n >Select Project<span class=\"text-danger\">*</span></label\n >\n <div class=\"col-md-12\">\n <multiselect\n style=\"width: 100%\"\n v-model=\"selectedproject\"\n :options=\"projectList.map((item) => item.projectName)\"\n :max-height=\"150\"\n placeholder=\"Choose a Project\"\n class=\"custom-multiselect\"\n :allow-empty=\"false\"\n >\n </multiselect>\n </div>\n </div>\n <div v-if=\"hasData\" class=\"form-group row\">\n <label class=\"col-md-12 col-form-label\"\n >Select Branch<span class=\"text-danger\">*</span></label\n >\n <div class=\"col-md-12\">\n <multiselect\n :max-height=\"150\"\n v-model=\"selectedBranch\"\n :options=\"repobranchesdata.map((item) => item.text)\"\n placeholder=\"Choose a branch\"\n :allow-empty=\"false\"\n >\n </multiselect>\n </div>\n </div>\n <div class=\"row from-group\">\n <div class=\"col-md-12\">\n <button\n type=\"submit\"\n class=\"btn btn-primary mb-3 btn-sm\"\n :disabled=\"isButtonDisabled\"\n @click.prevent=\"\n selectedproject !== '' &&\n setdata(selectedProjectOwner, selectedProjectName)\n \"\n >\n Next\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapActions } from \"vuex\";\nimport Multiselect from \"vue-multiselect\";\nimport checkurl from \"../../../components/urlvalidator\";\nimport { eventBus } from \"../../../main\";\nimport PageHeader from \"@/components/pageheader\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../api/global.env\";\nimport githubService from \"../../../services/github\";\nimport { decryptParam } from \"../../../services/cryptoFunction\";\nexport default {\n components: {\n PageHeader,\n Multiselect,\n },\n data() {\n return {\n selectedproject: \"\",\n userId: this.$store.state.Auth.userId,\n items: \"\",\n selectedProjectOwner: \"\",\n selectedProjectName: null,\n selectedBranch: \"\",\n previousSelectedBranch: \"\",\n projectList: [],\n repobranchesdata: [],\n title: \"DocPublisher\",\n item: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"DocPublisher\",\n active: true,\n },\n ],\n ignoreNextChange: false, // Flag to ignore next change\n };\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n if (this.$store.state.Auth.projectsData.length) {\n this.projectList = this.$store.state.Auth.projectsData;\n this.initialSelectProjectIfQueryPresent();\n } else {\n this.getProjectData();\n }\n },\n computed: {\n isButtonDisabled() {\n return this.selectedProjectName === null || this.selectedBranch === \"\";\n },\n hasData() {\n return this.repobranchesdata.length > 0;\n },\n },\n methods: {\n ...mapActions({\n get: \"userProjectDetails\",\n }),\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n setdata(owner, projectName) {\n this.redirectProject(owner, projectName);\n },\n getProjectData() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .get(`/projectuser/byuserid?userId=${this.userId}`)\n .then((response) => {\n loader.hide();\n if (Array.isArray(response.data)) {\n this.projectList = response.data;\n // Commit the complete project data to the Vuex store\n\n this.$store.commit(\"setProjectsList\", response.data);\n this.initialSelectProjectIfQueryPresent();\n } else {\n // Handle the case where the response data is not an array\n this.messageToast(\n \"Error\",\n \"danger\",\n \"Received invalid project data from the server\"\n );\n }\n })\n .catch((error) => {\n loader.hide();\n // Handle the error by showing a message or performing other error handling actions\n this.messageToast(\n \"Error\",\n \"danger\",\n error.response\n ? error.response.data.message\n : \"An error occurred while fetching project data.\"\n );\n });\n },\n async redirectProject(repouser, reponame) {\n const encryptedRepouser = CryptoJS.AES.encrypt(\n repouser,\n secretKey\n ).toString();\n const encryptedReponame = CryptoJS.AES.encrypt(\n reponame,\n secretKey\n ).toString();\n const encryptedBranch = CryptoJS.AES.encrypt(\n this.selectedBranch,\n secretKey\n ).toString();\n const encryptedOwner = CryptoJS.AES.encrypt(\n this.selectedProjectOwner,\n secretKey\n ).toString();\n\n localStorage.setItem(\"repouser\", encryptedRepouser);\n localStorage.setItem(\"reponame\", encryptedReponame);\n const encodedRepouser = encodeURIComponent(encryptedRepouser);\n const encodedReponame = encodeURIComponent(encryptedReponame);\n const encodedBranch = encodeURIComponent(encryptedBranch);\n const encodedOwner = encodeURIComponent(encryptedOwner);\n this.$router.push({\n path: `/docpublisher/${encodedRepouser}/${encodedReponame}/${encodedBranch}/${encodedOwner}`,\n });\n },\n async getRepoBranch() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n this.$store.getters.client\n .get(\n `orguser/repobranches?repoUser=${this.selectedProjectOwner}&repoName=${this.selectedProjectName}`\n )\n .then(async (response) => {\n if (this.$route.query.branchName) {\n this.selectedBranch = decryptParam(this.$route.query.branchName);\n this.previousSelectedBranch = this.selectedBranch;\n this.checkoutBranch(this.selectedBranch);\n this.$router.push({});\n } else {\n const res = await githubService.currentBranch(\n this.selectedProjectName\n );\n this.selectedBranch = res.data;\n this.previousSelectedBranch = res.data;\n }\n if (response.data && response.data.length > 0) {\n this.repobranchesdata = response.data.map((element) => ({\n value: element.name,\n text: element.name,\n }));\n } else {\n // Handle the case when the response is empty or does not contain branches.\n this.messageToast(\n \"invalid request\",\n \"danger\",\n \"No branches found in the Project.\"\n );\n }\n })\n .catch((error) => {\n // Handle errors here\n this.messageToast(\n \"invalid request\",\n \"danger\",\n error.response.data.message\n );\n })\n .finally(() => {\n loader.hide();\n });\n },\n async checkoutBranch(brachName) {\n this.selectedBranch = brachName;\n console.log(\"in checkoutBranch: \", this.selectedBranch);\n // ============checkout the branch============\n const res = await githubService.checkout(\n {\n repoName: this.selectedProjectName,\n branchName: this.selectedBranch,\n },\n this\n );\n console.log(\"ckeckout res: \", res);\n\n if (res === false) {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Failed to checkout branch.\"\n );\n this.selectedBranch = this.previousSelectedBranch;\n this.ignoreNextChange = true; // Set the flag to ignore next change\n return;\n } else {\n this.previousSelectedBranch = this.selectedBranch;\n this.messageToast(\"Branch checkout\", \"success\", res.message);\n }\n // ============checkout the branch============\n },\n initialSelectProjectIfQueryPresent() {\n const query = this.$route.query;\n if (query.projectName && query.branchName) {\n this.selectedproject = decryptParam(query.projectName);\n this.selectedBranch = decryptParam(query.branchName);\n } else if (this.$store.state.Auth.currentWorkingProject) {\n const isPresent = this.projectList.some(\n (item) =>\n item.projectName ===\n this.$store.state.Auth.currentWorkingProject.projectName\n );\n if (!isPresent) {\n this.$store.commit(\"setCurrentWorkingProject\", null);\n localStorage.removeItem(\"currentWorkingProject\");\n return;\n }\n this.selectedproject =\n this.$store.state.Auth.currentWorkingProject.projectName;\n }\n },\n },\n watch: {\n selectedproject(newVal) {\n const selectedProject = this.projectList.find(\n (item) => item.projectName === newVal\n );\n console.log(\"selected project: \", selectedProject);\n this.selectedProjectOwner = selectedProject.owner;\n this.selectedProjectName = selectedProject.projectName;\n this.repobranchesdata = [];\n this.getRepoBranch();\n this.$store.commit(\"setCurrentWorkingProject\", selectedProject);\n },\n selectedBranch(newVal, oldValue) {\n // Ignore the next change if we're reverting the value\n if (this.ignoreNextChange) {\n this.ignoreNextChange = false; // Reset the flag\n return;\n }\n if (oldValue && newVal) {\n console.log(\"in selectedBranch: \", newVal, oldValue);\n this.checkoutBranch(newVal);\n }\n },\n },\n};\n</script>\n\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16.42px;\n letter-spacing: 0em;\n text-align: left;\n color: #17233d;\n}\n\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 16 px;\n font-weight: 400;\n line-height: 18.77px;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projects.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projects.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projects.vue?vue&type=template&id=14b754bd&scoped=true\"\nimport script from \"./projects.vue?vue&type=script&lang=js\"\nexport * from \"./projects.vue?vue&type=script&lang=js\"\nimport style0 from \"./projects.vue?vue&type=style&index=0&id=14b754bd&prod&scoped=true&lang=css\"\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 \"14b754bd\",\n null\n \n)\n\nexport default component.exports","import { checkAccessToService } from \"../../../middleware/secure-route\";\nimport DocPublisher from \"./index.vue\";\nimport Projects from \"./projects.vue\";\n\nexport default [\n {\n path: \"/docpublisher/:repouser/:reponame/:repobranch/:repoowner\",\n component: DocPublisher,\n name: \"DocPublisher\",\n props: (route) => ({\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n repoowner: decodeURIComponent(route.params.repoowner),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"publisher\");\n },\n },\n {\n path: \"/docpublisher\",\n component: Projects,\n name: \"Projects\",\n props: (route) => ({\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"publisher\");\n },\n },\n];\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])]),_c('Details',{attrs:{\"currentStep\":_vm.currentStep,\"steps\":_vm.steps},on:{\"stepChanged\":_vm.stepChanged}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('multiselect',{staticClass:\"custom-multiselect my-4\",staticStyle:{\"width\":\"min(300px, 100%)\"},attrs:{\"options\":_vm.migrationsOptions.map((option) => option.text),\"max-height\":150,\"placeholder\":\"Select input source type\"},on:{\"input\":_vm.emitStepChanged},model:{value:(_vm.selectedFileType),callback:function ($$v) {_vm.selectedFileType=$$v},expression:\"selectedFileType\"}}),_c('Steps',{attrs:{\"currentStep\":_vm.currentStep,\"steps\":_vm.steps}}),(!_vm.isLogGenerated)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-10 col-sm-12 col-lg-7 text-center\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body mx-4\"},[(_vm.currentScreen === _vm.screens.default)?_c('div',[_vm._m(0),_c('form',{attrs:{\"enctype\":\"multipart/form-data\"}},[_c('div',{staticClass:\"row my-4\"},[_c('div',{staticClass:\"col-md-12 offset-md-0 col-lg-12 offset-lg-0 drop-zone\",class:{ dragging: _vm.dragging },on:{\"dragover\":function($event){$event.preventDefault();},\"dragenter\":function($event){_vm.dragging = true},\"dragleave\":function($event){_vm.dragging = false},\"drop\":_vm.handleDrop}},[(!_vm.selectedFileType)?_c('div',{staticClass:\"m-2 text-center\",attrs:{\"role\":\"alert\"}},[_c('img',{staticClass:\"img-fluid\",staticStyle:{\"max-width\":\"100%\"},attrs:{\"src\":require(\"../../../../assets/images/upload.svg\")}}),_c('p',{staticClass:\"mt-2 accepted-doc-type\"},[_vm._v(\" Please select the source format type first. \")])]):_vm._e(),(_vm.selectedFileType && !_vm.fileSelected)?_c('div',{staticClass:\"text-center\",on:{\"click\":_vm.openFileInput}},[_c('img',{staticClass:\"img-fluid\",staticStyle:{\"max-width\":\"100%\"},attrs:{\"src\":require(\"../../../../assets/images/upload.svg\")}}),_vm._m(1),(!_vm.fileName)?_c('p',{staticClass:\"mt-2 accepted-doc-type\"},[_vm._v(\" Accepted file format: \"+_vm._s(_vm.fileExtensionsType)+\" only. \")]):_vm._e()]):_vm._e(),(_vm.selectedFileType && _vm.fileSelected)?_c('div',{staticClass:\"alert alert-primary text-left text-wrap m-2\",attrs:{\"role\":\"alert\"}},[(_vm.fileName)?_c('p',{staticClass:\"text-wrap text-break\"},[_vm._v(\" Selected file: \"+_vm._s(_vm.fileName)+\" \")]):_vm._e()]):_vm._e(),(!_vm.fileSelected)?_c('input',{ref:\"fileInput\",staticClass:\"d-none\",attrs:{\"type\":\"file\",\"name\":\"wordFile\",\"accept\":_vm.fileExtensionsType},on:{\"change\":(e) => _vm.handleFileInput(e.target.files[0])}}):_vm._e()])]),_c('p',{staticClass:\"d-flex justify-content-center align-items-center\",staticStyle:{\"font-size\":\"12px\",\"text-align\":\"start\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"checkbox-1\",\"name\":\"checkbox-1\"},model:{value:(_vm.policyCheckbox),callback:function ($$v) {_vm.policyCheckbox=$$v},expression:\"policyCheckbox\"}},[_c('span',{staticClass:\"mt-1 d-inline-block\"},[_vm._v(\" Refer to \"),_c('b-link',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.doc-con-policy\",modifiers:{\"doc-con-policy\":true}}]},[_c('b',[_vm._v(\" document conversion policy page.\")])])],1)])],1),_c('div',{staticClass:\"text-right\"},[_c('div',[_c('button',{staticClass:\"btn btn-sm btn-primary mr-2\",attrs:{\"type\":\"button\",\"disabled\":!(_vm.policyCheckbox && _vm.fileSelected)},on:{\"click\":function($event){return _vm.uploadFileBackend()}}},[_vm._v(\" Upload \")]),_c('button',{staticClass:\"btn btn-sm btn-light\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.cancelForm}},[_vm._v(\" Reset \")])])])])]):_vm._e(),(_vm.currentScreen === _vm.screens.upload)?_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('form',{attrs:{\"enctype\":\"multipart/form-data\"}},[_c('div',{staticClass:\"showConvertbtn\"},[(_vm.fileSelected)?_c('div',{staticClass:\"d-flex justify-content-between p-0 m-0\"},[(_vm.fileName)?_c('p',{staticClass:\"text-break\"},[_vm._v(_vm._s(_vm.fileName))]):_vm._e(),(_vm.progress === 100)?_c('p',{staticClass:\"text-secondary\"},[_c('span',{staticClass:\"mdi mdi-check-circle-outline mr-1\"}),_vm._v(\"Done \")]):_vm._e()]):_vm._e(),_c('b-progress',{staticClass:\"custom-height\",attrs:{\"variant\":\"secondary\",\"value\":_vm.progress,\"max\":100}})],1),_c('div',{staticClass:\"text-right mt-3\"},[_c('button',{staticClass:\"btn btn-light btn-sm mr-2\",on:{\"click\":function($event){$event.preventDefault();return _vm.goBack(_vm.screens.default)}}},[_vm._v(\" Back \")]),_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"disabled\":this.progress !== 100},on:{\"click\":function($event){$event.preventDefault();return _vm.preFlightCheck()}}},[_vm._v(\" Pre-flight Check \")])])])]):_vm._e(),(_vm.currentScreen === _vm.screens.preFlightCheck)?_c('div',{staticClass:\"form-group\"},[_vm._m(3),_c('form',{attrs:{\"enctype\":\"multipart/form-data\"}},[_c('div',{staticClass:\"showConvertbtn\"},[(_vm.fileSelected)?_c('div',{staticClass:\"d-flex justify-content-between p-0 m-0\"},[(_vm.fileName)?_c('p',{staticClass:\"text-break\"},[_vm._v(_vm._s(_vm.fileName))]):_vm._e(),(_vm.progress === 100)?_c('p',{staticClass:\"text-secondary\"},[_c('span',{staticClass:\"mdi mdi-check-circle-outline mr-1\"}),_vm._v(\"Done \")]):_vm._e()]):_vm._e(),_c('b-progress',{staticClass:\"custom-height\",attrs:{\"variant\":\"secondary\",\"value\":_vm.progress,\"max\":100}})],1),_c('div',{staticClass:\"text-right mt-3\"},[_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"disabled\":this.progress !== 100},on:{\"click\":function($event){$event.preventDefault();return _vm.convertToDita()}}},[_vm._v(\" Convert Now \")])])])]):_vm._e(),(_vm.currentScreen === _vm.screens.convertToDita)?_c('div',{staticClass:\"form-group\"},[_vm._m(4),_c('form',{attrs:{\"enctype\":\"multipart/form-data\"}},[_c('div',{staticClass:\"showConvertbtn\"},[(_vm.fileSelected)?_c('div',{staticClass:\"d-flex justify-content-between p-0 m-0\"},[(_vm.fileName)?_c('p',{staticClass:\"text-break\"},[_vm._v(_vm._s(_vm.fileName))]):_vm._e(),(_vm.progress === 100)?_c('p',{staticClass:\"text-secondary\"},[_c('span',{staticClass:\"mdi mdi-check-circle-outline mr-1\"}),_vm._v(\"Done \")]):_vm._e()]):_vm._e(),_c('b-progress',{staticClass:\"custom-height\",attrs:{\"variant\":\"secondary\",\"value\":_vm.progress,\"max\":100}})],1)])]):_vm._e(),(_vm.currentScreen === _vm.screens.postFlightCheck)?_c('div',{staticClass:\"form-group\"},[_vm._m(5),_c('form',{attrs:{\"enctype\":\"multipart/form-data\"}},[_c('div',{staticClass:\"showConvertbtn\"},[(_vm.fileSelected)?_c('div',{staticClass:\"d-flex justify-content-between p-0 m-0\"},[(_vm.fileName)?_c('p',{staticClass:\"text-break\"},[_vm._v(_vm._s(_vm.fileName))]):_vm._e(),(_vm.progress === 100)?_c('p',{staticClass:\"text-secondary\"},[_c('span',{staticClass:\"mdi mdi-check-circle-outline mr-1\"}),_vm._v(\"Done \")]):_vm._e()]):_vm._e(),_c('b-progress',{staticClass:\"custom-height\",attrs:{\"variant\":\"secondary\",\"value\":_vm.progress,\"max\":100}})],1)])]):_vm._e()])])])]):_c('div',[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('div',[(_vm.DitaLog?.trim())?_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn customBtn\",attrs:{\"type\":\"button\",\"title\":\"Download Log\",\"id\":\"save\",\"variant\":\"light\"},on:{\"click\":function($event){return _vm.downloadLogFile()}}},[_c('i',{staticClass:\"fa-solid fa-circle-down\"})]):_vm._e()]),_c('button',{staticClass:\"btn btn-primary btn-sm custom-button\",on:{\"click\":function($event){return _vm.gotoDownloadOutput()}}},[_vm._m(6),_c('span',{staticClass:\"custom-text ml-2\"},[_vm._v(\"View generated output\")])])]),_c('div',{staticClass:\"card mt-2\"},[_c('div',{staticClass:\"card-body\"},[(_vm.DitaLog?.trim())?_c('div',{staticClass:\"border-top pt-3 infoDiv\"},[_c('pre',{staticClass:\"dita-log\"},[_vm._v(_vm._s(_vm.DitaLog))])]):_c('p',[_vm._v(\"No errors found in the post flight check\")])])])]),_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Document publishing is currently in progress.\")]),_c('b-progress',{attrs:{\"value\":_vm.progress,\"max\":100,\"animated\":\"\"}})],1),_c('DocConPolicy'),_c('PreFlightInvalidFile',{attrs:{\"files\":_vm.invalidFiles}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left\"},[_c('div',{staticClass:\"custom-title\"},[_vm._v(\" Upload input source file\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"mt-2 drag-and-drop-text word-break word-wrap\"},[_vm._v(\" Browse or \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(\"drag and drop \")]),_vm._v(\" the files here. \")])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"custom-title text-left\"},[_vm._v(\" Uploading file\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"custom-title text-left\"},[_vm._v(\" Pre-flight check file\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"custom-title text-left\"},[_vm._v(\" Converting to DITA\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"custom-title text-left\"},[_vm._v(\" Post-flight check file\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"custom-icon\"},[_c('i',{staticClass:\"mdi mdi-folder-refresh mdi-16px\"})])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('ol',{staticClass:\"step-indicator d-flex justify-content-between align-items-center mt-4\"},[_vm._m(0),_vm._l((_vm.steps),function(step){return _c('li',{key:step.id,class:_vm.stepWrapperClass(step.id)},[_c('div',{staticClass:\"step\"},[_c('i',{class:step.icon_class})]),_c('div',{staticClass:\"caption\"},[_c('span',[_vm._v(_vm._s(step.title))])])])})],2)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"backtrace\"},[_c('div',{staticClass:\"cover\"})])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <ol\n class=\"step-indicator d-flex justify-content-between align-items-center mt-4\"\n >\n <div class=\"backtrace\">\n <div class=\"cover\"></div>\n </div>\n <li\n v-for=\"step in steps\"\n :key=\"step.id\"\n :class=\"stepWrapperClass(step.id)\"\n >\n <div class=\"step\"><i :class=\"step.icon_class\"></i></div>\n <div class=\"caption\">\n <span>{{ step.title }}</span>\n </div>\n </li>\n </ol>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n currentStep: {\n type: Number,\n required: true,\n },\n steps: {\n type: Array,\n required: true,\n },\n },\n\n methods: {\n stepWrapperClass(step) {\n return {\n active: step === this.currentStep,\n complete: step < this.currentStep,\n };\n },\n },\n watch: {\n currentStep: function () {\n const div = document.querySelector(\".backtrace .cover\");\n div.style.width = `${(this.currentStep - 1) * 20}%`;\n },\n },\n};\n</script>\n\n<style scoped>\n.step-indicator {\n --step: #a8a8a8;\n --step-active: #fe5e45;\n --step-complete: #0f3460;\n position: relative;\n text-align: center;\n list-style-type: none;\n padding-left: 0;\n width: 85%;\n margin-left: auto;\n margin-right: auto;\n margin-bottom: 70px;\n}\n.step-indicator .backtrace {\n position: absolute;\n top: 20px;\n left: 0;\n right: 0;\n height: 2px;\n background-color: var(--step-complete);\n z-index: 0;\n}\n.step-indicator .backtrace .cover {\n height: 100%;\n background-color: var(--step-complete);\n width: 0%;\n}\n.step-indicator li {\n position: relative;\n}\n\n.step-indicator li .caption {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n}\n\n.step-indicator li.active .step {\n border-color: var(--step-active);\n color: var(--step-active);\n}\n.step-indicator li.active .caption {\n color: var(--step-active);\n}\n\n.step-indicator li.complete .step {\n border-color: var(--step-complete);\n color: var(--step-complete);\n}\n.step-indicator li.complete .caption {\n color: var(--step-complete);\n}\n.step-indicator .step {\n background-color: #fff;\n border-radius: 50%;\n border: 1px solid var(--step-complete);\n color: var(--step-complete);\n font-size: 15px;\n height: 40px;\n line-height: 40px;\n width: 40px;\n position: relative;\n z-index: 1;\n}\n\n.step-indicator .caption {\n color: var(--step-complete);\n width: max-content;\n padding: 11px 16px;\n}\n\n@media (max-width: 700px) {\n .step-indicator {\n flex-direction: column;\n margin-bottom: 30px;\n }\n .step-indicator .backtrace {\n display: none;\n }\n .step-indicator .caption {\n padding: 5px;\n background-color: #f1f5f7;\n z-index: 1;\n margin-top: 10px;\n }\n .step-indicator li {\n margin-bottom: 50px;\n }\n .step-indicator li::after {\n content: \"\";\n position: absolute;\n left: 50%;\n bottom: 0;\n transform: translate(-50%, 100%);\n height: 50px;\n width: 2px;\n background-color: var(--step-complete);\n }\n .step-indicator li:last-child::after {\n height: 25px;\n }\n .step-indicator li.active::after {\n background-color: var(--step-active);\n }\n\n .step-indicator li.complete::after {\n background-color: var(--step-complete);\n }\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./steps.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./steps.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./steps.vue?vue&type=template&id=481dc8ec&scoped=true\"\nimport script from \"./steps.vue?vue&type=script&lang=js\"\nexport * from \"./steps.vue?vue&type=script&lang=js\"\nimport style0 from \"./steps.vue?vue&type=style&index=0&id=481dc8ec&prod&scoped=true&lang=css\"\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 \"481dc8ec\",\n null\n \n)\n\nexport default component.exports","export const serviceRoutes = (userId, orgId, inputSource, apiType) => {\n const routes = {\n \"DOCX to DITA\": {\n upload: `/orguser/docxToDita/uploadDocxFile?userId=${userId}&orgId=${orgId}`,\n transform: \"/orguser/docxToDita/convertDocxToDita\",\n download: \"/orguser/docxToDita/downloadOutputZip\",\n },\n \"HTML to DITA\": {\n upload: `/orguser/htmlToDita/uploadHtmlFile?userId=${userId}&orgId=${orgId}`,\n transform: \"/orguser/htmlToDita/convertHtmlToDita\",\n download: \"/orguser/htmlToDita/downloadOutputZip\",\n },\n \"MD or MDX to DITA\": {\n upload: `/orguser/mardownToDita/uploadMarkdownZipFile?userId=${userId}&orgId=${orgId}`,\n transform: \"/orguser/mardownToDita/convertMarkdownToDita\",\n download: \"/orguser/mardownToDita/downloadOutputZip\",\n },\n };\n\n return routes[inputSource][apiType];\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"doc-con-policy\",\"scrollable\":\"\",\"size\":\"lg\",\"title\":\"document conversion policy\"}},[(_vm.documentPolicy.length > 0)?_c('ol',_vm._l((_vm.documentPolicy),function(policy,index){return _c('li',{key:index},[_c('p',[_c('b',[_vm._v(\" \"+_vm._s(policy.attributes.Question))])]),_c('div',{domProps:{\"innerHTML\":_vm._s(policy.attributes.Answer)}})])}),0):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-modal\n id=\"doc-con-policy\"\n scrollable\n size=\"lg\"\n title=\"document conversion policy\"\n >\n <ol v-if=\"documentPolicy.length > 0\">\n <li v-for=\"(policy, index) in documentPolicy\" :key=\"index\">\n <p>\n <b> {{ policy.attributes.Question }}</b>\n </p>\n <div v-html=\"policy.attributes.Answer\"></div>\n </li>\n </ol>\n </b-modal>\n</template>\n\n<script>\nimport axios from \"axios\";\n\nexport default {\n data() {\n return {\n documentPolicy: [],\n };\n },\n methods: {\n async getDocumentPolicy() {\n const response = await axios.get(\n \"https://admin.met-r.io/api/privacy-policies?populate=*\"\n );\n this.documentPolicy = response.data.data;\n },\n },\n mounted() {\n this.getDocumentPolicy();\n },\n};\n</script>\n\n<style scoped>\n#doc-con-policy p {\n margin-bottom: 8px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docconpolicy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docconpolicy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./docconpolicy.vue?vue&type=template&id=51e0fb7d&scoped=true\"\nimport script from \"./docconpolicy.vue?vue&type=script&lang=js\"\nexport * from \"./docconpolicy.vue?vue&type=script&lang=js\"\nimport style0 from \"./docconpolicy.vue?vue&type=style&index=0&id=51e0fb7d&prod&scoped=true&lang=css\"\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 \"51e0fb7d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{attrs:{\"id\":\"pre-flight-invalid-file\",\"scrollable\":\"\",\"title\":\"Following files does not content title.\"}},[_c('ol',_vm._l((_vm.files),function(file,index){return _c('li',{key:index},[_c('p',[_vm._v(_vm._s(file))])])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-modal\n id=\"pre-flight-invalid-file\"\n scrollable\n title=\"Following files does not content title.\"\n >\n <ol>\n <li v-for=\"(file, index) in files\" :key=\"index\">\n <p>{{ file }}</p>\n </li>\n </ol>\n </b-modal>\n</template>\n\n<script>\nexport default {\n props: {\n files: {\n type: Array,\n required: true,\n },\n },\n};\n</script>\n<style scoped>\n#pre-flight-invalid-file p {\n margin-bottom: 8px;\n word-break: break-word;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./preflightinvalidfile.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./preflightinvalidfile.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./preflightinvalidfile.vue?vue&type=template&id=3035b571&scoped=true\"\nimport script from \"./preflightinvalidfile.vue?vue&type=script&lang=js\"\nexport * from \"./preflightinvalidfile.vue?vue&type=script&lang=js\"\nimport style0 from \"./preflightinvalidfile.vue?vue&type=style&index=0&id=3035b571&prod&scoped=true&lang=css\"\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 \"3035b571\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <multiselect\n style=\"width: min(300px, 100%)\"\n v-model=\"selectedFileType\"\n :options=\"migrationsOptions.map((option) => option.text)\"\n :max-height=\"150\"\n @input=\"emitStepChanged\"\n placeholder=\"Select input source type\"\n class=\"custom-multiselect my-4\"\n ></multiselect>\n <Steps :currentStep=\"currentStep\" :steps=\"steps\" />\n <div class=\"row justify-content-center\" v-if=\"!isLogGenerated\">\n <div class=\"col-md-10 col-sm-12 col-lg-7 text-center\">\n <div class=\"card\">\n <div class=\"card-body mx-4\">\n <div v-if=\"currentScreen === screens.default\">\n <div class=\"text-left\">\n <div class=\"custom-title\">\n Upload input source file<span class=\"text-danger\">*</span>\n </div>\n </div>\n\n <form enctype=\"multipart/form-data\">\n <!-- File drop zone -->\n <div class=\"row my-4\">\n <div\n class=\"col-md-12 offset-md-0 col-lg-12 offset-lg-0 drop-zone\"\n :class=\"{ dragging: dragging }\"\n @dragover.prevent\n @dragenter=\"dragging = true\"\n @dragleave=\"dragging = false\"\n @drop=\"handleDrop\"\n >\n <!-- display when no source type selected -->\n <div\n v-if=\"!selectedFileType\"\n class=\"m-2 text-center\"\n role=\"alert\"\n >\n <img\n src=\"../../../../assets/images/upload.svg\"\n class=\"img-fluid\"\n style=\"max-width: 100%\"\n />\n <p class=\"mt-2 accepted-doc-type\">\n Please select the source format type first.\n </p>\n </div>\n <!-- Displayed when no file is selected -->\n <div\n v-if=\"selectedFileType && !fileSelected\"\n class=\"text-center\"\n @click=\"openFileInput\"\n >\n <img\n src=\"../../../../assets/images/upload.svg\"\n class=\"img-fluid\"\n style=\"max-width: 100%\"\n />\n <p class=\"mt-2 drag-and-drop-text word-break word-wrap\">\n Browse or\n <span class=\"text-primary\">drag and drop </span> the\n files here.\n </p>\n <p class=\"mt-2 accepted-doc-type\" v-if=\"!fileName\">\n Accepted file format: {{ fileExtensionsType }} only.\n </p>\n </div>\n <!-- Displayed when file is selected -->\n <div\n v-if=\"selectedFileType && fileSelected\"\n class=\"alert alert-primary text-left text-wrap m-2\"\n role=\"alert\"\n >\n <p class=\"text-wrap text-break\" v-if=\"fileName\">\n Selected file: {{ fileName }}\n </p>\n </div>\n\n <input\n v-if=\"!fileSelected\"\n type=\"file\"\n @change=\"(e) => handleFileInput(e.target.files[0])\"\n class=\"d-none\"\n ref=\"fileInput\"\n name=\"wordFile\"\n :accept=\"fileExtensionsType\"\n />\n </div>\n </div>\n <p\n style=\"font-size: 12px; text-align: start\"\n class=\"d-flex justify-content-center align-items-center\"\n >\n <b-form-checkbox\n id=\"checkbox-1\"\n v-model=\"policyCheckbox\"\n name=\"checkbox-1\"\n >\n <span class=\"mt-1 d-inline-block\">\n Refer to\n\n <b-link v-b-modal.doc-con-policy\n ><b> document conversion policy page.</b></b-link\n >\n </span>\n </b-form-checkbox>\n </p>\n <!-- Buttons for uploading and resetting the form -->\n <div class=\"text-right\">\n <div>\n <button\n type=\"button\"\n class=\"btn btn-sm btn-primary mr-2\"\n :disabled=\"!(policyCheckbox && fileSelected)\"\n @click=\"uploadFileBackend()\"\n >\n Upload\n </button>\n <button\n type=\"button\"\n class=\"btn btn-sm btn-light\"\n @click=\"cancelForm\"\n >\n Reset\n </button>\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"form-group\" v-if=\"currentScreen === screens.upload\">\n <div>\n <div class=\"custom-title text-left\">\n Uploading file<span class=\"text-danger\">*</span>\n </div>\n </div>\n <form enctype=\"multipart/form-data\">\n <!-- File drop zone -->\n <div class=\"showConvertbtn\">\n <div\n v-if=\"fileSelected\"\n class=\"d-flex justify-content-between p-0 m-0\"\n >\n <p class=\"text-break\" v-if=\"fileName\">{{ fileName }}</p>\n\n <p class=\"text-secondary\" v-if=\"progress === 100\">\n <span class=\"mdi mdi-check-circle-outline mr-1\"></span\n >Done\n </p>\n </div>\n <b-progress\n variant=\"secondary\"\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-height\"\n ></b-progress>\n </div>\n\n <div class=\"text-right mt-3\">\n <button\n class=\"btn btn-light btn-sm mr-2\"\n @click.prevent=\"goBack(screens.default)\"\n >\n Back\n </button>\n <button\n :disabled=\"this.progress !== 100\"\n class=\"btn btn-primary btn-sm\"\n @click.prevent=\"preFlightCheck()\"\n >\n Pre-flight Check\n </button>\n </div>\n </form>\n </div>\n <div\n class=\"form-group\"\n v-if=\"currentScreen === screens.preFlightCheck\"\n >\n <div>\n <div class=\"custom-title text-left\">\n Pre-flight check file<span class=\"text-danger\">*</span>\n </div>\n </div>\n <form enctype=\"multipart/form-data\">\n <div class=\"showConvertbtn\">\n <div\n v-if=\"fileSelected\"\n class=\"d-flex justify-content-between p-0 m-0\"\n >\n <p class=\"text-break\" v-if=\"fileName\">{{ fileName }}</p>\n\n <p class=\"text-secondary\" v-if=\"progress === 100\">\n <span class=\"mdi mdi-check-circle-outline mr-1\"></span\n >Done\n </p>\n </div>\n <b-progress\n variant=\"secondary\"\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-height\"\n ></b-progress>\n </div>\n <div class=\"text-right mt-3\">\n <button\n :disabled=\"this.progress !== 100\"\n class=\"btn btn-primary btn-sm\"\n @click.prevent=\"convertToDita()\"\n >\n Convert Now\n </button>\n </div>\n </form>\n </div>\n <div\n class=\"form-group\"\n v-if=\"currentScreen === screens.convertToDita\"\n >\n <div>\n <div class=\"custom-title text-left\">\n Converting to DITA<span class=\"text-danger\">*</span>\n </div>\n </div>\n <form enctype=\"multipart/form-data\">\n <!-- File drop zone -->\n <div class=\"showConvertbtn\">\n <div\n v-if=\"fileSelected\"\n class=\"d-flex justify-content-between p-0 m-0\"\n >\n <p class=\"text-break\" v-if=\"fileName\">{{ fileName }}</p>\n <p class=\"text-secondary\" v-if=\"progress === 100\">\n <span class=\"mdi mdi-check-circle-outline mr-1\"></span\n >Done\n </p>\n </div>\n <b-progress\n variant=\"secondary\"\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-height\"\n ></b-progress>\n </div>\n </form>\n </div>\n <div\n class=\"form-group\"\n v-if=\"currentScreen === screens.postFlightCheck\"\n >\n <div>\n <div class=\"custom-title text-left\">\n Post-flight check file<span class=\"text-danger\">*</span>\n </div>\n </div>\n <form enctype=\"multipart/form-data\">\n <!-- File drop zone -->\n <div class=\"showConvertbtn\">\n <div\n v-if=\"fileSelected\"\n class=\"d-flex justify-content-between p-0 m-0\"\n >\n <p class=\"text-break\" v-if=\"fileName\">{{ fileName }}</p>\n\n <p class=\"text-secondary\" v-if=\"progress === 100\">\n <span class=\"mdi mdi-check-circle-outline mr-1\"></span\n >Done\n </p>\n </div>\n <b-progress\n variant=\"secondary\"\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-height\"\n ></b-progress>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div v-else>\n <div class=\"d-flex justify-content-between\">\n <div>\n <button\n v-if=\"DitaLog?.trim()\"\n type=\"button\"\n class=\"btn customBtn\"\n v-b-tooltip.hover\n title=\"Download Log\"\n id=\"save\"\n variant=\"light\"\n @click=\"downloadLogFile()\"\n >\n <i class=\"fa-solid fa-circle-down\"></i>\n </button>\n </div>\n <button\n class=\"btn btn-primary btn-sm custom-button\"\n @click=\"gotoDownloadOutput()\"\n >\n <span class=\"custom-icon\">\n <i class=\"mdi mdi-folder-refresh mdi-16px\"></i>\n </span>\n <span class=\"custom-text ml-2\">View generated output</span>\n </button>\n </div>\n <div class=\"card mt-2\">\n <div class=\"card-body\">\n <div class=\"border-top pt-3 infoDiv\" v-if=\"DitaLog?.trim()\">\n <pre class=\"dita-log\">{{ DitaLog }}</pre>\n </div>\n <p v-else>No errors found in the post flight check</p>\n </div>\n </div>\n </div>\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Document publishing is currently in progress.</p>\n <b-progress :value=\"progress\" :max=\"100\" animated></b-progress>\n </b-modal>\n <DocConPolicy />\n <PreFlightInvalidFile :files=\"invalidFiles\" />\n </div>\n</template>\n\n<script>\nimport axios from \"axios\";\nimport Multiselect from \"vue-multiselect\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nimport Steps from \"./steps.vue\";\nimport Swal from \"sweetalert2\";\nimport { serviceRoutes } from \"../services/servicesRoutes\";\nimport DocConPolicy from \"./docconpolicy.vue\";\nimport PreFlightInvalidFile from \"./preflightinvalidfile.vue\";\n\nexport default {\n components: {\n Multiselect,\n Steps,\n DocConPolicy,\n PreFlightInvalidFile,\n },\n props: {\n currentStep: {\n type: Number,\n required: true,\n },\n\n steps: {\n type: Array,\n required: true,\n },\n },\n emits: [\"stepChanged\"],\n\n data() {\n return {\n progress: 0,\n dragging: false,\n file: null,\n fileName: null,\n fileSelected: false,\n uploadPercentage: 0,\n showConvertbtn: false,\n\n policyCheckbox: false,\n screens: {\n default: \"default\",\n upload: \"upload\",\n preFlightCheck: \"preFlightCheck\",\n convertToDita: \"convertToDita\",\n postFlightCheck: \"postFlightCheck\",\n },\n currentScreen: \"default\",\n\n selectedFileType: null,\n migrationsOptions: [],\n fileExtensionsType: null,\n isLogGenerated: false,\n DitaLog: null,\n invalidFiles: [],\n };\n },\n\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n\n handleDrop(e) {\n e.preventDefault();\n this.dragging = false;\n const file = e.dataTransfer.files[0];\n this.handleFileInput(file);\n },\n\n handleFileInput(file) {\n if (file) {\n const ext = file.name.split(\".\").pop();\n if (this.fileExtensionsType.includes(ext)) {\n this.file = file;\n this.fileName = file.name;\n this.fileSelected = true;\n } else {\n this.messageToast(\n \"Error\",\n \"danger\",\n \"Please select a valid format file.\"\n );\n this.fileSelected = false;\n }\n }\n },\n\n openFileInput() {\n this.$refs.fileInput.click();\n },\n\n goBack(screen) {\n this.currentScreen = screen;\n this.$emit(\"stepChanged\", this.currentStep - 1);\n },\n\n async uploadFileBackend() {\n this.currentScreen = this.screens.upload;\n this.progress = 0;\n const formData = new FormData();\n\n const selectedMigrationType = this.migrationsOptions.find(\n (opt) => opt.text === this.selectedFileType\n );\n\n formData.append(selectedMigrationType.sourceFile, this.file);\n const userId = this.$store.state.Auth.userId;\n const orgId = this.$store.state.Auth.orgId;\n\n try {\n const URL = serviceRoutes(\n userId,\n orgId,\n this.selectedFileType,\n \"upload\"\n );\n if (!URL) {\n this.messageToast(\n \"Not Found\",\n \"danger\",\n \"This feature is not yet implemented.\"\n );\n }\n const response = await this.$store.getters.client.post(URL, formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n onUploadProgress: (progressEvent) => {\n this.progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 90\n );\n },\n });\n this.progress = 100;\n\n this.fileSelected = true;\n this.messageToast(\n \"Success\",\n \"primary\",\n response?.data?.message || \"Document uploaded successfully.\"\n );\n this.$emit(\"stepChanged\", 3);\n } catch (error) {\n this.fileName = null;\n this.fileSelected = false;\n this.$emit(\"stepChanged\", 1);\n this.currentScreen = this.screens.default;\n this.messageToast(\n \"File validation failed\",\n \"danger\",\n error.response.data.message\n );\n }\n },\n\n async preFlightCheck() {\n this.currentScreen = this.screens.preFlightCheck;\n this.progress = 0;\n try {\n const URL = `/orguser/docMigration/pre-flight-check?migrationType=${this.getMigrationType()}`;\n\n const progressInterval = setInterval(() => {\n if (this.progress < 97) {\n this.progress += 0.5;\n }\n }, 500);\n const response = await this.$store.getters.client.get(URL, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\n onDownloadProgress: (progressEvent) => {\n clearInterval(progressInterval);\n this.progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 97\n );\n },\n });\n if (response?.data?.message) {\n clearInterval(progressInterval);\n this.progress = 100;\n }\n this.messageToast(\"Success\", \"primary\", response?.data?.message);\n this.$emit(\"stepChanged\", 4);\n } catch (error) {\n this.fileName = null;\n this.fileSelected = false;\n this.$emit(\"stepChanged\", 1);\n this.currentScreen = this.screens.default;\n this.invalidFiles = error?.response?.data?.data || [];\n if (this.invalidFiles.length > 0) {\n this.$bvModal.show(\"pre-flight-invalid-file\");\n }\n this.messageToast(\n \"File validation failed\",\n \"danger\",\n error.response.data.message ?? \"Invalid request\"\n );\n }\n },\n\n async convertToDita() {\n this.currentScreen = this.screens.convertToDita;\n this.progress = 0;\n const userId = this.$store.state.Auth.userId;\n const orgId = this.$store.state.Auth.orgId;\n try {\n const URL = serviceRoutes(\n userId,\n orgId,\n this.selectedFileType,\n \"transform\"\n );\n\n if (!URL) {\n this.messageToast(\n \"Not Found\",\n \"danger\",\n \"This feature is not yet implemented.\"\n );\n return;\n }\n\n localStorage.removeItem(\"userActivityId\");\n\n const response = await this.$store.getters.client.post(\n URL,\n {},\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n onUploadProgress: (progressEvent) => {\n this.progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 90\n );\n },\n }\n );\n this.progress = 100;\n\n this.messageToast(\n \"Success\",\n \"primary\",\n response?.data?.message || \"converting to DITA done successfully.\"\n );\n\n localStorage.setItem(\"userActivityId\", response?.data?.userActivityId);\n\n this.$emit(\"stepChanged\", 5);\n Swal.fire({\n icon: \"question\",\n title: \"View Warning and Error Logs\",\n showCancelButton: true,\n confirmButtonText: \"Verify Now\",\n cancelButtonText: \"No\",\n }).then((response) => {\n if (response.isConfirmed) {\n this.progress = 0;\n this.currentScreen = this.screens.postFlightCheck;\n this.postFlightCheck();\n } else {\n const downloadLink = serviceRoutes(\n userId,\n orgId,\n this.selectedFileType,\n \"download\"\n );\n\n this.$router.push({\n path: `/docmigration/outputscreen/${encodeURIComponent(\n CryptoJS.AES.encrypt(downloadLink, secretKey).toString()\n )}/${encodeURIComponent(\n CryptoJS.AES.encrypt(this.fileName, secretKey).toString()\n )}/${encodeURIComponent(\n CryptoJS.AES.encrypt(\n this.getMigrationType(),\n secretKey\n ).toString()\n )}`,\n });\n }\n });\n } catch (error) {\n this.fileName = null;\n this.fileSelected = false;\n this.$emit(\"stepChanged\", 1);\n this.currentScreen = this.screens.default;\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n error.response.data.message\n );\n }\n },\n\n async postFlightCheck() {\n this.progress = 0;\n\n try {\n const URL = `/orguser/docMigration/post-flight-check?migrationType=${this.getMigrationType()}`;\n\n const progressInterval = setInterval(() => {\n if (this.progress < 97) {\n this.progress += 0.5;\n }\n }, 500);\n const response = await this.$store.getters.client.get(URL, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\n onDownloadProgress: (progressEvent) => {\n clearInterval(progressInterval);\n this.progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 97\n );\n },\n });\n if (response?.data?.message) {\n clearInterval(progressInterval);\n this.progress = 100;\n }\n this.DitaLog = response.data.fileContents;\n this.isLogGenerated = true;\n this.messageToast(\n \"Success\",\n \"primary\",\n response?.data?.message || \"Post-flight check successful.\"\n );\n this.$emit(\"stepChanged\", 6);\n } catch (error) {\n this.fileName = null;\n this.fileSelected = false;\n this.$emit(\"stepChanged\", 1);\n this.currentScreen = this.screens.default;\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n error.response.data.message\n );\n }\n },\n gotoDownloadOutput() {\n const userId = this.$store.state.Auth.userId;\n const orgId = this.$store.state.Auth.orgId;\n const downloadLink = serviceRoutes(\n userId,\n orgId,\n this.selectedFileType,\n \"download\"\n );\n\n this.$router.push({\n path: `/docmigration/outputscreen/${encodeURIComponent(\n CryptoJS.AES.encrypt(downloadLink, secretKey).toString()\n )}/${encodeURIComponent(\n CryptoJS.AES.encrypt(this.fileName, secretKey).toString()\n )}/${encodeURIComponent(\n CryptoJS.AES.encrypt(this.getMigrationType(), secretKey).toString()\n )}`,\n });\n },\n\n async downloadLogFile() {\n const downloadLink = `/orguser/docMigration/download-svrl-file?migrationType=${this.getMigrationType()}`;\n await this.$store.getters.client\n .get(downloadLink, {\n responseType: \"blob\",\n })\n .then((response) => {\n const generateName = (fileName) => {\n const lastDotPosition = fileName.lastIndexOf(\".\");\n const nameWithoutExtension = fileName.substring(0, lastDotPosition);\n return nameWithoutExtension + \"_log\";\n };\n const downloadFilename = generateName(this.fileName);\n\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", downloadFilename);\n document.body.appendChild(link);\n link.click();\n this.messageToast(\"Success\", \"primary\", \"Downloaded successfull!\");\n })\n .catch((error) => {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n });\n },\n\n fixErrorAndWarning() {\n Swal.fire({\n icon: \"question\",\n title: \"Do you want to fix these errors and warnings?\",\n showCancelButton: true,\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n }).then(async (response) => {\n if (response.isConfirmed) {\n this.progress = 0;\n this.$refs[\"modaloutputprogress\"].show();\n\n try {\n await axios.post(\n \"https://jsonplaceholder.typicode.com/posts\",\n {\n title: \"foo\",\n body: \"bar\",\n userId: 1,\n },\n {\n onUploadProgress: (progressEvent) => {\n this.progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 90\n );\n },\n }\n );\n this.progress = 100;\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"Success\",\n \"primary\",\n \"Errors and warnings are fixed successfully.\"\n );\n } catch (error) {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n error.response.data.message\n );\n }\n }\n });\n },\n\n cancelForm() {\n this.file = null;\n this.fileName = null;\n this.dragging = false;\n this.fileSelected = false;\n },\n\n // steps methods\n emitNextStep() {\n this.$emit(\"nextStep\");\n },\n emitLastStep() {\n this.$emit(\"lastStep\");\n },\n emitStepChanged() {\n if (!this.selectedFileType) {\n this.$emit(\"stepChanged\", 1);\n } else {\n this.$emit(\"stepChanged\", 2);\n this.currentScreen = this.screens.default;\n }\n },\n stepWrapperClass(step) {\n return {\n active: step === this.currentStep,\n complete: step < this.currentStep,\n };\n },\n\n getMigrationType() {\n const selectedMigrationType = this.migrationsOptions.find(\n (opt) => opt.text === this.selectedFileType\n );\n return selectedMigrationType.migrationType;\n },\n\n async getMigrationsOptions() {\n const response = await this.$store.getters.client.get(\n `/orguser/docMigration/get-docMigrationType-available `\n );\n this.migrationsOptions = response.data.data;\n },\n },\n\n mounted() {\n this.getMigrationsOptions();\n },\n\n watch: {\n selectedFileType: {\n handler() {\n this.migrationsOptions.forEach((option) => {\n if (option.text === this.selectedFileType) {\n this.fileExtensionsType = option.type;\n }\n });\n },\n },\n },\n};\n</script>\n\n<style scoped>\n.custom-title {\n font-size: 16 px;\n font-weight: 400;\n line-height: 18.77px;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n margin-bottom: 10px;\n}\n.drag-and-drop-text {\n font-weight: 500 !important;\n\n align-items: center;\n font-size: 20px !important;\n}\n\n.accepted-doc-type {\n font-size: 16px !important;\n font-weight: 400 !important;\n}\np {\n margin-top: 0;\n margin-bottom: 0.3rem !important;\n}\n.drop-zone {\n border: 1.5px dashed rgba(15, 52, 96, 1);\n background-color: rgba(113, 165, 203, 0.05);\n display: flex;\n min-height: 200px;\n padding: 20px;\n border-radius: 8px;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.drop-zone p.mt-2 {\n margin-top: 0.5rem;\n font-size: 20px;\n}\n.drop-zone p.m-0 {\n font-size: 16px;\n font-weight: 400;\n line-height: 12px;\n letter-spacing: 0.5px;\n text-align: center;\n}\n.alert-success {\n margin: 0.5rem 0;\n}\n.btn-secondaryBtn {\n background: #252b3b !important;\n color: #fff !important;\n}\n.card-icons-btn {\n background: #5864d2;\n color: #fff;\n}\n.card-icons-btn:hover {\n color: #fff;\n}\n.progress {\n height: 20px;\n}\n.progress-bar {\n background-color: rgba(254, 94, 69, 1) !important;\n}\n.showConvertbtn {\n padding: 0.2rem !important;\n background-color: rgba(220, 222, 226, 0.2);\n}\n.custom-height {\n height: 5px;\n}\n.dita-log {\n white-space: pre-wrap; /* CSS3 */\n white-space: -moz-pre-wrap; /* Mozilla */\n white-space: -pre-wrap; /* Opera 4-6 */\n white-space: -o-pre-wrap; /* Opera 7 */\n word-wrap: break-word; /* IE */\n overflow-wrap: break-word;\n max-height: 70vh;\n overflow: auto;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./details.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./details.vue?vue&type=template&id=4ba16a88&scoped=true\"\nimport script from \"./details.vue?vue&type=script&lang=js\"\nexport * from \"./details.vue?vue&type=script&lang=js\"\nimport style0 from \"./details.vue?vue&type=style&index=0&id=4ba16a88&prod&scoped=true&lang=css\"\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 \"4ba16a88\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Page Header component with props -->\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n <Details\n :currentStep=\"currentStep\"\n :steps=\"steps\"\n @stepChanged=\"stepChanged\"\n />\n </div>\n</template>\n\n<script>\nimport Details from \"./components/details.vue\";\nimport { mapGetters } from \"vuex\";\n\nimport { eventBus } from \"../../../main\";\nexport default {\n components: {\n Details,\n },\n data() {\n return {\n // Initialize data properties\n ditaotVersion: \"\", // DITA-OT version\n title: \"DocMigration\",\n items: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"DocMigration\",\n active: true,\n },\n ],\n currentStep: 1,\n steps: [\n {\n id: 1,\n title: \"Input Source Type\",\n icon_class: \"fa-solid fa-file-lines\",\n },\n\n {\n id: 2,\n title: \"Upload Files\",\n icon_class: \"fa fa-folder-open\",\n },\n {\n id: 3,\n title: \"Pre-flight Check\",\n icon_class: \"fa-solid fa-plane-arrival\",\n },\n\n {\n id: 4,\n title: \"Transformation\",\n icon_class: \"fa-solid fa-money-bill-transfer\",\n },\n {\n id: 5,\n title: \"Post-flight Check\",\n icon_class: \"fa-solid fa-plane-departure\",\n },\n {\n id: 6,\n title: \"Download\",\n icon_class: \"fa-solid fa-floppy-disk\",\n },\n ],\n };\n },\n methods: {\n stepChanged(step) {\n this.currentStep = step;\n },\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]), // Using Vuex getter\n },\n mounted() {\n // Emit event to update the sidebar menu\n eventBus.$emit(\"update-sidebar\", \"menuitems.docmigration.text\");\n },\n};\n</script>\n<style scoped>\n.custom-source {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7cf1b10f&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7cf1b10f&prod&scoped=true&lang=css\"\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 \"7cf1b10f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"my-modal\",attrs:{\"hide-footer\":\"\",\"title\":\"Important message\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('h6',[_vm._v(\" It seems like you don't have the necessary permission to access this feature. If you wish to access, you'll need to contact the administrator in charge of granting access to it. \")])]),_c('button',{staticClass:\"btn btn-primary btn-sm mt-3\",attrs:{\"block\":\"\"},on:{\"click\":_vm.hideModal}},[_vm._v(\" Close \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Modal component with various options -->\n <b-modal\n ref=\"my-modal\"\n hide-footer\n title=\"Important message\"\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <div class=\"d-block text-center\">\n <h6>\n <!-- Important message to be displayed in the modal -->\n It seems like you don't have the necessary permission to access this\n feature. If you wish to access, you'll need to contact the\n administrator in charge of granting access to it.\n </h6>\n </div>\n <!-- Close button for the modal -->\n <button class=\"btn btn-primary btn-sm mt-3\" block @click=\"hideModal\">\n Close\n </button>\n </b-modal>\n </div>\n</template>\n<script>\nexport default {\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n showModal() {\n // Show the modal when this method is called\n this.$refs[\"my-modal\"].show();\n },\n hideModal() {\n // Hide the modal and navigate to the \"Dashboard\" route\n this.$refs[\"my-modal\"].hide();\n this.$router.push({ name: \"Dashboard\" });\n },\n },\n mounted() {\n // Automatically show the modal when the component is mounted\n this.showModal();\n },\n};\n</script>\n<style>\n.modal-header .close {\n display: none;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popupmessage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popupmessage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./popupmessage.vue?vue&type=template&id=68ca2106\"\nimport script from \"./popupmessage.vue?vue&type=script&lang=js\"\nexport * from \"./popupmessage.vue?vue&type=script&lang=js\"\nimport style0 from \"./popupmessage.vue?vue&type=style&index=0&id=68ca2106&prod&lang=css\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',[_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])])]),_c('Steps',{attrs:{\"currentStep\":6,\"steps\":_vm.steps}}),_c('Tree',{attrs:{\"downloadLink\":_vm.downloadLink,\"fileName\":_vm.fileName,\"migrationType\":_vm.migrationType,\"isCommitted\":_vm.isCommitted}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container-fluid\"},[_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn customBtn\",attrs:{\"type\":\"button\",\"title\":\"Save Output File\",\"id\":\"save\",\"variant\":\"light\"},on:{\"click\":_vm.downloadZip}},[_c('i',{staticClass:\"fa-solid fa-circle-down\"})]),_c('button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"btn customBtn\",attrs:{\"type\":\"button\",\"title\":\"Commit on Github\",\"id\":\"github\",\"variant\":\"light\"},on:{\"click\":_vm.gitHubCommit}},[_c('i',{staticClass:\"fa-brands fa-github\"})]),_c('div',{staticClass:\"row mt-2\"},[_c('div',{staticClass:\"col-md-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-6\"},[_vm._m(0),_c('div',{staticClass:\"border-top pt-3 infoDiv folderStructure\"},[_c('SimpleBar',{staticClass:\"custom-jstree p-3\"},[_c('v-jstree',{attrs:{\"data\":_vm.treeData},on:{\"item-click\":_vm.itemClick}})],1)],1)]),_c('div',{staticClass:\"col-md-6 mt-3 mt-md-0\"},[_vm._m(1),(_vm.selectedFile && _vm.selectedFile.content)?_c('div',{staticClass:\"border-top pt-3 infoDiv\"},[_c('SimpleBar',{staticClass:\"custom-jstree p-3\"},[_c('ssh-pre',{attrs:{\"language\":\"xml\"}},[_vm._v(\" \"+_vm._s(_vm.getIndentedContent())+\" \")])],1)],1):_c('div',{staticClass:\"d-flex justify-content-center align-items-center no-output-cont\"},[_vm._m(2)])])])])])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-source d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"DITA Output\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-source d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"Content Preview\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mb-5 text-center\"},[_c('img',{staticClass:\"custom-img\",attrs:{\"src\":require(\"../../../../assets/placeholder.png\")}}),_c('div',{staticClass:\"no-output-text\"},[_vm._v(\"File not selected.\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div class=\"container-fluid\">\n <button\n type=\"button\"\n class=\"btn customBtn\"\n v-b-tooltip.hover\n title=\"Save Output File\"\n id=\"save\"\n variant=\"light\"\n @click=\"downloadZip\"\n >\n <i class=\"fa-solid fa-circle-down\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn customBtn\"\n v-b-tooltip.hover\n title=\"Commit on Github\"\n id=\"github\"\n variant=\"light\"\n @click=\"gitHubCommit\"\n >\n <i class=\"fa-brands fa-github\"></i>\n </button>\n\n <div class=\"row mt-2\">\n <div class=\"col-md-12\">\n <div class=\"card\">\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div\n class=\"custom-source d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">DITA Output</div>\n </div>\n <div class=\"border-top pt-3 infoDiv folderStructure\">\n <SimpleBar class=\"custom-jstree p-3\">\n <v-jstree\n :data=\"treeData\"\n @item-click=\"itemClick\"\n ></v-jstree>\n </SimpleBar>\n </div>\n </div>\n <div class=\"col-md-6 mt-3 mt-md-0\">\n <div\n class=\"custom-source d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">Content Preview</div>\n </div>\n\n <div\n class=\"border-top pt-3 infoDiv\"\n v-if=\"selectedFile && selectedFile.content\"\n >\n <SimpleBar class=\"custom-jstree p-3\">\n <ssh-pre language=\"xml\">\n {{ getIndentedContent() }}\n </ssh-pre>\n </SimpleBar>\n </div>\n\n <div\n v-else\n class=\"d-flex justify-content-center align-items-center no-output-cont\"\n >\n <div class=\"mb-5 text-center\">\n <img\n class=\"custom-img\"\n src=\"../../../../assets/placeholder.png\"\n />\n <div class=\"no-output-text\">File not selected.</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport VJstree from \"vue-jstree\";\nimport xmlFormat from \"xml-formatter\";\nimport SshPre from \"simple-syntax-highlighter\";\nimport \"simple-syntax-highlighter/dist/sshpre.css\";\nimport SimpleBar from \"simplebar-vue\";\nimport Swal from \"sweetalert2\";\n\nexport default {\n name: \"FileTree\",\n components: {\n VJstree,\n SshPre,\n SimpleBar,\n },\n\n props: {\n downloadLink: {\n type: String,\n },\n fileName: {\n type: String,\n },\n migrationType: {\n type: String,\n },\n isCommitted: {\n type: Boolean,\n },\n },\n\n data() {\n return {\n selectedFile: null,\n displayLog: false,\n logBtnText: \"View Log\",\n treeData: [],\n };\n },\n\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n itemClick(node) {\n if (node.model.content) {\n this.selectedFile = node.model;\n } else {\n this.selectedFile = null;\n }\n const treeSelectedElements = document.querySelectorAll(\".tree-selected\");\n treeSelectedElements.forEach(function (el) {\n el.classList.remove(\"tree-selected\");\n });\n },\n xmlFormat,\n getIndentedContent() {\n const ext = this.selectedFile.text.split(\".\").pop();\n if (ext.startsWith(\"dita\") || ext.startsWith(\"xml\")) {\n return this.xmlFormat(this.selectedFile.content);\n } else {\n return this.selectedFile.content;\n }\n },\n onCopiedDoSomething() {\n this.$bvToast.toast(\"copied to clipboard!\", {\n title: \"Copied\",\n variant: \"success\",\n solid: true,\n });\n },\n toggleLog() {\n this.displayLog = !this.displayLog;\n this.logBtnText = this.displayLog ? \"Hide Log\" : \"View Log\";\n },\n async downloadZip() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(\n `${this.downloadLink}?userActivityId=${localStorage.getItem(\n \"userActivityId\"\n )}`,\n {\n responseType: \"blob\",\n }\n )\n .then((response) => {\n const generateName = (fileName) => {\n const lastDotPosition = fileName.lastIndexOf(\".\");\n const nameWithoutExtension = fileName.substring(0, lastDotPosition);\n return nameWithoutExtension + \".zip\";\n };\n const downloadFilename = generateName(this.fileName);\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", downloadFilename);\n document.body.appendChild(link);\n link.click();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Downloaded successfull!\");\n })\n .catch((error) => {\n console.log(\"📢[tree.vue:188]: error: \", error);\n loader.hide();\n // Check if error has a response object\n if (error.response) {\n // If the response is a Blob, it may contain binary data, so handle accordingly\n if (error.response.data instanceof Blob) {\n const reader = new FileReader();\n reader.onload = () => {\n const errorText = reader.result\n ? reader.result\n : \"Error in the downloading file.\"; // The content of the Blob (may contain error message)\n console.log(\"📢[tree.vue:203]: errorText: \", errorText);\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n JSON.parse(errorText).message\n );\n };\n reader.readAsText(error.response.data);\n } else {\n // Handle non-Blob responses (like JSON)\n const errorMessage = error.response.data\n ? error.response.data.message\n : \"Error in the downloading file.\";\n this.messageToast(\"Invalid request\", \"danger\", errorMessage);\n }\n } else {\n // If no response is available (e.g., network error), display the general error message\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n }\n });\n },\n gitHubCommit() {\n if (this.isCommitted) {\n Swal.fire({\n icon: \"warning\",\n title: \"Commit Request\",\n text: \"Output is already committed.\",\n });\n } else {\n this.$router.push({\n path: `/docmigration/outputscreen/githubcommit/${this.migrationType}`,\n });\n }\n },\n async getTreeStructure() {\n try {\n const URL = `/orguser/docMigration/zip-tree-structure?migrationType=${this.migrationType}`;\n const response = await this.$store.getters.client.get(URL);\n this.treeData = response.data.tree;\n this.selectedFile = this.treeData[0].children.find((file) => {\n const ext = file.text.split(\".\").pop();\n if (ext == \"ditamap\") {\n file.selected = true;\n return file;\n }\n });\n } catch (error) {\n this.messageToast(\n \"Something went wrong\",\n \"danger\",\n error.response.data.message\n );\n }\n },\n },\n mounted() {\n this.getTreeStructure();\n },\n};\n</script>\n\n<style scoped>\n.custom-source {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.card-body {\n padding-top: 0rem;\n}\n.custom-img {\n height: 200px;\n}\n.dita-log {\n white-space: pre-wrap; /* CSS3 */\n white-space: -moz-pre-wrap; /* Mozilla */\n white-space: -pre-wrap; /* Opera 4-6 */\n white-space: -o-pre-wrap; /* Opera 7 */\n word-wrap: break-word; /* IE */\n overflow-wrap: break-word;\n max-height: 70vh;\n overflow: auto;\n}\n.customBtn i {\n font-size: 30px;\n color: red;\n}\n.custom-jstree {\n height: 70vh;\n overflow: auto;\n}\n</style>\n<style>\n.folderStructure .custom-structure-img {\n width: 18px !important;\n height: 18px !important;\n}\n.folderStructure .custom-structure-img path,\n.customBtn path {\n fill: #0f3460;\n}\n\n.customBtn svg {\n scale: 1.3;\n}\n.ssh-pre,\n.ssh-pre__content {\n margin: 0 !important;\n}\n.infoDiv.folderStructure .tree-container-ul {\n width: 100vw;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tree.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./tree.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./tree.vue?vue&type=template&id=9996db58&scoped=true\"\nimport script from \"./tree.vue?vue&type=script&lang=js\"\nexport * from \"./tree.vue?vue&type=script&lang=js\"\nimport style0 from \"./tree.vue?vue&type=style&index=0&id=9996db58&prod&scoped=true&lang=css\"\nimport style1 from \"./tree.vue?vue&type=style&index=1&id=9996db58&prod&lang=css\"\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 \"9996db58\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Page header component with title and icon -->\n <PageHeader :title=\"title\" :items=\"items\" />\n <div class=\"d-flex justify-content-between align-items-center\">\n <div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n </div>\n\n <Steps :currentStep=\"6\" :steps=\"steps\" />\n\n <Tree\n :downloadLink=\"downloadLink\"\n :fileName=\"fileName\"\n :migrationType=\"migrationType\"\n :isCommitted=\"isCommitted\"\n />\n </div>\n</template>\n\n<script>\nimport Tree from \"./tree\";\nimport PageHeader from \"@/components/pageheader\";\nimport Steps from \"./steps.vue\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nimport { mapGetters } from \"vuex\";\nimport { eventBus } from \"../../../../main\";\n\nexport default {\n components: {\n PageHeader,\n Steps,\n Tree,\n },\n\n data() {\n return {\n isCommitted: false,\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n ditaotVersion: \"\",\n downloadLink: CryptoJS.AES.decrypt(\n this.$route.params.downloadLink,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n fileName: CryptoJS.AES.decrypt(\n this.$route.params.fileName,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n migrationType: CryptoJS.AES.decrypt(\n this.$route.params.migrationType,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n title: \"DocMigration\",\n items: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"DocMigration\",\n active: true,\n },\n ],\n steps: [\n {\n id: 1,\n title: \"Format Type\",\n icon_class: \"fa-solid fa-file-lines\",\n },\n {\n id: 2,\n title: \"Upload Files\",\n icon_class: \"fa fa-folder-open\",\n },\n {\n id: 3,\n title: \"Pre-flight Check\",\n icon_class: \"fa-solid fa-plane-arrival\",\n },\n {\n id: 4,\n title: \"Transformation\",\n icon_class: \"fa-solid fa-money-bill-transfer\",\n },\n {\n id: 5,\n title: \"Post-flight Check\",\n icon_class: \"fa-solid fa-plane-departure\",\n },\n {\n id: 6,\n title: \"Download\",\n icon_class: \"fa-solid fa-floppy-disk\",\n },\n ],\n };\n },\n mounted() {\n // Emit an event to update the sidebar\n eventBus.$emit(\"update-sidebar\", \"menuitems.docmigration.text\");\n if (this.$route.query.alreadyCommit) {\n this.isCommitted = true;\n } else {\n this.isCommitted = false;\n }\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n methods: {\n // Display a toast message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n // Function to download the output as a ZIP file\n async downloadZip() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(`/orguser/mardownToDita/downloadOutputZip/zbxds`, {\n responseType: \"blob\",\n })\n .then((response) => {\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement(\"a\");\n link.href = url;\n link.setAttribute(\"download\", `${this.selectedfolder}.zip`);\n document.body.appendChild(link);\n link.click();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Downloaded successfull!\");\n })\n .catch((error) => {\n loader.hide();\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n });\n },\n },\n};\n</script>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputscreen.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./outputscreen.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./outputscreen.vue?vue&type=template&id=1adf3ce7\"\nimport script from \"./outputscreen.vue?vue&type=script&lang=js\"\nexport * from \"./outputscreen.vue?vue&type=script&lang=js\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"min-height\":\"70vh\"}},[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.item}}),_c('div',[_c('div',{staticClass:\"mr-2 dita-ot-cont px-1 mb-4\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])]),_c('b-modal',{ref:\"modalcommit\",attrs:{\"id\":\"modal-commit\",\"title\":\"Commit Output\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('div',[_c('b-form-group',{attrs:{\"label\":\"Commit Message\"}},[_c('b-form-input',{attrs:{\"for\":\"text\"},model:{value:(_vm.commitMsg),callback:function ($$v) {_vm.commitMsg=$$v},expression:\"commitMsg\"}})],1),_c('button',{staticClass:\"btn btn-sm btn-primary\",on:{\"click\":function($event){return _vm.commitOutput()}}},[_vm._v(\" Commit on GitHub \")])],1)]),_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"hide-header\":\"\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"loading . . .\")]),_c('b-progress',{staticClass:\"custom-progress\",attrs:{\"value\":_vm.progress,\"max\":100}})],1),_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-4 bg-white\"},[_vm._m(0),_c('div',{staticClass:\"card-body\"},[_vm._m(1),_c('multiselect',{attrs:{\"options\":_vm.projectlist.map((item) => item.projectName),\"placeholder\":\"Choose a project\",\"max-height\":150},model:{value:(_vm.selectedproject),callback:function ($$v) {_vm.selectedproject=$$v},expression:\"selectedproject\"}}),_c('div',{staticClass:\"form-group\"},[_c('div',{staticClass:\"my-2\"},[_vm._m(2),_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"disabled\":!_vm.disabledCommit},on:{\"click\":function($event){return _vm.$bvModal.show('changeBranch-bv-modal')}}},[_vm._v(\" Create new branch \")])]),_c('div',{},[_c('multiselect',{attrs:{\"options\":_vm.repobranchesdata.map((item) => item.value),\"placeholder\":\"Choose a branch\",\"max-height\":150},model:{value:(_vm.selectedBranch),callback:function ($$v) {_vm.selectedBranch=$$v},expression:\"selectedBranch\"}})],1)]),_c('div',{staticClass:\"text-right pt-1\"},[_c('button',{staticClass:\"btn btn-light btn-sm mb-2 mr-2\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.syncprojects.apply(null, arguments)}}},[_vm._v(\" Sync \")]),_c('button',{staticClass:\"btn btn-primary mb-2 btn-sm\",attrs:{\"disabled\":!_vm.disabledCommit || !_vm.selectedBranch,\"type\":\"submit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.commitOutput.apply(null, arguments)}}},[_vm._v(\" Commit \")])])],1)])]),_c('changeBranch',{attrs:{\"branches\":_vm.repobranchesdata.map((element) => element.value),\"createNewBranchHandler\":_vm.createNewBranchHandler,\"clone\":false}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"Github Commit\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Select Project\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"col-form-label mr-4\"},[_vm._v(\"Select Branch\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div style=\"min-height: 70vh\">\n <!-- Page header component with title and icon -->\n <PageHeader :title=\"title\" :items=\"item\" />\n <div>\n <div class=\"mr-2 dita-ot-cont px-1 mb-4\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n <!-- Modal for committing output to GitHub -->\n <b-modal\n id=\"modal-commit\"\n ref=\"modalcommit\"\n title=\"Commit Output\"\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <div>\n <b-form-group label=\"Commit Message\">\n <b-form-input for=\"text\" v-model=\"commitMsg\"></b-form-input>\n </b-form-group>\n <button class=\"btn btn-sm btn-primary\" v-on:click=\"commitOutput()\">\n Commit on GitHub\n </button>\n </div>\n </b-modal>\n <!-- Modal for showing progress -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n hide-header\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>loading . . .</p>\n <b-progress\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-progress\"\n ></b-progress>\n </b-modal>\n <div class=\"row justify-content-center\">\n <div class=\"col-md-4 bg-white\">\n <!-- GitHub commit form -->\n <div\n class=\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">Github Commit</div>\n </div>\n\n <div class=\"card-body\">\n <label>Select Project<span class=\"text-danger\">*</span></label>\n\n <!-- Multiselect for project selection -->\n <multiselect\n v-model=\"selectedproject\"\n :options=\"projectlist.map((item) => item.projectName)\"\n placeholder=\"Choose a project\"\n :max-height=\"150\"\n >\n </multiselect>\n <div class=\"form-group\">\n <div class=\"my-2\">\n <label class=\"col-form-label mr-4\"\n >Select Branch<span class=\"text-danger\">*</span></label\n >\n <!-- @click=\"createNewBranchHandler\" -->\n <button\n class=\"btn btn-primary btn-sm\"\n @click=\"$bvModal.show('changeBranch-bv-modal')\"\n :disabled=\"!disabledCommit\"\n >\n Create new branch\n </button>\n </div>\n <div class=\"\">\n <multiselect\n v-model=\"selectedBranch\"\n :options=\"repobranchesdata.map((item) => item.value)\"\n placeholder=\"Choose a branch\"\n :max-height=\"150\"\n >\n </multiselect>\n <!-- <select\n class=\"form-control\"\n v-model=\"selectedBranch\"\n placeholder=\"Select Branch\"\n @change=\"checkoutBranch\"\n >\n <option value=\"\" disabled>Please Choose Branch</option>\n <option\n v-for=\"(option, index) in repobranchesdata\"\n :key=\"index\"\n :value=\"option.value\"\n >\n {{ option.text }}\n </option>\n </select> -->\n </div>\n </div>\n\n <div class=\"text-right pt-1\">\n <!-- Buttons for committing and syncing projects -->\n <button\n type=\"submit\"\n class=\"btn btn-light btn-sm mb-2 mr-2\"\n @click.prevent=\"syncprojects\"\n >\n Sync\n </button>\n <button\n :disabled=\"!disabledCommit || !selectedBranch\"\n type=\"submit\"\n class=\"btn btn-primary mb-2 btn-sm\"\n @click.prevent=\"commitOutput\"\n >\n Commit\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <changeBranch\n :branches=\"repobranchesdata.map((element) => element.value)\"\n :createNewBranchHandler=\"createNewBranchHandler\"\n :clone=\"false\"\n />\n </div>\n</template>\n\n<script>\nimport _ from \"lodash\";\nimport Multiselect from \"vue-multiselect\";\nimport { mapActions } from \"vuex\";\nimport Swal from \"sweetalert2\";\n\nimport { eventBus } from \"../../../../main\";\nimport { mapGetters } from \"vuex\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nimport githubService from \"../../../../services/github\";\nimport changeBranch from \"../../../../components/reusables/changeBranch.vue\";\nexport default {\n components: {\n Multiselect,\n changeBranch,\n },\n\n data() {\n return {\n previousRoute: null,\n ditaotVersion: \"\",\n progress: 0,\n selectedBranch: \"\",\n selectedProjectOwner: \"\",\n previousSelectedBranch: \"\",\n selectedproject: \"\",\n projectlist: [],\n repobranchesdata: [],\n commitMsg: null,\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n disabledCommit: false,\n title: \"DocMigration\",\n migrationType: this.$route.params.migrationType,\n item: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"DocMigration\",\n active: true,\n },\n ],\n ignoreNextChange: false, // Flag to ignore next change\n };\n },\n computed: {\n _() {\n return _;\n },\n isCommitButtonDisabled() {\n return this.commitMsg.length === 0;\n },\n ...mapGetters([\"ditaOtVersions\"]),\n },\n watch: {\n selectedproject: function (newVal) {\n if (newVal) {\n this.disabledCommit = true;\n // When the selected project changes, update related data\n const selectedProject = this.projectlist.find(\n (item) => item.projectName === newVal\n );\n console.log(\"selected project:\", this.projectlist);\n this.selectedProjectOwner = selectedProject.owner;\n this.selectedproject = selectedProject.projectName;\n this.repobranchesdata = [];\n this.getRepoBranch();\n } else {\n this.disabledCommit = false;\n }\n },\n selectedBranch(newVal, oldValue) {\n // Ignore the next change if we're reverting the value\n if (this.ignoreNextChange) {\n this.ignoreNextChange = false; // Reset the flag\n return;\n }\n if (oldValue && newVal) {\n console.log(\"in brachName: \", newVal, oldValue);\n this.checkoutBranch();\n }\n },\n },\n beforeRouteEnter(to, from, next) {\n next((vm) => {\n vm.previousRoute = from.path;\n });\n },\n\n mounted() {\n // Emit an event to update the sidebar\n eventBus.$emit(\"update-sidebar\", \"menuitems.docmigration.text\");\n this.getprojectslist();\n },\n methods: {\n // Display a toast message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n // Call the 'get' action to fetch project details\n ...mapActions({\n get: \"userProjectDetails\",\n }),\n\n // Fetch the list of projects\n getprojectslist() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .get(`/projectuser/byuserid?userId=${this.userId}`)\n .then((response) => {\n if (response.data && Array.isArray(response.data)) {\n this.projectlist = response.data;\n } else {\n this.messageToast(\n \"Error\",\n \"danger\",\n \"Received invalid data from the server\"\n );\n }\n loader.hide();\n })\n .catch((error) => {\n this.messageToast(\n \"Error\",\n \"danger\",\n error.response\n ? error.response.data.message\n : \"An error occurred while fetching project names.\"\n );\n loader.hide();\n });\n },\n\n async getRepoBranch() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n this.$store.getters.client\n .get(\n `orguser/repobranches?repoUser=${this.selectedProjectOwner}&repoName=${this.selectedproject}`\n )\n .then(async (response) => {\n const res = await githubService.currentBranch(this.selectedproject);\n this.selectedBranch = res.data;\n this.previousSelectedBranch = res.data;\n if (response.data && response.data.length > 0) {\n // this.selectedBranch = response.data[0].name;\n this.repobranchesdata = response.data.map((element) => ({\n value: element.name,\n text: element.name,\n }));\n } else {\n // Handle the case when the response is empty or does not contain branches.\n this.messageToast(\n \"invalid request\",\n \"danger\",\n \"No branches found in the Project.\"\n );\n }\n })\n .catch((error) => {\n // Handle errors here, e.g., show an error message or log the error.\n this.messageToast(\n \"invalid request\",\n \"danger\",\n error.response.data.message\n );\n })\n .finally(() => {\n loader.hide();\n });\n },\n\n async checkoutBranch() {\n // this.selectedBranch = branch;\n console.log(\"in checkoutBranch: \", this.selectedBranch);\n // ============checkout the branch============\n const res = await githubService.checkout(\n {\n repoName: this.selectedproject,\n branchName: this.selectedBranch,\n },\n this\n );\n console.log(\"ckeckout res: \", res);\n\n if (res === false) {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Failed to checkout branch.\"\n );\n this.selectedBranch = this.previousSelectedBranch;\n this.ignoreNextChange = true; // Set the flag to ignore next change\n return;\n } else {\n this.previousSelectedBranch = this.selectedBranch;\n this.messageToast(\"Branch checkout\", \"success\", res.message);\n }\n // ============checkout the branch============\n },\n\n // create new branch\n async createNewBranchHandler({ baseBranchName, newBranchName }) {\n let loadingInstance = this.$loading.show({\n loader: \"dots\",\n }); // Show loading\n const branches = this.repobranchesdata.map((element) => element.value);\n const res = await githubService.createNewBranch(\n {\n repoName: this.selectedproject,\n clone: false,\n baseBranchName,\n newBranchName,\n },\n branches\n );\n console.log(\"res\", res);\n loadingInstance.hide(); // Hide loading\n this.$bvModal.hide(\"changeBranch-bv-modal\");\n\n if (res.type === \"success\") {\n this.getRepoBranch();\n this.messageToast(\"New branch\", \"success\", res.data.message);\n } else {\n this.messageToast(\n \"Failed to create new branch.\",\n \"danger\",\n res.error.response.data.message\n );\n }\n },\n\n // Show the GitHub commit modal\n gitHubCommit() {\n this.$refs[\"modalcommit\"].show();\n },\n // Commit the selected output to GitHub\n commitOutput() {\n this.progress = 0;\n\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n title: \"Add description to submit and commit. \",\n input: \"text\",\n showCancelButton: true,\n confirmButtonText: \"Submit\",\n showLoaderOnConfirm: true,\n preConfirm: (commitMsg) => {\n return new Promise((resolve, reject) => {\n if (commitMsg.trim() === \"\") {\n reject(new Error(\"Please enter a commit message.\"));\n } else {\n resolve(commitMsg);\n }\n });\n },\n allowOutsideClick: false,\n inputValidator: (value) => {\n return value.trim() !== \"\"\n ? undefined\n : \"Please enter a commit message.\";\n },\n })\n .then(({ value: commitMsg }) => {\n if (commitMsg !== undefined) {\n let body = {\n commitFolderName: this.selectedproject,\n commitMessage: commitMsg,\n branchName: this.selectedBranch,\n userActivityId: localStorage.getItem(\"userActivityId\"),\n };\n swalWithBootstrapButtons.fire({\n title: \"Commit request in progress...\",\n allowOutsideClick: false,\n onOpen: () => {},\n });\n Swal.showLoading();\n this.$store.getters.client\n .post(\n `/orguser/docMigration/commit-to-github?migrationType=${this.migrationType}`,\n body,\n {\n onUploadProgress: (progressEvent) => {\n this.progress = Math.round(\n (progressEvent.loaded / progressEvent.total) * 100\n );\n },\n }\n )\n .then((res) => {\n this.showCommitBtn = false;\n swalWithBootstrapButtons.fire({\n icon: \"success\",\n title: \"Commit request completed.\",\n text: res.data.message || `Files committed successfully.`,\n });\n this.$router.push({\n path: this.previousRoute,\n query: { alreadyCommit: \"committed\" },\n });\n })\n .catch((err) => {\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Commit failed!\",\n text: err.response.data.message,\n });\n this.commitMsg = null;\n this.selectedproject = \"\";\n });\n }\n });\n },\n // Sync projects with GitHub\n syncprojects() {\n this.progress = 0;\n let body = {\n userId: this.userId,\n orgId: this.orgId,\n gitToken: this.$store.state.Auth.gitToken,\n githubUsername: JSON.parse(\n CryptoJS.AES.decrypt(\n localStorage.getItem(\"githubUsername\"),\n secretKey\n ).toString(CryptoJS.enc.Utf8)\n ),\n };\n setInterval(() => {\n if (this.progress < 90) {\n this.progress += 10;\n }\n }, 500);\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .put(\n `/orguser/workspace/sync?migrationType=${this.migrationType}`,\n body\n )\n .then((response) => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.selectedproject = \"\";\n this.projectlist = [\n ...this.projectlist,\n ...response.data.syncedProjects,\n ];\n this.messageToast(\n \"Sync Complete\",\n \"primary\",\n \"Your assigned project list is up to date!\"\n );\n })\n .catch(() => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Sorry, we were unable to sync your projects at this time. Please check your network connectivity and try again. If the issue persists, please contact our technical support team for further assistance.\"\n );\n });\n },\n },\n};\n</script>\n\n<style scoped>\n.custom-source {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.custom-progress {\n height: 5px;\n}\n\n.card-body {\n padding-top: 0rem;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./githubcommit.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./githubcommit.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./githubcommit.vue?vue&type=template&id=4fb3ed50&scoped=true\"\nimport script from \"./githubcommit.vue?vue&type=script&lang=js\"\nexport * from \"./githubcommit.vue?vue&type=script&lang=js\"\nimport style0 from \"./githubcommit.vue?vue&type=style&index=0&id=4fb3ed50&prod&scoped=true&lang=css\"\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 \"4fb3ed50\",\n null\n \n)\n\nexport default component.exports","// Import necessary components and libraries\nimport DocMigration from \"../docmigration/index.vue\";\nimport PopUpMessage from \"./components/popupmessage.vue\";\nimport outputscreen from \"./components/outputscreen.vue\";\nimport githubcommit from \"./components/githubcommit.vue\";\n\nimport { checkAccessToService } from \"../../../middleware/secure-route\";\n\n// Define an array of route objects\nexport default [\n {\n // Define a route for the DocMigration component\n path: \"/docmigration\",\n component: DocMigration,\n name: \"DocMigration\",\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"docMigration\");\n },\n },\n {\n // Define a route for the PopUpMessage component\n path: \"/noaccess\",\n component: PopUpMessage,\n name: \"PopUpMessage\",\n },\n {\n // Define a route for the outputscreen component with dynamic parameters\n path: \"/docmigration/outputscreen/:downloadLink/:fileName/:migrationType\",\n component: outputscreen,\n name: \"outputscreen\",\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"docMigration\");\n },\n },\n {\n // Define a route for the githubcommit component with dynamic parameters\n path: \"/docmigration/outputscreen/githubcommit/:migrationType\",\n component: githubcommit,\n name: \"githubcommit\",\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"docMigration\");\n },\n },\n];\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"d-flex align-items-center justify-content-between mb-2\"},[_c('div',[_c('div',{staticClass:\"mr-2 px-1\"},[_c('span',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.projectName))])]),_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])])])]),_c('b-tabs',{staticClass:\"custom-tabs bg-white\",attrs:{\"justified\":\"\",\"nav-class\":\"nav-tabs-custom\",\"content-class\":\"p-3 text-muted\"},model:{value:(_vm.activeTab),callback:function ($$v) {_vm.activeTab=$$v},expression:\"activeTab\"}},[_c('b-tab',{attrs:{\"title\":\"HTML Styler\",\"active\":\"\"}},[_c('htmlstyler')],1),_c('b-tab',{attrs:{\"title\":\"PDF Styler\"}},[_c('pdfstyler')],1)],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Working on customization to receive the desired output.\")]),_c('b-progress',{staticClass:\"custom-progress\",attrs:{\"value\":_vm.progress,\"max\":100}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xl-3 col-lg-4 mb-5 user-select-none\"},[_c('div',{attrs:{\"no-body\":\"\"}},[_vm._m(0),_c('div',{staticClass:\"border-top\"},[_c('div',{staticClass:\"categories-group-card\"},[_c('a',{staticClass:\"categories-group-list card-title\",class:{\n active: _vm.currentFormNumber === 1,\n '': _vm.currentFormNumber === 1,\n },attrs:{\"aria-controls\":\"collapseTwo\"},on:{\"click\":function($event){return _vm.changeForm(1)}}},[_c('i',{staticClass:\"mdi mdi-page-layout-header font-size-18 align-middle mr-2\"}),_vm._v(\" Header \")])]),_c('div',{staticClass:\"categories-group-card\"},[_c('a',{staticClass:\"categories-group-list card-title\",class:{\n active: _vm.currentFormNumber === 2,\n '': _vm.currentFormNumber === 2,\n },attrs:{\"data-toggle\":\"collapse\",\"aria-expanded\":\"false\",\"aria-controls\":\"collapseFour\"},on:{\"click\":function($event){return _vm.changeForm(2)}}},[_c('i',{staticClass:\"mdi mdi-table font-size-18 align-middle mr-2\"}),_vm._v(\" Footer \")])])])])]),_c('div',{staticClass:\"col-lg-9 border-left\"},[_c('div',{attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_c('span',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.childData.title))])])]),_c('div',{staticClass:\"mx-1 border-top\"},[_c('b-card-sub-title',{staticClass:\"mt-3 mb-4\"},[_c('h6',{staticClass:\"card-subtitle text-center\"},[_vm._v(\" \"+_vm._s(_vm.childData.paragraph)+\" \")])]),(_vm.currentFormNumber > 0 && _vm.currentFormNumber <= _vm.totalForms)?_c('div',[_c(_vm.currentForm,{tag:\"component\",attrs:{\"formDataList\":_vm.formDataList,\"form-number\":_vm.currentFormNumber,\"selectedLogoFile\":_vm.selectedLogoFile},on:{\"form-submitnew\":_vm.handleformSubmit,\"data-mounted\":_vm.handleChildData,\"next-form\":_vm.handlenextbtn,\"prev-form\":_vm.handlePreviousBtn,\"reset-form\":_vm.resetForm,\"final-submit\":_vm.finalSubmit,\"fileSelected\":_vm.handleFileSelected}})],1):_c('div',[_c('p',[_vm._v(\"No form found\")])])],1)])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"HTML STYLER\")])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h5',{staticClass:\"text-primary p-2 mb-2\"},[_vm._v(\"Logo\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('label',{attrs:{\"for\":\"logo-image\"}},[_vm._v(\"Logo\")]),_c('input',{ref:\"fileInput\",staticClass:\"form-control-file logoFileInput\",attrs:{\"type\":\"file\",\"id\":\"logo-image\",\"name\":\"logo-image\",\"accept\":\".jpg, .jpeg, .png\"},on:{\"change\":_vm.onFileSelected}}),(_vm.formDataList.header?.logoName)?_c('span',{staticClass:\"text-single-line\"},[_vm._v(_vm._s(_vm.formDataList.header.logoName))]):_c('span',[_vm._v(\"no file chosen\")])])],1),_c('h5',{staticClass:\"text-primary p-2\"},[_vm._v(\"Color shades\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6 mt-2 mb-0\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formDataList.header.headerColor),expression:\"formDataList.header.headerColor\"}],staticClass:\"form-control\",attrs:{\"type\":\"color\",\"id\":\"color\"},domProps:{\"value\":(_vm.formDataList.header.headerColor)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.formDataList.header, \"headerColor\", $event.target.value)}}})])],1),_c('div',{staticClass:\"d-flex justify-content-between mt-3\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.nextForm()}}},[_vm._v(\"Next\")])],1)]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.refreshFormData()}}},[_vm._v(\"Reset\")])],1),_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.confirm()}}},[_vm._v(\"Submit\")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Header for the Navbar-Logo Configuration Section -->\n <h5 class=\"text-primary p-2 mb-2\">Logo</h5>\n <div class=\"form-group row\">\n <!-- Logo Image Input -->\n <b-col sm=\"6\">\n <label for=\"logo-image\">Logo</label>\n <input\n type=\"file\"\n class=\"form-control-file logoFileInput\"\n id=\"logo-image\"\n name=\"logo-image\"\n accept=\".jpg, .jpeg, .png\"\n ref=\"fileInput\"\n @change=\"onFileSelected\"\n />\n <span v-if=\"formDataList.header?.logoName\" class=\"text-single-line\">{{\n formDataList.header.logoName\n }}</span>\n <span v-else>no file chosen</span>\n </b-col>\n </div>\n <!-- Color Shades -->\n <h5 class=\"text-primary p-2\">Color shades</h5>\n <div class=\"form-group row\">\n <b-col sm=\"6 mt-2 mb-0\">\n <input\n type=\"color\"\n id=\"color\"\n class=\"form-control\"\n v-model=\"formDataList.header.headerColor\"\n />\n </b-col>\n </div>\n <div class=\"d-flex justify-content-between mt-3\">\n <div class=\"d-flex\">\n <div>\n <!-- Next Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"nextForm()\"\n >Next</b-button\n >\n </div>\n </div>\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"refreshFormData()\"\n >Reset</b-button\n >\n </div>\n <div>\n <!-- Submit Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"confirm()\"\n >Submit</b-button\n >\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport Swal from \"sweetalert2\";\nexport default {\n props: {\n formDataList: {\n type: Object,\n required: true,\n },\n selectedLogoFile: File,\n },\n created() {\n this.updateFormData(this.formDataList);\n },\n beforeDestroy() {\n this.submitForm();\n },\n mounted() {\n const data = {\n title: \"Header\",\n paragraph:\n \"You can use these fields to design the technical manual's front logo, color shades and title.\",\n icons: \"mdi mdi-page-layout-header font-size-26 align-middle\",\n };\n this.$emit(\"data-mounted\", data);\n // Set the selected file in the input if it exists\n if (this.selectedLogoFile) {\n this.$refs.fileInput.value = null; // Clear input value first to allow re-selection of same file\n this.$refs.fileInput.files = [this.selectedLogoFile];\n }\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n convertDataToLowerCase() {\n const dataKeys = Object.keys(this.$data);\n for (const key of dataKeys) {\n const obj = this.$data[key];\n if (typeof obj === \"object\" && obj !== null) {\n const keys = Object.keys(obj);\n for (const innerKey of keys) {\n if (obj[innerKey] !== null && typeof obj[innerKey] === \"string\") {\n obj[innerKey] = obj[innerKey].toLowerCase();\n }\n }\n }\n }\n },\n async confirm() {\n this.submitForm();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n })\n .then(async (result) => {\n if (result.isConfirmed) {\n this.finalSubmit();\n }\n });\n },\n updateFormData(formDataList) {\n for (const key in formDataList) {\n if (Object.prototype.hasOwnProperty.call(formDataList, key)) {\n this[key] = formDataList[key];\n }\n }\n },\n refreshFormData() {\n this.$emit(\"reset-form\");\n },\n onFileSelected(event) {\n const file = event.target.files[0];\n if (file) {\n this.$set(this.formDataList.header, \"logoName\", file.name);\n this.$emit(\"fileSelected\", file);\n }\n },\n nextForm() {\n this.$emit(\"next-form\");\n this.submitForm();\n this.convertDataToLowerCase();\n },\n prevForm() {\n this.$emit(\"prev-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n finalSubmit() {\n this.$emit(\"final-submit\"), this.convertDataToLowerCase();\n },\n submitForm() {\n this.$emit(\"form-submitnew\", this.formDataList);\n },\n },\n};\n</script>\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.star-rating {\n display: inline-block;\n}\n\n.star {\n color: orange;\n cursor: pointer;\n position: relative;\n top: -17px;\n bottom: 0px;\n}\n\n.filled {\n color: orange;\n}\n\n.form-group {\n margin: 10px;\n}\n\n.logoFileInput {\n color: rgba(0, 0, 0, 0);\n}\n\n.text-single-line {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@media screen and (max-width: 280px) {\n .btn {\n width: 20px;\n font-size: 8px;\n margin: 0;\n padding: 3px 4px;\n }\n\n * {\n font-size: 15px;\n }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./header.vue?vue&type=template&id=1d547b31&scoped=true\"\nimport script from \"./header.vue?vue&type=script&lang=js\"\nexport * from \"./header.vue?vue&type=script&lang=js\"\nimport style0 from \"./header.vue?vue&type=style&index=0&id=1d547b31&prod&scoped=true&lang=css\"\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 \"1d547b31\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h5',{staticClass:\"mb-2 text-primary p-2 title\"},[_vm._v(\"Footer\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"12 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"facebook\"}},[_vm._v(\"Company Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formDataList.footer.companyName),expression:\"formDataList.footer.companyName\"}],staticClass:\"form-control\",attrs:{\"name\":\"companyName\",\"type\":\"text\",\"id\":\"companyName\",\"placeholder\":\"Enter company name\"},domProps:{\"value\":(_vm.formDataList.footer.companyName)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.formDataList.footer, \"companyName\", $event.target.value)}}})])],1),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"12 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"facebook\"}},[_vm._v(\"Company website\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.formDataList.footer.companyWebsite),expression:\"formDataList.footer.companyWebsite\"}],staticClass:\"form-control\",attrs:{\"name\":\"companyWebsite\",\"type\":\"text\",\"id\":\"companyWebsite\",\"placeholder\":\"Enter company website\"},domProps:{\"value\":(_vm.formDataList.footer.companyWebsite)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.formDataList.footer, \"companyWebsite\", $event.target.value)}}})])],1),_c('div',{staticClass:\"d-flex justify-content-between mt-3\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.prevForm.apply(null, arguments)}}},[_vm._v(\"Previous\")])],1)]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.refreshFormData.apply(null, arguments)}}},[_vm._v(\"Reset\")])],1),_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.confirm.apply(null, arguments)}}},[_vm._v(\"Submit\")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <h5 class=\"mb-2 text-primary p-2 title\">Footer</h5>\n <div class=\"form-group row\">\n <b-col sm=\"12 mt-2 mb-0\">\n <label for=\"facebook\">Company Name</label>\n <input\n v-model=\"formDataList.footer.companyName\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"companyName\"\n type=\"text\"\n class=\"form-control\"\n id=\"companyName\"\n placeholder=\"Enter company name\"\n />\n </b-col>\n </div>\n <div class=\"form-group row\">\n <b-col sm=\"12 mt-2 mb-0\">\n <label for=\"facebook\">Company website</label>\n <input\n v-model=\"formDataList.footer.companyWebsite\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"companyWebsite\"\n type=\"text\"\n class=\"form-control\"\n id=\"companyWebsite\"\n placeholder=\"Enter company website\"\n />\n </b-col>\n </div>\n <div class=\"d-flex justify-content-between mt-3\">\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"prevForm\"\n >Previous</b-button\n >\n </div>\n </div>\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"refreshFormData\"\n >Reset</b-button\n >\n </div>\n <div>\n <!-- Submit Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"confirm\"\n >Submit</b-button\n >\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport Swal from \"sweetalert2\";\nimport _ from \"lodash\";\nexport default {\n props: {\n formDataList: {\n type: Object,\n required: true,\n },\n },\n data() {\n return {\n websiteError: \"\",\n };\n },\n computed: {\n _() {\n return _;\n },\n },\n created() {\n this.updateFormData(this.formDataList);\n },\n beforeDestroy() {\n this.submitForm();\n },\n mounted() {\n const data = {\n title: \"Footer\",\n paragraph:\n \"You can use these fields to customize the technical manual's footer.\",\n icons: \"mdi mdi-table font-size-26 align-middle mr-2\",\n };\n this.$emit(\"data-mounted\", data);\n },\n watch: {\n $data: {\n deep: true,\n handler() {\n this.convertDataToLowerCase();\n },\n },\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n convertDataToLowerCase() {\n const dataKeys = Object.keys(this.$data);\n for (const key of dataKeys) {\n const obj = this.$data[key];\n if (typeof obj === \"object\" && obj !== null) {\n const keys = Object.keys(obj);\n for (const innerKey of keys) {\n if (obj[innerKey] !== null && typeof obj[innerKey] === \"string\") {\n obj[innerKey] = obj[innerKey].toLowerCase();\n }\n }\n }\n }\n },\n async confirm() {\n this.submitForm();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n })\n .then((result) => {\n if (result.isConfirmed) {\n this.finalSubmit();\n }\n });\n },\n updateFormData(formDataList) {\n for (const key in formDataList) {\n if (Object.prototype.hasOwnProperty.call(formDataList, key)) {\n this[key] = formDataList[key];\n }\n }\n },\n nextForm() {\n this.$emit(\"next-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n prevForm() {\n this.$emit(\"prev-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n finalSubmit() {\n this.$emit(\"final-submit\"), this.convertDataToLowerCase();\n },\n submitForm() {\n const formData = {\n footer: this.formDataList.footer,\n };\n this.$emit(\"form-submitnew\", formData);\n },\n refreshFormData() {\n this.$emit(\"reset-form\");\n },\n },\n};\n</script>\n<style scoped>\nlabel {\n font-weight: 400;\n}\n\nh1 {\n text-decoration: wavy;\n}\n\n.form-group {\n margin: 10px;\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./footer.vue?vue&type=template&id=2a08f61f&scoped=true\"\nimport script from \"./footer.vue?vue&type=script&lang=js\"\nexport * from \"./footer.vue?vue&type=script&lang=js\"\nimport style0 from \"./footer.vue?vue&type=style&index=0&id=2a08f61f&prod&scoped=true&lang=css\"\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 \"2a08f61f\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Modal for showing processing progress -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Working on customization to receive the desired output.</p>\n <b-progress\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-progress\"\n ></b-progress>\n </b-modal>\n <div class=\"row\">\n <div class=\"col-xl-3 col-lg-4 mb-5 user-select-none\">\n <div no-body>\n <div\n class=\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">HTML STYLER</div>\n </div>\n <div class=\"border-top\">\n <div class=\"categories-group-card\">\n <a\n class=\"categories-group-list card-title\"\n aria-controls=\"collapseTwo\"\n :class=\"{\n active: currentFormNumber === 1,\n '': currentFormNumber === 1,\n }\"\n @click=\"changeForm(1)\"\n >\n <i\n class=\"mdi mdi-page-layout-header font-size-18 align-middle mr-2\"\n ></i>\n Header\n </a>\n </div>\n <div class=\"categories-group-card\">\n <a\n class=\"categories-group-list card-title\"\n data-toggle=\"collapse\"\n aria-expanded=\"false\"\n aria-controls=\"collapseFour\"\n :class=\"{\n active: currentFormNumber === 2,\n '': currentFormNumber === 2,\n }\"\n @click=\"changeForm(2)\"\n >\n <i class=\"mdi mdi-table font-size-18 align-middle mr-2\"></i>\n Footer\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class=\"col-lg-9 border-left\">\n <div no-body>\n <div\n class=\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">\n <span class=\"text-uppercase\">{{ childData.title }}</span>\n </div>\n </div>\n <div class=\"mx-1 border-top\">\n <b-card-sub-title class=\"mt-3 mb-4\">\n <h6 class=\"card-subtitle text-center\">\n {{ childData.paragraph }}\n </h6>\n </b-card-sub-title>\n <!-- Conditional rendering of form components -->\n <div\n v-if=\"currentFormNumber > 0 && currentFormNumber <= totalForms\"\n >\n <component\n :formDataList=\"formDataList\"\n :is=\"currentForm\"\n :form-number=\"currentFormNumber\"\n :selectedLogoFile=\"selectedLogoFile\"\n @form-submitnew=\"handleformSubmit\"\n @data-mounted=\"handleChildData\"\n @next-form=\"handlenextbtn\"\n @prev-form=\"handlePreviousBtn\"\n @reset-form=\"resetForm\"\n @final-submit=\"finalSubmit\"\n @fileSelected=\"handleFileSelected\"\n >\n </component>\n </div>\n <div v-else>\n <p>No form found</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport Header from \"./components/header.vue\";\nimport Footer from \"./components/footer.vue\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nexport default {\n components: {\n Header,\n Footer,\n },\n data() {\n return {\n progress: 0,\n childData: {},\n condition: true,\n currentFormNumber: 1,\n totalForms: 2,\n formDataList: {\n header: {\n logoName: \"\",\n headerColor: \"#000000\",\n },\n footer: {\n companyName: \"\",\n companyWebsite: \"\",\n },\n },\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectedLogoFile: null,\n };\n },\n computed: {\n _() {\n return _;\n },\n currentForm() {\n switch (this.currentFormNumber) {\n case 1:\n return \"Header\";\n case 2:\n return \"Footer\";\n default:\n return null;\n }\n },\n },\n watch: {\n formDataList: {\n deep: true,\n },\n },\n methods: {\n handleChildData(data) {\n this.childData = data;\n },\n validateCompanyWebsite() {\n const url = this.formDataList.footer.companyWebsite;\n const urlPattern = /^(https?:\\/\\/)(www\\.)?[\\w-]+(\\.[\\w-]+)+([/?#].*)?$/i;\n\n if (url && !urlPattern.test(url)) {\n this.messageToast(\n \"Validation Error\",\n \"danger\",\n \"Enter a valid website URL starting with http:// or https://\"\n );\n return false;\n }\n return true;\n },\n async defaultalert() {\n if (this.condition) {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n text: \"This will set all attributes to default as dita-ot files. You will lose your previous attributes sets. Click confirm button to proceed.\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Confirm\",\n cancelButtonText: \"No\",\n })\n .then((result) => {\n if (result.isConfirmed) {\n this.handledefualt();\n }\n });\n }\n },\n resetForm() {\n this.formDataList = {\n header: {\n logoName: \"\",\n headerColor: \"#000000\",\n },\n footer: {\n companyName: \"\",\n companyWebsite: \"\",\n },\n };\n this.selectedLogoFile = null;\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n changeForm(formNumber) {\n this.currentFormNumber = formNumber;\n },\n handleformSubmit(formData) {\n this.formDataList = JSON.parse(\n JSON.stringify({\n ...this.formDataList,\n ...formData,\n })\n );\n },\n handlenextbtn() {\n if (this.currentFormNumber < this.totalForms) {\n this.currentFormNumber++;\n }\n },\n handlePreviousBtn() {\n if (this.currentFormNumber > 1) {\n this.currentFormNumber--;\n }\n },\n redirectDocPublishrer() {\n const encodedRepouser = encodeURIComponent(this.$route.params.repouser);\n const encodedReponame = encodeURIComponent(this.$route.params.reponame);\n const encodedBranch = encodeURIComponent(this.$route.params.repobranch);\n this.$router.push({\n path: `/htmldocstyler/docpublisher/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n },\n async saveLogoImage(file) {\n const fileSize = file.size / 1024 / 1024;\n if (fileSize > 3) {\n throw new Error(\"File size should not exceed 3 MB\");\n } else {\n const formData = new FormData();\n formData.append(\"HtmlLogo\", file);\n const userId = this.$store.state.Auth.userId;\n const orgId = this.$store.state.Auth.orgId;\n await this.$store.getters.client.post(\n `/orguser/docstyler/uploadHtmlLogo?userId=${userId}&orgId=${orgId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n }\n },\n async finalSubmit() {\n if (!this.validateCompanyWebsite()) return;\n\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n if (this.selectedLogoFile !== null) {\n await this.saveLogoImage(this.selectedLogoFile);\n }\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: this.formDataList,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n };\n await this.$store.getters.client.post(\n `/orguser/docstyler/customizeHtmlOutput`,\n body\n );\n this.messageToast(\"Success\", \"primary\", \"Changes made successfully.\");\n setTimeout(() => {\n this.redirectDocPublishrer();\n }, 1500);\n } catch (error) {\n console.log(\"📢[index.vue:412]: error: \", error);\n const resMsg = error.response\n ? error.response.data.message\n : error.message\n ? error.message\n : \"Error in customizing the output\";\n this.messageToast(\"Invalid request\", \"danger\", resMsg);\n } finally {\n loader.hide();\n }\n },\n handledefualt() {\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: {},\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n };\n this.$store.getters.client\n .post(`/orguser/docstyler/customizePdfOutput`, body)\n .then(() => {\n this.redirectDocPublishrer();\n this.messageToast(\n \"Success\",\n \"primary\",\n \"Your DITA-OT has been reset to its default settings.\"\n );\n })\n .catch((err) => {\n this.messageToast(\"Invalid request\", \"danger\", err.data.message);\n });\n },\n handleFileSelected(file) {\n this.selectedLogoFile = file;\n },\n },\n};\n</script>\n\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.custom-html-styler {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.custon-btn {\n background: #2b313f !important;\n color: #fff !important;\n border-color: #2b313f !important;\n width: 90px;\n height: 30px;\n}\n\n.btn-info {\n width: 130px;\n height: 30px;\n}\n\n.btn-container {\n display: flex;\n overflow-x: scroll;\n}\n\n.card-btn {\n margin: 10px;\n float: right;\n}\n\n.categories-group-list {\n cursor: pointer;\n font-size: 12px;\n font-weight: 400;\n line-height: 22px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.categories-group-list.active {\n color: rgba(254, 94, 69, 1);\n}\n\n.bg-card {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 0px;\n padding: 0px;\n}\n\n.bg-navbar {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 1vh;\n padding: 0px;\n}\n\n.bg-header {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 1vh;\n padding: 0px;\n}\n\n.custom-header {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 0px;\n padding: 0px;\n}\n\n.headers-icons {\n color: #ffffff;\n font-size: 30px;\n margin-right: 5px;\n}\n\n.card-title {\n font-size: 15px;\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n.card-titleNavbar {\n font-size: 15px;\n font-size: 15px;\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n.card-subtitle {\n margin-bottom: -10px;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.form-header {\n margin: -12px 0 -6px 0;\n}\n\n.custom-progress {\n height: 5px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=541b1ad5&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=541b1ad5&prod&scoped=true&lang=css\"\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 \"541b1ad5\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"hide-header\":\"\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Working on customization to receive the desired output.\")]),_c('b-progress',{staticClass:\"custom-progress\",attrs:{\"value\":_vm.progress,\"max\":100}})],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xl-3 col-lg-4 user-select-none\"},[_c('div',{attrs:{\"no-body\":\"\"}},[_vm._m(0),_c('div',{staticClass:\"border-top\"},[_c('div',{staticClass:\"categories-group-card\"},[_c('a',{staticClass:\"categories-group-list card-title\",class:{\n active: _vm.currentFormNumber === 1,\n '': _vm.currentFormNumber === 1,\n },on:{\"click\":function($event){return _vm.changeForm(1)}}},[_c('i',{staticClass:\"mdi mdi-home font-size-18 align-middle mr-2\"}),_vm._v(\" Front Page \")])]),_c('div',{staticClass:\"categories-group-card\"},[_c('a',{staticClass:\"categories-group-list card-title\",class:{\n active: _vm.currentFormNumber === 2,\n '': _vm.currentFormNumber === 2,\n },on:{\"click\":function($event){return _vm.changeForm(2)}}},[_c('i',{staticClass:\"mdi mdi-home font-size-18 align-middle mr-2\"}),_vm._v(\" Base Color \")])]),_c('div',{staticClass:\"categories-group-card\"},[_c('a',{staticClass:\"categories-group-list card-title\",class:{\n active: _vm.currentFormNumber === 3,\n '': _vm.currentFormNumber === 3,\n },on:{\"click\":function($event){return _vm.changeForm(3)}}},[_c('i',{staticClass:\"mdi mdi-home font-size-18 align-middle mr-2\"}),_vm._v(\" Header & Footer \")])])])])]),_c('div',{staticClass:\"col-lg-9 border-left\"},[_c('div',{attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_c('span',{staticClass:\"text-uppercase\"},[_vm._v(_vm._s(_vm.childData.title))])])]),_c('div',{staticClass:\"mx-1 border-top\"},[_c('b-card-sub-title',{staticClass:\"mt-3 mb-4\"},[_c('h6',{staticClass:\"card-subtitle text-center\"},[_vm._v(\" \"+_vm._s(_vm.childData.paragraph)+\" \")])]),(_vm.currentFormNumber > 0 && _vm.currentFormNumber <= _vm.totalForms)?_c('div',[_c(_vm.currentForm,{tag:\"component\",attrs:{\"formDataList\":_vm.formDataList,\"form-number\":_vm.currentFormNumber,\"selectedLogoFile\":_vm.selectedLogoFile},on:{\"form-submitnew\":_vm.handleformSubmit,\"data-mounted\":_vm.handleChildData,\"next-form\":_vm.handlenextbtn,\"prev-form\":_vm.handlePreviousBtn,\"final-submit\":_vm.finalSubmit,\"reset-form\":_vm.resetForm,\"fileSelected\":_vm.handleFileSelected}})],1):_c('div',[_c('p',[_vm._v(\"No form found\")])])],1)])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title mb-0\"},[_vm._v(\"PDF STYLER\")])])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h5',{staticClass:\"text-primary title p-2 mb-2\"},[_vm._v(\"Base color\")]),_c('b-card-body',[_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"font-family\"}},[_vm._v(\"Select base color\")]),_c('b-form-input',{staticClass:\"form-control\",attrs:{\"id\":\"font-family\",\"type\":\"color\"},model:{value:(_vm.formDataList.color),callback:function ($$v) {_vm.$set(_vm.formDataList, \"color\", $$v)},expression:\"formDataList.color\"}})],1)],1)]),_c('div',{staticClass:\"d-flex justify-content-between mt-3\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.prevForm()}}},[_vm._v(\"Previous\")])],1),_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.nextForm()}}},[_vm._v(\"Next\")])],1)]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.refreshFormData()}}},[_vm._v(\"Reset\")])],1),_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.confirm()}}},[_vm._v(\"Submit\")])],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <h5 class=\"text-primary title p-2 mb-2\">Base color</h5>\n <b-card-body>\n <div class=\"form-group row\">\n <b-col sm=\"6 mt-2 mb-0\">\n <label for=\"font-family\">Select base color</label>\n <b-form-input\n id=\"font-family\"\n v-model=\"formDataList.color\"\n type=\"color\"\n class=\"form-control\"\n ></b-form-input>\n </b-col>\n </div>\n </b-card-body>\n <!-- Button Section -->\n <div class=\"d-flex justify-content-between mt-3\">\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"prevForm()\"\n >Previous</b-button\n >\n </div>\n <div>\n <!-- Next Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"nextForm()\"\n >Next</b-button\n >\n </div>\n </div>\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"refreshFormData()\"\n >Reset</b-button\n >\n </div>\n <div>\n <!-- Submit Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"confirm()\"\n >Submit</b-button\n >\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport Swal from \"sweetalert2\";\nexport default {\n props: {\n formDataList: {\n type: Object,\n required: true,\n },\n },\n mounted() {\n const data = {\n title: \"Base Color\",\n paragraph:\n \"You can use these fields to design the technical manual's base color.\",\n icons: \"mdi mdi-page-layout-header-footer font-size-26 align-middle mr-2\",\n };\n this.$emit(\"data-mounted\", data);\n },\n created() {\n // Call the updateFormData method with your formDataList\n this.updateFormData(this.formDataList);\n },\n beforeDestroy() {\n this.submitForm();\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n convertDataToLowerCase() {\n const dataKeys = Object.keys(this.$data);\n for (const key of dataKeys) {\n const obj = this.$data[key];\n if (typeof obj === \"object\" && obj !== null) {\n const keys = Object.keys(obj);\n for (const innerKey of keys) {\n if (obj[innerKey] !== null && typeof obj[innerKey] === \"string\") {\n obj[innerKey] = obj[innerKey].toLowerCase();\n }\n }\n }\n }\n },\n async confirm() {\n this.submitForm();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n })\n .then((result) => {\n if (result.isConfirmed) {\n this.finalSubmit();\n }\n });\n },\n refreshFormData() {\n this.$emit(\"reset-form\");\n },\n updateFormData(formDataList) {\n for (const key in formDataList) {\n if (Object.prototype.hasOwnProperty.call(formDataList, key)) {\n this[key] = formDataList[key];\n }\n }\n },\n nextForm() {\n this.$emit(\"next-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n prevForm() {\n this.$emit(\"prev-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n finalSubmit() {\n this.$emit(\"final-submit\"), this.convertDataToLowerCase();\n },\n submitForm() {\n this.$emit(\"form-submitnew\", this.formDataList);\n },\n },\n};\n</script>\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.star-rating {\n display: inline-block;\n}\n\n.star {\n color: orange;\n cursor: pointer;\n position: relative;\n top: -17px;\n bottom: 0px;\n}\n\n.filled {\n color: orange;\n}\n\n@media screen and (max-width: 280px) {\n .btn {\n width: 20px;\n font-size: 8px;\n margin: 0;\n padding: 3px 4px;\n }\n\n * {\n font-size: 15px;\n }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./baseColor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./baseColor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./baseColor.vue?vue&type=template&id=25f0d934&scoped=true\"\nimport script from \"./baseColor.vue?vue&type=script&lang=js\"\nexport * from \"./baseColor.vue?vue&type=script&lang=js\"\nimport style0 from \"./baseColor.vue?vue&type=style&index=0&id=25f0d934&prod&scoped=true&lang=css\"\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 \"25f0d934\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h5',{staticClass:\"mb-0 title p-2 text-primary mb-2\"},[_vm._v(\"Cover page Logo\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"logo-image\"}},[_vm._v(\"Logo\")]),_c('input',{ref:\"fileInput\",staticClass:\"form-control-file logoFileInput\",attrs:{\"type\":\"file\",\"accept\":\".jpg, .jpeg, .png\",\"id\":\"logo-image\",\"name\":\"logo-image\"},on:{\"change\":_vm.onFileSelected}}),(_vm.pdfCoverLogoFile)?_c('span',{staticClass:\"text-single-line\"},[_vm._v(_vm._s(_vm.pdfCoverLogoFile.file.name))]):_c('span',[_vm._v(\"no file chosen\")])]),_c('p',{staticClass:\"pl-2 mb-0\"},[_vm._v(\"Logo resolution must be 150x150 pixels.\")])],1),_c('h5',{staticClass:\"mb-0 title p-2 text-primary mb-2\"},[_vm._v(\"Cover page Image\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"logo-image\"}},[_vm._v(\"Image\")]),_c('input',{ref:\"fileInput\",staticClass:\"form-control-file logoFileInput\",attrs:{\"type\":\"file\",\"accept\":\".jpg, .jpeg, .png\",\"id\":\"logo-image\",\"name\":\"logo-image\"},on:{\"change\":_vm.onImageFileSelected}}),(_vm.pdfCoverImageFile)?_c('span',{staticClass:\"text-single-line\"},[_vm._v(_vm._s(_vm.pdfCoverImageFile.file.name))]):_c('span',[_vm._v(\"no file chosen\")])]),_c('p',{staticClass:\"pl-2 mb-0\"},[_vm._v(\" Image resolution must be either 1920x1080, 2100x2970, or 1080x1920 pixels. \")])],1),_c('div',{staticClass:\"d-flex justify-content-between mt-3\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.nextForm()}}},[_vm._v(\"Next\")])],1)]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.refreshFormData()}}},[_vm._v(\"Reset\")])],1),_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.confirm()}}},[_vm._v(\"Submit\")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Cover page logo Section -->\n <h5 class=\"mb-0 title p-2 text-primary mb-2\">Cover page Logo</h5>\n <div class=\"form-group row\">\n <b-col sm=\"6 mt-2 mb-0\">\n <label for=\"logo-image\">Logo</label>\n <input\n type=\"file\"\n accept=\".jpg, .jpeg, .png\"\n class=\"form-control-file logoFileInput\"\n id=\"logo-image\"\n name=\"logo-image\"\n ref=\"fileInput\"\n @change=\"onFileSelected\"\n />\n <span v-if=\"pdfCoverLogoFile\" class=\"text-single-line\">{{\n pdfCoverLogoFile.file.name\n }}</span>\n <span v-else>no file chosen</span>\n </b-col>\n <p class=\"pl-2 mb-0\">Logo resolution must be 150x150 pixels.</p>\n </div>\n\n <h5 class=\"mb-0 title p-2 text-primary mb-2\">Cover page Image</h5>\n <div class=\"form-group row\">\n <b-col sm=\"6 mt-2 mb-0\">\n <label for=\"logo-image\">Image</label>\n <input\n type=\"file\"\n accept=\".jpg, .jpeg, .png\"\n class=\"form-control-file logoFileInput\"\n id=\"logo-image\"\n name=\"logo-image\"\n ref=\"fileInput\"\n @change=\"onImageFileSelected\"\n />\n <span v-if=\"pdfCoverImageFile\" class=\"text-single-line\">{{\n pdfCoverImageFile.file.name\n }}</span>\n <span v-else>no file chosen</span>\n </b-col>\n <p class=\"pl-2 mb-0\">\n Image resolution must be either 1920x1080, 2100x2970, or 1080x1920\n pixels.\n </p>\n </div>\n <!-- Form Submission Buttons -->\n <div class=\"d-flex justify-content-between mt-3\">\n <div class=\"d-flex\">\n <div>\n <!-- Next Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"nextForm()\"\n >Next</b-button\n >\n </div>\n </div>\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"refreshFormData()\"\n >Reset</b-button\n >\n </div>\n <div>\n <!-- Submit Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"confirm()\"\n >Submit</b-button\n >\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport Swal from \"sweetalert2\";\nexport default {\n props: {\n formDataList: {\n type: Object,\n required: true,\n },\n selectedLogoFile: {\n type: Array,\n required: true,\n validator: (value) => {\n return value.every(\n (item) => item.file instanceof File && typeof item.type === \"string\"\n );\n },\n },\n },\n mounted() {\n const data = {\n title: \"Front Page\",\n paragraph:\n \"You can use these fields to design the technical manual's front cover page.\",\n icons: \"mdi mdi-home font-size-26 align-middle mr-2\",\n };\n this.$emit(\"data-mounted\", data);\n\n // Set the selected file in the input if it exists\n if (this.selectedLogoFile) {\n this.$refs.fileInput.value = null; // Clear input value first to allow re-selection of same file\n }\n },\n computed: {\n pdfCoverLogoFile() {\n return (\n this.selectedLogoFile.find(\n (fileObj) => fileObj.type === \"pdfCoverLogo\"\n ) || null\n );\n },\n pdfCoverImageFile() {\n return (\n this.selectedLogoFile.find(\n (fileObj) => fileObj.type === \"pdfCoverImage\"\n ) || null\n );\n },\n },\n created() {\n this.updateFormData(this.formDataList);\n },\n beforeDestroy() {\n this.submitForm();\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n convertDataToLowerCase() {\n const dataKeys = Object.keys(this.$data);\n for (const key of dataKeys) {\n const obj = this.$data[key];\n if (typeof obj === \"object\" && obj !== null) {\n const keys = Object.keys(obj);\n for (const innerKey of keys) {\n if (obj[innerKey] !== null && typeof obj[innerKey] === \"string\") {\n obj[innerKey] = obj[innerKey].toLowerCase();\n }\n }\n }\n }\n },\n async confirm() {\n this.submitForm();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n icon: \"success\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n })\n .then((result) => {\n if (result.isConfirmed) {\n this.finalSubmit();\n }\n });\n },\n updateFormData(formDataList) {\n for (const key in formDataList) {\n if (Object.prototype.hasOwnProperty.call(formDataList, key)) {\n this[key] = formDataList[key];\n }\n }\n },\n\n onFileSelected(event) {\n const file = event.target.files[0];\n if (!file) return;\n\n // Create image element to check dimensions\n const img = new Image();\n const objectUrl = URL.createObjectURL(file);\n\n img.onload = () => {\n URL.revokeObjectURL(objectUrl); // Clean up\n\n const width = img.width;\n const height = img.height;\n\n // Allowed resolutions\n const allowedResolutions = [{ width: 150, height: 150 }];\n\n // Check if resolution matches any of the allowed ones\n const isValidResolution = allowedResolutions.some(\n (res) => width === res.width && height === res.height\n );\n\n if (!isValidResolution) {\n this.messageToast(\n \"Invalid image selected\",\n \"danger\",\n \"Logo resolution must be 150x150 pixels.\"\n );\n return;\n }\n\n const fileObj = {\n file,\n type: \"pdfCoverLogo\",\n coverLogoName: file.name,\n };\n this.$emit(\"fileSelected\", fileObj);\n };\n\n img.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n throw new Error(\"Failed to load image file\");\n };\n\n img.src = objectUrl;\n },\n onImageFileSelected(event) {\n const file = event.target.files[0];\n if (!file) return;\n\n // Create image element to check dimensions\n const img = new Image();\n const objectUrl = URL.createObjectURL(file);\n\n img.onload = () => {\n URL.revokeObjectURL(objectUrl); // Clean up\n\n const width = img.width;\n const height = img.height;\n\n // Allowed resolutions\n const allowedResolutions = [\n { width: 1920, height: 1080 },\n { width: 2100, height: 2970 },\n { width: 1080, height: 1920 },\n ];\n\n // Check if resolution matches any of the allowed ones\n const isValidResolution = allowedResolutions.some(\n (res) => width === res.width && height === res.height\n );\n\n if (!isValidResolution) {\n this.messageToast(\n \"Invalid image selected\",\n \"danger\",\n \"Image resolution must be either 1920x1080, 2100x2970, or 1080x1920 pixels\"\n );\n return;\n }\n\n // If everything is valid, emit the file\n const fileObj = {\n file,\n type: \"pdfCoverImage\",\n coverImageName: file.name,\n };\n this.$emit(\"fileSelected\", fileObj);\n };\n\n img.onerror = () => {\n URL.revokeObjectURL(objectUrl);\n throw new Error(\"Failed to load image file\");\n };\n\n img.src = objectUrl;\n },\n refreshFormData() {\n this.$emit(\"reset-form\");\n },\n nextForm() {\n this.$emit(\"next-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n prevForm() {\n this.$emit(\"prev-form\");\n this.submitForm(), this.convertDataToLowerCase();\n },\n submitForm() {\n this.$emit(\"form-submitnew\", {});\n },\n finalSubmit() {\n this.$emit(\"final-submit\"), this.convertDataToLowerCase();\n },\n handleprogress() {\n this.$emit(\"start-progress\", {});\n },\n },\n};\n</script>\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.star-rating {\n display: inline-block;\n}\n\n.star {\n color: orange;\n cursor: pointer;\n position: relative;\n top: -17px;\n bottom: 0px;\n}\n\n.form-group {\n margin: 10px;\n}\n\n.filled {\n color: orange;\n}\n\n.logoFileInput {\n color: rgba(0, 0, 0, 0);\n}\n\n.text-single-line {\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@media screen and (max-width: 280px) {\n .btn {\n width: 20px;\n font-size: 8px;\n margin: 0;\n padding: 3px 4px;\n }\n\n * {\n font-size: 15px;\n }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./frontpage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./frontpage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./frontpage.vue?vue&type=template&id=fc7e975c&scoped=true\"\nimport script from \"./frontpage.vue?vue&type=script&lang=js\"\nexport * from \"./frontpage.vue?vue&type=script&lang=js\"\nimport style0 from \"./frontpage.vue?vue&type=style&index=0&id=fc7e975c&prod&scoped=true&lang=css\"\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 \"fc7e975c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h5',{staticClass:\"mb-0 title text-primary mb-2\"},[_vm._v(\"Header Logo\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"header-logo-image\"}},[_vm._v(\"Image\")]),_c('input',{ref:\"fileInput\",staticClass:\"form-control-file logoFileInput\",attrs:{\"type\":\"file\",\"accept\":\".jpg, .jpeg, .png\",\"id\":\"header-logo-image\",\"name\":\"header-logo-image\"},on:{\"change\":_vm.onFileSelected}}),(_vm.pdfHeaderLogoFile)?_c('span',{staticClass:\"text-single-line\"},[_vm._v(_vm._s(_vm.pdfHeaderLogoFile.file.name))]):_c('span',[_vm._v(\"no file chosen\")])])],1),_c('h5',{staticClass:\"mb-0 title text-primary mb-2\"},[_vm._v(\"Footer\")]),_c('div',{staticClass:\"form-group row\"},[_c('b-col',{attrs:{\"sm\":\"6 mt-2 mb-0\"}},[_c('label',{attrs:{\"for\":\"company-name\"}},[_vm._v(\"Company Name\")]),_c('b-form-input',{staticClass:\"form-control\",attrs:{\"id\":\"company-name\",\"type\":\"text\",\"placeholder\":\"Enter company name\"},model:{value:(_vm.formDataList.footer.companyName),callback:function ($$v) {_vm.$set(_vm.formDataList.footer, \"companyName\", $$v)},expression:\"formDataList.footer.companyName\"}})],1)],1),_c('div',{staticClass:\"d-flex justify-content-between mt-3\"},[_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.prevForm()}}},[_vm._v(\"Previous\")])],1)]),_c('div',{staticClass:\"d-flex\"},[_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 mr-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":function($event){$event.preventDefault();return _vm.refreshFormData()}}},[_vm._v(\"Reset\")])],1),_c('div',[_c('b-button',{staticClass:\"w-100 mb-2 ml-2\",attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.confirm()}}},[_vm._v(\"Submit\")])],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Header Logo Section -->\n <h5 class=\"mb-0 title text-primary mb-2\">Header Logo</h5>\n <div class=\"form-group row\">\n <b-col sm=\"6 mt-2 mb-0\">\n <label for=\"header-logo-image\">Image</label>\n <input\n type=\"file\"\n accept=\".jpg, .jpeg, .png\"\n class=\"form-control-file logoFileInput\"\n id=\"header-logo-image\"\n name=\"header-logo-image\"\n ref=\"fileInput\"\n @change=\"onFileSelected\"\n />\n <span v-if=\"pdfHeaderLogoFile\" class=\"text-single-line\">{{\n pdfHeaderLogoFile.file.name\n }}</span>\n <span v-else>no file chosen</span>\n </b-col>\n </div>\n\n <!-- Company Name Input Section -->\n <h5 class=\"mb-0 title text-primary mb-2\">Footer</h5>\n <div class=\"form-group row\">\n <b-col sm=\"6 mt-2 mb-0\">\n <label for=\"company-name\">Company Name</label>\n <b-form-input\n id=\"company-name\"\n v-model=\"formDataList.footer.companyName\"\n type=\"text\"\n class=\"form-control\"\n placeholder=\"Enter company name\"\n />\n </b-col>\n </div>\n\n <!-- Button Section -->\n <div class=\"d-flex justify-content-between mt-3\">\n <div class=\"d-flex\">\n <div>\n <!-- Previous Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"prevForm()\"\n >Previous</b-button\n >\n </div>\n </div>\n <div class=\"d-flex\">\n <div>\n <!-- Reset Button -->\n <b-button\n size=\"sm\"\n variant=\"light\"\n class=\"w-100 mb-2 mr-2\"\n @click.prevent=\"refreshFormData()\"\n >Reset</b-button\n >\n </div>\n <div>\n <!-- Submit Button -->\n <b-button\n size=\"sm\"\n variant=\"primary\"\n class=\"w-100 mb-2 ml-2\"\n @click.prevent=\"confirm()\"\n >Submit</b-button\n >\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Swal from \"sweetalert2\";\n\nexport default {\n props: {\n formDataList: {\n type: Object,\n required: true,\n },\n selectedLogoFile: {\n type: Array,\n required: true,\n validator: (value) => {\n return value.every(\n (item) => item.file instanceof File && typeof item.type === \"string\"\n );\n },\n },\n },\n mounted() {\n const data = {\n title: \"Header/Footer\",\n paragraph:\n \"You can use these fields to design the technical manual's header logo and footer customizations.\",\n icons: \"mdi mdi-page-layout-header-footer font-size-26 align-middle mr-2\",\n };\n this.$emit(\"data-mounted\", data);\n\n if (this.selectedLogoFile) {\n this.$refs.fileInput.value = null; // Clear input value first to allow re-selection of same file\n }\n },\n computed: {\n pdfHeaderLogoFile() {\n return (\n this.selectedLogoFile.find(\n (fileObj) => fileObj.type === \"pdfHeaderLogo\"\n ) || null\n );\n },\n },\n created() {\n this.updateFormData(this.formDataList);\n },\n beforeDestroy() {\n this.submitForm();\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n convertDataToLowerCase() {\n const dataKeys = Object.keys(this.$data);\n for (const key of dataKeys) {\n const obj = this.$data[key];\n if (typeof obj === \"object\" && obj !== null) {\n const keys = Object.keys(obj);\n for (const innerKey of keys) {\n if (obj[innerKey] !== null && typeof obj[innerKey] === \"string\") {\n obj[innerKey] = obj[innerKey].toLowerCase();\n }\n }\n }\n }\n },\n onFileSelected(event) {\n const fileInput = event.target;\n const file = fileInput.files[0];\n if (!file) return;\n\n const fileSize = file.size / 1024 / 1024;\n if (fileSize > 3) {\n this.messageToast(\n \"Error\",\n \"danger\",\n \"File size should not exceed 3 MB\"\n );\n fileInput.value = \"\";\n return;\n }\n\n const fileObj = {\n file,\n type: \"pdfHeaderLogo\",\n headerLogoName: file.name,\n };\n this.$emit(\"fileSelected\", fileObj);\n },\n async confirm() {\n this.submitForm();\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n })\n .then((result) => {\n if (result.isConfirmed) {\n this.finalSubmit();\n }\n });\n },\n refreshFormData() {\n this.$emit(\"reset-form\");\n },\n updateFormData(formDataList) {\n for (const key in formDataList) {\n if (Object.prototype.hasOwnProperty.call(formDataList, key)) {\n this[key] = formDataList[key];\n }\n }\n },\n prevForm() {\n this.$emit(\"prev-form\");\n this.submitForm();\n this.convertDataToLowerCase();\n },\n finalSubmit() {\n this.$emit(\"final-submit\");\n this.convertDataToLowerCase();\n },\n submitForm() {\n this.$emit(\"form-submitnew\", this.formDataList);\n },\n },\n};\n</script>\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.star-rating {\n display: inline-block;\n}\n\n.star {\n color: orange;\n cursor: pointer;\n position: relative;\n top: -17px;\n bottom: 0px;\n}\n\n.logoFileInput {\n color: rgba(0, 0, 0, 0);\n}\n\n.filled {\n color: orange;\n}\n\n@media screen and (max-width: 280px) {\n .btn {\n width: 20px;\n font-size: 8px;\n margin: 0;\n padding: 3px 4px;\n }\n\n * {\n font-size: 15px;\n }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./headerfooter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./headerfooter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./headerfooter.vue?vue&type=template&id=7bf7569b&scoped=true\"\nimport script from \"./headerfooter.vue?vue&type=script&lang=js\"\nexport * from \"./headerfooter.vue?vue&type=script&lang=js\"\nimport style0 from \"./headerfooter.vue?vue&type=style&index=0&id=7bf7569b&prod&scoped=true&lang=css\"\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 \"7bf7569b\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Progress Modal -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n hide-header\n title=\"Processing\"\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Working on customization to receive the desired output.</p>\n <b-progress\n :value=\"progress\"\n :max=\"100\"\n class=\"custom-progress\"\n ></b-progress>\n </b-modal>\n <!-- Sidebar -->\n <div class=\"row\">\n <div class=\"col-xl-3 col-lg-4 user-select-none\">\n <div no-body>\n <div\n class=\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">PDF STYLER</div>\n </div>\n <div class=\"border-top\">\n <div class=\"categories-group-card\">\n <a\n class=\"categories-group-list card-title\"\n :class=\"{\n active: currentFormNumber === 1,\n '': currentFormNumber === 1,\n }\"\n @click=\"changeForm(1)\"\n >\n <i class=\"mdi mdi-home font-size-18 align-middle mr-2\"></i>\n Front Page\n </a>\n </div>\n <div class=\"categories-group-card\">\n <a\n class=\"categories-group-list card-title\"\n :class=\"{\n active: currentFormNumber === 2,\n '': currentFormNumber === 2,\n }\"\n @click=\"changeForm(2)\"\n >\n <i class=\"mdi mdi-home font-size-18 align-middle mr-2\"></i>\n Base Color\n </a>\n </div>\n <div class=\"categories-group-card\">\n <a\n class=\"categories-group-list card-title\"\n :class=\"{\n active: currentFormNumber === 3,\n '': currentFormNumber === 3,\n }\"\n @click=\"changeForm(3)\"\n >\n <i class=\"mdi mdi-home font-size-18 align-middle mr-2\"></i>\n Header & Footer\n </a>\n </div>\n </div>\n </div>\n </div>\n <!-- Main Content Area -->\n <div class=\"col-lg-9 border-left\">\n <div no-body>\n <div\n class=\"custom-html-styler d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title mb-0\">\n <span class=\"text-uppercase\">{{ childData.title }}</span>\n </div>\n </div>\n <div class=\"mx-1 border-top\">\n <b-card-sub-title class=\"mt-3 mb-4\">\n <h6 class=\"card-subtitle text-center\">\n {{ childData.paragraph }}\n </h6>\n </b-card-sub-title>\n <!-- Conditional rendering of form components -->\n <div\n v-if=\"currentFormNumber > 0 && currentFormNumber <= totalForms\"\n >\n <!-- Dynamic Form Component -->\n <component\n :formDataList=\"formDataList\"\n :is=\"currentForm\"\n :form-number=\"currentFormNumber\"\n :selectedLogoFile=\"selectedLogoFile\"\n @form-submitnew=\"handleformSubmit\"\n @data-mounted=\"handleChildData\"\n @next-form=\"handlenextbtn\"\n @prev-form=\"handlePreviousBtn\"\n @final-submit=\"finalSubmit\"\n @reset-form=\"resetForm\"\n @fileSelected=\"handleFileSelected\"\n ></component>\n </div>\n <div v-else>\n <p>No form found</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport baseColor from \"./components/baseColor.vue\";\nimport frontpage from \"./components/frontpage.vue\";\nimport headerfooter from \"./components/headerfooter.vue\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nexport default {\n components: {\n frontpage,\n baseColor,\n headerfooter,\n },\n data() {\n return {\n progress: 0,\n condition: true,\n currentFormNumber: 1,\n totalForms: 3,\n formDataList: {\n color: \"#000000\",\n footer: {\n companyName: \"\",\n },\n coverLogoName: \"\",\n coverImageName: \"\",\n headerLogoName: \"\",\n },\n childData: {},\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectedLogoFile: [],\n };\n },\n computed: {\n _() {\n return _;\n },\n currentForm() {\n switch (this.currentFormNumber) {\n case 1:\n return \"frontpage\";\n case 2:\n return \"baseColor\";\n case 3:\n return \"headerfooter\";\n default:\n return null;\n }\n },\n },\n methods: {\n handleChildData(data) {\n this.childData = data;\n },\n async defaultalert() {\n if (this.condition) {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n await swalWithBootstrapButtons\n .fire({\n title: \"Do you want to confirm changes?\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Confirm\",\n cancelButtonText: \"No\",\n })\n .then((result) => {\n if (result.isConfirmed) {\n this.handledefualt();\n }\n });\n }\n },\n resetForm() {\n this.formDataList = {\n color: \"#000000\",\n footer: {\n companyName: \"\",\n },\n coverLogoName: \"\",\n coverImageName: \"\",\n headerLogoName: \"\",\n };\n console.log(\"reset: \", this.selectedLogoFile)\n this.selectedLogoFile = [];\n console.log(\"after reset: \", this.selectedLogoFile)\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n changeForm(formNumber) {\n this.currentFormNumber = formNumber;\n },\n handleformSubmit(formData) {\n this.formDataList = JSON.parse(\n JSON.stringify({\n ...this.formDataList,\n ...formData,\n })\n );\n },\n handlenextbtn() {\n if (this.currentFormNumber < this.totalForms) {\n this.currentFormNumber++;\n }\n },\n handlePreviousBtn() {\n if (this.currentFormNumber > 1) {\n this.currentFormNumber--;\n }\n },\n redirectDocPublishrer() {\n const encodedRepouser = encodeURIComponent(this.$route.params.repouser);\n const encodedReponame = encodeURIComponent(this.$route.params.reponame);\n const encodedBranch = encodeURIComponent(this.$route.params.repobranch);\n this.$router.push({\n path: `/pdfdocstyler/docpublisher/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n },\n\n async saveLogoImage(fileArray) {\n const formData = new FormData();\n for (const file of fileArray) {\n formData.append(file.type, file.file);\n }\n const userId = this.$store.state.Auth.userId;\n const orgId = this.$store.state.Auth.orgId;\n await this.$store.getters.client.post(\n `/orguser/docstyler/uploadPdfLogo?userId=${userId}&orgId=${orgId}`,\n formData,\n {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n }\n );\n },\n\n async finalSubmit() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n if (this.selectedLogoFile.length > 0) {\n await this.saveLogoImage(this.selectedLogoFile);\n }\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: this.formDataList,\n };\n await this.$store.getters.client.post(\n `/orguser/docstyler/customizePdfOutput`,\n body\n );\n this.messageToast(\"Success\", \"primary\", \"Changes made successfully.\");\n setTimeout(() => {\n this.redirectDocPublishrer();\n }, 1500);\n } catch (error) {\n console.log(\"📢[index.vue:412]: error: \", error);\n const resMsg = error.response\n ? error.response.data.message\n : error.message\n ? error.message\n : \"Error in customizing the output\";\n this.messageToast(\"Invalid request\", \"danger\", resMsg);\n } finally {\n loader.hide();\n }\n },\n handledefualt() {\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: {},\n };\n this.$store.getters.client\n .post(`/orguser/docstyler/customizePdfOutput`, body)\n .then(() => {\n this.redirectDocPublishrer();\n this.messageToast(\n \"Success\",\n \"primary\",\n \"Your DITA-OT has been reset to its default settings.\"\n );\n })\n .catch((err) => {\n this.messageToast(\"Invalid request\", \"danger\", err.data.message);\n });\n },\n handleFileSelected(fileObj) {\n const existingIndex = this.selectedLogoFile.findIndex(\n (item) => item.type === fileObj.type\n );\n\n if (existingIndex !== -1) {\n this.selectedLogoFile.splice(existingIndex, 1, fileObj);\n } else {\n this.selectedLogoFile.push(fileObj);\n }\n\n if (Object.prototype.hasOwnProperty.call(fileObj, 'coverLogoName')) {\n this.formDataList.coverLogoName = fileObj.coverLogoName;\n } \n\n if (Object.prototype.hasOwnProperty.call(fileObj, 'headerLogoName')) {\n this.formDataList.headerLogoName = fileObj.headerLogoName;\n }\n \n if (Object.prototype.hasOwnProperty.call(fileObj, 'coverImageName')) {\n this.formDataList.coverImageName = fileObj.coverImageName;\n }\n },\n },\n};\n</script>\n<style scoped>\n.custom-html-styler {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n\n.custon-btn {\n background: #2b313f !important;\n color: #fff !important;\n border-color: #2b313f !important;\n width: 90px;\n height: 30px;\n}\n\n.btn-info {\n width: 130px;\n\n height: 30px;\n}\n\n.btn-container {\n display: flex;\n overflow-x: scroll;\n}\n\n.card-btn {\n margin: 10px;\n float: right;\n}\n\n.categories-group-list {\n cursor: pointer;\n font-size: 12px;\n font-weight: 400;\n line-height: 22px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.categories-group-list.active {\n color: rgba(254, 94, 69, 1);\n}\n\n.bg-card {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 0px;\n padding: 0px;\n}\n\n.bg-navbar {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 1vh;\n padding: 0px;\n}\n\n.bg-header {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 1vh;\n padding: 0px;\n}\n\n.custom-header {\n background-color: rgb(95, 163, 240) !important;\n margin-bottom: 0px;\n padding: 0px;\n}\n\n.headers-icons {\n color: #ffffff;\n font-size: 30px;\n margin-right: 5px;\n}\n\n.card-title {\n font-size: 15px;\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n.card-titleNavbar {\n font-size: 15px;\n font-size: 15px;\n margin-top: 0px;\n margin-bottom: 0px;\n}\n\n.card-subtitle {\n margin-bottom: -10px;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n\n.form-header {\n margin: -12px 0 -6px 0;\n}\n\n.custom-progress {\n height: 5px;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=79c30866&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=79c30866&prod&scoped=true&lang=css\"\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 \"79c30866\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <div>\n <!-- Page Header Component -->\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <div class=\"d-flex align-items-center justify-content-between mb-2\">\n <!-- Project Name Badge -->\n <div>\n <div class=\"mr-2 px-1\">\n <span class=\"project-name\">{{ projectName }}</span>\n </div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n </div>\n </div>\n <!-- Bootstrap Vue Tabs -->\n <b-tabs\n class=\"custom-tabs bg-white\"\n v-model=\"activeTab\"\n justified\n nav-class=\"nav-tabs-custom\"\n content-class=\"p-3 text-muted\"\n >\n <!-- HTML Styler Tab -->\n <b-tab title=\"HTML Styler\" active>\n <htmlstyler></htmlstyler>\n </b-tab>\n <!-- PDF Styler Tab -->\n <b-tab title=\"PDF Styler\">\n <pdfstyler></pdfstyler>\n </b-tab>\n </b-tabs>\n </div>\n </div>\n</template>\n<script>\nimport { BTabs, BTab } from \"bootstrap-vue\";\nimport htmlstyler from \"./htmlstyler/index.vue\";\nimport pdfstyler from \"./pdfstyler/index.vue\";\nimport checkurl from \"../../../components/urlvalidator\";\nimport { eventBus } from \"../../../main\";\nimport { mapGetters } from \"vuex\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../api/global.env\";\nexport default {\n components: {\n BTabs,\n BTab,\n htmlstyler,\n pdfstyler,\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n data() {\n return {\n ditaotVersion: \"\",\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n activeTab: 0,\n title: \"DocStyler\",\n items: [\n {\n text: \"Projects\",\n href: `/docmanager`,\n },\n {\n text: \"DocEditor\",\n href: `/doceditor/${encodeURIComponent(\n this.$route.params.repouser\n )}/${encodeURIComponent(\n this.$route.params.reponame\n )}/${encodeURIComponent(this.$route.params.repobranch)}`,\n },\n {\n text: \"DocStyler\",\n active: true,\n },\n ],\n };\n },\n mounted() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n },\n};\n</script>\n<style scoped>\n.custom-source {\n padding: 14px;\n gap: 24px;\n}\n.custom-title {\n font-size: 18px;\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n.btabs-height {\n height: 100%;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n background-color: rgb(153, 177, 255) !important;\n color: #fff !important;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=07a9e2a1&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=07a9e2a1&prod&scoped=true&lang=css\"\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 \"07a9e2a1\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"mr-2 px-1\"},[_c('span',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.projectName))])]),_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])]),_c('div',{staticClass:\"row\"},[(_vm.ditaOtVersions !== null)?_c('div',{staticClass:\"col-xl-12\"},[_c('generateoutput',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"hide-header\":\"\",\"title-class\":\"font-18\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Document publishing is currently in progress.\")]),_c('b-progress',{attrs:{\"value\":75,\"max\":100,\"animated\":\"\"}})],1),_c('b-modal',{ref:\"pull-modal\",attrs:{\"size\":\"lg\",\"centered\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-escer\":\"\",\"title\":\"Create a Pull Request\"}},[_c('div',{staticClass:\"d-block\"},[_c('p',{staticClass:\"modal-text\"},[_vm._v(\"Your files are not updated. Update now.\")])]),_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-primary mt-2 px-2 py-1 btn-sm\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.createPullreq()}}},[_vm._v(\" Pull Repository \")])])]),_c('b-modal',{ref:\"modalcommit\",attrs:{\"id\":\"modal-commit\",\"title\":\"Commit Output\",\"title-class\":\"font-18\",\"hide-footer\":\"\"},model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('div',[_c('b-form-group',{attrs:{\"label\":\"Commit Message\"}},[_c('b-form-input',{attrs:{\"for\":\"text\"},model:{value:(_vm.commitMsg),callback:function ($$v) {_vm.commitMsg=$$v},expression:\"commitMsg\"}})],1),_c('button',{staticClass:\"btn btn-sm btn-primary\",on:{\"click\":function($event){return _vm.commitOutput()}}},[_vm._v(\" Commit \")])],1)]),(_vm.hideform)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-6\"},[_c('div',{staticClass:\"bg-primary text-white\"}),_c('div',{staticClass:\"card shadow-sm\"},[_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"mb-4\"},[_vm._v(\"Project Name : \"+_vm._s(_vm.projectName))]),_c('p',[_vm._v(\"Important! Commit changes to download the output.\")]),_c('div',{staticClass:\"d-flex justify-content-center pt-1\"},[_c('button',{staticClass:\"btn btn-primary btn-sm mr-2 mb-2\",attrs:{\"disabled\":_vm.disablecommitbutton},on:{\"click\":function($event){$event.preventDefault();return _vm.githubCommit.apply(null, arguments)}}},[_vm._v(\" Commit on GitHub \")]),_c('button',{staticClass:\"btn btn-light btn-sm mr-2 mb-2\",on:{\"click\":function($event){return _vm.downloadFun()}}},[_vm._v(\" Download Output \")])])])])])]):_vm._e(),(!_vm.hideform)?_c('div',{staticClass:\"card mt-4\"},[_c('div',{staticClass:\"card-body\"},[_c('form',{attrs:{\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.releaseTitle),expression:\"typeform.releaseTitle\"}],staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.releaseTitle.$error,\n },attrs:{\"required\":\"\",\"name\":\"releaseTitle\",\"type\":\"text\",\"id\":\"releaseTitle\",\"placeholder\":\"Enter release title\"},domProps:{\"value\":(_vm.typeform.releaseTitle)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.typeform, \"releaseTitle\", $event.target.value)}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('releaseTitle') &&\n _vm._.find(_vm.errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n ),expression:\"\\n errors.has('releaseTitle') &&\\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\\n 'required'\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Title field is required\")])])]),_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.inputPath),expression:\"typeform.inputPath\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"inputPath\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\" Select source Ditamap \")]),_vm._l((_vm.selectInput),function(data){return _c('option',{key:data.path,domProps:{\"value\":data.path}},[_vm._v(\" \"+_vm._s(data.fileName)+\" \")])})],2)])]),_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.outputFormat),expression:\"typeform.outputFormat\"}],staticClass:\"form-control\",attrs:{\"required\":\"\",\"disabled\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"outputFormat\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"Select output format\")]),_c('option',{domProps:{\"value\":_vm.outputFormatData[0].transtype}},[_vm._v(\" \"+_vm._s(_vm.outputFormatData[0].transtype)+\" \")])])])]),_c('div',{staticClass:\"form-group text-right mb-0\"},[_c('div',[_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"disabled\":!(\n _vm.typeform.outputFormat &&\n _vm.typeform.inputPath &&\n _vm.typeform.releaseTitle\n )},on:{\"click\":function($event){return _vm.generateOutputFun(_vm.projectPath, _vm.workspacePath)}}},[_vm._v(\" Transform \")]),_c('button',{staticClass:\"btn btn-sm btn-light m-l-5 ml-1\",on:{\"click\":function($event){return _vm.resetform()}}},[_vm._v(\" Cancel \")])])])])])]):_vm._e()],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Title \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Input Source Ditamap \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Output Format \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Modal for showing processing progress -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n hide-header\n title-class=\"font-18\"\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Document publishing is currently in progress.</p>\n <b-progress :value=\"75\" :max=\"100\" animated></b-progress>\n </b-modal>\n <!-- Modal for creating a pull request -->\n <b-modal\n size=\"lg\"\n ref=\"pull-modal\"\n centered\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-escer\n title=\"Create a Pull Request\"\n >\n <div class=\"d-block\">\n <p class=\"modal-text\">Your files are not updated. Update now.</p>\n </div>\n <div class=\"text-center\">\n <button\n class=\"btn btn-primary mt-2 px-2 py-1 btn-sm\"\n block\n @click=\"createPullreq()\"\n >\n Pull Repository\n </button>\n </div>\n </b-modal>\n <!-- Modal for committing output -->\n <b-modal\n id=\"modal-commit\"\n v-model=\"showModal\"\n ref=\"modalcommit\"\n title=\"Commit Output\"\n title-class=\"font-18\"\n hide-footer\n >\n <div>\n <b-form-group label=\"Commit Message\">\n <b-form-input for=\"text\" v-model=\"commitMsg\"></b-form-input>\n </b-form-group>\n <button class=\"btn btn-sm btn-primary\" v-on:click=\"commitOutput()\">\n Commit\n </button>\n </div>\n </b-modal>\n <!-- Form for project information -->\n <div v-if=\"hideform\" class=\"row justify-content-center\">\n <div class=\"col-md-6\">\n <div class=\"bg-primary text-white\"></div>\n <div class=\"card shadow-sm\">\n <div class=\"card-body\">\n <h5 class=\"mb-4\">Project Name : {{ projectName }}</h5>\n <p>Important! Commit changes to download the output.</p>\n <div class=\"d-flex justify-content-center pt-1\">\n <button\n class=\"btn btn-primary btn-sm mr-2 mb-2\"\n :disabled=\"disablecommitbutton\"\n @click.prevent=\"githubCommit\"\n >\n Commit on GitHub\n </button>\n <button\n v-on:click=\"downloadFun()\"\n class=\"btn btn-light btn-sm mr-2 mb-2\"\n >\n Download Output\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Form for release information -->\n <div v-if=\"!hideform\" class=\"card mt-4\">\n <div class=\"card-body\">\n <form novalidate @submit.prevent>\n <div class=\"form-group\">\n <label>Title <span class=\"text-secondary\">*</span></label>\n <input\n v-validate=\"'required'\"\n required\n v-model=\"typeform.releaseTitle\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"releaseTitle\"\n type=\"text\"\n id=\"releaseTitle\"\n class=\"form-control\"\n placeholder=\"Enter release title\"\n :class=\"{\n 'is-invalid': submitted && $v.releaseTitle.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('releaseTitle') &&\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n \"\n >\n <span>Title field is required</span>\n </p>\n </div>\n <div class=\"form-group\">\n <label\n >Input Source Ditamap <span class=\"text-secondary\">*</span></label\n >\n <div>\n <select\n class=\"form-control\"\n v-model=\"typeform.inputPath\"\n required\n >\n <option value=\"\" disabled selected>\n Select source Ditamap\n </option>\n <option\n v-for=\"data in selectInput\"\n :key=\"data.path\"\n :value=\"data.path\"\n >\n {{ data.fileName }}\n </option>\n </select>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Output Format <span class=\"text-secondary\">*</span></label>\n <div>\n <select\n class=\"form-control\"\n v-model=\"typeform.outputFormat\"\n required\n disabled\n >\n <option value=\"\" disabled selected>Select output format</option>\n <option :value=\"outputFormatData[0].transtype\">\n {{ outputFormatData[0].transtype }}\n </option>\n </select>\n </div>\n </div>\n <div class=\"form-group text-right mb-0\">\n <div>\n <button\n :disabled=\"\n !(\n typeform.outputFormat &&\n typeform.inputPath &&\n typeform.releaseTitle\n )\n \"\n class=\"btn btn-primary btn-sm\"\n v-on:click=\"generateOutputFun(projectPath, workspacePath)\"\n >\n Transform\n </button>\n <button\n @click=\"resetform()\"\n class=\"btn btn-sm btn-light m-l-5 ml-1\"\n >\n Cancel\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport checkurl from \"../../../../../components/urlvalidator\";\nimport { eventBus } from \"../../../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../../api/global.env\";\n\nimport downloadSourceFiles from \"../../../../../services/download-source-files\";\nexport default {\n props: {\n ditaotVersion: String,\n },\n data() {\n return {\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n userName: this.$store.state.Auth.userName,\n typeform: {\n inputPath: \"\",\n outputPath: \"\",\n outputFormat: \"\",\n releaseTitle: \"\",\n },\n selectInput: null,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectOutputFormat: null,\n submitted: false,\n projectPath: null,\n typesubmit: false,\n workspacePath: null,\n disablebutton: false,\n disablecommitbutton: true,\n disabledownloadbutton: true,\n commitMsg: null,\n hideform: false,\n showModal: false,\n outputFormatData: null,\n model: \"\",\n releaseParams: null,\n outputURL: null,\n gitToken: this.$store.state.Auth.gitToken,\n urlParserRegex: /^[/]([^/]+)[/]([^/]+)[/]tree[/]([^/]+)[/](.*)/,\n };\n },\n created() {\n this.getWorkspace();\n this.hideform = false;\n },\n mounted() {\n this.getoutputFormat();\n this.outputURL = `https://github.com/${this.repouser}/${this.projectName}/tree/main/output`;\n this.hideform = false;\n },\n computed: {\n _() {\n return _;\n },\n outputFormats() {\n return Object.values(this.selectOutputFormat);\n },\n },\n methods: {\n preventLeadingSpace(e) {\n // only prevent the keypress if the value is blank\n if (!e.target.value) e.preventDefault();\n // otherwise, if the leading character is a space, remove all leading white-space\n else if (e.target.value[0] == \" \")\n e.target.value = e.target.value.replace(/^\\s*/, \"\");\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = this.$route.params.reponame;\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n createPullreq() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .post(\n `/orguser/workspace/pullGitChanges?projectName=${this.projectName}`\n )\n .then((res) => {\n this.$store.getters.client\n .get(`/orguser/workspace/filecontent?path=${this.currentfilePath}`)\n .then((res) => {\n eventBus.$emit(\"getcontent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"textViewContent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"clearHistory\");\n })\n .catch(() => {});\n res;\n this.$refs[\"pull-modal\"].hide();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Pull request completed\");\n })\n .catch((err) => {\n loader.hide();\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n },\n async getWorkspace() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/byuserId?userId=${this.userId}`)\n .then(async (res) => {\n let path = res.data.installedPath + `/${this.projectName}`;\n this.workspacePath = res.data.installedPath;\n this.projectPath = res.data.installedPath + \"/\" + this.projectName;\n await this.$store.getters.client\n .post(`/orguser/workspace/fetchGitRemoteChanges?path=${path}`)\n .then((res) => {\n if (\n res.data.message.includes(\"please pull your branch to proceed\")\n ) {\n this.$refs[\"pull-modal\"].show();\n }\n });\n let ext = \"ditamap\";\n await this.$store.getters.client\n .get(`/orguser/workspace/inputfiles?path=${path}&extenssion=${ext}`)\n .then((res) => {\n loader.hide();\n this.selectInput = res.data;\n })\n .catch(() => {\n loader.hide();\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/repotree?path=${path}`)\n .then((tres) => {\n loader.hide();\n this.model = tres.data;\n })\n .catch(() => {\n loader.hide();\n });\n })\n .catch(() => {\n loader.hide();\n });\n },\n async generateOutputFun(path, workspacePath) {\n this.disablebutton = true;\n let bitPath = workspacePath + \"/dita-ot-\" + this.ditaotVersion + \"/bin\";\n let outputParams = {\n inputPath: this.typeform.inputPath,\n binPath: bitPath,\n ditaotVersion: this.ditaotVersion,\n outputPath: path + \"/output\",\n outputFormat: this.typeform.outputFormat,\n };\n this.releaseParams = {\n ditaMapFileName: this.typeform.inputPath.split(\"/\").pop(),\n outputFormat: this.typeform.outputFormat,\n ditaotVersion: this.ditaotVersion,\n orgId: this.orgId,\n userId: this.userId,\n releaseTitle: this.typeform.releaseTitle,\n releasedBy: this.userName,\n projectName: this.projectName,\n };\n await this.$validator.validateAll().then((result) => {\n if (result) {\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .post(`/orguser/docpublish`, outputParams)\n .then((res) => {\n this.disablebutton = false;\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\"Success\", \"primary\", res.data.message);\n this.typeform.inputPath = null;\n this.hideform = true;\n // this.typeform.outputFormat = null;\n this.disablecommitbutton = false;\n this.typeform.releaseTitle = null;\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n }\n });\n },\n commitOnGithub() {\n this.showModal = true;\n },\n githubCommit() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n title: \"Add description to submit and commit.\",\n input: \"text\",\n showCancelButton: true,\n confirmButtonText: \"Submit\",\n showLoaderOnConfirm: true,\n confirmButtonColor: \"#556ee6\",\n cancelButtonColor: \"#f46a6a\",\n preConfirm: (commitMsg) => {\n return new Promise((resolve, reject) => {\n if (commitMsg.trim() === \"\") {\n reject(new Error(\"Please enter a commit message.\"));\n } else {\n resolve(commitMsg);\n }\n });\n },\n allowOutsideClick: false,\n inputValidator: (value) => {\n return value.trim() !== \"\"\n ? undefined\n : \"Please enter a commit message.\";\n },\n })\n .then(({ value: commitMsg }) => {\n if (commitMsg !== undefined) {\n let commitProjectObj = {\n path: this.projectPath,\n githubUsername: this.$store.state.Auth.githubUsername,\n email: this.$store.state.Auth.userEmail,\n message: commitMsg,\n repoName: this.projectName,\n transType: this.typeform.outputFormat,\n };\n swalWithBootstrapButtons.fire({\n title: \"Commit request in progress...\",\n allowOutsideClick: false,\n onOpen: () => {},\n });\n Swal.showLoading();\n this.$store.getters.client\n .put(`/orguser/workspace/commit`, commitProjectObj)\n .then((res) => {\n this.disabledownloadbutton = false;\n this.releaseParams.commitSHA = res.data.commitSHA;\n this.releaseParams.owner = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n this.$store.getters.client\n .post(`/orguser/release`, this.releaseParams)\n .then(() => {\n this.$store.commit(\"setRecentPublicationsData\", []);\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n if (\n err.response &&\n err.response.data &&\n err.response.data.message ===\n \"release validation failed: commitSHA: Path `commitSHA` is required.\"\n ) {\n // Do nothing, just return\n return;\n } else {\n // Display the error\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response && err.response.data\n ? err.response.data.message\n : \"Unknown error occurred\"\n );\n }\n });\n swalWithBootstrapButtons.fire({\n icon: \"success\",\n title: \"Commit request completed.\",\n text: res.data.message,\n });\n this.disablecommitbutton = true;\n })\n .catch((err) => {\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Commit failed!\",\n text: err.response.data.message,\n });\n });\n }\n });\n },\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/plugins?type=pdf&category=docStyler`)\n .then((res) => {\n this.outputFormatData = res.data;\n this.typeform.outputFormat = this.outputFormatData[0].transtype;\n })\n .catch(() => {});\n },\n resetform() {\n this.typeform.inputPath = null;\n this.typeform.releaseTitle = null;\n },\n // Download output folder as a zip\n\n async downloadFun() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n await downloadSourceFiles({\n repoName: this.projectName,\n commitSHA: this.releaseParams.commitSHA,\n });\n this.messageToast(\n \"Files downloaded\",\n \"primary\",\n \"Downloaded successful!\"\n );\n } catch (error) {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n } finally {\n loader.hide();\n }\n },\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n escapeFilepath(path) {\n return path.replaceAll(\"#\", \"%23\");\n },\n },\n};\n</script>\n<style scoped>\n.modal-text {\n font-weight: 400;\n font-size: 14px;\n\n color: #17233d;\n}\n\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./generateoutput.vue?vue&type=template&id=1770448b&scoped=true\"\nimport script from \"./generateoutput.vue?vue&type=script&lang=js\"\nexport * from \"./generateoutput.vue?vue&type=script&lang=js\"\nimport style0 from \"./generateoutput.vue?vue&type=style&index=0&id=1770448b&prod&scoped=true&lang=css\"\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 \"1770448b\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <!-- Page Header Component -->\n <PageHeader :title=\"title\" :items=\"items\" />\n <!-- Project Information Section -->\n <div>\n <div class=\"mr-2 px-1\">\n <span class=\"project-name\">{{ projectName }}</span>\n </div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n <!-- Generate Output Section (conditionally displayed) -->\n <div class=\"row\">\n <div class=\"col-xl-12\" v-if=\"ditaOtVersions !== null\">\n <!-- Generate Output Component with DITA-OT Version Prop -->\n <generateoutput :ditaotVersion=\"ditaOtVersions\" />\n </div>\n </div>\n </div>\n</template>\n<script>\nimport generateoutput from \"../components/generateoutput.vue\";\nimport { eventBus } from \"../../../../../main\";\nimport { mapGetters } from \"vuex\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../../api/global.env\";\nexport default {\n components: {\n generateoutput,\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n data() {\n return {\n organizationDetails: null,\n orgId: this.$store.state.Auth.orgId,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n title: \"DocPublisher\",\n items: [\n {\n text: \"Projects\",\n href: `/docmanager`,\n },\n {\n text: \"DocEditor\",\n href: `/doceditor/${encodeURIComponent(\n this.$route.params.repouser\n )}/${encodeURIComponent(\n this.$route.params.reponame\n )}/${encodeURIComponent(this.$route.params.repobranch)}`,\n },\n {\n text: \"DocStyler\",\n href: `/docstyler/${encodeURIComponent(\n this.$route.params.repouser\n )}/${encodeURIComponent(\n this.$route.params.reponame\n )}/${encodeURIComponent(this.$route.params.repobranch)}`,\n },\n {\n text: \"DocPublisher\",\n active: true,\n },\n ],\n };\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n },\n};\n</script>\n<style scoped>\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n.form-group {\n margin: 10px;\n}\n.btabs-height {\n height: 100%;\n}\n/* Media query for Z Fold when the screen is folded */\n@media screen and (max-width: 280px) {\n .font-size-15 {\n font-size: 8px !important;\n }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./docpublisher.vue?vue&type=template&id=8419b08c&scoped=true\"\nimport script from \"./docpublisher.vue?vue&type=script&lang=js\"\nexport * from \"./docpublisher.vue?vue&type=script&lang=js\"\nimport style0 from \"./docpublisher.vue?vue&type=style&index=0&id=8419b08c&prod&scoped=true&lang=css\"\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 \"8419b08c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"mr-2 px-1\"},[_c('span',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.projectName))])]),_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])]),_c('div',{staticClass:\"row\"},[(_vm.ditaOtVersions !== null)?_c('div',{staticClass:\"col-xl-12\"},[_c('generateoutput',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Document publishing is currently in progress.\")]),_c('b-progress',{attrs:{\"value\":75,\"max\":100,\"animated\":\"\"}})],1),_c('b-modal',{ref:\"pull-modal\",attrs:{\"size\":\"lg\",\"centered\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-escer\":\"\",\"title\":\"Create a Pull Request\"}},[_c('div',{staticClass:\"d-block\"},[_c('p',{staticClass:\"modal-text\"},[_vm._v(\"Your files are not updated. Update now.\")])]),_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-primary mt-2 px-2 py-1 btn-sm\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.createPullreq()}}},[_vm._v(\" Pull Repository \")])])]),_c('b-modal',{ref:\"modalcommit\",attrs:{\"id\":\"modal-commit\",\"title\":\"Commit Output\",\"title-class\":\"font-18\",\"hide-footer\":\"\"},model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('div',[_c('b-form-group',{attrs:{\"label\":\"Commit Message\"}},[_c('b-form-input',{attrs:{\"for\":\"text\"},model:{value:(_vm.commitMsg),callback:function ($$v) {_vm.commitMsg=$$v},expression:\"commitMsg\"}})],1),_c('button',{staticClass:\"btn btn-sm btn-primary\",on:{\"click\":function($event){return _vm.commitOutput()}}},[_vm._v(\" Commit \")])],1)]),(_vm.hideform)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-8\"},[_c('div',{staticClass:\"bg-primary text-white\"}),_c('div',{staticClass:\"card shadow-sm\"},[_c('div',{staticClass:\"card-body text-center\"},[_c('h5',{staticClass:\"mb-4\"},[_vm._v(\"Project Name : \"+_vm._s(_vm.projectName))]),_c('p',[_vm._v(\"Important! Commit changes to download the output.\")]),_c('div',{staticClass:\"d-flex justify-content-center pt-1\"},[_c('button',{staticClass:\"btn btn-primary btn-sm mr-2 mb-2\",attrs:{\"disabled\":_vm.disablecommitbutton},on:{\"click\":function($event){$event.preventDefault();return _vm.githubCommit.apply(null, arguments)}}},[_vm._v(\" Commit on GitHub \")]),_c('button',{staticClass:\"btn btn-light btn-sm mr-2 mb-2\",on:{\"click\":function($event){return _vm.downloadFun()}}},[_vm._v(\" Download Output \")]),_c('button',{staticClass:\"btn btn-info btn-sm mr-2 mb-2\",attrs:{\"disabled\":!_vm.userActivityId},on:{\"click\":function($event){return _vm.deployToChatbotSelectBranch()}}},[_vm._v(\" Deploy to chatbot \")])]),_c('ChatbotPublishStatus')],1)])])]):_vm._e(),(!_vm.hideform)?_c('div',{staticClass:\"card mt-4\"},[_c('div',{staticClass:\"card-body\"},[_c('form',{attrs:{\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.releaseTitle),expression:\"typeform.releaseTitle\"}],staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.releaseTitle.$error,\n },attrs:{\"required\":\"\",\"name\":\"releaseTitle\",\"type\":\"text\",\"id\":\"releaseTitle\",\"placeholder\":\"Enter Release Title\"},domProps:{\"value\":(_vm.typeform.releaseTitle)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.typeform, \"releaseTitle\", $event.target.value)}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('releaseTitle') &&\n _vm._.find(_vm.errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n ),expression:\"\\n errors.has('releaseTitle') &&\\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\\n 'required'\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Title field is required\")])])]),_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.inputPath),expression:\"typeform.inputPath\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"inputPath\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\" Select Source Ditamap \")]),_vm._l((_vm.selectInput),function(data){return _c('option',{key:data.path,domProps:{\"value\":data.path}},[_vm._v(\" \"+_vm._s(data.fileName)+\" \")])})],2)])]),_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('div',[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.outputFormat),expression:\"typeform.outputFormat\"}],staticClass:\"form-control\",attrs:{\"required\":\"\",\"disabled\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"outputFormat\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"Select Output Format\")]),_c('option',{domProps:{\"value\":_vm.outputFormatData[0].transtype}},[_vm._v(\" \"+_vm._s(_vm.outputFormatData[0].transtype)+\" \")])])])]),_c('div',{staticClass:\"form-group text-right mb-0\"},[_c('div',[_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"disabled\":!(\n _vm.typeform.outputFormat &&\n _vm.typeform.inputPath &&\n _vm.typeform.releaseTitle\n )},on:{\"click\":function($event){return _vm.generateOutputFun(_vm.projectPath, _vm.workspacePath)}}},[_vm._v(\" Transform \")]),_c('button',{staticClass:\"btn btn-sm btn-light m-l-5 ml-1\",on:{\"click\":function($event){return _vm.resetform()}}},[_vm._v(\" Cancel \")])])])])])]):_vm._e(),_c('DeployToChatbot',{ref:\"deplotToChatbotRef\",attrs:{\"userActivityId\":_vm.userActivityId,\"repouser\":_vm.repouser},on:{\"deleteUserActivityId\":_vm.deleteUserActivityId,\"publishSuccess\":_vm.handlePublishSuccess}})],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Title \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Input Source Ditamap \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Output Format \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Document publishing is currently in progress.</p>\n <b-progress :value=\"75\" :max=\"100\" animated></b-progress>\n </b-modal>\n <b-modal\n size=\"lg\"\n ref=\"pull-modal\"\n centered\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-escer\n title=\"Create a Pull Request\"\n >\n <div class=\"d-block\">\n <p class=\"modal-text\">Your files are not updated. Update now.</p>\n </div>\n <div class=\"text-center\">\n <button\n class=\"btn btn-primary mt-2 px-2 py-1 btn-sm\"\n block\n @click=\"createPullreq()\"\n >\n Pull Repository\n </button>\n </div>\n </b-modal>\n <b-modal\n id=\"modal-commit\"\n v-model=\"showModal\"\n ref=\"modalcommit\"\n title=\"Commit Output\"\n title-class=\"font-18\"\n hide-footer\n >\n <div>\n <b-form-group label=\"Commit Message\">\n <b-form-input for=\"text\" v-model=\"commitMsg\"></b-form-input>\n </b-form-group>\n <button class=\"btn btn-sm btn-primary\" v-on:click=\"commitOutput()\">\n Commit\n </button>\n </div>\n </b-modal>\n <div v-if=\"hideform\" class=\"row justify-content-center\">\n <div class=\"col-md-8\">\n <div class=\"bg-primary text-white\"></div>\n <div class=\"card shadow-sm\">\n <div class=\"card-body text-center\">\n <h5 class=\"mb-4\">Project Name : {{ projectName }}</h5>\n <p>Important! Commit changes to download the output.</p>\n <div class=\"d-flex justify-content-center pt-1\">\n <button\n class=\"btn btn-primary btn-sm mr-2 mb-2\"\n :disabled=\"disablecommitbutton\"\n @click.prevent=\"githubCommit\"\n >\n Commit on GitHub\n </button>\n <button\n v-on:click=\"downloadFun()\"\n class=\"btn btn-light btn-sm mr-2 mb-2\"\n >\n Download Output\n </button>\n <button\n v-on:click=\"deployToChatbotSelectBranch()\"\n class=\"btn btn-info btn-sm mr-2 mb-2\"\n :disabled=\"!userActivityId\"\n >\n Deploy to chatbot\n </button>\n </div>\n <ChatbotPublishStatus />\n </div>\n </div>\n </div>\n </div>\n <div v-if=\"!hideform\" class=\"card mt-4\">\n <div class=\"card-body\">\n <form novalidate @submit.prevent>\n <div class=\"form-group\">\n <label>Title <span class=\"text-secondary\">*</span></label>\n <input\n v-validate=\"'required'\"\n required\n v-model=\"typeform.releaseTitle\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"releaseTitle\"\n type=\"text\"\n id=\"releaseTitle\"\n class=\"form-control\"\n placeholder=\"Enter Release Title\"\n :class=\"{\n 'is-invalid': submitted && $v.releaseTitle.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('releaseTitle') &&\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n \"\n >\n <span>Title field is required</span>\n </p>\n </div>\n <div class=\"form-group\">\n <label\n >Input Source Ditamap <span class=\"text-secondary\">*</span></label\n >\n <div>\n <select\n class=\"form-control\"\n v-model=\"typeform.inputPath\"\n required\n >\n <option value=\"\" disabled selected>\n Select Source Ditamap\n </option>\n <option\n v-for=\"data in selectInput\"\n :key=\"data.path\"\n :value=\"data.path\"\n >\n {{ data.fileName }}\n </option>\n </select>\n </div>\n </div>\n <div class=\"form-group\">\n <label>Output Format <span class=\"text-secondary\">*</span></label>\n <div>\n <select\n class=\"form-control\"\n v-model=\"typeform.outputFormat\"\n required\n disabled\n >\n <option value=\"\" disabled selected>Select Output Format</option>\n <option :value=\"outputFormatData[0].transtype\">\n {{ outputFormatData[0].transtype }}\n </option>\n </select>\n </div>\n </div>\n <div class=\"form-group text-right mb-0\">\n <div>\n <button\n :disabled=\"\n !(\n typeform.outputFormat &&\n typeform.inputPath &&\n typeform.releaseTitle\n )\n \"\n class=\"btn btn-primary btn-sm\"\n v-on:click=\"generateOutputFun(projectPath, workspacePath)\"\n >\n Transform\n </button>\n <button\n @click=\"resetform()\"\n class=\"btn btn-sm btn-light m-l-5 ml-1\"\n >\n Cancel\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n <DeployToChatbot\n ref=\"deplotToChatbotRef\"\n :userActivityId=\"userActivityId\"\n :repouser=\"repouser\"\n @deleteUserActivityId=\"deleteUserActivityId\"\n @publishSuccess=\"handlePublishSuccess\"\n />\n </div>\n</template>\n\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport checkurl from \"../../../../../components/urlvalidator\";\nimport { eventBus } from \"../../../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../../api/global.env\";\nimport downloadSourceFiles from \"../../../../../services/download-source-files\";\nimport DeployToChatbot from \"../../../docpublisher/components/deployToChatbot.vue\";\nimport ChatbotPublishStatus from \"@/components/ChatbotPublishStatus.vue\";\n\nexport default {\n components: {\n DeployToChatbot,\n ChatbotPublishStatus\n },\n props: {\n ditaotVersion: String,\n },\n data() {\n return {\n isPublishedToChatbot: false,\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n userName: this.$store.state.Auth.userName,\n typeform: {\n inputPath: \"\",\n outputPath: \"\",\n outputFormat: \"\",\n releaseTitle: \"\",\n },\n selectInput: null,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectOutputFormat: null,\n submitted: false,\n projectPath: null,\n typesubmit: false,\n workspacePath: null,\n disablebutton: false,\n disablecommitbutton: false,\n disabledownloadbutton: true,\n commitMsg: null,\n hideform: false,\n showModal: false,\n outputFormatData: null,\n model: \"\",\n releaseParams: null,\n outputURL: null,\n gitToken: this.$store.state.Auth.gitToken,\n urlParserRegex: /^[/]([^/]+)[/]([^/]+)[/]tree[/]([^/]+)[/](.*)/,\n userActivityId: null,\n };\n },\n created() {\n // this.validateURL()\n this.getWorkspace();\n this.hideform = false;\n },\n mounted() {\n this.getoutputFormat();\n this.outputURL = `https://github.com/${this.repouser}/${this.projectName}/tree/main/output`;\n this.hideform = false;\n },\n computed: {\n _() {\n return _;\n },\n outputFormats() {\n return Object.values(this.selectOutputFormat);\n },\n },\n methods: {\n handlePublishSuccess() {\n this.isPublishedToChatbot = true;\n },\n preventLeadingSpace(e) {\n if (!e.target.value) e.preventDefault();\n else if (e.target.value[0] == \" \")\n e.target.value = e.target.value.replace(/^\\s*/, \"\");\n },\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n validateURL() {\n const newRepoUser = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const newRepoName = CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n createPullreq() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .post(\n `/orguser/workspace/pullGitChanges?projectName=${this.projectName}`\n )\n .then(() => {\n this.$store.getters.client\n .get(`/orguser/workspace/filecontent?path=${this.currentfilePath}`)\n .then((fileContent) => {\n eventBus.$emit(\"getcontent\", {\n content: fileContent.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"textViewContent\", {\n content: fileContent.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"clearHistory\");\n })\n .catch(() => {});\n this.$refs[\"pull-modal\"].hide();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Pull request completed\");\n })\n .catch((err) => {\n loader.hide();\n this.messageToast(\n \"Error\",\n \"danger\",\n err.response\n ? err.response.data.message\n : \"An error occurred during the pull request.\"\n );\n });\n },\n async getWorkspace() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/byuserId?userId=${this.userId}`)\n .then(async (res) => {\n let path = res.data.installedPath + `/${this.projectName}`;\n this.workspacePath = res.data.installedPath;\n this.projectPath = res.data.installedPath + \"/\" + this.projectName;\n await this.$store.getters.client\n .post(`/orguser/workspace/fetchGitRemoteChanges?path=${path}`)\n .then((res) => {\n if (\n res.data.message.includes(\"please pull your branch to proceed\")\n ) {\n this.$refs[\"pull-modal\"].show();\n }\n });\n let ext = \"ditamap\";\n await this.$store.getters.client\n .get(`/orguser/workspace/inputfiles?path=${path}&extenssion=${ext}`)\n .then((res) => {\n loader.hide();\n this.selectInput = res.data;\n })\n .catch(() => {\n loader.hide();\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/repotree?path=${path}`)\n .then((tres) => {\n loader.hide();\n this.model = tres.data;\n })\n .catch(() => {\n loader.hide();\n });\n })\n .catch(() => {\n loader.hide();\n });\n },\n async generateOutputFun(path, workspacePath) {\n this.disablebutton = true;\n let bitPath = workspacePath + \"/dita-ot-\" + this.ditaotVersion + \"/bin\";\n let outputParams = {\n inputPath: this.typeform.inputPath,\n binPath: bitPath,\n ditaotVersion: this.ditaotVersion,\n outputPath: path + \"/output\",\n outputFormat: this.typeform.outputFormat,\n };\n this.releaseParams = {\n ditaMapFileName: this.typeform.inputPath.split(\"/\").pop(),\n outputFormat: this.typeform.outputFormat,\n ditaotVersion: this.ditaotVersion,\n orgId: this.orgId,\n userId: this.userId,\n releaseTitle: this.typeform.releaseTitle,\n releasedBy: this.userName,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n };\n await this.$validator.validateAll().then((result) => {\n if (result) {\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .post(`/orguser/docpublish`, outputParams)\n .then((res) => {\n this.disablebutton = false;\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\"Success\", \"success\", res.data.message);\n this.typeform.inputPath = null;\n this.hideform = true;\n // this.typeform.outputFormat = null;\n this.disablecommitbutton = false;\n this.typeform.releaseTitle = null;\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n }\n });\n },\n commitOnGithub() {\n this.showModal = true;\n },\n githubCommit() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n title: \"Add description to submit and commit.\",\n input: \"text\",\n showCancelButton: true,\n confirmButtonText: \"Submit\",\n showLoaderOnConfirm: true,\n confirmButtonColor: \"#556ee6\",\n cancelButtonColor: \"#f46a6a\",\n preConfirm: (commitMsg) => {\n return new Promise((resolve, reject) => {\n if (commitMsg.trim() === \"\") {\n reject(new Error(\"Please enter a commit message.\"));\n } else {\n resolve(commitMsg);\n }\n });\n },\n allowOutsideClick: false,\n inputValidator: (value) => {\n return value.trim() !== \"\"\n ? undefined\n : \"Please enter a commit message.\";\n },\n })\n .then(({ value: commitMsg }) => {\n if (commitMsg !== undefined) {\n let commitProjectObj = {\n path: this.projectPath,\n githubUsername: this.$store.state.Auth.githubUsername,\n email: this.$store.state.Auth.userEmail,\n message: commitMsg,\n repoName: this.projectName,\n transType: this.typeform.outputFormat,\n };\n swalWithBootstrapButtons.fire({\n title: \"Commit request in progress...\",\n allowOutsideClick: false,\n onOpen: () => {},\n });\n Swal.showLoading();\n this.$store.getters.client\n .put(`/orguser/workspace/commit`, commitProjectObj)\n .then((res) => {\n this.disabledownloadbutton = false;\n this.releaseParams.commitSHA = res.data.commitSHA;\n this.userActivityId = res.data.userActivityId;\n this.releaseParams.owner = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n this.$store.getters.client\n .post(`/orguser/release`, this.releaseParams)\n .then(() => {\n this.$store.commit(\"setRecentPublicationsData\", []);\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n if (\n err.response &&\n err.response.data &&\n err.response.data.message ===\n \"release validation failed: commitSHA: Path `commitSHA` is required.\"\n ) {\n // Do nothing, just return\n return;\n } else {\n // Display the error\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response && err.response.data\n ? err.response.data.message\n : \"Unknown error occurred\"\n );\n }\n });\n swalWithBootstrapButtons.fire({\n icon: \"success\",\n title: \"Commit request completed.\",\n text: res.data.message,\n });\n this.disablecommitbutton = true;\n })\n .catch((err) => {\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Commit failed!\",\n text: err.response.data.message,\n });\n });\n }\n });\n },\n\n deployToChatbotSelectBranch() {\n this.$refs.deplotToChatbotRef.deployToChatbotSelectBranch();\n },\n\n deleteUserActivityId() {\n this.userActivityId = null;\n },\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/plugins?type=html&category=docStyler`)\n .then((res) => {\n this.outputFormatData = res.data;\n this.typeform.outputFormat = this.outputFormatData[0].transtype;\n })\n .catch(() => {});\n },\n resetform() {\n this.typeform.inputPath = null;\n // this.typeform.outputFormat = null;\n this.typeform.releaseTitle = null;\n },\n // Download output folder as a zip\n\n async downloadFun() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n await downloadSourceFiles({\n repoName: this.projectName,\n commitSHA: this.releaseParams.commitSHA,\n });\n this.messageToast(\n \"Files downloaded\",\n \"primary\",\n \"Downloaded successful!\"\n );\n } catch (error) {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n } finally {\n loader.hide();\n }\n },\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n escapeFilepath(path) {\n return path.replaceAll(\"#\", \"%23\");\n },\n },\n};\n</script>\n\n<style scoped>\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./generateoutput.vue?vue&type=template&id=19a9d8b2&scoped=true\"\nimport script from \"./generateoutput.vue?vue&type=script&lang=js\"\nexport * from \"./generateoutput.vue?vue&type=script&lang=js\"\nimport style0 from \"./generateoutput.vue?vue&type=style&index=0&id=19a9d8b2&prod&scoped=true&lang=css\"\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 \"19a9d8b2\",\n null\n \n)\n\nexport default component.exports","<template>\n <div>\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <div class=\"mr-2 px-1\">\n <span class=\"project-name\">{{ projectName }}</span>\n </div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-xl-12\" v-if=\"ditaOtVersions !== null\">\n <generateoutput :ditaotVersion=\"ditaOtVersions\" />\n </div>\n </div>\n </div>\n</template>\n<script>\nimport generateoutput from \"../components/generateoutput.vue\";\nimport { mapGetters } from \"vuex\";\nimport { eventBus } from \"../../../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../../api/global.env\";\nexport default {\n components: {\n generateoutput,\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n data() {\n return {\n orgId: this.$store.state.Auth.orgId,\n title: \"DocPublisher\",\n items: [\n {\n text: \"Projects\",\n href: `/docmanager`,\n },\n {\n text: \"DocEditor\",\n href: `/doceditor/${encodeURIComponent(\n this.$route.params.repouser\n )}/${encodeURIComponent(\n this.$route.params.reponame\n )}/${encodeURIComponent(this.$route.params.repobranch)}`,\n },\n {\n text: \"DocStyler\",\n href: `/docstyler/${encodeURIComponent(\n this.$route.params.repouser\n )}/${encodeURIComponent(\n this.$route.params.reponame\n )}/${encodeURIComponent(this.$route.params.repobranch)}`,\n },\n {\n text: \"DocPublisher\",\n active: true,\n },\n ],\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n };\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n },\n};\n</script>\n<style scoped>\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n.form-group {\n margin: 10px;\n}\n.btabs-height {\n height: 100%;\n}\n/* Media query for Z Fold when the screen is folded */\n@media screen and (max-width: 280px) {\n .font-size-15 {\n font-size: 8px !important;\n }\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./docpublisher.vue?vue&type=template&id=5c41ae26&scoped=true\"\nimport script from \"./docpublisher.vue?vue&type=script&lang=js\"\nexport * from \"./docpublisher.vue?vue&type=script&lang=js\"\nimport style0 from \"./docpublisher.vue?vue&type=style&index=0&id=5c41ae26&prod&scoped=true&lang=css\"\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 \"5c41ae26\",\n null\n \n)\n\nexport default component.exports","import styler from \"./index.vue\";\nimport PdfDocPublisher from \"./pdfstyler/components/docpublisher.vue\";\nimport HtmlDocPublisher from \"./htmlstyler/components/docpublisher.vue\";\nimport { checkAccessToService } from \"../../../middleware/secure-route\";\nexport default [\n {\n path: \"/docstyler/:repouser/:reponame/:repobranch\",\n component: styler,\n name: \"styler\",\n props: (route) => ({\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"publisher\");\n },\n },\n {\n path: \"/pdfdocstyler/docpublisher/:repouser/:reponame/:repobranch\",\n component: PdfDocPublisher,\n name: \"PdfDocPublisher\",\n props: (route) => ({\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"publisher\");\n },\n },\n {\n path: \"/htmldocstyler/docpublisher/:repouser/:reponame/:repobranch\",\n component: HtmlDocPublisher,\n name: \"HtmlDocPublisher\",\n props: (route) => ({\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"publisher\");\n },\n },\n];\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"mr-2 px-1\"},[_c('span',{staticClass:\"project-name\"},[_vm._v(_vm._s(_vm.projectName))])]),_c('div',{staticClass:\"mr-2 dita-ot-cont px-1\"},[_c('span',{staticClass:\"dita-ot\"},[_vm._v(\"DITA-OT Version:\")]),_c('span',{staticClass:\"dita-ot-version ml-2\"},[_vm._v(_vm._s(_vm.ditaOtVersions))])])]),_c('div',{staticClass:\"row mt-3\"},[(\n this.$store.state.Auth.orgDetails.customPlugin &&\n _vm.customPluginOutputFormat.length\n )?_c('div',{staticClass:\"col-xl-12\"},[_c('b-card',[_c('b-tabs',{staticClass:\"btabs-height\",attrs:{\"justified\":\"\",\"nav-class\":\"nav-tabs-custom\",\"content-class\":\"text-muted\"}},[_c('b-tab',{attrs:{\"title\":\"Default Publisher\",\"active\":\"\"}},[_c('div',[_c('div',[_c('generateoutput',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1)])]),_c('b-tab',{attrs:{\"title\":\"Custom Publisher\"}},[_c('div',[_c('div',[_c('customPlugin',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1)])])],1)],1)],1):_c('div',{staticClass:\"col-xl-12\"},[(_vm.ditaOtVersions !== null)?_c('div',[_c('generateoutput',{attrs:{\"ditaotVersion\":_vm.ditaOtVersions}})],1):_vm._e()])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-modal',{ref:\"modaloutputprogress\",attrs:{\"id\":\"modal-progress\",\"title\":\"Processing\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"}},[_c('strong',[_vm._v(\"Please wait\")]),_c('br'),_c('p',[_vm._v(\"Document publishing is currently in progress.\")]),_c('b-progress',{attrs:{\"value\":75,\"max\":100,\"animated\":\"\"}})],1),_c('b-modal',{ref:\"modalcommit\",attrs:{\"id\":\"modal-commit\",\"title\":\"Commit Output\",\"title-class\":\"font-18\",\"hide-header\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\"},model:{value:(_vm.showModal),callback:function ($$v) {_vm.showModal=$$v},expression:\"showModal\"}},[_c('div',[_c('b-form-group',{attrs:{\"label\":\"Commit Message\"}},[_c('b-form-input',{attrs:{\"for\":\"text\"},model:{value:(_vm.commitMsg),callback:function ($$v) {_vm.commitMsg=$$v},expression:\"commitMsg\"}})],1),_c('button',{staticClass:\"btn btn-primary btn-sm\",on:{\"click\":function($event){return _vm.commitOutput()}}},[_vm._v(\" Commit \")])],1)]),(_vm.hideform)?_c('div',{staticClass:\"row justify-content-center\"},[_c('div',{staticClass:\"col-md-6\"},[_c('div',{staticClass:\"bg-primary text-white\"}),_c('div',{staticClass:\"card shadow-sm\"},[_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"mb-4\"},[_vm._v(\"Project Name : \"+_vm._s(_vm.projectName))]),_c('p',[_vm._v(\"Important! Commit changes to download the output.\")]),_c('div',{staticClass:\"d-flex justify-content-center pt-1\"},[_c('button',{staticClass:\"btn btn-primary btn-sm mr-2 mb-2\",attrs:{\"disabled\":_vm.disablecommitbutton},on:{\"click\":function($event){$event.preventDefault();return _vm.githubCommit.apply(null, arguments)}}},[_vm._v(\" Commit on GitHub \")]),_c('button',{staticClass:\"btn btn-light btn-sm mr-2 mb-2\",on:{\"click\":function($event){return _vm.downloadFun()}}},[_vm._v(\" Download Output \")])])])])])]):_vm._e(),(this.$store.state.Auth.orgDetails.customPlugin === `Disabled`)?_c('hr'):_vm._e(),(!_vm.hideform)?_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('form',{attrs:{\"novalidate\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}}},[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.releaseTitle),expression:\"typeform.releaseTitle\"}],staticClass:\"form-control\",class:{\n 'is-invalid': _vm.submitted && _vm.$v.releaseTitle.$error,\n },attrs:{\"required\":\"\",\"name\":\"releaseTitle\",\"type\":\"text\",\"id\":\"releaseTitle\",\"placeholder\":\"Enter release title\"},domProps:{\"value\":(_vm.typeform.releaseTitle)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.preventLeadingSpace.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.typeform, \"releaseTitle\", $event.target.value)}}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('releaseTitle') &&\n _vm._.find(_vm.errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n ),expression:\"\\n errors.has('releaseTitle') &&\\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\\n 'required'\\n \"}],staticClass:\"text-danger text-sm\"})]),_c('div',{staticClass:\"form-group\"},[_vm._m(1),_c('div',[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.inputPath),expression:\"typeform.inputPath\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"inputPath\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\" Select source Ditamap \")]),_vm._l((_vm.selectInput),function(data){return _c('option',{key:data.path,domProps:{\"value\":data.path}},[_vm._v(\" \"+_vm._s(data.fileName)+\" \")])})],2),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('typeform.inputPath') &&\n _vm.$v.typeform.inputPath.required\n ),expression:\"\\n errors.has('typeform.inputPath') &&\\n $v.typeform.inputPath.required\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Input Format selection is required\")])])])]),_c('div',{staticClass:\"form-group\"},[_vm._m(2),_c('div',[_c('select',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.typeform.outputFormat),expression:\"typeform.outputFormat\"}],staticClass:\"form-control\",attrs:{\"required\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.typeform, \"outputFormat\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"Select output format\")]),_vm._l((_vm.selectOutputFormat),function(data){return _c('option',{key:data.id,domProps:{\"value\":data.transtype}},[_vm._v(\" \"+_vm._s(data.transtype)+\" \")])})],2),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.errors.has('typeform.outputFormat') &&\n _vm.$v.typeform.outputFormat.required\n ),expression:\"\\n errors.has('typeform.outputFormat') &&\\n $v.typeform.outputFormat.required\\n \"}],staticClass:\"text-danger text-sm\"},[_c('span',[_vm._v(\"Output Format selection is required\")])])])]),_c('div',{staticClass:\"form-group text-right mb-0\"},[_c('div',[_c('button',{staticClass:\"btn btn-sm btn-primary\",attrs:{\"disabled\":!(\n _vm.typeform.outputFormat &&\n _vm.typeform.inputPath &&\n _vm.typeform.releaseTitle\n )},on:{\"click\":function($event){return _vm.generateOutputFun(_vm.projectPath, _vm.workspacePath)}}},[_vm._v(\" Transform \")]),_c('button',{staticClass:\"btn btn-light btn-sm m-l-5 ml-1\",on:{\"click\":_vm.resetform}},[_vm._v(\" Cancel \")])])])])])]):_vm._e(),_c('b-modal',{ref:\"pull-modal\",attrs:{\"size\":\"lg\",\"centered\":\"\",\"hide-footer\":\"\",\"hide-close\":\"\",\"no-close-on-backdrop\":\"\",\"no-close-on-escer\":\"\",\"title\":\"Create a Pull Request\"}},[_c('div',{staticClass:\"d-block\"},[_c('p',{staticClass:\"modal-text\"},[_vm._v(\"Your files are not updated. Update now.\")])]),_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"btn btn-primary mt-2 px-2 py-1 btn-sm\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.createPullreq()}}},[_vm._v(\" Pull Repository \")])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Title \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Input Source Ditamap \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',[_vm._v(\"Output Format \"),_c('span',{staticClass:\"text-secondary\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div>\n <!-- Progress Modal -->\n <b-modal\n id=\"modal-progress\"\n ref=\"modaloutputprogress\"\n title=\"Processing\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <strong>Please wait</strong>\n <br />\n <p>Document publishing is currently in progress.</p>\n <b-progress :value=\"75\" :max=\"100\" animated></b-progress>\n </b-modal>\n <!-- Commit Modal -->\n <b-modal\n id=\"modal-commit\"\n v-model=\"showModal\"\n ref=\"modalcommit\"\n title=\"Commit Output\"\n title-class=\"font-18\"\n hide-header\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-esc\n >\n <div>\n <b-form-group label=\"Commit Message\">\n <b-form-input for=\"text\" v-model=\"commitMsg\"></b-form-input>\n </b-form-group>\n <button class=\"btn btn-primary btn-sm\" v-on:click=\"commitOutput()\">\n Commit\n </button>\n </div>\n </b-modal>\n <div v-if=\"hideform\" class=\"row justify-content-center\">\n <div class=\"col-md-6\">\n <div class=\"bg-primary text-white\"></div>\n <div class=\"card shadow-sm\">\n <div class=\"card-body\">\n <h5 class=\"mb-4\">Project Name : {{ projectName }}</h5>\n <p>Important! Commit changes to download the output.</p>\n <div class=\"d-flex justify-content-center pt-1\">\n <button\n class=\"btn btn-primary btn-sm mr-2 mb-2\"\n :disabled=\"disablecommitbutton\"\n @click.prevent=\"githubCommit\"\n >\n Commit on GitHub\n </button>\n <button\n v-on:click=\"downloadFun()\"\n class=\"btn btn-light btn-sm mr-2 mb-2\"\n >\n Download Output\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <!-- Conditional HR -->\n <hr v-if=\"this.$store.state.Auth.orgDetails.customPlugin === `Disabled`\" />\n <div v-if=\"!hideform\" class=\"card\">\n <div class=\"card-body\">\n <form novalidate @submit.prevent>\n <!-- Title Input -->\n <div class=\"form-group\">\n <label>Title <span class=\"text-secondary\">*</span></label>\n <input\n v-validate=\"'required'\"\n required\n v-model=\"typeform.releaseTitle\"\n @keydown.space=\"preventLeadingSpace\"\n name=\"releaseTitle\"\n type=\"text\"\n id=\"releaseTitle\"\n class=\"form-control\"\n placeholder=\"Enter release title\"\n :class=\"{\n 'is-invalid': submitted && $v.releaseTitle.$error,\n }\"\n />\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('releaseTitle') &&\n _.find(errors.items, { field: 'releaseTitle' }).rule ==\n 'required'\n \"\n ></p>\n </div>\n <!-- Input Source Dropdown -->\n <div class=\"form-group\">\n <label\n >Input Source Ditamap <span class=\"text-secondary\">*</span></label\n >\n <div>\n <select\n class=\"form-control\"\n v-validate=\"'required'\"\n required\n v-model=\"typeform.inputPath\"\n >\n <option value=\"\" disabled selected>\n Select source Ditamap\n </option>\n <option\n v-for=\"data in selectInput\"\n :key=\"data.path\"\n :value=\"data.path\"\n >\n {{ data.fileName }}\n </option>\n </select>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('typeform.inputPath') &&\n $v.typeform.inputPath.required\n \"\n >\n <span>Input Format selection is required</span>\n </p>\n </div>\n </div>\n <!-- Output Format Dropdown -->\n <div class=\"form-group\">\n <label>Output Format <span class=\"text-secondary\">*</span></label>\n <div>\n <select\n class=\"form-control\"\n v-validate=\"'required'\"\n required\n v-model=\"typeform.outputFormat\"\n >\n <option value=\"\" disabled selected>Select output format</option>\n <option\n v-for=\"data in selectOutputFormat\"\n :key=\"data.id\"\n :value=\"data.transtype\"\n >\n {{ data.transtype }}\n </option>\n </select>\n <p\n class=\"text-danger text-sm\"\n v-show=\"\n errors.has('typeform.outputFormat') &&\n $v.typeform.outputFormat.required\n \"\n >\n <span>Output Format selection is required</span>\n </p>\n </div>\n </div>\n <!-- Buttons for Generating Output and Resetting Form -->\n <div class=\"form-group text-right mb-0\">\n <div>\n <button\n :disabled=\"\n !(\n typeform.outputFormat &&\n typeform.inputPath &&\n typeform.releaseTitle\n )\n \"\n class=\"btn btn-sm btn-primary\"\n v-on:click=\"generateOutputFun(projectPath, workspacePath)\"\n >\n Transform\n </button>\n <button\n @click=\"resetform\"\n class=\"btn btn-light btn-sm m-l-5 ml-1\"\n >\n Cancel\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n <!-- Pull Request Modal -->\n <b-modal\n size=\"lg\"\n ref=\"pull-modal\"\n centered\n hide-footer\n hide-close\n no-close-on-backdrop\n no-close-on-escer\n title=\"Create a Pull Request\"\n >\n <div class=\"d-block\">\n <p class=\"modal-text\">Your files are not updated. Update now.</p>\n </div>\n <div class=\"text-center\">\n <button\n class=\"btn btn-primary mt-2 px-2 py-1 btn-sm\"\n block\n @click=\"createPullreq()\"\n >\n Pull Repository\n </button>\n </div>\n </b-modal>\n </div>\n</template>\n\n<script>\nimport _ from \"lodash\";\nimport Swal from \"sweetalert2\";\nimport checkurl from \"../../../../components/urlvalidator\";\nimport { eventBus } from \"../../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../../api/global.env\";\nimport { axios } from \"../../../../api/index\";\nimport JSZip from \"jszip\";\nimport listContent from \"list-github-dir-content\";\nimport pMap from \"p-map\";\nimport pRetry from \"p-retry\";\nimport saveFile from \"save-file\";\nexport default {\n props: {\n ditaotVersion: String,\n },\n data() {\n return {\n userId: this.$store.state.Auth.userId,\n orgId: this.$store.state.Auth.orgId,\n userName: this.$store.state.Auth.userName,\n typeform: {\n inputPath: \"\",\n outputPath: \"\",\n outputFormat: \"\",\n releaseTitle: \"\",\n },\n selectInput: null,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n selectOutputFormat: null,\n submitted: false,\n projectPath: null,\n typesubmit: false,\n workspacePath: null,\n disablebutton: false,\n disablecommitbutton: true,\n disabledownloadbutton: true,\n commitMsg: null,\n hideform: false,\n showModal: false,\n model: \"\",\n releaseParams: null,\n outputURL: null,\n gitToken: this.$store.state.Auth.gitToken,\n urlParserRegex: /^[/]([^/]+)[/]([^/]+)[/]tree[/]([^/]+)[/](.*)/,\n };\n },\n created() {\n this.getWorkspace();\n this.hideform = false;\n },\n mounted() {\n this.getoutputFormat();\n this.outputURL = `https://github.com/${this.repouser}/${this.projectName}/tree/main/output`;\n\n this.makedefaultplugin();\n this.hideform = false;\n },\n computed: {\n _() {\n return _;\n },\n },\n methods: {\n // Function to prevent leading space in an input field\n preventLeadingSpace(e) {\n // only prevent the keypress if the value is blank\n if (!e.target.value) e.preventDefault();\n // otherwise, if the leading character is a space, remove all leading white-space\n else if (e.target.value[0] == \" \")\n e.target.value = e.target.value.replace(/^\\s*/, \"\");\n },\n // Function to display a toast message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n // Function to validate a URL\n validateURL() {\n const newRepoUser = this.$route.params.repouser;\n const newRepoName = this.$route.params.reponame;\n const oldRepoUser = localStorage.getItem(\"repouser\");\n const oldRepoName = localStorage.getItem(\"reponame\");\n if (newRepoName !== oldRepoName || newRepoUser !== oldRepoUser) {\n checkurl(newRepoName);\n }\n },\n // Function to create a Pull Request\n createPullreq() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .post(\n `/orguser/workspace/pullGitChanges?projectName=${this.projectName}`\n )\n .then((res) => {\n this.$store.getters.client\n .get(`/orguser/workspace/filecontent?path=${this.currentfilePath}`)\n .then((res) => {\n eventBus.$emit(\"getcontent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"textViewContent\", {\n content: res.data,\n path: this.currentfilePath,\n });\n eventBus.$emit(\"clearHistory\");\n })\n .catch(() => {});\n res;\n this.$refs[\"pull-modal\"].hide();\n loader.hide();\n this.messageToast(\"Success\", \"primary\", \"Pull request completed\");\n })\n .catch((err) => {\n loader.hide();\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n },\n async getWorkspace() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/byuserId?userId=${this.userId}`)\n .then(async (res) => {\n let path = res.data.installedPath + `/${this.projectName}`;\n this.workspacePath = res.data.installedPath;\n this.projectPath = res.data.installedPath + \"/\" + this.projectName;\n await this.$store.getters.client\n .post(`/orguser/workspace/fetchGitRemoteChanges?path=${path}`)\n .then((res) => {\n if (\n res.data.message.includes(\"please pull your branch to proceed\")\n ) {\n this.$refs[\"pull-modal\"].show();\n }\n });\n let ext = \"ditamap\";\n await this.$store.getters.client\n .get(`/orguser/workspace/inputfiles?path=${path}&extenssion=${ext}`)\n .then((res) => {\n loader.hide();\n this.selectInput = res.data;\n })\n .catch(() => {\n loader.hide();\n });\n await this.$store.getters.client\n .get(`/orguser/workspace/repotree?path=${path}`)\n .then((tres) => {\n loader.hide();\n this.model = tres.data;\n })\n .catch(() => {\n loader.hide();\n });\n })\n .catch(() => {\n loader.hide();\n });\n },\n makedefaultplugin() {\n const body = {\n userId: this.userId,\n orgId: this.orgId,\n customizationOptions: {},\n };\n this.$store.getters.client\n .post(`/orguser/docstyler/customizePdfOutput`, body)\n .then(() => {})\n .catch(() => {});\n this.$store.getters.client\n .post(`/orguser/docstyler/customizehtmlOutput`, body)\n .then(() => {})\n .catch(() => {});\n },\n async generateOutputFun(path, workspacePath) {\n this.disablebutton = true;\n let bitPath = workspacePath + \"/dita-ot-\" + this.ditaotVersion + \"/bin\";\n let outputParams = {\n inputPath: this.typeform.inputPath,\n binPath: bitPath,\n ditaotVersion: this.ditaotVersion,\n outputPath: path + \"/output\",\n outputFormat: this.typeform.outputFormat,\n };\n this.releaseParams = {\n ditaMapFileName: this.typeform.inputPath.split(\"/\").pop(),\n outputFormat: this.typeform.outputFormat,\n ditaotVersion: this.ditaotVersion,\n orgId: this.orgId,\n userId: this.userId,\n releaseTitle: this.typeform.releaseTitle,\n releasedBy: this.userName,\n projectName: this.projectName,\n };\n await this.$validator.validateAll().then((result) => {\n if (result) {\n this.$refs[\"modaloutputprogress\"].show();\n this.$store.getters.client\n .post(`/orguser/docpublish`, outputParams)\n .then((res) => {\n this.disablebutton = false;\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\"Success\", \"primary\", res.data.message);\n this.typeform.inputPath = null;\n this.hideform = true;\n this.typeform.outputFormat = null;\n this.disablecommitbutton = false;\n this.typeform.releaseTitle = null;\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n this.messageToast(\n \"invalid request\",\n \"danger\",\n err.response.data.message\n );\n });\n }\n });\n },\n commitOnGithub() {\n this.showModal = true;\n },\n githubCommit() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm mr-2\",\n cancelButton: \"btn btn-light btn-sm\",\n },\n buttonsStyling: false,\n });\n swalWithBootstrapButtons\n .fire({\n title: \"Add description to submit and commit.\",\n input: \"text\",\n showCancelButton: true,\n confirmButtonText: \"Submit\",\n showLoaderOnConfirm: true,\n confirmButtonColor: \"#556ee6\",\n cancelButtonColor: \"#f46a6a\",\n preConfirm: (commitMsg) => {\n return new Promise((resolve, reject) => {\n if (commitMsg.trim() === \"\") {\n reject(new Error(\"Please enter a commit message.\"));\n } else {\n resolve(commitMsg);\n }\n });\n },\n allowOutsideClick: false,\n inputValidator: (value) => {\n return value.trim() !== \"\"\n ? undefined\n : \"Please enter a commit message.\";\n },\n })\n .then(({ value: commitMsg }) => {\n if (commitMsg !== undefined) {\n let commitProjectObj = {\n path: this.projectPath,\n message: commitMsg,\n githubUsername: this.$store.state.Auth.githubUsername,\n email: this.$store.state.Auth.userEmail,\n };\n swalWithBootstrapButtons.fire({\n title: \"Commit request in progress...\",\n allowOutsideClick: false,\n onOpen: () => {},\n });\n //no longer use the duplicate docPublisher components inside the docEditor\n Swal.showLoading();\n this.$store.getters.client\n .put(`/orguser/workspace/doceditor/commit`, commitProjectObj)\n .then((res) => {\n this.disabledownloadbutton = false;\n this.releaseParams.commitSHA = res.data.commitSHA;\n this.releaseParams.owner = CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8);\n this.$store.getters.client\n .post(`/orguser/release`, this.releaseParams)\n .then(() => {\n this.$store.commit(\"setRecentPublicationsData\", []);\n })\n .catch((err) => {\n this.$refs[\"modaloutputprogress\"].hide();\n if (\n err.response &&\n err.response.data &&\n err.response.data.message ===\n \"release validation failed: commitSHA: Path `commitSHA` is required.\"\n ) {\n // Do nothing, just return\n return;\n } else {\n // Display the error\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response && err.response.data\n ? err.response.data.message\n : \"Unknown error occurred\"\n );\n }\n });\n swalWithBootstrapButtons.fire({\n icon: \"success\",\n title: \"Commit request completed.\",\n text: res.data.message,\n });\n })\n .catch((err) => {\n swalWithBootstrapButtons.fire({\n icon: \"error\",\n title: \"Commit failed!\",\n text: err.response.data.message,\n });\n });\n }\n });\n },\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/plugins`)\n .then((res) => {\n this.selectOutputFormat = res.data;\n })\n .catch(() => {});\n },\n resetform() {\n this.typeform.inputPath = \"\";\n this.typeform.outputFormat = \"\";\n this.typeform.releaseTitle = \"\";\n },\n // Download output folder as a zip\n async downloadFun() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n const zipPromise = new JSZip();\n let user;\n let repository;\n let ref;\n let dir;\n try {\n const parsedUrl = new URL(this.outputURL);\n [, user, repository, ref, dir] = this.urlParserRegex.exec(\n parsedUrl.pathname\n );\n } catch (err) {\n // Handle URL parsing error\n this.messageToast(\"Invalid request\", \"danger\", \"Error parsing URL\");\n loader.hide();\n return;\n }\n try {\n const { private: repoIsPrivate } = await this.fetchRepoInfo(\n `${user}/${repository}`\n );\n const files = await listContent.viaTreesApi({\n user,\n repository,\n ref,\n directory: decodeURIComponent(dir),\n token: this.gitToken,\n getFullData: true,\n });\n const controller = new AbortController();\n const fetchPublicFile = async (file) => {\n const response = await axios.get(\n `https://raw.githubusercontent.com/${user}/${repository}/${ref}/${this.escapeFilepath(\n file.path\n )}`,\n {\n signal: controller.signal,\n }\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText} for ${file.path}`);\n }\n return response.blob();\n };\n const fetchPrivateFile = async (file) => {\n const response = await axios.get(file.url, {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n signal: controller.signal,\n });\n const { content } = await response.data;\n const decoder = await fetch(\n `data:application/octet-stream;base64,${content}`\n );\n return decoder.blob();\n };\n let downloaded = 0;\n const downloadFile = async (file) => {\n const localDownload = () =>\n repoIsPrivate ? fetchPrivateFile(file) : fetchPublicFile(file);\n const onFailedAttempt = (error) => {\n error; // Handle download error, if needed\n };\n try {\n const blob = await pRetry(localDownload, {\n onFailedAttempt,\n });\n downloaded++;\n const zip = await zipPromise;\n zip.file(file.path.replace(dir + \"/\", \"\"), blob, {\n binary: true,\n });\n } catch (error) {\n // Handle individual download error, if needed\n }\n };\n await pMap(files, downloadFile, {\n concurrency: 20,\n });\n loader.hide();\n const zip = await zipPromise;\n const zipBlob = await zip.generateAsync({\n type: \"blob\",\n });\n // Check if any files were downloaded successfully\n if (downloaded > 0) {\n this.$router.push(\"/release\");\n\n await saveFile(\n zipBlob,\n `${user} ${repository} ${ref} ${dir}.zip`.replace(/\\//, \"-\")\n );\n } else {\n // Handle case when no files were downloaded\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No files were downloaded.\"\n );\n }\n } catch (error) {\n // Handle other errors\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"An error occurred while downloading.\"\n );\n }\n },\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n escapeFilepath(path) {\n return path.replaceAll(\"#\", \"%23\");\n },\n },\n};\n</script>\n\n<style scoped>\n.modal-text {\n font-weight: 400;\n font-size: 14px;\n\n color: #17233d;\n}\nlabel {\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./generateoutput.vue?vue&type=template&id=1396e820&scoped=true\"\nimport script from \"./generateoutput.vue?vue&type=script&lang=js\"\nexport * from \"./generateoutput.vue?vue&type=script&lang=js\"\nimport style0 from \"./generateoutput.vue?vue&type=style&index=0&id=1396e820&prod&scoped=true&lang=css\"\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 \"1396e820\",\n null\n \n)\n\nexport default component.exports","<template>\n <!-- Template for the DocPublisher page -->\n <div>\n <!-- Page header with title and items -->\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <div class=\"mr-2 px-1\">\n <span class=\"project-name\">{{ projectName }}</span>\n </div>\n <div class=\"mr-2 dita-ot-cont px-1\">\n <span class=\"dita-ot\">DITA-OT Version:</span>\n <span class=\"dita-ot-version ml-2\">{{ ditaOtVersions }}</span>\n </div>\n </div>\n <div class=\"row mt-3\">\n <div\n class=\"col-xl-12\"\n v-if=\"\n this.$store.state.Auth.orgDetails.customPlugin &&\n customPluginOutputFormat.length\n \"\n >\n <!-- Display custom plugin content if available -->\n <b-card>\n <b-tabs\n justified\n nav-class=\"nav-tabs-custom\"\n content-class=\"text-muted\"\n class=\"btabs-height\"\n >\n <b-tab title=\"Default Publisher\" active>\n <div>\n <div>\n <generateoutput :ditaotVersion=\"ditaOtVersions\" />\n </div>\n </div>\n </b-tab>\n <b-tab title=\"Custom Publisher\">\n <div>\n <div>\n <customPlugin :ditaotVersion=\"ditaOtVersions\"></customPlugin>\n </div>\n </div>\n </b-tab>\n </b-tabs>\n </b-card>\n </div>\n <div v-else class=\"col-xl-12\">\n <!-- Display default publisher if custom plugin is disabled -->\n <div v-if=\"ditaOtVersions !== null\">\n <generateoutput :ditaotVersion=\"ditaOtVersions\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport generateoutput from \"./components/generateoutput\";\nimport customPlugin from \"../docpublisher/components/customplugin.vue\";\nimport { secretKey } from \"../../../api/global.env\";\nimport { eventBus } from \"../../../main\";\nimport { mapGetters } from \"vuex\";\nimport Swal from \"sweetalert2\";\nimport { BTabs, BTab } from \"bootstrap-vue\";\nimport CryptoJS from \"crypto-js\";\nexport default {\n components: {\n generateoutput,\n BTabs,\n BTab,\n customPlugin,\n },\n computed: {\n ...mapGetters([\"ditaOtVersions\"]),\n },\n data() {\n return {\n organizationDetails: null,\n customPluginOutputFormat: null,\n orgId: this.$store.state.Auth.orgId,\n projectName: CryptoJS.AES.decrypt(\n this.$route.params.reponame,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n repouser: CryptoJS.AES.decrypt(\n this.$route.params.repouser,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n brachName: CryptoJS.AES.decrypt(\n this.$route.params.repobranch,\n secretKey\n ).toString(CryptoJS.enc.Utf8),\n title: \"DocPublisher\",\n items: [\n {\n text: \"Projects\",\n href: `/docmanager`,\n },\n {\n text: \"DocEditor\",\n href: `/doceditor/${encodeURIComponent(\n this.$route.params.repouser\n )}/${encodeURIComponent(\n this.$route.params.reponame\n )}/${encodeURIComponent(this.$route.params.repobranch)}`,\n },\n {\n text: \"DocPublisher\",\n active: true,\n },\n ],\n };\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.docpublisher.text\");\n this.getoutputFormat();\n },\n mounted() {\n const swalWithBootstrapButtons = Swal.mixin({\n customClass: {\n confirmButton: \"btn btn-primary btn-sm my-3\",\n cancelButton: \"btn btn-sm mr-2 btn-light\",\n },\n buttonsStyling: false,\n });\n // Display a confirmation dialog with options\n swalWithBootstrapButtons\n .fire({\n text: \" Do you want to style your document before publishing?\",\n showCancelButton: true,\n confirmButtonText: \"Yes! Let's proceed\",\n cancelButtonText: \"No! Continue with DocPublisher\",\n reverseButtons: true,\n })\n .then((result) => {\n if (result.isConfirmed) {\n const encodedRepouser = encodeURIComponent(\n this.$route.params.repouser\n );\n const encodedReponame = encodeURIComponent(\n this.$route.params.reponame\n );\n const encodedBranch = encodeURIComponent(\n this.$route.params.repobranch\n );\n this.$router.push({\n path: `/docstyler/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n } else if (result.dismiss === Swal.DismissReason.cancel) {\n swalWithBootstrapButtons;\n }\n });\n if (Object.keys(this.$store.state.Auth.orgDetails).length) {\n this.organizationDetails = this.$store.state.Auth.orgDetails;\n } else {\n this.getOrgDetails();\n }\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n async getOrgDetails() {\n return this.$store.getters.client\n .get(`/serveradmin/organization/byorgid?orgId=${this.orgId}`)\n .then((res) => {\n if (res.data) {\n this.organizationDetails = res.data[0];\n this.$store.commit(\"setOrgDetails\", this.organizationDetails);\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No data received from the server\"\n );\n }\n })\n .catch((err) => {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n });\n },\n async getoutputFormat() {\n await this.$store.getters.client\n .get(`/orguser/docpublisher/customplugin`)\n .then((res) => {\n this.customPluginOutputFormat = res.data;\n this.ditaOtFolder = res.data;\n })\n .catch(() => {});\n },\n },\n};\n</script>\n<style scoped>\n.project-name {\n font-size: 18px;\n font-weight: 500;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: center;\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-cont {\n margin-top: 0.4rem;\n font-size: 14px;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0em;\n text-align: left;\n}\n.dita-ot {\n color: rgba(23, 35, 61, 1);\n}\n.dita-ot-version {\n color: rgba(105, 111, 121, 1);\n}\n.form-group {\n margin: 10px;\n}\n.btabs-height {\n height: 100%;\n}\n/* Media query for Z Fold when the screen is folded */\n@media screen and (max-width: 280px) {\n .font-size-15 {\n font-size: 8px !important;\n }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./docpublisher.vue?vue&type=template&id=6e3ae888&scoped=true\"\nimport script from \"./docpublisher.vue?vue&type=script&lang=js\"\nexport * from \"./docpublisher.vue?vue&type=script&lang=js\"\nimport style0 from \"./docpublisher.vue?vue&type=style&index=0&id=6e3ae888&prod&scoped=true&lang=css\"\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 \"6e3ae888\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.item}}),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-8\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"card shadow-sm\"},[_vm._m(0),_c('div',{staticClass:\"container\"},[_c('form',[_c('div',{staticClass:\"form-group row\"},[_vm._m(1),_c('div',{staticClass:\"col-md-12\"},[_c('multiselect',{staticClass:\"custom-multiselect\",staticStyle:{\"width\":\"100%\"},attrs:{\"options\":_vm.projectList.map((item) => item.projectName),\"max-height\":150,\"placeholder\":\"Choose a Project\"},model:{value:(_vm.selectedproject),callback:function ($$v) {_vm.selectedproject=$$v},expression:\"selectedproject\"}})],1)]),(_vm.hasData)?_c('div',{staticClass:\"form-group row\"},[_vm._m(2),_c('div',{staticClass:\"col-md-12\"},[_c('multiselect',{attrs:{\"max-height\":150,\"options\":_vm.repobranchesdata.map((item) => item.text),\"placeholder\":\"Choose a branch\",\"allow-empty\":false},model:{value:(_vm.selectedBranch),callback:function ($$v) {_vm.selectedBranch=$$v},expression:\"selectedBranch\"}})],1)]):_vm._e(),_c('div',{staticClass:\"row form-group\"},[_c('div',{staticClass:\"col-md-12\"},[_c('button',{staticClass:\"btn btn-primary btn-sm\",attrs:{\"type\":\"submit\",\"disabled\":_vm.isButtonDisabled || _vm.selectedproject === ''},on:{\"click\":function($event){$event.preventDefault();return _vm.setdata(_vm.selectedProjectOwner, _vm.selectedProjectName)}}},[_vm._v(\" Next \")])])])])])])])])])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"},[_c('div',{staticClass:\"custom-title\"},[_vm._v(\" Add details to proceed with DocEditor \")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"col-md-12 col-form-label\"},[_vm._v(\"Select Project\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('label',{staticClass:\"col-md-12 col-form-label\"},[_vm._v(\"Select Branch\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\"*\")])])\n}]\n\nexport { render, staticRenderFns }","import {secretKey} from \"../api/global.env\";\nimport CryptoJS from \"crypto-js\";\n\nfunction decrypt(res) {\n return CryptoJS.AES.decrypt(res, secretKey).toString(CryptoJS.enc.Utf8);\n}\n\nfunction encrypt(res) {\n return CryptoJS.AES.encrypt(res, secretKey).toString();\n}\n\nexport default { decrypt, encrypt };\n","<template>\n <div>\n <!-- PageHeader component with dynamic properties -->\n <PageHeader :title=\"title\" :items=\"item\" />\n <!-- Main content -->\n <div class=\"row\">\n <div class=\"col-md-8\">\n <div class=\"card-body\">\n <!-- Project selection card -->\n <div class=\"card shadow-sm\">\n <div\n class=\"custom-notifications d-flex justify-content-between align-items-center flex-wrap\"\n >\n <div class=\"custom-title\">\n Add details to proceed with DocEditor\n </div>\n </div>\n <div class=\"container\">\n <form>\n <!-- Select Project -->\n <div class=\"form-group row\">\n <label class=\"col-md-12 col-form-label\"\n >Select Project<span class=\"text-danger\">*</span></label\n >\n <div class=\"col-md-12\">\n <!-- Multiselect for project selection -->\n <multiselect\n style=\"width: 100%\"\n v-model=\"selectedproject\"\n :options=\"projectList.map((item) => item.projectName)\"\n :max-height=\"150\"\n placeholder=\"Choose a Project\"\n class=\"custom-multiselect\"\n ></multiselect>\n </div>\n </div>\n <!-- Select Branch (visible only when there is data) -->\n <div v-if=\"hasData\" class=\"form-group row\">\n <label class=\"col-md-12 col-form-label\"\n >Select Branch<span class=\"text-danger\">*</span></label\n >\n <div class=\"col-md-12\">\n <multiselect\n :max-height=\"150\"\n v-model=\"selectedBranch\"\n :options=\"repobranchesdata.map((item) => item.text)\"\n placeholder=\"Choose a branch\"\n :allow-empty=\"false\"\n >\n </multiselect>\n </div>\n </div>\n <!-- Proceed to Editor Button -->\n <div class=\"row form-group\">\n <div class=\"col-md-12\">\n <!-- Button to proceed to the editor with conditions -->\n <button\n type=\"submit\"\n class=\"btn btn-primary btn-sm\"\n :disabled=\"isButtonDisabled || selectedproject === ''\"\n @click.prevent=\"\n setdata(selectedProjectOwner, selectedProjectName)\n \"\n >\n Next\n </button>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { mapActions } from \"vuex\";\nimport Multiselect from \"vue-multiselect\";\nimport { eventBus } from \"../../../main\";\nimport CryptoJS from \"crypto-js\";\nimport { secretKey } from \"../../../api/global.env\";\nimport encryptionModule from \"../../../components/functions\";\nimport githubService from \"../../../services/github\";\nimport { decryptParam } from \"../../../services/cryptoFunction\";\nexport default {\n components: {\n Multiselect,\n },\n data() {\n return {\n selectedproject: \"\",\n userId: this.$store.state.Auth.userId,\n items: \"\",\n selectedBranch: \"\",\n previousSelectedBranch: \"\",\n selectedProjectOwner: \"\",\n selectedProjectName: null,\n projectList: [],\n repobranchesdata: [],\n title: \"DocEditor\",\n item: [\n {\n text: \"Dashboard\",\n href: \"/\",\n },\n {\n text: \"DocEditor\",\n active: true,\n },\n ],\n ignoreNextChange: false, // Flag to ignore next change\n };\n },\n mounted() {\n // Emit event to update the sidebar\n eventBus.$emit(\"update-sidebar\", \"menuitems.doceditor.text\");\n },\n created() {\n // Emit event to update the sidebar\n\n if (this.$store.state.Auth.projectsData.length) {\n this.projectList = this.$store.state.Auth.projectsData;\n this.initialSelectProjectIfQueryPresent();\n } else {\n // If no project data is available, fetch it\n this.getProjectData();\n }\n },\n computed: {\n // Determine if the button should be disabled based on conditions\n isButtonDisabled() {\n return this.selectedproject === null || this.selectedBranch === \"\";\n },\n // Check if there is data in repobranchesdata\n hasData() {\n return this.repobranchesdata.length > 0;\n },\n },\n methods: {\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n ...mapActions({\n get: \"userProjectDetails\",\n }),\n getProjectData() {\n // Fetch user's projects and set projectList\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n this.$store.getters.client\n .get(`/projectuser/byuserid?userId=${this.userId}`)\n .then((response) => {\n loader.hide();\n this.projectList = response.data;\n\n this.$store.commit(\"setProjectsList\", response.data);\n this.initialSelectProjectIfQueryPresent();\n })\n .catch(() => {\n loader.hide();\n });\n },\n setdata(owner, projectName) {\n this.redirectProject(owner, projectName);\n },\n async redirectProject(repouser, reponame) {\n // Encrypt and encode data for the URL, then redirect\n const encryptedRepouser = encryptionModule.encrypt(repouser);\n const encryptedReponame = CryptoJS.AES.encrypt(\n reponame,\n secretKey\n ).toString();\n const encryptedBranch = CryptoJS.AES.encrypt(\n this.selectedBranch,\n secretKey\n ).toString();\n localStorage.setItem(\"repouser\", encryptedRepouser);\n localStorage.setItem(\"reponame\", encryptedReponame);\n const encodedRepouser = encodeURIComponent(encryptedRepouser);\n const encodedReponame = encodeURIComponent(encryptedReponame);\n const encodedBranch = encodeURIComponent(encryptedBranch);\n this.$router.push({\n path: `/doceditor/${encodedRepouser}/${encodedReponame}/${encodedBranch}`,\n });\n },\n async getRepoBranch() {\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n\n this.$store.getters.client\n .get(\n `orguser/repobranches?repoUser=${this.selectedProjectOwner}&repoName=${this.selectedProjectName}`\n )\n .then(async (response) => {\n if (this.$route.query.branchName) {\n this.selectedBranch = decryptParam(this.$route.query.branchName);\n this.previousSelectedBranch = this.selectedBranch;\n this.checkoutBranch(this.selectedBranch);\n this.$router.push({});\n } else {\n const res = await githubService.currentBranch(\n this.selectedProjectName\n );\n this.selectedBranch = res.data;\n this.previousSelectedBranch = res.data;\n }\n if (response.data && response.data.length > 0) {\n this.repobranchesdata = response.data.map((element) => ({\n value: element.name,\n text: element.name,\n }));\n } else {\n // Handle the case when the response is empty or does not contain branches.\n this.messageToast(\n \"invalid request\",\n \"danger\",\n \"No branches found in the Project.\"\n );\n }\n })\n .catch((error) => {\n // Handle errors here, e.g., show an error message or log the error.\n this.messageToast(\n \"invalid request\",\n \"danger\",\n error.response.data.message\n );\n })\n .finally(() => {\n loader.hide();\n });\n },\n async checkoutBranch(brachName) {\n this.selectedBranch = brachName;\n console.log(\"in checkoutBranch: \", this.selectedBranch);\n // ============checkout the branch============\n const res = await githubService.checkout(\n {\n repoName: this.selectedProjectName,\n branchName: this.selectedBranch,\n },\n this\n );\n console.log(\"ckeckout res: \", res);\n\n if (res === false) {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Failed to checkout branch.\"\n );\n this.selectedBranch = this.previousSelectedBranch;\n this.ignoreNextChange = true; // Set the flag to ignore next change\n return;\n } else {\n this.previousSelectedBranch = this.selectedBranch;\n this.messageToast(\"Branch checkout\", \"success\", res.message);\n }\n // ============checkout the branch============\n },\n\n initialSelectProjectIfQueryPresent() {\n const query = this.$route.query;\n if (query.projectName && query.branchName) {\n this.selectedproject = decryptParam(query.projectName);\n this.selectedBranch = decryptParam(query.branchName);\n } else if (this.$store.state.Auth.currentWorkingProject) {\n const isPresent = this.projectList.some(\n (item) =>\n item.projectName ===\n this.$store.state.Auth.currentWorkingProject.projectName\n );\n if (!isPresent) {\n this.$store.commit(\"setCurrentWorkingProject\", null);\n localStorage.removeItem(\"currentWorkingProject\");\n return;\n }\n this.selectedproject =\n this.$store.state.Auth.currentWorkingProject.projectName;\n }\n },\n },\n watch: {\n selectedproject(newVal) {\n console.log(\"selected project :\", newVal);\n // When the selected project changes, update related data\n const selectedProject = this.projectList.find(\n (item) => item.projectName === newVal\n );\n this.selectedProjectOwner = selectedProject.owner;\n this.selectedProjectName = selectedProject.projectName;\n this.repobranchesdata = [];\n this.getRepoBranch();\n this.$store.commit(\"setCurrentWorkingProject\", selectedProject);\n },\n selectedBranch(newVal, oldValue) {\n // Ignore the next change if we're reverting the value\n if (this.ignoreNextChange) {\n this.ignoreNextChange = false; // Reset the flag\n return;\n }\n if (oldValue && newVal) {\n console.log(\"in selectedBranch: \", newVal, oldValue);\n this.checkoutBranch(newVal);\n }\n },\n },\n};\n</script>\n<style scoped>\nlabel {\n font-weight: 400;\n font-size: 14px;\n font-weight: 400;\n line-height: 16.42px;\n letter-spacing: 0em;\n text-align: left;\n color: #17233d;\n}\n\n.custom-notifications {\n padding: 14px;\n gap: 24px;\n}\n\n.custom-title {\n font-size: 16 px;\n font-weight: 400;\n line-height: 18.77px;\n letter-spacing: 0.5px;\n text-align: left;\n color: rgba(23, 35, 61, 1);\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectlist.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectlist.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./projectlist.vue?vue&type=template&id=9256ea9e&scoped=true\"\nimport script from \"./projectlist.vue?vue&type=script&lang=js\"\nexport * from \"./projectlist.vue?vue&type=script&lang=js\"\nimport style0 from \"./projectlist.vue?vue&type=style&index=0&id=9256ea9e&prod&scoped=true&lang=css\"\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 \"9256ea9e\",\n null\n \n)\n\nexport default component.exports","import Docpublisher from \"./docpublisher.vue\";\nimport ProjectList from \"./projectlist.vue\";\n\nimport BootstrapVue from \"bootstrap-vue\";\nimport Vue from \"vue\";\nVue.use(BootstrapVue);\n\nimport { checkAccessToService } from \"../../../middleware/secure-route\";\n\n// Define an array of route objects\nexport default [\n {\n // Define a route for the Docpublisher component with dynamic parameters\n path: \"/doceditor/docpublisher/:repouser/:reponame/:repobranch\",\n component: Docpublisher,\n name: \"Docpublisher\",\n props: (route) => ({\n // Decode and pass dynamic parameters from the URL as props to the component\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"publisher\");\n },\n },\n {\n // Define a route for the ProjectList component\n path: \"/doceditor\",\n component: ProjectList,\n name: \"DocEditor\",\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"editor\");\n },\n },\n];\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('PageHeader',{attrs:{\"title\":_vm.title,\"items\":_vm.items}}),_c('div',[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row mt-2 d-flex justify-content-between mx-3\"},[_c('div',{staticClass:\"dataTables_length\",attrs:{\"id\":\"tickets-table_length\"}},[_c('label',{staticClass:\"d-inline-flex align-items-center\"},[_vm._v(\" Show \"),_c('b-form-select',{attrs:{\"size\":\"sm\",\"options\":_vm.pageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),_vm._v(\" entries \")],1)]),_c('div',{staticClass:\"d-md-flex align-items-center justify-content-between mb-3\"},[_c('div',{staticClass:\"search-box mr-3 mb-2\"},[_c('div',{staticClass:\"position-relative\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],staticClass:\"form-control text-primary rounded custom-input-box\",attrs:{\"type\":\"text\",\"placeholder\":\"Search\",\"id\":\"myInput\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing)return;_vm.filter=$event.target.value}}}),_c('i',{staticClass:\"mdi mdi-magnify search-icon\"})])]),_c('b-button',{staticClass:\"export-button mr-2 mb-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":_vm.exportToExcel}},[_vm._v(\"Export to Excel\")]),_c('b-button',{staticClass:\"export-button mb-2\",attrs:{\"size\":\"sm\",\"variant\":\"light\"},on:{\"click\":_vm.exportToCSV}},[_vm._v(\"Export to CSV\")])],1),_c('div',{staticClass:\"table-responsive mb-0\"},[_c('b-table',{ref:\"adminTable\",attrs:{\"items\":_vm.activityData,\"fields\":_vm.colfields,\"responsive\":\"sm\",\"per-page\":_vm.perPage,\"current-page\":_vm.currentPage,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"filter\":_vm.filter,\"filter-included-fields\":_vm.filterOn,\"filter-function\":_vm.filterTable,\"show-empty\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event},\"filtered\":_vm.onFiltered},scopedSlots:_vm._u([{key:\"cell(createdAt)\",fn:function(row){return [_vm._v(\" \"+_vm._s(_vm.moment(row.item.createdAt).format(\"YYYY-MM-DD h:mm A\"))+\" \")]}},{key:\"cell(delete)\",fn:function(row){return [_c('div',{on:{\"click\":function($event){return _vm.deleteRow(row.item)}}},[_c('i',{staticClass:\"btn text-secondary mdi mdi-delete\"})])]}},{key:\"cell(download)\",fn:function(row){return [_c('b-button',{attrs:{\"size\":\"sm\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.downloadFun(row.item)}}},[_c('i',{staticClass:\"mdi mdi-download\"})])]}}])})],1),_c('div',{staticClass:\"col-12 border-top pt-3\"},[_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('b-pagination',{attrs:{\"total-rows\":_vm.filteredData.length,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)])])])])])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <PageHeader :title=\"title\" :items=\"items\" />\n <div>\n <!-- Main Card -->\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"card\">\n <div class=\"card-body\">\n <!-- Filter and Per Page Options -->\n <div class=\"row mt-2 d-flex justify-content-between mx-3\">\n <div id=\"tickets-table_length\" class=\"dataTables_length\">\n <label class=\"d-inline-flex align-items-center\">\n Show \n <b-form-select\n v-model=\"perPage\"\n size=\"sm\"\n :options=\"pageOptions\"\n ></b-form-select\n > entries\n </label>\n </div>\n <div\n class=\"d-md-flex align-items-center justify-content-between mb-3\"\n >\n <div class=\"search-box mr-3 mb-2\">\n <div class=\"position-relative\">\n <input\n type=\"text\"\n class=\"form-control text-primary rounded custom-input-box\"\n placeholder=\"Search\"\n id=\"myInput\"\n v-model=\"filter\"\n />\n <i class=\"mdi mdi-magnify search-icon\"></i>\n </div>\n </div>\n <!-- Buttons -->\n <b-button\n size=\"sm\"\n class=\"export-button mr-2 mb-2\"\n variant=\"light\"\n @click=\"exportToExcel\"\n >Export to Excel</b-button\n >\n <b-button\n size=\"sm\"\n class=\"export-button mb-2\"\n variant=\"light\"\n @click=\"exportToCSV\"\n >Export to CSV</b-button\n >\n </div>\n\n <!-- Data Table -->\n <div class=\"table-responsive mb-0\">\n <b-table\n :items=\"activityData\"\n :fields=\"colfields\"\n responsive=\"sm\"\n :per-page=\"perPage\"\n :current-page=\"currentPage\"\n :sort-by.sync=\"sortBy\"\n :sort-desc.sync=\"sortDesc\"\n :filter=\"filter\"\n :filter-included-fields=\"filterOn\"\n @filtered=\"onFiltered\"\n :filter-function=\"filterTable\"\n ref=\"adminTable\"\n show-empty\n >\n <!-- Custom cell rendering for createdAt -->\n <template #cell(createdAt)=\"row\">\n {{\n moment(row.item.createdAt).format(\"YYYY-MM-DD h:mm A\")\n }}\n </template>\n <template #cell(delete)=\"row\">\n <div @click=\"deleteRow(row.item)\">\n <i class=\"btn text-secondary mdi mdi-delete\"></i>\n </div>\n </template>\n <template #cell(download)=\"row\">\n <b-button\n size=\"sm\"\n variant=\"primary\"\n @click=\"downloadFun(row.item)\"\n ><i class=\"mdi mdi-download\"></i\n ></b-button>\n </template>\n </b-table>\n </div>\n <!-- Pagination -->\n <div class=\"col-12 border-top pt-3\">\n <div class=\"d-flex justify-content-end\">\n <b-pagination\n v-model=\"currentPage\"\n :total-rows=\"filteredData.length\"\n :per-page=\"perPage\"\n />\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport moment from \"moment\";\nimport _ from \"lodash\";\nimport * as XLSX from \"xlsx\";\nimport { eventBus } from \"../../../main\";\nimport Swal from \"sweetalert2\";\nimport downloadSourceFiles from \"../../../services/download-source-files\";\n\nexport default {\n data() {\n return {\n activityData: [],\n filteredData: [],\n title: \"Recent Publication \",\n items: [\n {\n text: \"Dashboard\",\n href: `/dashboard`,\n },\n {\n text: \"Recent Publications\",\n active: true,\n },\n ],\n userId: this.$store.state.Auth.userId,\n gitToken: this.$store.state.Auth.gitToken,\n totalRows: 1,\n currentPage: 1,\n perPage: 5,\n pageOptions: [5, 10, 25, 50, 100],\n filter: null,\n filterOn: [],\n sortBy: \"\",\n sortDesc: true,\n colfields: this.generateTableColumns(),\n chartData: {\n labels: [],\n datasets: [\n {\n label: \"Number of Releases\",\n backgroundColor: \"#f87979\",\n data: [],\n },\n ],\n },\n chartOptions: {\n responsive: true,\n maintainAspectRatio: false,\n },\n };\n },\n computed: {\n rows() {\n return this.activityData.length;\n },\n _() {\n return _;\n },\n totalPages() {\n return Math.ceil(this.rows / this.perPage);\n },\n },\n watch: {\n perPage: {\n handler() {\n this.currentPage = 1;\n },\n },\n activityData: {\n handler() {\n this.filteredData = this.activityData;\n },\n },\n filter: {\n handler() {\n this.filteredData = this.activityData?.filter((data) =>\n data.projectName.toUpperCase().includes(this.filter?.toUpperCase())\n );\n },\n },\n },\n created() {\n eventBus.$emit(\"update-sidebar\", \"menuitems.dashboard.text\");\n if (this.$store.state.Auth.recentPublicationsData.length) {\n this.activityData = this.$store.state.Auth.recentPublicationsData;\n } else {\n this.getReleasePublication();\n }\n this.prepareChartData();\n },\n\n methods: {\n moment,\n onFiltered(filteredItems) {\n // Update the totalRows to the length of the filtered items\n this.totalRows = filteredItems.length;\n this.currentPage = 1;\n },\n onPageChange(page) {\n this.currentPage = page;\n },\n prepareChartData() {\n const projects = {};\n // Count releases per project\n this.activityData.forEach((release) => {\n const projectName = release.projectName;\n projects[projectName] = (projects[projectName] || 0) + 1;\n });\n // Populate chart data\n this.chartData.labels = Object.keys(projects);\n this.chartData.datasets[0].data = Object.values(projects);\n // Update the chart\n this.$refs.barChart._chart.update();\n },\n generateTableColumns() {\n return [\n {\n key: \"releaseTitle\",\n label: \"Release Title\",\n sortable: true,\n },\n {\n key: \"projectName\",\n label: \"Project Name\",\n sortable: true,\n },\n {\n key: \"releasedBy\",\n label: \"Released By\",\n sortable: true,\n },\n {\n key: \"outputFormat\",\n label: \"Output Format\",\n sortable: true,\n },\n {\n key: \"ditaotVersion\",\n label: \"DITA OT Version\",\n sortable: true,\n },\n {\n key: \"createdAt\",\n label: \"Created At\",\n sortable: true,\n sortByFormatted: true,\n formatter: (value, key, item) =>\n moment(item.createdAt).format(\"YYYY-MM-DD HH:mm:ss\"),\n },\n {\n key: \"delete\",\n label: \"Delete\",\n sortable: false,\n },\n {\n key: \"download\",\n label: \"Download\",\n sortable: false,\n },\n ];\n },\n // This method is use to generate error or success message\n messageToast(messageToastTitle, messageToastVariant, messageToastContent) {\n this.$bvToast.toast(messageToastContent, {\n title: messageToastTitle,\n variant: messageToastVariant,\n solid: true,\n });\n },\n deleteRow(item) {\n Swal.fire({\n title: \"Delete release\",\n text: \"Do you want to delete this release?\",\n icon: \"question\",\n showCancelButton: true,\n confirmButtonText: \"delete\",\n }).then(async (result) => {\n if (result.isConfirmed) {\n const index = this.activityData.indexOf(item);\n if (index !== -1) {\n this.activityData.splice(index, 1);\n this.$store.commit(\"setRecentPublicationsData\", this.activityData);\n this.deleteItemOnServer(item);\n }\n }\n });\n },\n deleteItemOnServer(item) {\n this.$store.getters.client\n .delete(`/orguser/release?Id=${item._id}`)\n .then(() => {\n this.messageToast(\"Success\", \"primary\", \"Item deleted successfully\");\n })\n .catch(() => {\n this.messageToast(\"Error\", \"danger\", \"Failed to delete item\");\n });\n },\n getReleasePublication() {\n this.$store.getters.client\n .get(`/orguser/release/byuserId?userId=${this.userId}`)\n .then((response) => {\n if (response.data) {\n this.activityData = response.data;\n this.$store.commit(\"setRecentPublicationsData\", response.data);\n } else {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"No data received from the server\"\n );\n }\n })\n .catch((err) => {\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n err.response ? err.response.data.message : \"An error occurred\"\n );\n this.showSpinner = false;\n });\n },\n // Download all content of repo as a zip\n // async downloadZip(item) {\n // let loader = this.$loading.show({\n // loader: \"dots\",\n // });\n // try {\n // const response = await this.$store.getters.client.get(\n // `/orguser/release/download?releaseId=${item._id}`,\n // {\n // responseType: \"arraybuffer\",\n // }\n // );\n // const blob = new Blob([response.data], {\n // type: response.headers[\"content-type\"],\n // });\n // const url = window.URL.createObjectURL(blob);\n // const link = document.createElement(\"a\");\n // link.href = url;\n // link.setAttribute(\"download\", `${item.releaseTitle}.zip`);\n // document.body.appendChild(link);\n // link.click();\n // loader.hide();\n // this.messageToast(\"Success\", \"primary\", \"Downloaded successfull!\");\n // } catch (error) {\n // loader.hide();\n // this.messageToast(\"Invalid request\", \"danger\", error.message);\n // }\n // },\n async fetchRepoInfo(repo) {\n try {\n const response = await fetch(\n `https://api.github.com/repos/${repo}`,\n this.gitToken\n ? {\n headers: {\n Authorization: `Bearer ${this.gitToken}`,\n },\n }\n : {}\n );\n if (!response.ok) {\n throw new Error(`HTTP ${response.statusText}`);\n }\n return response.json();\n } catch (error) {\n // Handle errors and display an error message\n this.messageToast(\n \"Invalid request\",\n \"danger\",\n \"Error fetching repository info\"\n );\n throw error; // Re-throw the error to be handled at a higher level if needed\n }\n },\n\n async downloadFun(item) {\n console.log(\"📢[releasetable.vue:389]: item: \", item);\n\n let loader = this.$loading.show({\n loader: \"dots\",\n });\n try {\n await downloadSourceFiles({\n repoName: item.projectName,\n commitSHA: item.commitSHA,\n });\n this.messageToast(\n \"Files downloaded\",\n \"primary\",\n \"Downloaded successful!\"\n );\n } catch (error) {\n this.messageToast(\"Invalid request\", \"danger\", error.message);\n } finally {\n loader.hide();\n }\n },\n exportToExcel() {\n const dataToExport = this.filteredData.map((item) => ({\n \"Release Title\": item.releaseTitle,\n \"Project Name\": item.projectName,\n \"Released By\": item.releasedBy,\n \"Output Format\": item.outputFormat,\n \"DITA OT Version\": item.ditaotVersion,\n \"Created At\": moment(item.createdAt).format(\"YYYY-MM-DD HH:mm:ss\"),\n }));\n const ws = XLSX.utils.json_to_sheet(dataToExport);\n const wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, \"Sheet1\");\n // Save the workbook as an Excel file\n XLSX.writeFile(wb, \"table_data.xlsx\");\n },\n exportToCSV() {\n const dataToExport = this.filteredData.map((item) => ({\n \"Release Title\": item.releaseTitle,\n \"Project Name\": item.projectName,\n \"Released By\": item.releasedBy,\n \"Output Format\": item.outputFormat,\n \"DITA OT Version\": item.ditaotVersion,\n \"Created At\": moment(item.createdAt).format(\"YYYY-MM-DD HH:mm:ss\"),\n }));\n const ws = XLSX.utils.json_to_sheet(dataToExport);\n const wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, \"Sheet1\");\n // Save the workbook as a CSV file\n XLSX.writeFile(wb, \"table_data.csv\", {\n bookType: \"csv\",\n });\n },\n filterTable(row, filter) {\n const filterUpperCase = filter.toUpperCase();\n const hasNameMatch = row.projectName\n .toUpperCase()\n .includes(filterUpperCase);\n\n return hasNameMatch;\n },\n },\n};\n</script>\n\n<style scoped>\n.custom-input-box {\n border: 1px solid #ced4da !important;\n border-radius: 0px;\n background-color: #ffffff !important;\n}\n\n.export-button {\n height: 38px;\n}\n\n.search-box input {\n height: 38px;\n}\n\n/* Extra small devices (phones, 600px and down) */\n@media only screen and (max-width: 600px) {\n .row-count-cust-cls {\n margin-bottom: 10px;\n }\n\n .row-pagination-cust-cls {\n margin-top: 20px;\n }\n}\n\n/* Small devices (portrait tablets and large phones, 600px and up) */\n@media only screen and (min-width: 600px) {\n .row-count-cust-cls ul {\n margin-bottom: 10px;\n text-align: left !important;\n }\n}\n\n/* Medium devices (landscape tablets, 768px and up) */\n@media only screen and (min-width: 768px) {\n}\n\n/* Large devices (laptops/desktops, 992px and up) */\n@media only screen and (min-width: 992px) {\n}\n\n/* Extra large devices (large laptops and desktops, 1200px and up) */\n@media only screen and (min-width: 1200px) {\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releasetable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releasetable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./releasetable.vue?vue&type=template&id=aa64ea3a&scoped=true\"\nimport script from \"./releasetable.vue?vue&type=script&lang=js\"\nexport * from \"./releasetable.vue?vue&type=script&lang=js\"\nimport style0 from \"./releasetable.vue?vue&type=style&index=0&id=aa64ea3a&prod&scoped=true&lang=css\"\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 \"aa64ea3a\",\n null\n \n)\n\nexport default component.exports","import Releasetable from \"./releasetable.vue\";\nexport default [\n {\n path: \"/release\",\n component: Releasetable,\n name: \"Releasetable\",\n },\n];\n","import Vue from \"vue\";\nimport Router from \"vue-router\";\nimport Login from \"@/views/pages/account/routes.account/\";\nimport Dashboard from \"@/views/pages/dashboard/routes.dashboard/\";\nimport DocManager from \"@/views/pages/docmanager/routes.docmanager/\";\nimport DocPublisher from \"@/views/pages/docpublisher/routes.docpublisher/\";\nimport DocMigration from \"@/views/pages/docmigration/routes.docmigration/\";\nimport frontmatter from \"@/views/pages/docstyler/routes.docstyler/\";\nimport DocEditor from \"@/views/pages/doceditor/routes.doceditor/\";\nimport Tables from \"@/views/pages/tables/routes.tables/\";\nimport { checkAccessToService } from \"../middleware/secure-route\";\nVue.use(Router);\n\nconst router = new Router({\n mode: \"history\",\n base: process.env.BASE_URL,\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { x: 0, y: 0 };\n }\n },\n routes: [\n ...Login,\n {\n path: \"/dashboard\",\n component: () => import(\"@/views/layouts/main/\"),\n children: [\n ...Dashboard,\n ...DocManager,\n ...DocPublisher,\n ...DocMigration,\n ...frontmatter,\n ...DocEditor,\n ...Tables,\n ],\n },\n {\n path: \"/doceditor/:repouser/:reponame/:repobranch\",\n component: () => import(\"../views/pages/doceditor/index.vue\"),\n props: (route) => ({\n repouser: decodeURIComponent(route.params.repouser),\n reponame: decodeURIComponent(route.params.reponame),\n repobranch: decodeURIComponent(route.params.repobranch),\n }),\n beforeEnter: (to, from, next) => {\n checkAccessToService(to, from, next, \"editor\");\n },\n },\n\n // Redirect to 404 page, if no match found\n {\n path: \"/not-found\",\n component: () => import(/* webpackChunkName: \"404\" */ \"@/views/Error404\"),\n },\n { path: \"*\", redirect: \"/not-found\" },\n ],\n});\nrouter.afterEach(() => {\n const appLoading = document.getElementById(\"loading-bg\");\n if (appLoading) {\n appLoading.style.display = \"none\";\n }\n});\nexport default router;\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentpublication.vue?vue&type=style&index=0&id=23bdb6d5&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectlist.vue?vue&type=style&index=0&id=9256ea9e&prod&scoped=true&lang=css\"","module.exports = __webpack_public_path__ + \"img/upload.600f76dc.svg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex flex-column flex-sm-row align-items-sm-center justify-content-between pb-3 page-title-box\"},[_c('h5',{staticClass:\"mb-sm-0\"},[_vm._v(_vm._s(_vm.title))]),_c('b-breadcrumb',{staticClass:\"m-0\",attrs:{\"items\":_vm.items}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nexport default {\n props: {\n title: {\n type: String,\n default: \"\",\n },\n items: {\n type: Array,\n default: () => {\n return [];\n },\n },\n },\n};\n</script>\n<template>\n <div\n class=\"d-flex flex-column flex-sm-row align-items-sm-center justify-content-between pb-3 page-title-box\"\n >\n <h5 class=\"mb-sm-0\">{{ title }}</h5>\n <b-breadcrumb :items=\"items\" class=\"m-0\"></b-breadcrumb>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n@media screen and (max-width: 280px) {\n * {\n font-size: 10px;\n }\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pageheader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pageheader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./pageheader.vue?vue&type=template&id=2e71ba3a&scoped=true\"\nimport script from \"./pageheader.vue?vue&type=script&lang=js\"\nexport * from \"./pageheader.vue?vue&type=script&lang=js\"\nimport style0 from \"./pageheader.vue?vue&type=style&index=0&id=2e71ba3a&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 \"2e71ba3a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./releasetable.vue?vue&type=style&index=0&id=aa64ea3a&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./chart.vue?vue&type=style&index=0&id=511e8a35&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projectcard.vue?vue&type=style&index=0&id=5f52c08c&prod&lang=scss\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./frontpage.vue?vue&type=style&index=0&id=fc7e975c&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=541b1ad5&prod&scoped=true&lang=css\"","export const state = {\n layoutType: 'vertical',\n layoutWidth: 'fluid',\n leftSidebarType: 'dark',\n topbar: 'dark',\n loader: false\n}\n\nexport const getters = {}\n\nexport const mutations = {\n CHANGE_LAYOUT(state, layoutType) {\n state.layoutType = layoutType;\n },\n CHANGE_LAYOUT_WIDTH(state, layoutWidth) {\n state.layoutWidth = layoutWidth;\n },\n CHANGE_LEFT_SIDEBAR_TYPE(state, leftSidebarType) {\n state.leftSidebarType = leftSidebarType;\n },\n CHANGE_TOPBAR(state, topbar) {\n state.topbar = topbar;\n },\n LOADER(state, loader) {\n state.loader = loader\n }\n}\n\nexport const actions = {\n changeLayoutType({ commit }, { layoutType }) {\n commit('CHANGE_LAYOUT', layoutType);\n },\n\n changeLayoutWidth({ commit }, { layoutWidth }) {\n commit('CHANGE_LAYOUT_WIDTH', layoutWidth)\n },\n\n changeLeftSidebarType({ commit }, { leftSidebarType }) {\n commit('CHANGE_LEFT_SIDEBAR_TYPE', leftSidebarType)\n },\n\n changeTopbar({ commit }, { topbar }) {\n commit('CHANGE_TOPBAR', topbar)\n },\n\n changeLoaderValue({ commit }, { loader }) {\n commit('LOADER', loader)\n }\n}\n","var map = {\n\t\"./auth.js\": \"11c0\",\n\t\"./docmanager/gitdetails.js\": \"7455\",\n\t\"./docmanager/project.js\": \"6488\",\n\t\"./layout.js\": \"c21a\",\n\t\"./notification.js\": \"2208\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"cfa9\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=60ced28a&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./projects.vue?vue&type=style&index=0&id=14b754bd&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=79c30866&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docpublisher.vue?vue&type=style&index=0&id=8419b08c&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=style&index=0&id=1d547b31&prod&scoped=true&lang=css\"","export const URL = process.env.VUE_APP_API_KEY;\nexport const ClientId = process.env.VUE_APP_CLIENT_ID;\nexport const secretKey = process.env.VUE_APP_SECRETKEY;\nexport const InstalledPath = process.env.VUE_APP_INSTALLEDPATH;\nexport const ChatbotFrontendURL = process.env.VUE_APP_CHATBOT_FRONTEND_URL;","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./recentnotification.vue?vue&type=style&index=0&id=77708854&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=style&index=0&id=19a9d8b2&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./githubcommit.vue?vue&type=style&index=0&id=4fb3ed50&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./docconpolicy.vue?vue&type=style&index=0&id=51e0fb7d&prod&scoped=true&lang=css\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./footer.vue?vue&type=style&index=0&id=2a08f61f&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./generateoutput.vue?vue&type=style&index=0&id=1396e820&prod&scoped=true&lang=css\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popupmessage.vue?vue&type=style&index=0&id=68ca2106&prod&lang=css\""],"sourceRoot":""}
| ver. 1.4 |
Github
|
.
| PHP 8.1.32 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings