{"version":3,"sources":["vue/components/abbonamenti/abbonamento-item.vue.js","vue/components/abbonamenti/abbonamento-menu-coupon.vue.js","vue/components/abbonamenti/abbonamento-menu-header.vue.js","vue/components/abbonamenti/abbonamento-menu-pager.vue.js","vue/components/abbonamenti/abbonamento-menu.vue.js","vue/components/abbonamenti/dynamic-form-item-sector.vue.js","vue/components/dynamic-form/dynamic-form-config.vue.js","vue/components/utilities/test-composition.vue.js","vue/components/dynamic-form/dynamic-form-item.vue.js","vue/components/dynamic-form/dynamic-form.vue.js","vue/components/highlights/highlighted-text.vue.js","vue/components/highlights/show-button.vue.js","vue/components/highlights/show-icon.vue.js","vue/components/link-rapidi/menu-item.vue.js","vue/components/link-rapidi/menu.vue.js","vue/components/memo/add-button.vue.js","vue/components/memo/sticky-note.vue.js","vue/components/qrcode/qrcode-configurator.vue.js","vue/components/qrcode/qrcode-display-panel.vue.js","vue/components/seeker-lists/seeker-lists-add-button.vue.js","vue/components/seeker-lists/seeker-lists-details.vue.js","vue/components/seeker-lists/seeker-lists-new-list-button.vue.js","vue/components/seeker-lists/seeker-lists-new-modal.vue.js","vue/components/seeker-lists/seeker-lists-summary.vue.js","vue/components/seeker-lists/seeker-lists-swap-button.vue.js","vue/components/seekers-relationships/request-form-config.vue.js","vue/components/seekers-relationships/sr-contacts-list.vue.js","vue/components/seekers-relationships/sr-manager.vue.js","vue/components/seekers-user-invites/user-invites-form-config.vue.js","vue/components/seekers-user-invites/user-invites-list.vue.js","vue/components/seekers-user-invites/user-invites-manager.vue.js","vue/components/seekers-user-invites/user-invites-resend-popup.vue.js","vue/components/users-profiles/fall-into-oblivion.vue.js","vue/components/utilities/entity-category-selector.vue.js","vue/components/utilities/notifier.vue.js","vue/components/utilities/session-alive.vue.js","vue/components/utilities/tab-view-pager.vue.js","vue/components/utilities/visualizer.vue.js","vue/components/widget/widget-configurator.vue.js","vue/components/widget/widget-field.vue.js","vue/components/widget/widget-seo-job-item-alone.vue.js","vue/components/widget/widget-seo-job-item.vue.js","vue/components/widget/widget-seo-job.vue.js","vue/components/utilities/datatable/datatable-column-header.vue.js","vue/components/utilities/datatable/datatable.vue.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","h","f","Error","s","done","method","arg","delegate","maybeInvokeDelegate","TypeError","y","tryCatch","type","resultName","next","nextLoc","sent","_sent","dispatchException","abrupt","p","l","call","GeneratorFunction","GeneratorFunctionPrototype","d","this","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","callInvokeWithMethodAndArg","invoke","_typeof","resolve","__await","then","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","Array","isArray","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","toString","from","test","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","Vue","component","props","Id","Label","default","Description","Selected","Boolean","Amount","Duration","OriginalAmount","Recommended","MustHaveWidget","WidgetOnly","DemoMode","ColumnsNumber","SpecialOffer","ShowPaymentInstallment","OnlyOne","HandlePaymentInstallment","Function","data","showFooter","template","computed","PaymentInstallment","Periodicity","title","featuresList","concat","id","label","sort","b","watch","methods","toggleFooter","console","log","mounted","subscriptionCoupon","handleCoupon","required","formInterfaces","hasCoupon","couponFormConfig","_this","fieldName","inputType","validators","message","regex","url","action","handleCouponClick","key","validate","CouponCode","getValues","getFormInterface","formInterface","pageStyle","extraStyle","subTitle","titleIcon","titleImage","hasDefaultSlot","$slots","currentPage","pages","showPageInfo","showIcon","activeMenu","entityCategory","requireRegistration","showRegistrationOnly","showFreeSubscription","seekerRelationshipId","hideRelationship","companyPartnerId","campaign","coupon","subType","employees","selectedCoupon","notificationOnExit","specialOffer","showHint","showArrowHint","seekerFrom","seekerRelationship","seekerAlreadyRegistered","selectedEntityCategory","requestContactFullName","userId","pageflow","paymentInstallment","showPaymentInstallment","groupPaymentInstallment","groupedPaymentInstallmentStatus","currentEmployeesNumber","showEmployeesNumber","currentSelected","originalMenuItems","error","employeesNumber","shortLabel","entityCategoriesList","code","userRole","dynFormConfigRegisterRecaptcha","formStoredValues","isWidgetOnly","toLowerCase","forceLogin","showEmployeesNumberField","dynamicFormEmployeesNumber","options","map","item","valueIfChecked","registrationOnlyMenuItem","Vat","Code","Name","RenewCode","RenewName","RenewDescription","EntityCategory","Visible","Active","EmployeesNumber","_this2","find","entityCategoryDescription","_this3","x","showContactForm","filteredMenuItems","includes","showCoupon","currentPageCode","retVal","categorySelection","firstPage","privateDealRequest","billingPaymentData","selectedMenuItem","registrationData","confirmRegistrationData","confirmPrivateDealRequest","gdprPages","page","bottomTitle","havePendingSubscription","PendingSubscription","isExpiringCurrentSubscription","ExpiringCurrentSubscription","_this4","selectedVal","elements","keyA","keyB","_this5","registrationDefaultValue","txtRegisterCompanyFirstname","ContactFirstName","txtRegisterCompanyLastname","ContactLastName","txtRegisterCompanyCompanyName","ContactCompany","txtRegisterCompanyEmail","ContactEmail","termsDefaultValue","couponCode","toUpperCase","document","getElementById","loadSubscription","handlePaymentInstallment","nextPage","pageNumber","_this6","setTimeout","previousPage","_this7","selectMenuItem","el","_this8","self","$refs","employeesSelector","getBoundingClientRect","top","window","scrollY","scrollIntoView","behavior","scrollTo","ChangeSubscriptionTypeFunction","clickPaymentInstallment","installment","changeEmployeesNumber","validateTermsAndConditions","goToPayment","validateRegisterData","_this9","keyTerms","keyRecaptcha","postValues","subscriptionOriginId","subscriptionOriginEntity","axios","post","response","saveResponse","notifyResponse","EventBus","appUserId","$emit","intError","responseError","getErrorResponse","status","handleSessionExpired","recaptcha","autoClose","sendContactRequest","fieldsAreChange","formValue","issubscription","FullName","txtContactRequestFullName","Email","txtContactRequestEmail","Phone","txtContactRequestPhone","Company","txtContactRequestCompany","Message","txtContactRequestMessage","AcceptPrivacy","chkContactRequestPrivacy","AcceptMarketing","AcceptThirdPart","validateBillingData","_this10","prop","elem","txtBillingDataSeekerCompany","email","txtBillingDataSeekerEmail","vat","txtBillingDataSeekerVATNumber","taxcode","txtBillingDataSeekerTaxCode","phone","txtBillingDataSeekerPhone","mobile","txtBillingDataSeekerMobile","street","txtBillingAddressSeekerStreet","city","txtBillingAddressSeekerCity","country","txtBillingAddressSeekerCountry","district","txtBillingAddressSeekerDistrict","postalcode","txtBillingAddressSeekerPostalCode","foreignpostalcode","sdi","txtBillingDataSeekerSDI","pec","txtBillingDataSeekerPec","description","txtDescription","sectordata","jsonSectorData","acceptedgdprinfo","acceptedtermsandconditions","selectedsubscriptiontype","currenturl","location","href","startsWith","beforeEnter","left","afterLeave","handleRegisterDataChange","field","parseInt","paymentChange","getElementsByName","checked","termsAndConditionsChange","click","stopAll","event","stopPropagation","preventDefault","changeCategory","_this11","postData","widgetOnly","_response$data","subscriptionBuyType","uniqueEmployeesNumber","Set","loadRelationship","get","seeker","alreadyRegistered","actions","icon","reload","style","handleWindowLeave","returnValue","onbeforeunload","VueRecaptcha","inputClass","validationMessage","onFocus","readOnly","getFieldValue","isEditing","isLoading","sectorData","localValue","initialValue","newSkill","skillsField","typeahead","bloodhoundSource","skills","labelProp","sortProp","valueNotInList","allSkills","ProfessionalProfiles","SelectedSkills","deep","handler","newValue","JSON","stringify","parse","SectorKeywords","fetchData","setNewSkillValue","confirmNewSkillValue","addSkill","emitInterface","containerRef","container","startEdit","cancelEdit","confirmEdit","_this12","desc","responseData","_this12$sectorData","_this12$sectorData2","warn","toggleSkill","skill","selected","_this13","trim","removeSkill","handleOverlayClick","textarea","input","target","focus","Bloodhound","datumTokenizer","tokenizers","obj","whitespace","queryTokenizer","remote","wildcard","cities","useMouse","_Vue","ref","onMounted","onUnmounted","update","pageX","pageY","oldValue","addEventListener","removeEventListener","dynFormConfigPaymentType","dynFormConfigAbbConditions","dynFormConfigContactRequest","dynFormConfigRegisterConditions","dynFormConfigAbbSubscriber","requiredOtherFields","valueProp","valueField","skip","filterField","dynFormConfigSeekerDescription","dynFormConfigCompanyRegister","valueParam","extraParam","excludeloggeduser","iscontactmail","equalOtherFields","active","hideIfEmpty","checkValidation","nobr","placeholder","typeaheadValues","isTyping","validator","typeaheadPlaceholder","replace","RegExp","val","handleButtonClick","highlightText","handleInput","setValue","handleTypeahead","debounceValueInput","handleCheckBoxClick","handleRadioClick","option","handleTab","_this14","filteredItem","xx","handleEnter","handleBlur","_this15","handleInputEnter","handleFocus","_this16","query","search","datum","handleTypeaheadClick","_this17","handleParentInput","_","debounce","_this18","bhValide","undefined","otherFieldsAreNull","otherField","otherFieldsAreEquals","sendData","entries","_ref","_ref2","result","responseEval","eval","onCaptchaVerified","recaptchaToken","onCaptchaExpired","onCaptchaError","fields","apiLoadEndPoint","apiSaveEndPoint","defaultFieldValue","childrenInterface","fieldsValue","originalFieldsValue","immediate","itemInput","getChildInterface","childInterface","valid","_this19","highlights","hlText","_this20","fullText","slot","navigateSlotTree","_this21","text","replaceHighlights","children","tag","child","html","boldContents","match","exec","content","regexb","regexc","showOnOver","curriculumId","direction","isFixed","searchTerms","searchParams","pinia","clickX","clickY","descDictionary","CurriculumProfessionalSkills.CommonSkillTypeLabel","CurriculumOtherSkills.CommonSkillTypeLabel","CurriculumWorkExperiences.Description","CurriculumWorkExperiences.WorkFunctionLabel","CurriculumWorkExperiences.WorkFunctionLabel.keyword","CurriculumTrainings.TrainingLabel","CurriculumTrainings.Description","CurrentWorkPosition","ExtractedText","PersonalDescription","DesiredWorkPosition","CurriculumLanguages","Pinia","mapState","useCurriculumHighlightsStore","openHighlights","store","showHighlights","highlightsItemsFound","count","arrayHighlights","matches","fixedStyle","position","dropdownDirectionClass","_this22","_ref3","_ref4","highlightCustomRenderer","localeCompare","mapActions","_ref5","idiomLabels","showHighlightsOnOver","rect","right","hideHighlightsOnOver","toggleHighlights","hideHighlightsOverlay","showHighlightsOverlay","selectHighlights","index","selectedHighlights","saveHighlights","saveUpdateHighlights","uniqueKey","moment","format","isEven","translate","_this$descDictionary","_this$descDictionary$","checkIfScrollable","scrollHeight","clientHeight","scrollWidth","clientWidth","handleScroll","checkSinonims","_this23","p1","some","show","iconClass","isActive","menuKeys","menuItems","countTimesTwo","onClick","clickItem","found","indexOf","fetchLists","showMemo","selectedMemo","useCurriculumMemosStore","loading","curriculaMemos","isPinned","memos","memo","idx","calcSelectedMemo","cleanMemos","idxToRemove","findIndex","splice","toggleMemo","selectMemo","saveMemo","saveUpdateMemo","newMemo","Text","CreateDate","_this24","refreshSeekerLists","fetchSelectedListsByCurriculaIds","Editor","closeMemo","deleteMemo","colorStyle","titleValue","selectedStyle","showColorPicker","editTitle","saving","showBookmark","isAlone","memosCount","isNew","modified","colorStyles","color","enterTitleEditMode","_this25","inputTitle","save","saveAndClose","close","deleteAndCloseMemo","toggleColorPicker","selectColor","bookmarkHeight","memoHeight","Math","round","bookmarkMarginTop","beforeDestroy","qrcUrl","printMode","managerMode","showHeader","size","idList","linkTypesList","formatTypesList","formatType","linkType","autoPrint","seekerId","seekerLogoUrl","seekerName","seekerCompanySign","entityType","printFormat","customPrintParameters","printFormatsList","pdfWidth","pdfHeight","marginTop","marginRight","marginBottom","marginLeft","pageHeader","sideMessage","_this26","defaultMessage","leftMessage","rightMessage","selectedLinkType","_this27","selectedPage","_this28","setPrintStyle","printStyle","width","height","margin","querySelector","parentElement","removeChild","createElement","innerHTML","media","parentNode","insertBefore","removePrintStyle","showQrCode","addPrintStyle","hideQrCode","showPanelOnly","printPdfQrCode","formatKey","printParameters","pf","config","htmlContent","getElementsByTagName","responseType","request","fileName","headers","split","blob","file","File","saveAs","parent","postMessage","pdf","printQrCode","cssStyle","z-index","printIframe","appendChild","src","shareQrCode","navigator","canShare","files","share","qrcText","handlePage","getSeekerData","imageLogoUrl","companySign","changeIdList","$on","urlParams","Proxy","URLSearchParams","success","$off","embedded","contentWindow","print","onload","showList","useSeekerListsStore","lists","selectedListsByCurriculumId","selectedLists","selectedListsNames","_this$selectedLists","_this29","_$find","list","join","_this$selectedLists2","useModalsStore","addRemoveFromList","listId","_this30","isListSelected","removeFromList","addToList","toggleMenuList","createNewList","showNewSeekerListModal","_this31","searchCurriculaUrl","isLocalCurriculaLoaded","localCurricula","oldListId","showArrow","demoMode","mapStores","selectedList","curricula","selectedListCurricula","exitDemoMode","enterDemoMode","AppUserId","ImageUrl","Firstname","Lastname","EmailConfirmed","Enabled","Latitude","Mobile","Longitude","City","isRemoved","confirmDeleteSeekerList","_this32","deleteSeekerList","findIndexToAddCurriculum","currentIndex","returnedIndex","nextRealCurriculumId","curriculum","setRemoveOnLocalCurriculum","removeFromCurrentList","addToCurrentListAtIndex","indexToAddCurriculum","addToListAtIndex","blinkDemoMode","doNothing","curriculumMemosStore","fetchMemoByCurriculaIds","buttonText","formConfigListName","createNewListAndAddCurriculum","_this33","txtListName","newSeekerListModal","closeNewSeekerListModal","dropup","demoFunction","currentList","visibleLists","_this34","_this34$currentList","_this$selectedLists3","_this35","_$find2","_this$selectedLists4","_this36","handleDemoAction","_this37","seekerRelManagerConfigContactRequest","visible","selectedId","reSend","relationshipType","contactsList","columnsList","sortable","statusList","labelOn","labelOff","uniqueStatusList","actionsList","defaultAction","handleDeleteRow","handleReSend","hideWhen","RelationshipType","relType2Action","handleWidget","SeekerToId","resp2","embed","link","handleQRCode","_this38","_this39","deleteRow","_this40","cl","setContactsList","RelationshipStatus","checkType","contactList","newContactId","broadcastUrl","_this41","_this42","sendRequest","errorResponse","isCandidate","alreadyInvited","getDefault","ContactMessage","seekerUserInvitesFormRequest","linkedAction","handleOpenProfile","showWhen","urlCandidate","UserId","open","_this43","_this44","widgetList","_this45","_this46","notEligible","EmailList","_this47","WidgetId","selectedWidgetId","widget","wid","formFields","handleChange","param","handleSomething","handleDelete","_this48","deleteCandidate","redirect","categories","image","duration","queue","setDefault","setNext","_this49","shift","vnShow","_this50","vnShowOverlay","_this51","vnHideOverlay","vnPopup","_this52","handleClick","executeActions","interval","currentUserId","timeout","ping","_this53","clearTimeout","initialPage","_this54","_this55","gotoPage","setup","toRefs","_useMouse","vvKey","vvLabel","vvVisible","vvShowFunction","vvHideFunction","vvToggleFunction","vvToggle","$","toggleClass","vvShow","removeClass","hideOthers","addClass","vvHide","$root","$el","buttonStyle","_this56","_this57","_this58","saveWidgetConfiguration","control","controlindex","persistedValues","currentusercv","currentusercvlastupload","isTrainingAgency","RetrievedValue","RetrievedValues","currentyear","Date","getFullYear","handleVisibility","_this59","ShowWhen","sw","Key","Value","reduce","acc","handleFieldChange","fieldValue","FieldType","RetrievedValueContains","wc","HasRetrievedValue","ListRetrievedValuesContains","ListRetrievedValuesIsEqualAtIndex","ListRetrievedValuesContainsAtIndex","GetCurrentDayFromNumber","number","day","GetDisabilityCategories","0","9999","GetProtectedCategoryWhoCanUse","1","2","3","4","5","6","profile","updateItemSkills","initialSkills","selectedSkills","selectSkill","ottieniIniziali","testo","parole","stringa","iniziali","min","substring","updateCount","consent","confirmed","checkStatus","jobProfiles","selectedProfile","selectedProfiles","extraProfile","searchProfile","idUser","useSeoJobStore","seoJobStatus","seoJobUsageCount","seoJobRemainingCount","seoJobAvailableCount","old","removeProcessButton","addProcessButton","getValue","selectedJobProfiles","XXXselectProfile","selectProfile","updatetSeoJobUsageCount","enableNext","remove","hide","append","on","getStatus","_this60","_callee","_context","geSeoJobStatus","FreeLimit","FreeUsed","getProfiles","_this61","getSkills","_this62","jobProfile","goToEnd","sortDirection","directions","sortIcon","_this63","dummy","changeSorting","columnsDefinition","sortColumn","computedData","_this64","formatDate","checkVisibility","rowItem","_i","_entries","_entries$_i","_i2","_entries3","_entries3$_i"],"mappings":"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","file":"vue-components.min.js","sourcesContent":["\n Vue.component('abb-menu-item', {\n props: {\n Id: Number,\n Label: { default: 'Standard', type: String },\n Description: { default: '', type: String },\n Selected: { type: Boolean, default: false },\n Amount: { type: Number, default: 0 },\n Duration: { type: Number, default: 0 },\n OriginalAmount: { type: Number, default: 0 },\n Recommended: { type: Boolean, default: false },\n MustHaveWidget: { type: Boolean, default: false },\n WidgetOnly: { type: Boolean, default: false },\n DemoMode: { type: Boolean, default: false },\n ColumnsNumber: { type: Number, default: 3 },\n SpecialOffer: { type: Boolean, default: false },\n ShowPaymentInstallment: { type: Boolean, default: false },\n OnlyOne: { type: Boolean, default: false },\n HandlePaymentInstallment: { type: Function }\n },\n data() {\n return {\n showFooter: false\n }\n },\n template: '#abb-menu-item',\n computed: {\n PaymentInstallment() {\n return this.Duration === 5\n },\n Periodicity() {\n return this.Duration === 5 ? 'al mese' : `all'anno`\n },\n title() {\n let retVal = ''\n if (this.Amount < 0) {\n retVal = 'SOLO REGISTRAZIONE'\n } else if (this.MustHaveWidget) {\n retVal = 'ABBONAMENTO ANNUALE PREMIUM'\n } else if (this.WidgetOnly) {\n retVal = 'WIDGET'\n } else {\n retVal = 'ABBONAMENTO ANNUALE STANDARD'\n }\n return retVal\n },\n featuresList() {\n let retVal = []\n const premiumList = [\n { id: 0, label: 'Naviga nel ricchissimo database di LearK' },\n { id: 10, label: 'Ottieni e sfrutta il widget personalizzato' },\n { id: 20, label: 'Raccogli i CV in modo organizzato, in cloud' },\n { id: 30, label: 'Gestisci la privacy dei CV' },\n { id: 40, label: 'Agevola i processi di selezione del personale' },\n { id: 50, label: 'Contribuisci a efficientare il sistema e migliorare il servizio' },\n { id: 60, label: 'Funzione liste: visualizza e raggruppa i CV simili ' },\n { id: 70, label: 'Funzione radar: ricevi una notifica per ogni profilo affine' }\n ]\n const widgetOnlyList = [\n { id: 10, label: 'Raccogli i CV in modo organizzato, in cloud' },\n { id: 10, label: 'Gestisci la privacy dei CV' },\n { id: 10, label: 'Agevola i processi di selezione del personale' },\n { id: 10, label: 'Si integra con il tuo sito, i social e ovunque online' },\n { id: 10, label: 'Contribuisci a efficientare il sistema e migliorare il servizio ' }\n ]\n\n if (this.WidgetOnly) {\n retVal = [...widgetOnlyList]\n } else {\n retVal = [...premiumList]\n }\n\n return retVal.sort((a, b) => (a.id < b.id ? -1 : 1))\n }\n },\n watch: {},\n methods: {\n toggleFooter(e) {\n console.log(e)\n this.showFooter = !this.showFooter\n }\n },\n mounted() {}\n })\n","\n Vue.component('abb-menu-coupon', {\n props: {\n subscriptionCoupon: {\n type: Object,\n default: () => {}\n },\n handleCoupon: { type: Function, required: true }\n },\n data() {\n return {\n formInterfaces: {}\n }\n },\n template: '#abb-menu-coupon',\n computed: {\n hasCoupon() {\n return Object.keys(this.subscriptionCoupon).length > 0\n },\n couponFormConfig() {\n const self = this\n return [\n {\n id: 0,\n fieldName: 'CouponCode',\n inputType: 'input',\n label: 'Codice Coupon XXX',\n validators: [\n {\n type: 'required',\n message: 'Inserire un codice Coupon'\n },\n {\n type: 'regex',\n regex: /[a-zA-Z0-9]{8}/,\n message: 'Il codice Coupon non è valido'\n },\n {\n type: 'remote',\n method: 'post',\n url: '/api/v1/utilities/isValidCoupon',\n message: 'Il codice Coupon non è valido o è scaduto'\n }\n ]\n },\n {\n id: 1,\n fieldName: 'CouponButton',\n inputType: 'button',\n label: 'Aggiungi',\n action: () => this.handleCouponClick()\n }\n ]\n }\n },\n watch: {},\n methods: {\n handleCouponClick() {\n const key = 'CouponCode'\n if (this.formInterfaces[key].validate()) {\n const { CouponCode } = { ...this.formInterfaces[key].getValues() }\n this.handleCoupon(CouponCode)\n }\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n }\n },\n mounted() {}\n })\n","\n Vue.component('abb-menu-header', {\n props: {\n pageStyle: { type: String, default: '-1' },\n extraStyle: { type: String },\n title: { type: String, default: 'TITOLONE' },\n subTitle: { type: String, default: 'SOTTO TITOLO' },\n titleIcon: { type: String, default: 'fa-circle' },\n titleImage: { type: String }\n },\n data() {\n return {}\n },\n template: '#abb-menu-header',\n computed: {\n hasDefaultSlot() {\n return !!this.$slots.default\n }\n },\n watch: {},\n methods: {},\n mounted() {}\n })\n","\n Vue.component('abb-menu-pager', {\n props: {\n currentPage: { type: Number, default: 1 },\n pages: { type: Array, required: true },\n showPageInfo: { type: Boolean, default: true },\n showIcon: { type: Boolean, default: true }\n },\n data() {\n return {}\n },\n template: '#abb-menu-pager',\n computed: {},\n watch: {},\n methods: {},\n mounted() {}\n })\n","\n Vue.component('abb-menu', {\n props: {\n activeMenu: { type: String, required: true },\n entityCategory: { type: Number, default: 9999 },\n requireRegistration: { type: Boolean, default: false },\n showRegistrationOnly: { type: Boolean, default: false },\n showFreeSubscription: { type: Boolean, default: false },\n seekerRelationshipId: { type: Number, default: -1 },\n hideRelationship: { type: Boolean, default: false },\n companyPartnerId: { type: String },\n campaign: { type: String },\n coupon: { type: String },\n subType: { type: String },\n employees: { type: Number }\n },\n data() {\n return {\n selectedCoupon: this.coupon,\n subscriptionCoupon: {},\n notificationOnExit: true,\n specialOffer: false,\n showHint: false,\n showArrowHint: false,\n seekerFrom: null,\n seekerRelationship: null,\n seekerAlreadyRegistered: null,\n selectedEntityCategory: this.entityCategory,\n requestContactFullName: null,\n userId: '',\n pageflow: '',\n paymentInstallment: false,\n showPaymentInstallment: false,\n groupPaymentInstallment: true,\n groupedPaymentInstallmentStatus: {},\n currentPage: 1, // Debug Mettere 3 per dati fatturazione altrimenti 1\n currentEmployeesNumber: -1,\n showEmployeesNumber: false,\n currentSelected: (this.seekerRelationshipId > 0 && !this.hideRelationship) || this.campaign ? -9999 : -1, // Se la registrazione è su invito di default seleziona abbonamento GRATIS\n originalMenuItems: [],\n error: false,\n employeesNumber: [\n { id: 1, label: 'Fino a 14 dipendenti', shortLabel: '< 15' },\n { id: 2, label: 'Da 15 a 75 dipendenti', shortLabel: '15 - 75' },\n { id: 3, label: 'DA 76 a 200 dipendenti', shortLabel: '76 - 200' },\n { id: 4, label: 'Oltre 200 dipendenti', shortLabel: '> 200' }\n ],\n entityCategoriesList: [\n { code: 'Candidate', id: 0, label: '', userRole: 2 },\n { code: 'Company', id: 1, label: 'le aziende con più di 200 dipendenti', userRole: 1 },\n { code: 'TrainingAgency', id: 2, label: 'gli enti formativi', userRole: 3 },\n { code: 'WorkAgency', id: 3, label: 'le agenzie del lavoro', userRole: 7 },\n { code: 'Subscription', id: 4, label: '', userRole: 9999 },\n { code: 'VoluntaryAssociation', id: 5, label: 'le associazioni di volontariato', userRole: 4 },\n { code: 'College', id: 6, label: 'le università', userRole: 5 },\n { code: 'School', id: 7, label: 'le scuole', userRole: 6 },\n { code: 'Nothing', id: 9999, label: 'nessuna selezione', userRole: 9999 }\n ],\n dynFormConfigRegisterRecaptcha: [\n {\n id: 7,\n fieldName: 'recaptcha',\n inputType: 'recaptcha',\n label: 'recaptcha',\n validators: [{ type: 'required', message: 'Captcha non valido' }]\n }\n ],\n formInterfaces: {},\n formStoredValues: {}\n }\n },\n template: '#abb-menu',\n computed: {\n hasCoupon() {\n return Object.keys(this.subscriptionCoupon).length > 0\n },\n isWidgetOnly() {\n return this.subType && this.subType.toLowerCase() === 'widget'\n },\n forceLogin() {\n // return !this.campaign\n return true\n },\n showEmployeesNumberField() {\n return false // this.campaign // || this.seekerRelationshipId > 0\n },\n dynamicFormEmployeesNumber() {\n const self = this\n return [\n {\n id: 100,\n fieldName: 'employeesNumber',\n label: 'Numero dipendenti',\n inputType: self.showEmployeesNumberField ? 'radio' : 'hidden',\n validators: [\n {\n type: 'regex',\n regex: '^[1234]$',\n message: 'Campo obbligatorio'\n },\n {\n type: 'required'\n }\n ],\n options: this.employeesNumber.map(item => ({\n id: item.id,\n label: item.shortLabel,\n valueIfChecked: `${item.id}`\n }))\n }\n ]\n },\n registrationOnlyMenuItem() {\n return {\n Id: -9999,\n Amount: 0,\n Vat: 0,\n Code: 'OnlyRegistration',\n Name: 'Solo Registrazione',\n Description: 'Solo Registrazione',\n RenewCode: 'OnlyRegistration',\n RenewName: 'Solo Registrazione',\n RenewDescription: 'Solo Registrazione',\n Duration: -1,\n EntityCategory: -1,\n Visible: true,\n MustHaveWidget: false,\n Active: true,\n EmployeesNumber: -1,\n DemoMode: this.currentEmployeesNumber === -1\n }\n },\n userRole() {\n return this.entityCategoriesList.find(item => item.id === this.selectedEntityCategory).userRole\n },\n entityCategoryDescription() {\n return this.entityCategoriesList.find(x => x.id === this.selectedEntityCategory).label\n },\n showContactForm() {\n return (\n (this.currentEmployeesNumber === 4 &&\n this.selectedEntityCategory === 1 &&\n !(this.subscriptionCoupon.Id && this.filteredMenuItems.length > 0)) ||\n ([2, 3, 6, 7].includes(this.selectedEntityCategory) && !this.specialOffer)\n )\n },\n showCoupon() {\n return (\n !this.specialOffer && !this.campaign && this.currentPageCode === 'piano' && this.selectedEntityCategory === 1\n )\n },\n showPageInfo() {\n let retVal = true\n if (this.showContactForm || this.selectedEntityCategory === 5) retVal = false\n return retVal\n },\n pages() {\n let retVal = []\n let pages = {\n categorySelection: [\n {\n id: 0,\n code: 'profilo',\n label: 'Selezione Profilo',\n title: 'Scegli il tuo profilo',\n subTitle: 'Trova la giusta soluzione per le tue necessità',\n titleIcon: 'fa-tags'\n }\n ],\n firstPage: [\n {\n id: 10,\n code: 'piano',\n label: 'Selezione Piano',\n title: this.specialOffer\n ? 'Il piano riservato a te'\n : this.isWidgetOnly\n ? 'Inizia subito'\n : 'Scegli il piano che fa per te',\n subTitle: this.specialOffer\n ? `E' stata creata un'offerta personalizzata`\n : this.isWidgetOnly\n ? 'Evita le sanzioni e rispetta la privacy'\n : 'Trova la giusta soluzione per le tue necessità',\n titleIcon: 'fa-star'\n }\n ],\n privateDealRequest: [\n {\n id: 10,\n code: 'piano',\n label: 'Invio Richiesta',\n title: 'Scegli il piano che fa per te',\n subTitle: 'Trova la giusta soluzione per le tue necessità',\n titleIcon: 'fa-star'\n }\n ],\n billingPaymentData: [\n {\n id: 20,\n code: 'fatturazione',\n label: 'Dati fatturazione',\n title: 'Completa i dati di fatturazione',\n subTitle: `Compila tutti i campi obbligatori * e prosegui con l'acquisto`,\n titleIcon: 'fa-address-card'\n },\n this.selectedMenuItem && this.selectedMenuItem.Amount > 0\n ? {\n id: 30,\n\n code: 'pagamento',\n label: 'Selezione pagamento',\n title: 'Scegli il metodo di pagamento',\n subTitle: `Accetta i termini e le condizioni del servizio e concludi l'acquisto`,\n titleIcon: 'fa-credit-card'\n }\n : {\n id: 30,\n\n code: 'pagamento',\n label: 'Termini e condizioni',\n title: 'Termini e condizioni',\n subTitle: `Accetta i termini e le condizioni del servizio e concludi l'acquisto`,\n titleIcon: 'fa-clipboard-list-check'\n }\n ],\n registrationData: [\n {\n id: 15,\n code: 'registrazione',\n label: 'Dati anagrafici',\n title: 'Completa i dati anagrafici',\n subTitle: `Compila tutti i campi obbligatori *`,\n titleIcon: 'fa-address-card'\n }\n ],\n confirmRegistrationData: [\n {\n id: 16,\n code: 'confermaRegistrazione',\n label: 'Conferma dati anagrafici',\n title: 'Completa la registrazione',\n subTitle: `Attenzione, la registrazione non è ancora terminata`,\n titleIcon: 'fa-address-card'\n }\n ],\n confirmPrivateDealRequest: [\n {\n id: 14,\n code: 'confermaRichiestaInformazioni',\n label: 'Conferma richiesta informazioni',\n title: 'Messaggio inviato con successo',\n subTitle: `${\n this.requestContactFullName ? `Gentile ${this.requestContactFullName}, i` : 'I'\n }l tuo messagio è stato inviato correttamente
Ti ringraziamo per averci contattato`,\n titleIcon: 'fa-address-card'\n }\n ]\n }\n pages = {\n ...pages,\n gdprPages: [\n ...[...pages.firstPage, ...pages.registrationData].map(page => ({\n ...page,\n title: 'Metti al sicuro la tua azienda',\n subTitle: `Evita le multe per non aver rispettato la privacy`,\n bottomTitle: `LearK raccoglie e gestisce i tuoi CV in regola con il GDPR.
Garantisci alla tua azienda il massimo della sicurezza nel trattamento dei dati personali. Bastano pochi secondi.`,\n titleImage: '/images/homepage/logo-gdpr.svg'\n })),\n ...pages.billingPaymentData.map(page => ({ ...page, titleImage: '/images/homepage/logo-gdpr.svg' }))\n ]\n }\n\n if (this.selectedEntityCategory === 5) retVal = pages.registrationData.concat(pages.confirmRegistrationData)\n else if (this.showContactForm) retVal = pages.privateDealRequest.concat(pages.confirmPrivateDealRequest)\n else if (this.campaign) retVal = [...pages[`${this.campaign}Pages`]]\n else if (this.seekerRelationshipId > 0)\n retVal = [...pages.firstPage, ...pages.registrationData, ...pages.billingPaymentData]\n else {\n retVal = pages.firstPage\n if (this.seekerRelationshipId === -1) retVal = retVal.concat(pages.billingPaymentData)\n if (this.showRegistrationOnly) retVal = retVal.concat(pages.registrationData)\n if (this.currentSelected === -9999)\n retVal = [...pages.firstPage, ...pages.registrationData, ...pages.confirmRegistrationData]\n }\n\n if (this.selectedEntityCategory === 9999) retVal = pages.categorySelection.concat(retVal)\n\n return retVal.sort((a, b) => (a.id > b.id ? 1 : -1))\n },\n currentPageCode() {\n return this.pages[this.currentPage - 1].code\n },\n havePendingSubscription() {\n return !!this.$slots.PendingSubscription\n },\n isExpiringCurrentSubscription() {\n return !!this.$slots.ExpiringCurrentSubscription\n },\n filteredMenuItems() {\n // let retVal = this.showRegistrationOnly ? [this.registrationOnlyMenuItem] : []\n let retVal = this.showFreeSubscription ? [this.registrationOnlyMenuItem] : []\n\n const defaultEmployeesNumberToShow = 2\n const employeesNumber =\n this.currentEmployeesNumber === -1 ? defaultEmployeesNumberToShow : this.currentEmployeesNumber\n\n let selectedVal = this.originalMenuItems.filter(\n item => item.EmployeesNumber === employeesNumber\n /* 3 = SubscriptionDurationType.Year | 5 = SubscriptionDurationType.AnnualByInstallments */\n )\n\n if (!this.groupPaymentInstallment) {\n selectedVal = selectedVal.filter(item => item.Duration === (this.paymentInstallment ? 5 : 3))\n } else {\n selectedVal = selectedVal\n .map(item => {\n const key = `${item.EntityCategory}|${item.EmployeesNumber}|${item.MustHaveWidget}|${item.WidgetOnly}`\n const { paymentInstallment } = this.groupedPaymentInstallmentStatus[key]\n if (item.Duration === (paymentInstallment ? 5 : 3)) {\n return {\n ...item,\n ShowPaymentInstallment: this.groupedPaymentInstallmentStatus[key].elements > 1\n }\n }\n })\n .filter(item => item)\n }\n selectedVal.sort((a, b) => {\n const keyA = `${a.EntityCategory}|${a.EmployeesNumber}|${a.MustHaveWidget}|${a.WidgetOnly}`\n const keyB = `${b.EntityCategory}|${b.EmployeesNumber}|${b.MustHaveWidget}|${b.WidgetOnly}`\n return keyA > keyB ? 1 : keyB > keyA ? -1 : 0\n })\n\n if (this.currentEmployeesNumber === -1) {\n selectedVal = selectedVal.map(item => ({ ...item, DemoMode: true }))\n }\n\n retVal = retVal.concat(selectedVal)\n return retVal\n },\n\n selectedMenuItem() {\n let retVal\n if (this.currentSelected !== -1) {\n retVal = this.filteredMenuItems.find(item => item.Id === this.currentSelected)\n }\n return retVal\n },\n registrationDefaultValue() {\n let retVal = {}\n const key = 'RegisterData'\n if (this.seekerRelationship) {\n retVal.txtRegisterCompanyFirstname = this.seekerRelationship.ContactFirstName\n retVal.txtRegisterCompanyLastname = this.seekerRelationship.ContactLastName\n retVal.txtRegisterCompanyCompanyName = this.seekerRelationship.ContactCompany\n retVal.txtRegisterCompanyEmail = this.seekerRelationship.ContactEmail\n }\n if (key in this.formStoredValues) {\n retVal = { ...retVal, ...this.formStoredValues[key] }\n }\n retVal.employeesNumber = `${this.currentEmployeesNumber}`\n return retVal\n },\n termsDefaultValue() {\n let retVal = {}\n const key = 'RegistrationTermsAndConditions'\n if (key in this.formStoredValues) {\n retVal = { ...this.formStoredValues[key] }\n }\n return retVal\n }\n },\n watch: {},\n methods: {\n handleCoupon(couponCode) {\n this.selectedCoupon = couponCode.toUpperCase()\n const hfCoupon = document.getElementById('hfCoupon')\n hfCoupon.value = couponCode\n this.loadSubscription(this.selectedEntityCategory)\n },\n handlePaymentInstallment(key, value) {\n this.groupedPaymentInstallmentStatus[key].paymentInstallment = value\n this.groupedPaymentInstallmentStatus = { ...this.groupedPaymentInstallmentStatus }\n },\n nextPage(e, pageNumber) {\n if (this.currentPage < this.pages.length) {\n this.pageflow = ''\n if (pageNumber) {\n setTimeout(() => (this.currentPage = pageNumber), 100)\n } else {\n setTimeout(() => this.currentPage++, 100)\n }\n } else {\n console.log('Ultima Pagina')\n }\n },\n previousPage(e, pageNumber) {\n this.pageflow = '-back'\n if (pageNumber) {\n setTimeout(() => (this.currentPage = pageNumber), 100)\n } else if (this.currentPage > 1) {\n setTimeout(() => this.currentPage--, 100)\n }\n },\n selectMenuItem(item) {\n const self = this\n this.showHint = false\n this.showArrowHint = false\n // const currentSelected = this.currentSelected == item.Id ? -1 : item.Id\n const previousSelected = this.currentSelected\n this.paymentInstallment = item.PaymentInstallment\n const currentSelected = item.Id\n this.currentSelected = -1\n if (!item.DemoMode) {\n this.currentSelected = currentSelected\n if (currentSelected !== -1 && item.Id !== this.registrationOnlyMenuItem.Id) {\n window.ChangeSubscriptionTypeFunction(item.Id, item.MustHaveWidget)\n } else {\n window.ChangeSubscriptionTypeFunction(null, null)\n }\n if (currentSelected !== -1) {\n setTimeout(() => this.nextPage(), 0)\n }\n } else {\n const el = this.$refs.employeesSelector\n const elRect = el.getBoundingClientRect()\n // console.log(el, elRect)\n if (elRect.top < 0) {\n if (window.scrollY === 0) el.scrollIntoView({ behavior: 'smooth' })\n else window.scrollTo({ top: 220, behavior: 'smooth' })\n setTimeout(() => (self.showHint = true), 400)\n } else {\n this.showHint = true\n }\n setTimeout(() => {\n self.showHint = false\n setTimeout(() => {\n self.showArrowHint = true\n }, 500)\n }, 1300)\n\n // EventBus.$emit('vnShow', {\n // type: 'danger',\n // message: `Per poter selezionare un piano è necessario indicare il numero di dipendenti della tua azienda`\n // })\n }\n },\n clickPaymentInstallment(installment) {\n this.paymentInstallment = installment\n this.currentSelected = -1\n },\n changeEmployeesNumber(id) {\n this.currentEmployeesNumber = this.currentEmployeesNumber === id ? -1 : id\n this.currentSelected = -1\n this.showArrowHint = false\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n },\n validateTermsAndConditions() {\n const key = 'TermsAndConditions'\n if (this.formInterfaces[key].validate()) {\n this.notificationOnExit = false\n this.goToPayment()\n }\n },\n validateRegisterData() {\n const self = this\n const key = 'RegisterData'\n const keyTerms = 'RegistrationTermsAndConditions'\n const keyRecaptcha = 'RegistrationRecaptcha'\n if (\n this.formInterfaces[key].validate() &&\n this.formInterfaces[keyTerms].validate() &&\n this.formInterfaces[keyRecaptcha].validate()\n ) {\n self.formStoredValues = {\n ...self.formStoredValues,\n ...{ [key]: { ...self.formInterfaces[key].getValues() } },\n ...{ [keyTerms]: { ...self.formInterfaces[keyTerms].getValues() } }\n }\n\n let postValues = {\n ...self.formStoredValues[key],\n ...self.formStoredValues[keyTerms],\n ...self.formInterfaces[keyRecaptcha].getValues()\n }\n if (self.seekerRelationshipId > 0) {\n postValues.seekerRelationshipId = self.seekerRelationshipId\n }\n postValues.userRole = this.userRole\n if (this.companyPartnerId) postValues.companyPartnerId = this.companyPartnerId\n if (this.campaign)\n postValues = {\n ...postValues,\n subscriptionOriginId: this.campaign,\n subscriptionOriginEntity: 22 /* MarketingCampaign */\n }\n axios\n .post(\n `/api/v1/subscriptions/new-registration/${this.forceLogin}${this.userId ? `/${this.userId}` : ''}`,\n postValues\n )\n .then(response => {\n const { data } = response\n if (data.saveResponse || data.notifyResponse) {\n // responsevalue = response.substring(3)\n }\n if (data.saveResponse) {\n EventBus.appUserId = data.userId\n this.userId = data.userId\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `Registrazione effettuata correttamente .`\n })\n self.nextPage()\n }\n })\n .catch(error => {\n let intError = error\n const responseError = this.getErrorResponse(error)\n console.log(responseError)\n if ([401, 491].includes(responseError.status)) {\n self.handleSessionExpired()\n } else if (responseError.recaptcha) {\n intError = responseError.recaptcha\n this.formInterfaces[keyTerms].validate()\n } else {\n EventBus.$emit('vnShow', {\n autoClose: false,\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${intError}`\n })\n }\n })\n .then(() => {\n // always executed\n })\n }\n },\n getErrorResponse(error) {\n const retVal = { ...error }\n if (error.response) {\n if (error.response.data && error.response.data.error) {\n retVal.error = error.response.data.error\n }\n retVal.status = error.response.status\n }\n return retVal\n },\n sendContactRequest() {\n const key = 'ContactRequest'\n const self = this\n let postValues\n if (this.formInterfaces[key].validate() && this.formInterfaces[key].fieldsAreChange()) {\n const formValue = self.formInterfaces[key].getValues()\n postValues = {\n issubscription: true,\n FullName: formValue.txtContactRequestFullName,\n Email: formValue.txtContactRequestEmail,\n Phone: formValue.txtContactRequestPhone,\n Company: formValue.txtContactRequestCompany,\n Message: formValue.txtContactRequestMessage,\n AcceptPrivacy: formValue.chkContactRequestPrivacy,\n AcceptMarketing: false,\n AcceptThirdPart: false\n }\n\n axios\n .post(`/api/v1/subscriptions/send-private-deal-contact/${self.selectedEntityCategory}`, postValues)\n .then(response => {\n self.requestContactFullName = postValues.FullName\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `La richiesta è stata inviata correttamente.`\n })\n self.nextPage()\n })\n .catch(error => {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n })\n .then(() => {\n // always executed\n })\n }\n },\n\n validateBillingData() {\n const key = 'BillingData'\n const self = this\n if (this.formInterfaces[key].validate()) {\n if (!this.formInterfaces[key].fieldsAreChange()) {\n self.nextPage()\n } else if (this.formInterfaces[key].fieldsAreChange()) {\n const formValue = self.formInterfaces[key].getValues()\n Object.keys(formValue).forEach(prop => {\n const elem = document.getElementById(prop)\n if (elem) elem.value = formValue[prop]\n })\n const postValues = {\n issubscription: true,\n name: formValue.txtBillingDataSeekerCompany,\n email: formValue.txtBillingDataSeekerEmail,\n vat: formValue.txtBillingDataSeekerVATNumber,\n taxcode: formValue.txtBillingDataSeekerTaxCode,\n phone: formValue.txtBillingDataSeekerPhone,\n mobile: formValue.txtBillingDataSeekerMobile,\n street: formValue.txtBillingAddressSeekerStreet,\n city: formValue.txtBillingAddressSeekerCity,\n country: formValue.txtBillingAddressSeekerCountry,\n district: formValue.txtBillingAddressSeekerDistrict,\n postalcode: formValue.txtBillingAddressSeekerPostalCode,\n foreignpostalcode: formValue.txtBillingAddressSeekerPostalCode,\n sdi: formValue.txtBillingDataSeekerSDI,\n pec: formValue.txtBillingDataSeekerPec,\n description: formValue.txtDescription,\n sectordata: formValue.jsonSectorData,\n acceptedgdprinfo: false,\n acceptedtermsandconditions: false,\n selectedsubscriptiontype: self.currentSelected,\n currenturl: window.location.href\n }\n\n axios\n .post(`/Account/SeekerService.asmx/saveSeekerBillingData`, postValues)\n .then(response => {\n const { d: data } = response.data\n if (data.startsWith('OK|') || data.startsWith('KO|')) {\n // responsevalue = response.substring(3)\n }\n if (data.startsWith('OK|')) {\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `Le modifiche ai dati di fatturazione sono state salvate correttamente.`\n })\n self.nextPage()\n }\n })\n .catch(error => {\n const intError = error\n const responseError = this.getErrorResponse(error)\n if ([401, 491].includes(responseError.status)) {\n self.handleSessionExpired()\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n self.nextPage()\n }\n })\n .then(() => {\n // always executed\n })\n }\n }\n },\n beforeEnter: () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n },\n afterLeave: () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n // Store.commit(\"setPageTransition\", \"default\");\n },\n handleRegisterDataChange(field) {\n const self = this\n if (field.fieldName === 'employeesNumber') this.currentEmployeesNumber = parseInt(field.value, 10)\n const key = 'RegisterData'\n self.formStoredValues = {\n ...self.formStoredValues,\n ...{\n [key]: { ...self.formStoredValues[key], [field.fieldName]: field.value }\n }\n }\n },\n paymentChange(field) {\n Array.from(document.getElementsByName('ctl00$cphElements$rblPaymentType')).find(\n item => item.value === field.value\n ).checked = true\n },\n termsAndConditionsChange(field) {\n document.getElementsByName(`ctl00$cphElements$${field.fieldName}`)[0].checked = field.value === 'true'\n },\n goToPayment() {\n document.getElementsByName(`ctl00$cphElements$btnNext`)[0].click()\n },\n stopAll(event) {\n event.stopPropagation()\n event.preventDefault()\n return false\n },\n changeCategory(id) {\n this.selectedEntityCategory = id\n this.loadSubscription(id)\n },\n loadSubscription(entityCategory) {\n const self = this\n const postData = {\n entityCategory: `${entityCategory}`,\n couponCode: self.selectedCoupon\n }\n if (this.subType && ['widget', 'premium'].includes(this.subType)) {\n postData.widgetOnly = this.isWidgetOnly\n }\n axios\n .post(`/api/v1/subscriptions/entity-category/`, postData)\n .then(response => {\n const { specialOffer, subscriptionBuyType: data, subscriptionCoupon } = response.data\n // self.currentSelected = data.currentSelected\n self.specialOffer = specialOffer\n if (subscriptionCoupon) self.subscriptionCoupon = subscriptionCoupon\n const uniqueEmployeesNumber = [...new Set(data.map(item => item.EmployeesNumber))]\n self.currentEmployeesNumber =\n self.currentEmployeesNumber != -1\n ? self.currentEmployeesNumber\n : uniqueEmployeesNumber.length === 1\n ? uniqueEmployeesNumber[0]\n : data.filter(i => i.EmployeesNumber > 0).length > 0\n ? -1\n : 0\n self.showPaymentInstallment = !(\n data.filter(i => i.Duration === 5).length === 0 || data.filter(i => i.Duration === 3).length === 0\n )\n self.showEmployeesNumber = uniqueEmployeesNumber.length > 1\n\n self.paymentInstallment = !(data.filter(i => i.Duration === 3).length > 0)\n self.originalMenuItems = data\n if (data.length === 0) this.currentSelected = -9999\n self.groupedPaymentInstallmentStatus = {}\n data.forEach(item => {\n const key = `${item.EntityCategory}|${item.EmployeesNumber}|${item.MustHaveWidget}|${item.WidgetOnly}`\n if (self.groupedPaymentInstallmentStatus.hasOwnProperty(key)) {\n self.groupedPaymentInstallmentStatus[key].elements++\n } else self.groupedPaymentInstallmentStatus[key] = { elements: 1, paymentInstallment: false }\n })\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n },\n loadRelationship(id) {\n const self = this\n axios\n .get(`/api/v1/seekers-relationships/seeker/${self.seekerRelationshipId}`)\n .then(response => {\n const { data } = response\n self.seekerFrom = data.seeker\n self.seekerRelationship = data.seekerRelationship\n self.seekerAlreadyRegistered = data.alreadyRegistered\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n },\n handleSessionExpired() {\n EventBus.$emit('vnPopup', {\n type: 'danger',\n message: `

La sessione è scaduta

La pagina verrà ricaricata per permettere di effettuare nuovamente il login

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n window.location.reload()\n },\n style: 'danger'\n }\n ]\n })\n },\n handleWindowLeave(event) {\n if (this.notificationOnExit) {\n event.preventDefault()\n return (event.returnValue = 'Le modifiche apportate potrebbero non essere salvate')\n }\n }\n },\n mounted() {\n if (this.entityCategory !== 9999) {\n this.loadSubscription(this.entityCategory)\n }\n if (this.seekerRelationshipId > 0) {\n this.loadRelationship()\n }\n window.onbeforeunload = this.handleWindowLeave\n }\n })\n","\n Vue.component('vue-recaptcha', VueRecaptcha.VueRecaptcha)\n\n Vue.component('dynamic-form-item-sector', {\n props: {\n fieldName: { type: String, required: true },\n id: { type: [String, Number], required: true },\n label: { type: String, required: true },\n required: { type: Boolean, default: false },\n value: { type: String, default: '' },\n inputClass: { type: Array, default: () => [] },\n validationMessage: { type: Array, default: () => [] },\n onFocus: { type: Boolean, default: false },\n readOnly: { type: Boolean, default: false },\n getFieldValue: { type: Function, default: fieldName => null }\n },\n data() {\n return {\n isEditing: false,\n isLoading: false,\n sectorData: null,\n localValue: this.value || '',\n initialValue: this.value || '',\n newSkill: '',\n skillsField: {\n id: 103,\n fieldName: 'txtProfessionalProfile',\n label: 'Professioni',\n validators: [{ type: 'XXXrequired' }],\n inputClass: ['cities-typeahead'],\n typeahead: {\n bloodhoundSource: skills,\n labelProp: 'Label',\n sortProp: 'Label',\n valueNotInList: true\n }\n }\n }\n },\n template: '#dynamic-form-item-sector',\n computed: {\n allSkills() {\n if (!this.sectorData) return []\n return [\n ...new Set([...(this.sectorData.ProfessionalProfiles || []), ...(this.sectorData.SelectedSkills || [])])\n ]\n }\n },\n watch: {\n sectorData: {\n deep: true,\n handler(newValue) {\n const value = JSON.stringify(newValue)\n this.$emit('parentInput', { fieldName: 'jsonSectorData', value })\n }\n },\n value(newValue) {\n if (this.getFieldValue('jsonSectorData')) {\n const sectorData = JSON.parse(this.getFieldValue('jsonSectorData'))\n this.sectorData = {\n SectorKeywords: sectorData.SectorKeywords || [],\n ProfessionalProfiles: sectorData.ProfessionalProfiles || [],\n SelectedSkills: sectorData.SelectedSkills || []\n }\n }\n if (newValue) {\n this.localValue = newValue\n if (!this.sectorData && !this.isEditing) {\n this.fetchData()\n }\n }\n }\n },\n methods: {\n setNewSkillValue(field) {\n this.newSkill = field.value\n },\n confirmNewSkillValue(field) {\n this.addSkill()\n this.newSkill = ''\n },\n emitInterface() {\n const self = this\n this.$emit('interface', {\n key: self.fieldName,\n validate: () => self.validate(),\n containerRef: self.$refs.container\n })\n },\n startEdit() {\n this.initialValue = this.localValue\n this.isEditing = true\n },\n cancelEdit() {\n this.isEditing = false\n },\n confirmEdit() {\n if (!this.localValue) {\n this.isEditing = false\n } else {\n this.fetchData()\n }\n },\n fetchData() {\n if (!this.localValue || this.localValue === this.initialValue) {\n this.isEditing = false\n return\n }\n\n this.isLoading = true\n axios\n .post('/api/v1/subscriptions/get-sector-data-from-description', { desc: this.localValue })\n .then(response => {\n const responseData = response.data\n\n if (!responseData || responseData === '') {\n console.warn(\"La risposta dell'API è nulla o vuota.\")\n return\n }\n\n // Inizializza sectorData se è null o undefined\n if (!this.sectorData) {\n this.sectorData = { SectorKeywords: [], ProfessionalProfiles: [], SelectedSkills: [] }\n }\n\n this.sectorData = {\n SectorKeywords: [\n ...new Set([...(response.data.SectorKeywords || [] || []), ...(this.sectorData?.SectorKeywords || [])])\n ],\n ProfessionalProfiles: [\n ...new Set([\n ...(response.data.ProfessionalProfiles || []),\n ...(this.sectorData?.ProfessionalProfiles || [])\n ])\n ],\n SelectedSkills: [...(this.sectorData.SelectedSkills || [])]\n }\n\n this.isEditing = false\n this.$emit('confirm')\n })\n .catch(error => {\n console.error('Errore nella chiamata API:', error)\n })\n .finally(() => {\n this.isLoading = false\n })\n },\n toggleSkill(skill) {\n if (!this.sectorData) return // Evita errori se sectorData è null\n\n const selected = this.sectorData.SelectedSkills || []\n if (selected.includes(skill)) {\n this.sectorData.SelectedSkills = selected.filter(s => s !== skill)\n } else {\n this.addSkill()\n }\n },\n addSkill() {\n if (!this.sectorData) return // Evita errori se sectorData è null\n\n if (this.newSkill.trim() && !this.allSkills.includes(this.newSkill.trim())) {\n if (this.sectorData.SelectedSkills) this.sectorData.SelectedSkills.push(this.newSkill.trim())\n else this.sectorData.SelectedSkills = [this.newSkill.trim()]\n setTimeout(() => (this.newSkill = ''), 100)\n }\n },\n removeSkill(skill) {\n if (!this.sectorData) return // Evita errori se sectorData è null\n\n this.sectorData.ProfessionalProfiles = (this.sectorData.ProfessionalProfiles || []).filter(s => s !== skill)\n this.sectorData.SelectedSkills = (this.sectorData.SelectedSkills || []).filter(s => s !== skill)\n },\n handleOverlayClick(event) {\n const textarea = this.$refs.input\n if (textarea && event.target !== textarea) {\n textarea.focus()\n }\n }\n },\n mounted() {\n this.emitInterface()\n }\n })\n","\n const skills = new Bloodhound({\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Label'),\n queryTokenizer: Bloodhound.tokenizers.whitespace,\n remote: {\n url: '/HandlerLeark.ashx?take=10&method=searchSuggestionsSimpleJson&txt=%QUERY',\n wildcard: '%QUERY'\n }\n })\n\n const cities = new Bloodhound({\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Label'),\n queryTokenizer: Bloodhound.tokenizers.whitespace,\n remote: {\n url: '/HandlerLeark.ashx?method=citiesByDistrictJson&txt=%QUERY',\n wildcard: '%QUERY'\n }\n })\n\n const country = new Bloodhound({\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Label'),\n queryTokenizer: Bloodhound.tokenizers.whitespace,\n remote: {\n url: '/HandlerLeark.ashx?method=countryJson&txt=%QUERY',\n wildcard: '%QUERY'\n }\n })\n\n const district = new Bloodhound({\n datumTokenizer: Bloodhound.tokenizers.obj.whitespace('Label'),\n queryTokenizer: Bloodhound.tokenizers.whitespace,\n\n remote: {\n url: '/HandlerLeark.ashx?method=districtJson&txt=%QUERY',\n wildcard: '%QUERY'\n }\n })\n\n Vue.prototype.dynFormConfigPaymentType = [\n {\n id: 0,\n fieldName: 'rblPaymentType',\n label: `Carta di credito`,\n inputType: 'radio',\n value: 'CC',\n valueIfChecked: 'CC'\n },\n {\n id: 1,\n fieldName: 'rblPaymentType',\n label: `Bonifico bancario`,\n inputType: 'radio',\n value: 'CC',\n valueIfChecked: 'BT'\n }\n ]\n Vue.prototype.dynFormConfigAbbConditions = [\n {\n id: 0,\n fieldName: 'cbTermsAndConditions',\n label: `Accetto i termini e le condizioni del servizio di LearK`,\n inputType: 'checkbox',\n valueIfChecked: 'true',\n validators: [\n {\n type: 'required',\n message: `Se non si accettano i termini e le condizioni del servizio non è possibile proseguire con l'abbonamento.`\n }\n ]\n },\n {\n id: 1,\n fieldName: 'cbGdprInfo',\n label: `Dichiaro di aver letto il modulo REG UE 2016/679`,\n inputType: 'checkbox',\n valueIfChecked: 'true',\n validators: [\n {\n type: 'required',\n message: `Se non si dichiara di aver preso visione dell'art.13-14 GDPR non è possibile proseguire con l'abbonamento.`\n }\n ]\n }\n ]\n\n Vue.prototype.dynFormConfigContactRequest = [\n { id: 0, fieldName: 'txtContactRequestFullName', label: 'Nome completo', validators: [{ type: 'required' }] },\n {\n id: 1,\n fieldName: 'txtContactRequestEmail',\n label: 'Email',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex:\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Campo non formattato correttamente'\n }\n ]\n },\n {\n id: 2,\n fieldName: 'txtContactRequestPhone',\n label: 'Telefono'\n },\n {\n id: 3,\n fieldName: 'txtContactRequestCompany',\n label: 'Azienda',\n validators: [{ type: 'required' }]\n },\n {\n id: 4,\n fieldName: 'txtContactRequestMessage',\n label: 'Messaggio',\n inputType: 'textarea',\n validators: [{ type: 'required' }]\n },\n {\n id: 5,\n fieldName: 'chkContactRequestPrivacy',\n label: `Ai sensi del regolamento (UE) 2016/679 acconsento all'uso dei miei dati personali per le finalità dei servizi di LearK srl
\n Clicca qui per l'informativa privacy completa`,\n inputType: 'checkbox',\n valueIfChecked: 'true',\n validators: [\n {\n type: 'required',\n message: `Se non si autorizza il trattamento dei dati personali non è possibile proseguire`\n }\n ]\n },\n {\n id: 6,\n fieldName: 'chkContactRequestRecaptcha',\n inputType: 'recaptcha',\n label: 'recaptcha',\n validators: [{ type: 'required', message: 'Captcha non valido' }]\n }\n ]\n\n Vue.prototype.dynFormConfigRegisterConditions = [\n {\n id: 0,\n fieldName: 'rblRegisterCompanyPrivacy',\n label: `Ai sensi del regolamento (UE) 2016/679 acconsento all'uso dei miei dati personali per le finalità dei servizi di LearK srl
\n Clicca qui per l'informativa privacy completa`,\n inputType: 'checkbox',\n valueIfChecked: 'true',\n validators: [\n {\n type: 'required',\n message: `Se non si autorizza il trattamento dei dati personali non è possibile proseguire`\n }\n ]\n },\n {\n id: 1,\n fieldName: 'rblRegisterCompanyTerms',\n label: `Accetto i termini e le condizioni del servizio di LearK`,\n inputType: 'checkbox',\n valueIfChecked: 'true',\n validators: [\n {\n type: 'required',\n message: `Se non si accettano i termini e le condizioni del servizio non è possibile proseguire`\n }\n ]\n }\n ]\n\n Vue.prototype.dynFormConfigAbbSubscriber = [\n {\n id: 0,\n fieldName: 'txtBillingDataSeekerCompany',\n label: 'Ragione Sociale',\n validators: [{ type: 'required' }]\n },\n {\n id: 1,\n fieldName: 'txtBillingDataSeekerSDI',\n label: 'Codice SDI',\n validators: [\n { type: 'regex', regex: '^[A-Za-z0-9]{7}$', message: 'Campo non formattato correttamente' },\n {\n type: 'requiredOtherFields',\n requiredOtherFields: ['txtBillingDataSeekerPec'],\n message: 'Valorizzare almeno un campo a scelta tra SDI e PEC'\n }\n ]\n },\n {\n id: 2,\n fieldName: 'txtBillingDataSeekerVATNumber',\n label: 'Partita Iva',\n validators: [\n { type: 'regex', regex: '^[0-9]{11}$', message: 'Campo non formattato correttamente' },\n { type: 'required' }\n ]\n },\n {\n id: 3,\n fieldName: 'txtBillingDataSeekerTaxCode',\n label: 'Codice Fiscale',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex: '^[A-Za-z]{6}[0-9]{2}[A-Za-z]{1}[0-9]{2}[A-Za-z]{1}[0-9]{3}[A-Za-z]{1}$|^[0-9]{11}$',\n message: 'Campo non formattato correttamente'\n }\n ]\n },\n {\n id: 4,\n fieldName: 'txtBillingDataSeekerEmail',\n label: 'Email',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex:\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Campo non formattato correttamente'\n }\n ]\n },\n {\n id: 5,\n fieldName: 'txtBillingDataSeekerPec',\n label: 'PEC',\n validators: [\n {\n type: 'regex',\n regex: '^([\\\\w\\\\.\\\\-]+)@([\\\\w\\\\-]+)((\\\\.(\\\\w){2,})+)$',\n message: 'Campo non formattato correttamente'\n },\n {\n type: 'requiredOtherFields',\n requiredOtherFields: ['txtBillingDataSeekerSDI'],\n message: 'Valorizzare almeno un campo a scelta tra PEC e SDI'\n }\n ]\n },\n {\n id: 6,\n fieldName: 'txtBillingDataSeekerPhone',\n label: 'Telefono'\n },\n {\n id: 7,\n fieldName: 'txtBillingDataSeekerMobile',\n label: 'Cellulare'\n },\n {\n id: 7.5,\n fieldName: 'hfBillingAddressSeekerCountryCode',\n label: 'Codice Nazione',\n value: 'ITA',\n inputType: 'hidden',\n validators: [{ type: 'required' }]\n },\n {\n id: 8,\n fieldName: 'txtBillingAddressSeekerCountry',\n label: 'Nazione',\n value: 'Italia',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex: '^[i|I]talia$',\n message: `Per ora possono registrarsi solo aziende con sede in Italia.
Contattare il supporto per ulteriori informazioni.`\n }\n ],\n typeahead: {\n bloodhoundSource: country,\n valueProp: 'ISO3Code',\n labelProp: 'Label',\n sortProp: 'Label',\n valueField: 'hfBillingAddressSeekerCountryCode'\n }\n },\n { id: 9, fieldName: 'skip', skip: true },\n { id: 10, fieldName: 'txtBillingAddressSeekerStreet', label: 'Indirizzo', validators: [{ type: 'required' }] },\n {\n id: 10.5,\n fieldName: 'hfBillingAddressSeekerDistrictCode',\n label: 'Codice Provincia',\n inputType: 'hidden'\n },\n {\n id: 12,\n fieldName: 'txtBillingAddressSeekerDistrict',\n label: 'Provincia',\n validators: [{ type: 'required' }],\n typeahead: {\n bloodhoundSource: district,\n valueProp: 'Code',\n labelProp: 'Label',\n sortProp: 'Label',\n valueField: 'hfBillingAddressSeekerDistrictCode'\n }\n },\n {\n id: 13,\n fieldName: 'txtBillingAddressSeekerCity',\n label: 'Città',\n validators: [{ type: 'required' }],\n inputClass: ['cities-typeahead'],\n typeahead: {\n bloodhoundSource: cities,\n valueProp: 'ZipCode',\n labelProp: 'Label',\n sortProp: 'Label',\n valueField: 'txtBillingAddressSeekerPostalCode',\n filterField: 'hfBillingAddressSeekerDistrictCode'\n }\n },\n {\n id: 14,\n fieldName: 'txtBillingAddressSeekerPostalCode',\n label: 'Codice postale',\n validators: [\n { type: 'required' },\n { type: 'regex', regex: '^[0-9]{5}$', message: 'Il formato del campo Codice Postale non è corretto' }\n ]\n },\n {\n id: 15,\n fieldName: 'jsonSectorData',\n inputType: 'hidden',\n validators: [{ type: 'required' }],\n inputClass: ['cities-typeahead']\n },\n {\n id: 16,\n fieldName: 'txtDescription',\n inputType: 'sector',\n label:\n 'Descrizione della tua attività
Fornisci una breve descrizione della tua attività aziendale per aiutarci a personalizzare e ottimizzare le nostre ricerche per te.',\n validators: [{ type: 'custom' }]\n }\n ]\n\n Vue.prototype.dynFormConfigSeekerDescription = [\n {\n id: 1,\n fieldName: 'jsonSectorData',\n inputType: 'hidden',\n validators: [{ type: 'required' }],\n inputClass: ['cities-typeahead']\n },\n {\n id: 2,\n fieldName: 'txtDescription',\n inputType: 'sector',\n label:\n 'Descrizione della tua attività
Fornisci una breve descrizione della tua attività aziendale per aiutarci a personalizzare e ottimizzare le nostre ricerche per te.',\n validators: [{ type: 'custom' }]\n }\n ]\n\n Vue.prototype.dynFormConfigCompanyRegister = [\n { id: 0, fieldName: 'txtRegisterCompanyFirstname', label: 'Nome referente', validators: [{ type: 'required' }] },\n {\n id: 1,\n fieldName: 'txtRegisterCompanyLastname',\n label: 'Cognome referente',\n validators: [{ type: 'required' }]\n },\n {\n id: 2,\n fieldName: 'txtRegisterCompanyCompanyName',\n label: 'Ragione sociale',\n validators: [{ type: 'required' }]\n },\n\n {\n id: 3,\n fieldName: 'txtRegisterCompanyVatNumber',\n label: 'Partita Iva',\n validators: [\n { type: 'regex', regex: '^[0-9]{11}$', message: 'Il formato del campo P.Iva non è corretto' },\n {\n type: 'remote',\n method: 'post',\n url: '/api/v1/utilities/isVATNumberFree',\n valueParam: 'vat', // Se non specificato utilizza 'value'\n extraParam: { excludeloggeduser: true, appUserId: () => EventBus.appUserId }, // Nel caso di servizi preesistenti permette di specificare eventuali altri parametri obbligatori TODO: rendere dinamico\n // responseEval: 'd', // Ci si aspetta una risposta true/false. Se il servizio restituisce un oggetto complesso permette di testare il valore desiderato.\n message: 'La partita Iva è già utilizzata'\n }\n ]\n },\n {\n id: 4,\n fieldName: 'txtRegisterCompanyEmail',\n label: 'Email',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex:\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Il formato del campo non è corretto.'\n },\n {\n type: 'remote',\n method: 'post',\n url: '/api/v1/utilities/isEmailAndUsernameFree',\n valueParam: 'mail', // Se non specificato utilizza 'value'\n extraParam: { excludeloggeduser: true, iscontactmail: false, appUserId: () => EventBus.appUserId }, // Nel caso di servizi preesistenti permette di specificare eventuali parametri obbligatori TODO: rendere dinamico\n // responseEval: 'd', // Ci si aspetta una risposta true/false. Se il servizio restituisce un oggetto complesso permette di testare il valore desiderato.\n message: 'Indirizzo Email già utilizzato'\n }\n ]\n },\n {\n id: 5,\n fieldName: 'txtRegisterCompanyEmailConfirm',\n label: 'Conferma Email',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex:\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Il formato del campo non è corretto.'\n },\n {\n type: 'equalOtherFields',\n equalOtherFields: ['txtRegisterCompanyEmail'],\n message: 'I due campi Email sono differenti'\n }\n ]\n },\n\n {\n id: 6,\n fieldName: 'txtRegisterCompanyPassword',\n inputType: 'password',\n label: 'Password',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex: '^.{6,20}$',\n message: 'La password deve essere compresa tra 6 e 20 caratteri'\n }\n ]\n }\n ]\n","\n function useMouse(title) {\n const { ref, onMounted, onUnmounted, watch } = Vue\n const x = ref(0)\n const y = ref(0)\n\n function update(event) {\n x.value = event.pageX\n y.value = event.pageY\n }\n\n watch([x, y], (newValue, oldValue) => console.log(title.value, x.value, y.value, newValue, oldValue))\n\n onMounted(() => window.addEventListener('mousemove', update))\n onUnmounted(() => window.removeEventListener('mousemove', update))\n\n return { x, y }\n }\n\n Vue.component('test-composite', {\n props: {\n title: { type: String, required: true }\n },\n template: '#test-composite',\n setup(props) {\n const { toRefs } = Vue\n const { title } = toRefs(props)\n title.value = `\"${title.value}\"`\n const { x, y } = useMouse(title)\n return { x, y, title }\n }\n })\n","\n Vue.component('vue-recaptcha', VueRecaptcha.VueRecaptcha)\n\n Vue.component('dynamic-form-item', {\n props: {\n id: Number,\n fieldName: { type: String, required: true },\n label: { type: String, default: '' },\n value: { type: String, default: '' },\n valueIfChecked: { type: String, default: 'true' },\n active: { type: Boolean, default: true },\n inputClass: { type: Array, default: () => [] },\n skip: { type: Boolean, default: false },\n hideIfEmpty: { type: Boolean, default: false },\n readOnly: { type: Boolean, default: false },\n validators: { type: Array, default: () => [] },\n inputType: { type: String, default: 'input' },\n typeahead: { type: Object }, // {bloodhoundSource, valueProp, labelProp, sortProp}\n getFieldValue: { type: Function, default: fieldName => null },\n checkValidation: { type: Boolean, default: false },\n options: { type: Array },\n nobr: { type: Boolean, default: true },\n action: { type: Function, default: () => null },\n placeholder: { type: String }\n },\n data() {\n return {\n validationMessage: [],\n typeaheadValues: [],\n isTyping: false,\n onFocus: false\n }\n },\n template: '#dynamic-form-item',\n computed: {\n required() {\n return this.validators.filter(validator => validator.type == 'required').length > 0\n },\n\n typeaheadPlaceholder() {\n let retVal = ''\n if (\n this.typeahead &&\n this.typeaheadValues.length === 1 &&\n this.typeaheadValues[0].label.toLowerCase().startsWith(this.value.toLowerCase())\n ) {\n retVal = this.typeaheadValues[0].label.replace(new RegExp(`(${this.value})`, 'gmi'), this.value)\n }\n return retVal\n }\n },\n watch: {\n checkValidation(val) {\n if (val) {\n this.validate()\n } else {\n this.validationMessage = []\n }\n }\n },\n methods: {\n handleButtonClick() {\n if (this.action) {\n this.action()\n }\n },\n highlightText(a, b) {\n return a.replace(new RegExp(`(${b})`, 'gmi'), '$1')\n },\n handleInput(e) {\n // this.typeaheadValues = []\n const { value } = e.target\n\n this.isTyping = true\n this.setValue({ label: value, code: '' })\n this.handleTypeahead(value)\n this.debounceValueInput(e.target.value)\n },\n handleCheckBoxClick(e) {\n const value = e.target.checked ? this.valueIfChecked : ''\n this.setValue({ label: value })\n },\n handleRadioClick(e, option) {\n const value = e.target.checked ? option.valueIfChecked : ''\n this.setValue({ label: value })\n },\n handleTab(e) {\n const filteredItem = this.typeaheadValues.filter(xx => xx.label.toLowerCase() == this.value.toLowerCase())\n const item =\n filteredItem.length == 1\n ? filteredItem[0]\n : this.typeaheadValues.length == 1\n ? this.typeaheadValues[0]\n : { label: this.value, code: '' }\n\n if (this.value != item.label) {\n e.preventDefault()\n e.stopPropagation()\n }\n this.setValue(item)\n },\n handleEnter(e) {\n if (this.nobr) e.preventDefault()\n },\n handleBlur(e) {\n const filteredItem = this.typeaheadValues.filter(xx => xx.label.toLowerCase() == this.value.toLowerCase())\n const item =\n filteredItem.length == 1\n ? filteredItem[0]\n : this.typeaheadValues.length == 1\n ? this.typeaheadValues[0]\n : { label: this.value, code: '' }\n\n if (item) this.setValue(item)\n\n this.onFocus = false\n this.validate()\n },\n handleInputEnter() {\n this.$emit('confirm', { fieldName: this.fieldName, value: this.value })\n },\n handleFocus() {\n this.onFocus = true\n this.typeaheadValues = []\n this.handleTypeahead(this.value)\n },\n handleTypeahead(value) {\n if (this.typeahead) {\n const query = `${value}${\n this.typeahead.filterField ? `|${this.getFieldValue(this.typeahead.filterField)}` : ''\n }`\n this.typeahead.bloodhoundSource.search(query, null, datum => {\n this.typeaheadValues = datum\n // .filter(item =>\n // this.typeahead.filterProp\n // ? item[this.typeahead.filterProp] == this.getFieldValue(this.typeahead.filterField)\n // : true\n // )\n .map(item => ({\n code: item[this.typeahead.valueProp],\n label: item[this.typeahead.labelProp]\n }))\n }) // Per ora gestisco solo remoto\n }\n },\n handleTypeaheadClick(item) {\n this.typeaheadValues = [item]\n this.setValue(item)\n this.$emit('confirm', { fieldName: this.fieldName, value: item.label })\n setTimeout(() => {\n this.$refs.input.focus()\n }, 100)\n },\n handleParentInput(event) {\n this.$emit('input', { ...event })\n },\n setValue(item) {\n this.$emit('input', { fieldName: this.fieldName, value: item.label })\n if (this.typeahead && this.typeahead.valueField) {\n this.$emit('input', { fieldName: this.typeahead.valueField, value: item.code })\n }\n },\n debounceValueInput: _.debounce(function (value) {\n this.isTyping = false\n }, 300),\n validate() {\n const self = this\n self.validationMessage = []\n // if (this.required && `${this.value}` == '') self.validationMessage.push('Campo obbligatorio')\n\n if (self.inputType === 'hidden') return true\n\n this.validators\n .filter(validator => validator.type === 'required')\n .forEach(validator => {\n if (this.value === '' || this.value === undefined) {\n self.validationMessage.push(\n validator.hasOwnProperty('message') ? validator.message : 'Campo obbligatorio'\n )\n }\n })\n\n if (self.validationMessage.length === 0 && !this.value) {\n this.validators\n .filter(validator => validator.type === 'requiredOtherFields')\n .forEach(validator => {\n let otherFieldsAreNull = true\n validator.requiredOtherFields.forEach(otherField => {\n const retVal = self.getFieldValue(otherField)\n otherFieldsAreNull = otherFieldsAreNull && (retVal === '' || retVal === undefined)\n })\n if (otherFieldsAreNull) {\n self.validationMessage.push(validator.message)\n }\n })\n }\n\n if (self.validationMessage.length === 0 && this.value) {\n this.validators\n .filter(validator => validator.type === 'regex')\n .forEach(validator => {\n const re = new RegExp(validator.regex)\n if (!re.test(this.value)) self.validationMessage.push(validator.message)\n })\n }\n\n if (self.validationMessage.length === 0 && this.value) {\n this.validators\n .filter(validator => validator.type === 'equalOtherFields')\n .forEach(validator => {\n let otherFieldsAreEquals = true\n validator.equalOtherFields.forEach(otherField => {\n const retVal = self.getFieldValue(otherField)\n otherFieldsAreEquals = otherFieldsAreEquals && retVal === self.value\n })\n if (!otherFieldsAreEquals) {\n self.validationMessage.push(validator.message)\n }\n })\n }\n\n if (self.validationMessage.length === 0 && this.value) {\n this.validators\n .filter(validator => validator.type === 'remote')\n .forEach(validator => {\n const sendData = {\n [validator.valueParam || 'value']: self.value\n }\n if (validator.hasOwnProperty('extraParam')) {\n Object.entries(validator.extraParam).forEach(\n ([key, value]) => (sendData[key] = value instanceof Function ? value() : value)\n )\n }\n axios[validator.method](validator.url, sendData).then(response => {\n const { data } = response\n const result = validator.responseEval ? eval(`data.${validator.responseEval}`) : data\n if (!result) self.validationMessage.push(validator.message)\n })\n })\n\n if (this.typeahead && !this.typeahead.valueNotInList) {\n let bhValide = true\n const query = `${this.value}${\n this.typeahead.filterField ? `|${this.getFieldValue(this.typeahead.filterField)}` : ''\n }`\n this.typeahead.bloodhoundSource.search(query, null, datum => {\n const filteredDatum = datum.filter(\n item => item[self.typeahead.labelProp].toLowerCase() === self.value.toLowerCase()\n )\n if (filteredDatum.length === 0) {\n bhValide = false\n self.validationMessage.push('Selezionare un valore in elenco')\n }\n })\n if (\n bhValide &&\n this.typeahead.valueField &&\n this.validators.filter(val => val.type === 'required').length > 0 &&\n this.getFieldValue(this.typeahead.valueField) === ''\n ) {\n self.validationMessage.push('Selezionare un valore in elenco')\n }\n }\n }\n\n return self.validationMessage.length === 0\n },\n emitInterface() {\n const self = this\n this.$emit('interface', {\n key: self.fieldName,\n validate: () => self.validate(),\n containerRef: self.$refs.container\n })\n },\n onCaptchaVerified(recaptchaToken) {\n // console.log('CAPTCHA VERIFIED', recaptchaToken)\n this.setValue({ label: recaptchaToken })\n },\n onCaptchaExpired() {\n // console.log('CAPTCHA EXPIRED')\n this.setValue({ label: null })\n },\n onCaptchaError() {\n // console.log('CAPTCHA ERROR')\n this.setValue({ label: null })\n }\n },\n mounted() {\n this.emitInterface()\n }\n })\n","\n Vue.component('dynamic-form', {\n props: {\n id: { type: String, required: true },\n fields: { type: Array, required: true },\n apiLoadEndPoint: { type: String },\n apiSaveEndPoint: { type: String },\n defaultFieldValue: {\n type: Object,\n default() {\n return {}\n }\n }\n },\n data() {\n return {\n childrenInterface: [],\n checkValidation: false,\n fieldsValue: {},\n originalFieldsValue: {},\n error: false\n }\n },\n template: '#dynamic-form',\n computed: {},\n watch: {\n defaultFieldValue: {\n handler(newValue, oldValue) {\n const self = this\n const retVal = {}\n self.fields.forEach(item => {\n retVal[item.fieldName] = item.value\n ? item.value\n : self.defaultFieldValue[item.fieldName]\n ? self.defaultFieldValue[item.fieldName]\n : ''\n })\n\n self.fieldsValue = retVal\n self.originalFieldsValue = { ...retVal }\n }\n },\n fieldsValue: {\n handler(newValue, oldValue) {\n // console.log(newValue, oldValue)\n },\n deep: true,\n immediate: true\n }\n },\n methods: {\n itemInput(item) {\n // this.$set(fieldsValue, item.fieldName, item.value)\n this.fieldsValue[item.fieldName] = item.value\n this.$emit('change', item)\n },\n getChildInterface(childInterface) {\n this.childrenInterface.push(childInterface)\n },\n validate() {\n let valid = true\n this.childrenInterface.forEach(item => {\n if (!item.validate()) {\n if (valid) {\n window.scrollTo({\n behavior: 'smooth',\n top: window.scrollY + item.containerRef.getBoundingClientRect().top - 105\n })\n valid = false\n }\n }\n })\n return valid\n },\n\n fieldsAreChange() {\n return JSON.stringify(this.fieldsValue) !== JSON.stringify(this.originalFieldsValue)\n },\n getFieldValue(fieldName) {\n const retVal = this.fieldsValue[fieldName]\n return retVal\n },\n emitInterface() {\n this.$emit('interface', {\n key: this.id,\n validate: () => this.validate(),\n getValues: () => this.fieldsValue,\n fieldsAreChange: () => this.fieldsAreChange()\n })\n }\n },\n mounted() {\n this.emitInterface()\n\n const self = this\n const retVal = {}\n if (this.apiLoadEndPoint) {\n axios\n .get(this.apiLoadEndPoint)\n .then(response => {\n const { data } = response\n self.fields.forEach(item => {\n retVal[item.fieldName] =\n data.hasOwnProperty(item.fieldName) && data[item.fieldName]\n ? data[item.fieldName]\n : item.value\n ? item.value\n : self.defaultFieldValue[item.fieldName]\n ? self.defaultFieldValue[item.fieldName]\n : ''\n })\n\n self.fieldsValue = retVal\n self.originalFieldsValue = { ...retVal }\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n }\n if (!Object.keys(retVal).length) {\n self.fields.forEach(item => {\n retVal[item.fieldName] = item.value\n ? item.value\n : self.defaultFieldValue[item.fieldName]\n ? self.defaultFieldValue[item.fieldName]\n : ''\n })\n\n self.fieldsValue = retVal\n self.originalFieldsValue = { ...retVal }\n }\n }\n })\n","\n Vue.component('highlighted-text', {\n props: {\n highlights: { type: Array }\n },\n data() {\n return {}\n },\n template: '#highlighted-text',\n computed: {\n hlText() {\n let fullText = ''\n if (this.$slots.default) {\n this.$slots.default.forEach(slot => {\n fullText += this.navigateSlotTree(slot)\n })\n }\n return fullText\n }\n },\n watch: {},\n methods: {\n navigateSlotTree(slot) {\n let fullText = ''\n if (slot.text) {\n fullText += this.replaceHighlights(slot.text)\n } else if (slot.children) {\n fullText += `<${slot.tag}>`\n slot.children.forEach(child => {\n fullText += this.navigateSlotTree(child)\n })\n fullText += ``\n } else if (slot.tag) {\n fullText += `<${slot.tag} />`\n }\n return fullText\n },\n replaceHighlights(html) {\n let fullText = html\n const boldContents = []\n const regex = /(.*?)<\\/b>/gi\n this.highlights.forEach(item => {\n let match\n while ((match = regex.exec(item)) !== null) {\n boldContents.push(match[1])\n }\n })\n boldContents.forEach(content => {\n const regexb = new RegExp(content, 'gi')\n const regexc = new RegExp(`${content}`, 'gi')\n fullText = fullText.replace(regexc, content)\n fullText = fullText.replace(regexb, `${content}`)\n })\n return fullText\n }\n },\n mounted() {}\n })\n","\n Vue.component('highlights-show-button', {\n props: {\n showOnOver: { type: Boolean, default: false },\n curriculumId: { type: Number, default: 0 },\n highlights: { type: Object },\n direction: { type: String, default: 'left' },\n isFixed: { type: Boolean, default: false },\n searchTerms: { type: Array, default: () => [] },\n searchParams: { type: Array, default: () => [] }\n },\n pinia: Vue.pinia,\n data() {\n return {\n clickX: 0,\n clickY: 0,\n value: '',\n descDictionary: {\n 'CurriculumProfessionalSkills.CommonSkillTypeLabel': 'Competenze professionali',\n 'CurriculumOtherSkills.CommonSkillTypeLabel': 'Competenze generiche',\n 'CurriculumWorkExperiences.Description': 'Esperienze lavorative (Descrizione)',\n 'CurriculumWorkExperiences.WorkFunctionLabel': 'Esperienze lavorative (Ruolo)',\n 'CurriculumWorkExperiences.WorkFunctionLabel.keyword': 'Esperienze lavorative (Keyword)',\n 'CurriculumTrainings.TrainingLabel': 'Corsi di formazione',\n 'CurriculumTrainings.Description': 'Corsi di formazione (Descrizione)',\n CurrentWorkPosition: 'Posizione corrente',\n ExtractedText: 'Testo estratto dal curriculum',\n PersonalDescription: 'Descrizione personale',\n DesiredWorkPosition: 'Posizione lavorativa desiderata',\n CurriculumLanguages: 'Lingue'\n }\n }\n },\n template: '#highlights-show-button',\n computed: {\n ...Pinia.mapState(useCurriculumHighlightsStore, {\n openHighlights: store => store.openHighlights || []\n }),\n showHighlights() {\n return this.openHighlights.includes(this.curriculumId)\n },\n highlightsItemsFound() {\n const regex = /(.*?)<\\/b>/g\n let count = 0\n this.arrayHighlights.forEach(item => {\n item.value.forEach(value => {\n const matches = value.replace(/\\n/g, ' ').match(regex)\n if (matches) {\n count += matches.length\n }\n })\n })\n return count\n },\n fixedStyle() {\n return {\n position: 'fixed',\n left: `${this.clickX + 600}px`,\n top: `${this.clickY - 10}px`\n }\n },\n dropdownDirectionClass() {\n return `drop${this.direction}`\n },\n arrayHighlights() {\n const result = this.highlights\n ? Object.entries(this.highlights)\n .map(([key, value]) => this.highlightCustomRenderer({ key, value }))\n .sort((a, b) => a.key.localeCompare(b.key))\n : []\n return result\n }\n },\n watch: {},\n methods: {\n ...Pinia.mapActions(useCurriculumHighlightsStore, ['showHighlightsOverlay', 'hideHighlightsOverlay']),\n highlightCustomRenderer({ key, value }) {\n let retVal = { key, value }\n if (key === 'CurriculumLanguages') {\n const regex = /\"IdiomLabel\":\"(.*?)\"/g\n const idiomLabels = []\n let match\n while ((match = regex.exec(value)) !== null) {\n idiomLabels.push(match[1])\n }\n retVal = { key, value: idiomLabels }\n }\n return retVal\n },\n showHighlightsOnOver(event) {\n if (this.showOnOver && !this.showHighlights) {\n if (event) {\n const rect = event.target.getBoundingClientRect()\n this.clickX = rect.right\n this.clickY = rect.top\n }\n this.showHighlights = true\n }\n },\n hideHighlightsOnOver(event) {\n if (this.showOnOver) {\n this.showHighlights = false\n }\n },\n toggleHighlights(event) {\n if (event) {\n const rect = event.target.getBoundingClientRect()\n this.clickX = rect.right\n this.clickY = rect.top\n }\n // this.showHighlights = !this.showHighlights\n\n if (this.showHighlights) this.hideHighlightsOverlay(this.curriculumId)\n else this.showHighlightsOverlay(this.curriculumId)\n },\n selectHighlights(index) {\n this.selectedHighlights = index\n },\n saveHighlights(id, curriculumId, text, style, title) {\n this.saveUpdateHighlights(id, curriculumId, text, style, title)\n },\n uniqueKey(id) {\n return `${this.curriculumId}${id}${moment().format('HHmmss')}`\n },\n isEven(index) {\n return index % 2 === 0\n },\n translate(key) {\n return this.descDictionary?.[key] ?? key\n },\n checkIfScrollable() {\n const { content } = this.$refs\n const isScrollable = content.scrollHeight > content.clientHeight || content.scrollWidth > content.clientWidth\n\n return isScrollable\n },\n handleScroll(event) {\n if (!this.checkIfScrollable()) {\n event.preventDefault()\n }\n },\n checkSinonims(item) {\n return item\n .replace(/\\n/g, ' ')\n .replace(/(.*?)<\\/b>/gi, (match, p1) =>\n this.searchTerms.some(value => p1.toLowerCase().startsWith(value.toLowerCase())) ? `${p1}` : match\n )\n }\n },\n mounted() {}\n })\n","\n Vue.component('highlights-icon', {\n props: {\n show: { type: Boolean, default: false },\n },\n data() {\n return {\n }\n },\n template: '#highlights-icon',\n computed: {\n },\n watch: {},\n methods: {\n },\n mounted() {}\n })\n","\n Vue.component('lr-menu-item', {\n props: {\n id: Number,\n label: String,\n iconClass: {\n default: 'fa-circle',\n type: String\n },\n isActive: Boolean,\n url: {\n default: '#',\n type: String\n },\n menuKeys: {\n type: Array\n }\n },\n data() {\n return {}\n },\n template: '#lr-menu-item',\n computed: {},\n watch: {},\n methods: {},\n mounted() {}\n })\n","\n Vue.component('lr-menu', {\n props: { activeMenu: { type: String, required: true } },\n data() {\n return {\n currentSelected: -1,\n menuItems: [],\n error: false\n }\n },\n template: '#lr-menu',\n computed: {\n countTimesTwo() {\n return this.count * 2\n }\n },\n watch: {\n currentSelected(newValue, oldValue) {\n // console.log(`The value of count is changed from ${oldValue} to ${newValue}.`);\n }\n },\n methods: {\n onClick() {\n this.count += 1\n },\n clickItem(id) {\n if (this.currentSelected && this.currentSelected != -1)\n this.menuItems[this.currentSelected - 1].isActive = false\n this.menuItems[id - 1].isActive = true\n this.currentSelected = id\n }\n },\n mounted() {\n const self = this\n axios\n .get('/api/v1/linkrapidi')\n .then(response => {\n const { data } = response\n\n self.currentSelected = data.currentSelected\n self.menuItems = data.menuItems\n\n // ES6 // var found = self.menuItems.find(item => item.menuKeys.indexOf(self.activeMenu) != -1);\n const found = self.menuItems.find(item => item.menuKeys.indexOf(self.activeMenu) != -1)\n if (found) {\n self.currentSelected = found.id\n found.isActive = true\n }\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n }\n })\n","\n Vue.component('memo-add-button', {\n props: {\n curriculumId: { type: Number, default: 0 },\n direction: { type: String, default: 'left' },\n fetchLists: { type: Boolean, default: false },\n isFixed: { type: Boolean, default: false }\n },\n data() {\n return {\n showMemo: false,\n value: '',\n selectedMemo: 0,\n clickX: 0,\n clickY: 0\n }\n },\n pinia: Vue.pinia,\n template: '#memo-add-button',\n computed: {\n ...Pinia.mapState(useCurriculumMemosStore, {\n loading: store => store.loading,\n curriculaMemos: store => store.curriculaMemos || []\n }),\n isPinned() {\n return this.curriculaMemos ? this.curriculaMemos.hasOwnProperty(this.curriculumId) : false\n },\n memos() {\n return this.curriculaMemos[this.curriculumId] || [{}]\n },\n dropdownDirectionClass() {\n return `drop${this.direction}`\n },\n memo() {\n const idx = this.selectedMemo > this.memos.length - 1 ? this.memos.length - 1 : this.selectedMemo\n return this.memos[idx]\n },\n calcSelectedMemo() {\n return this.selectedMemo > this.memos.length - 1 ? this.memos.length - 1 : this.selectedMemo\n },\n fixedStyle() {\n return {\n position: 'fixed',\n left: `${this.clickX + 340}px`,\n top: `${this.clickY - 36}px`\n }\n }\n },\n watch: {},\n methods: {\n // seekerListsStore actions\n ...Pinia.mapActions(useCurriculumMemosStore, ['saveUpdateMemo', 'deleteMemo']),\n cleanMemos() {\n const idxToRemove = this.memos.findIndex(item => item.Id === -1)\n if (idxToRemove !== -1) {\n this.memos.splice(idxToRemove, 1)\n }\n },\n toggleMemo(event) {\n if (event) {\n const rect = event.target.getBoundingClientRect()\n this.clickX = rect.right\n this.clickY = rect.top\n }\n this.cleanMemos()\n this.showMemo = !this.showMemo\n },\n selectMemo(index) {\n this.selectedMemo = index\n },\n saveMemo(id, curriculumId, text, style, title) {\n this.saveUpdateMemo(id, curriculumId, text, style, title)\n },\n newMemo() {\n this.memos.push({ Id: -1, Text: '', CreateDate: moment().format('YYYY-MM-DDTHH:mm:ss') })\n this.selectedMemo = this.memos.length - 1\n },\n uniqueKey(id) {\n return `${this.curriculumId}${id}${moment().format('HHmmss')}`\n }\n },\n mounted() {\n if (this.fetchLists) {\n this.refreshSeekerLists().then(() => this.fetchSelectedListsByCurriculaIds([this.curriculumId]))\n }\n }\n })\n","\n Vue.component('editor', Editor)\n Vue.component('memo-sticky-note', {\n props: {\n fixedStyle: { type: Object },\n saveMemo: { type: Function },\n closeMemo: { type: Function },\n selectMemo: { type: Function },\n newMemo: { type: Function },\n deleteMemo: { type: Function },\n memos: { type: Array },\n show: { type: Boolean, default: false },\n text: { type: String },\n title: { type: String },\n colorStyle: { type: String, default: 'Giallo' },\n id: { type: Number, default: -1 },\n idx: { type: Number, required: true },\n curriculumId: { type: Number, required: true },\n selected: { type: Boolean, default: false }\n },\n data() {\n return {\n value: this.text,\n titleValue: this.title,\n selectedStyle: this.colorStyle || 'Giallo',\n showColorPicker: false,\n editTitle: false\n }\n },\n template: '#memo-sticky-note',\n computed: {\n ...Pinia.mapState(useCurriculumMemosStore, {\n saving: store => store.saving\n }),\n showBookmark() {\n return this.memos.length > 1\n },\n isAlone() {\n return this.memos.length == 1\n },\n memosCount() {\n return this.memos.length\n },\n isNew() {\n return this.id === -1\n },\n modified() {\n return (\n this.text !== this.value ||\n (this.selectedStyle !== this.colorStyle && this.value != '') ||\n (this.title !== this.titleValue && this.value != '')\n )\n },\n colorStyles() {\n return [\n { name: 'Giallo', color: '#ffffff' },\n { name: 'Verde', color: '#ffffff' },\n { name: 'Rosa', color: '#ffffff' },\n { name: 'Viola', color: '#ffffff' },\n { name: 'Blu', color: '#ffffff' },\n { name: 'Grigio', color: '#ffffff' },\n { name: 'Carbone', color: '#ffffff' }\n ]\n }\n },\n watch: {},\n methods: {\n enterTitleEditMode() {\n this.editTitle = true\n setTimeout(() => this.$refs.inputTitle.focus(), 200)\n },\n save() {\n if (this.modified) {\n this.saveMemo(this.id, this.curriculumId, this.value, this.selectedStyle, this.titleValue)\n }\n },\n saveAndClose(forceClose = false) {\n let close = forceClose\n if (this.modified) {\n this.saveMemo(this.id, this.curriculumId, this.value, this.selectedStyle, this.titleValue)\n if (this.isAlone && this.value === '') {\n close = true\n }\n } else {\n close = true\n }\n if (close) this.closeMemo()\n },\n deleteAndCloseMemo(id, curriculumId) {\n this.deleteMemo(id, curriculumId)\n if (this.isAlone) {\n this.closeMemo()\n }\n },\n toggleColorPicker() {\n this.showColorPicker = !this.showColorPicker\n },\n selectColor(color) {\n this.selectedStyle = color\n this.showColorPicker = false\n },\n bookmarkHeight() {\n let memoHeight = 260 / this.memosCount\n memoHeight = memoHeight > 39 ? 39 : memoHeight\n return Math.round(memoHeight)\n },\n bookmarkMarginTop(id) {\n let memoHeight = 260 / this.memosCount\n memoHeight = memoHeight > 39 ? 39 : memoHeight\n return Math.round(34 + memoHeight * id)\n }\n },\n mounted() {},\n beforeDestroy() {}\n })\n","\n Vue.component('qrc-configurator', {\n props: {\n qrcUrl: { type: String, default: '/api/v1/qrcode/get-image?qrcv=1' },\n printMode: { type: Boolean, default: false },\n managerMode: { type: Boolean, default: false },\n showHeader: { type: Boolean, default: true },\n size: { type: String, default: '' }\n },\n data() {\n return {\n idList: 0,\n linkTypesList: [\n { id: -1, key: 'Widget', label: 'Widget', description: `Link al widget Leark per l'inserimento del CV` },\n {\n id: 0,\n key: 'RegisterCandidate',\n label: 'Registrazione candidato',\n description: 'Link alla pagina di registrazione del cadidato.'\n },\n {\n id: 1,\n key: 'RegisterCompany',\n label: 'Registrazione Azienda',\n description: 'Link alla pagina di registrazione per aziende.'\n },\n {\n id: 9999,\n key: 'Register',\n label: 'Registrazione Generica',\n description: 'Link alla pagina di registrazione generica.'\n }\n ],\n formatTypesList: [\n { id: 1, key: 'qrc-only', label: 'Solo QRCode', description: `` },\n {\n id: 2,\n key: 'qrc-ss',\n label: 'Scritte sopra e sotto',\n description: ''\n },\n {\n id: 3,\n key: 'qrc-4l',\n label: 'Scritte su tutti i lati',\n description: ''\n },\n {\n id: 4,\n key: 'qrc-image',\n label: 'Quattro lati con logo',\n description: ''\n }\n ],\n formatType: 3,\n linkType: -1,\n autoPrint: false,\n show: true,\n currentPage: 0,\n seekerId: null,\n seekerLogoUrl: null,\n seekerName: 'LearK',\n seekerCompanySign: '',\n entityType: 1,\n printFormat: '15x15',\n customPrintParameters: null,\n printFormatsList: [\n {\n key: 'a4',\n label: 'Foglio A4',\n description: 'Ideale per stampa su foglio di carta',\n pdfWidth: 210,\n pdfHeight: 297,\n marginTop: 30,\n marginRight: 30,\n marginBottom: 0,\n marginLeft: 30\n },\n {\n key: '15x15',\n label: 'Vetrofania 15cm x 15cm',\n description: `Ideale per l'applicazione su vetrine e banconi`,\n pdfWidth: 150,\n pdfHeight: 150,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0\n },\n {\n key: '50x50',\n label: 'Adesivo 50cm x 50cm',\n description: 'Ideale per adesivi da applicare ad automezzi',\n pdfWidth: 500,\n pdfHeight: 500,\n marginTop: 50,\n marginRight: 50,\n marginBottom: 0,\n marginLeft: 50\n },\n {\n key: '200x200',\n label: 'Cartelloni 2m x 2m',\n description: 'Ideale per cartelloni di grosse dimensioni',\n pdfWidth: 2000,\n pdfHeight: 2000,\n marginTop: 100,\n marginRight: 100,\n marginBottom: 0,\n marginLeft: 100\n }\n ]\n }\n },\n template: '#qrc-configurator',\n computed: {\n title() {\n return this.seekerCompanySign && this.seekerCompanySign != this.seekerName\n ? this.seekerCompanySign\n : this.seekerName\n },\n subTitle() {\n return this.seekerCompanySign && this.seekerCompanySign != this.seekerName ? `di ${this.seekerName}` : ''\n },\n pageHeader() {\n let retVal = {\n title: 'Configura il tuo QRCode',\n subTitle: 'Modifica le opzioni e scarica il QRCode nel formato che preferisci.'\n }\n if (!this.managerMode) {\n retVal = {\n title: 'Ottieni il QR Code da stampare o condividere.',\n subTitle: 'Il widget a portata di smartphone.'\n }\n }\n return retVal\n },\n pages() {\n const retVal = [\n {\n id: 1,\n code: 'link',\n label: 'Link',\n title: 'Scegli il tipo di link',\n subTitle: '',\n titleIcon: 'fa-users-medical fa-swap-opacity'\n },\n {\n id: 2,\n code: 'format',\n label: 'Formato',\n title: 'Scegli il template che prefisci',\n subTitle: '',\n titleIcon: 'fa-users-cog'\n },\n {\n id: 3,\n code: 'print',\n label: 'Dimensioni',\n title: 'Scegli su che supporto vuoi stampare',\n subTitle: '',\n titleIcon: 'fa-users-cog'\n }\n ]\n return retVal.sort((a, b) => (a.id > b.id ? 1 : -1))\n },\n sideMessage() {\n const rightMessage = 'carica il tuo cv'\n const leftMessage = 'lavora con noi'\n const defaultMessage = { leftMessage, rightMessage }\n const messageList = [\n { entityType: 1, ...defaultMessage },\n { entityType: 2, ...defaultMessage, leftMessage: 'facciamo rete' },\n { entityType: 3, ...defaultMessage },\n { entityType: 5, ...defaultMessage, leftMessage: 'diventa volontario' }\n ]\n return messageList.filter(item => item.entityType === this.entityType)[0]\n },\n selectedLinkType() {\n return this.linkTypesList.find(x => x.id == this.linkType)\n },\n selectedPage() {\n return this.pages.find(x => x.id == this.currentPage)\n }\n },\n watch: {},\n methods: {\n setPrintStyle(printStyle = { width: '297', height: '210', margin: '30' }) {\n // Gestione dei formati di stampa\n const elem = document.querySelector('#qrc-print-style')\n if (elem) {\n elem.parentElement.removeChild(elem)\n }\n const style = document.createElement('style')\n style.innerHTML = `@page {size: ${printStyle.width}mm ${printStyle.height}mm; margin : ${printStyle.margin}mm }`\n style.media = 'print'\n style.id = 'qrc-print-style'\n\n const ref = document.querySelector('script')\n ref.parentNode.insertBefore(style, ref)\n },\n removePrintStyle() {\n const elem = document.querySelector('#qrc-print-style')\n if (elem) elem.parentNode.removeChild(elem)\n },\n showQrCode() {\n this.addPrintStyle()\n this.title = document.title\n document.title = `QR Code - ${this.seekerName}`\n this.show = true\n },\n hideQrCode() {\n console.log(this.showPanelOnly)\n if (!this.showPanelOnly) {\n this.removePrintStyle()\n document.title = this.title\n this.show = false\n }\n },\n printPdfQrCode(event, printFormat) {\n const formatKey = printFormat ?? this.printFormat\n const printParameters = this.customPrintParameters\n ? this.customPrintParameters\n : this.printFormatsList.filter(pf => pf.key == formatKey)[0]\n const self = this\n const htmlContent = document.getElementsByTagName('html')[0].innerHTML\n // const htmlContent = document.getElementById('qrc-component').innerHTML\n const config = {\n url: `/api/v1/qrcode/print`,\n data: {\n htmlContent,\n ...printParameters\n },\n method: 'post',\n responseType: 'blob'\n }\n axios\n .request(config)\n .then(response => {\n const fileName = response.headers['content-disposition'].split('filename=')[1]\n const blob = response.data\n const file = new File([blob], fileName, { type: blob.type })\n saveAs(file)\n window.parent.postMessage({ pdf: 'pdf-done' }, '*')\n })\n .catch(error => {\n self.error = true\n window.parent.postMessage({ pdf: 'pdf-error' }, '*')\n })\n .then(() => {\n // always executed\n })\n },\n printQrCode() {\n EventBus.$emit('vnPopup', {\n message: `

Generazione del Pdf in corso

Il file PDF sarà disponibile tra pochi secondi.

`,\n actions: [{ label: 'Ok', icon: 'fa-check', style: 'info' }],\n cssStyle: { 'z-index': 1060 }\n })\n\n let printIframe = document.querySelector('#qrc-print-iframe')\n if (!printIframe) {\n printIframe = document.createElement('iframe')\n printIframe.id = 'qrc-print-iframe'\n const ref = document.querySelector('#qrc-print')\n ref.appendChild(printIframe)\n }\n printIframe.src = `/account/seeker/qrcodeprint?${this.seekerId ? `seekerid=${this.seekerId}` : ''}&idList=${\n this.idList\n }&printformat=${this.printFormat}&linktype=${this.linkType}&formattype=${this.formatType}&autoprint=true`\n },\n shareQrCode() {\n const self = this\n const fileName = `LerakQRC-${self.seekerName.replace(/\\s/g, '')}.png`\n let blob\n const config = { url: `${this.qrcUrl}&idList=${this.idList}`, method: 'get', responseType: 'blob' }\n\n axios\n .request(config)\n .then(response => {\n blob = response.data\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n const file = new File([blob], fileName, { type: blob.type })\n\n if (navigator.canShare && navigator.canShare({ files: [file] })) {\n navigator\n .share({\n files: [file],\n title: `QR Code - ${self.seekerName}`,\n text: `${self.seekerName} ${self.qrcText}`\n })\n .then(() => console.log('Share was successful.'))\n .catch(error => console.log('Sharing failed', error))\n } else if (navigator.share) {\n navigator\n .share({\n title: `QR Code - ${self.seekerName}`,\n text: `${self.seekerName} ${self.qrcText}`,\n url: 'https://www.leark.it/'\n })\n .then(() => console.log('Successful share'))\n .catch(error => console.log('Error sharing', error))\n }\n })\n },\n handlePage(e, page) {\n this.currentPage = page\n },\n getSeekerData() {\n const self = this\n axios\n .get(`/api/v1/seeker/`)\n .then(response => {\n const { data: seeker } = response\n self.seekerLogoUrl = seeker.imageLogoUrl\n self.seekerName = seeker.name\n self.seekerCompanySign = seeker.companySign\n self.entityType = seeker.entityType\n if (self.autoPrint) setTimeout(() => self.printPdfQrCode(), 400)\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n },\n changeIdList(idList) {\n this.idList = idList\n }\n },\n mounted() {\n EventBus.$on('changeIdList', this.changeIdList)\n const urlParams = new Proxy(new URLSearchParams(window.location.search.toLowerCase()), {\n get: (searchParams, prop) => searchParams.get(prop.toLowerCase())\n })\n this.getSeekerData()\n\n if (urlParams.linkType) this.linkType = urlParams.linkType\n if (urlParams.idList) this.idList = urlParams.idList\n if (urlParams.formatType) this.formatType = urlParams.formatType\n if (urlParams.printFormat) this.printFormat = urlParams.printFormat\n if (this.printFormat && this.printFormat.toLowerCase() === 'custom') {\n this.customPrintParameters = {\n pdfWidth: urlParams.pdfWidth,\n pdfHeight: urlParams.pdfHeight,\n marginTop: urlParams.marginTop,\n marginRight: urlParams.marginRight,\n marginBottom: urlParams.marginBottom,\n marginLeft: urlParams.marginLeft\n }\n }\n if (urlParams.autoPrint) this.autoPrint = true\n if (!this.printMode) {\n window.addEventListener('message', event => {\n if (event.data && event.data.pdf) {\n const success = event.data.pdf === 'pdf-done'\n EventBus.$emit('vnShow', {\n type: success ? 'success' : 'danger',\n message: success\n ? `Il file Pdf è stato generato correttamente`\n : 'Errore nella generazione del file Pdf'\n })\n }\n })\n }\n },\n\n beforeDestroy() {\n EventBus.$off('changeIdList', this.changeIdList)\n }\n })\n","\n Vue.component('qrc-display-panel', {\n props: {\n embedded: { type: Boolean, default: false },\n showPanelOnly: { type: Boolean, default: false },\n seekerName: { type: String, default: 'LearK' },\n seekerId: {},\n qrcUrl: { type: String, default: '/api/v1/qrcode/get-image?qrcv=1' },\n qrcText: {\n type: String,\n default: 'ha scelto LearK, il sistema tecnologicamente più avanzato per la gestione del tuo curriculum'\n }\n },\n data() {\n return {\n show: this.showPanelOnly\n }\n },\n template: '#qrc-display-panel',\n computed: {},\n watch: {},\n methods: {\n addPrintStyle() {\n // Aggiungo uno specifico stile per gestire la stampa QRCode\n const elem = document.querySelector('#qrc-print-style')\n if (!elem) {\n const style = document.createElement('style')\n style.innerHTML = '@page {size: 210mm 297mm; margin : 30mm }'\n style.media = 'print'\n style.id = 'qrc-print-style'\n\n const ref = document.querySelector('script')\n ref.parentNode.insertBefore(style, ref)\n }\n },\n removePrintStyle() {\n const elem = document.querySelector('#qrc-print-style')\n if (elem) elem.parentNode.removeChild(elem)\n },\n showQrCode() {\n this.addPrintStyle()\n this.title = document.title\n document.title = `QR Code - ${this.seekerName}`\n this.show = true\n },\n hideQrCode() {\n console.log(this.showPanelOnly)\n if (!this.showPanelOnly) {\n this.removePrintStyle()\n document.title = this.title\n this.show = false\n }\n },\n printQrCode() {\n let printIframe = document.querySelector('#qrc-print-iframe')\n if (!printIframe) {\n printIframe = document.createElement('iframe')\n printIframe.id = 'qrc-print-iframe'\n printIframe.src = `/Account/Seeker/EditWidgetPrintQRC${this.seekerId ? `?seekerid=${this.seekerId}` : ''}`\n\n printIframe.onload = () => {\n setTimeout(() => {\n printIframe.contentWindow.focus()\n printIframe.contentWindow.print()\n }, 500)\n }\n\n const ref = document.querySelector('#qrc-print')\n ref.appendChild(printIframe)\n } else {\n printIframe.contentWindow.focus()\n printIframe.contentWindow.print()\n }\n },\n shareQrCode() {\n const self = this\n const fileName = `LerakQRC-${self.seekerName.replace(/\\s/g, '')}.png`\n let blob\n const config = { url: this.qrcUrl, method: 'get', responseType: 'blob' }\n\n axios\n .request(config)\n .then(response => {\n blob = response.data\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n console.log(blob)\n const file = new File([blob], fileName, { type: blob.type })\n\n if (navigator.canShare && navigator.canShare({ files: [file] })) {\n navigator\n .share({\n files: [file],\n title: `QR Code - ${self.seekerName}`,\n text: `${self.seekerName} ${self.qrcText}`\n })\n .then(() => console.log('Share was successful.'))\n .catch(error => console.log('Sharing failed', error))\n } else if (navigator.share) {\n navigator\n .share({\n title: `QR Code - ${self.seekerName}`,\n text: `${self.seekerName} ${self.qrcText}`,\n url: 'https://www.leark.it/'\n })\n .then(() => console.log('Successful share'))\n .catch(error => console.log('Error sharing', error))\n }\n })\n }\n },\n mounted() {\n if (this.showPanelOnly) {\n this.showQrCode()\n }\n }\n })\n","\n Vue.component('seeker-lists-add-button', {\n props: {\n curriculumId: { type: Number, default: 0 },\n direction: { type: String, default: 'left' },\n fetchLists: { type: Boolean, default: false }\n },\n data() {\n return {\n showList: false\n }\n },\n pinia: Vue.pinia,\n template: '#seeker-lists-add-button',\n computed: {\n // seekerListsStore data\n ...Pinia.mapState(useSeekerListsStore, {\n loading: store => store.loading,\n lists: store => store.lists,\n selectedListsByCurriculumId: store => store.selectedListsByCurriculumId || {}\n }),\n\n selectedLists() {\n return (this.selectedListsByCurriculumId ? this.selectedListsByCurriculumId[this.curriculumId] : null) || []\n },\n\n selectedListsNames() {\n return this.selectedLists?.length\n ? _.filter(\n _.map(this.selectedLists, id => _.find(this.lists, list => list.Id === id)?.Name),\n x => !!x\n ).join(', ')\n : ''\n },\n\n isPinned() {\n return this.selectedLists?.length\n },\n\n dropdownDirectionClass() {\n return `drop${this.direction}`\n }\n },\n watch: {},\n methods: {\n // seekerListsStore actions\n ...Pinia.mapActions(useSeekerListsStore, [\n 'addToList',\n 'fetchSelectedListsByCurriculaIds',\n 'refreshSeekerLists',\n 'removeFromList'\n ]),\n ...Pinia.mapActions(useModalsStore, ['showNewSeekerListModal']),\n\n addRemoveFromList(listId) {\n if (this.isListSelected(listId))\n return this.removeFromList(listId, this.curriculumId)\n .then(this.fetchSelectedListsByCurriculaIds)\n .then(() => {\n this.showList = false\n })\n\n return this.addToList(listId, this.curriculumId)\n .then(this.fetchSelectedListsByCurriculaIds)\n .then(() => {\n this.showList = false\n })\n },\n\n toggleMenuList() {\n this.showList = !this.showList\n },\n\n createNewList() {\n this.showList = false\n this.showNewSeekerListModal(this.curriculumId)\n },\n\n isListSelected(listId) {\n return this.selectedLists.includes(listId)\n }\n },\n mounted() {\n if (this.fetchLists) {\n this.refreshSeekerLists().then(() => this.fetchSelectedListsByCurriculaIds([this.curriculumId]))\n }\n }\n })\n","\n Vue.component('seeker-lists-details', {\n props: {\n searchCurriculaUrl: { type: String, required: true }\n },\n data() {\n return {\n isLocalCurriculaLoaded: false,\n localCurricula: [],\n oldListId: Number,\n showArrow: false,\n demoMode: false\n }\n },\n pinia: Vue.pinia,\n template: '#seeker-lists-details',\n computed: {\n ...Pinia.mapStores(useCurriculumMemosStore),\n // seekerListsStore data\n ...Pinia.mapState(useSeekerListsStore, {\n loading: store => store.loading,\n lists: store => store.lists,\n list: store => store.selectedList,\n curricula: store => store.selectedListCurricula\n })\n },\n methods: {\n // seekerListsStore actions\n ...Pinia.mapActions(useSeekerListsStore, [\n 'addToListAtIndex',\n 'getListDetails',\n 'getListCurricula',\n 'deleteSeekerList',\n 'removeFromList'\n ]),\n exitDemoMode() {\n ;(this.demoMode = false), (this.localCurricula = [])\n },\n enterDemoMode() {\n this.demoMode = true\n this.localCurricula = [\n {\n Id: 19,\n AppUserId: 'f72e6575-0000-4774-90e3-9d9ef1b7fef8',\n ImageUrl: '/files/curricula/default/_widgetimage.jpg',\n Firstname: 'Michele',\n Lastname: '',\n CurrentWorkPosition: 'Responsabile Programmatore',\n EmailConfirmed: true,\n Enabled: true,\n Latitude: 45.44285099999999,\n Mobile: '',\n Email: 'michele@ggmail.com',\n Longitude: 9.5596544,\n City: 'Agnadello',\n isRemoved: false\n },\n {\n Id: 76,\n AppUserId: '034d8df6-0000-4397-acda-57a49522b586',\n ImageUrl: '/files/curricula/default/_widgetimage.jpg',\n Firstname: 'Gaia',\n Lastname: '',\n CurrentWorkPosition: 'Web developer c#',\n EmailConfirmed: true,\n Enabled: true,\n Latitude: 45.570318999999984,\n Mobile: '',\n Email: 'gaia@ggmail.com',\n Longitude: 9.522033800000003,\n City: \"Vaprio d'Adda\",\n isRemoved: false\n },\n {\n Id: 55587,\n AppUserId: '5272688b-0000-4bfc-8df3-417b84b3c2b8',\n ImageUrl: '/files/curricula/default/_widgetimage.jpg',\n Firstname: 'Andrea',\n Lastname: '',\n CurrentWorkPosition: 'App developer (flutter dart)',\n EmailConfirmed: true,\n Enabled: true,\n Latitude: 45.531314399999985,\n Mobile: null,\n Email: 'andrea@ggmail.com',\n Longitude: 9.702998400000013,\n City: 'Morengo',\n isRemoved: false\n }\n ]\n },\n confirmDeleteSeekerList() {\n if (!this.list) return\n\n EventBus.$emit('vnPopup', {\n type: 'success',\n message: `Sei sicuro di voler cancellare definitivamente la lista: ${this.list.Name} ?`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n this.deleteSeekerList(this.list.Name)\n },\n style: 'info'\n },\n {\n label: 'Annulla',\n icon: 'fa-times',\n action: () => {}\n }\n ]\n })\n },\n\n findIndexToAddCurriculum(currentIndex) {\n let nextRealCurriculumId = null\n let returnedIndex\n this.localCurricula.forEach((curriculum, index) => {\n if (index > currentIndex)\n if (curriculum.isRemoved === false) {\n nextRealCurriculumId = curriculum.Id\n }\n })\n if (nextRealCurriculumId != null) {\n this.curricula.forEach((curriculum, index) => {\n if (curriculum.Id === nextRealCurriculumId) {\n returnedIndex = index\n }\n })\n } else returnedIndex = this.curricula.length - 1\n return returnedIndex\n },\n\n setRemoveOnLocalCurriculum(isRemoved, curriculumId) {\n this.localCurricula.forEach(curriculum => {\n if (curriculum.Id === curriculumId) curriculum.isRemoved = isRemoved\n })\n },\n\n removeFromCurrentList(listId, curriculumId) {\n this.setRemoveOnLocalCurriculum(true, curriculumId)\n this.removeFromList(listId, curriculumId).then(this.fetchSelectedListsByCurriculaIds)\n },\n\n addToCurrentListAtIndex(listId, curriculumId, index) {\n const indexToAddCurriculum = this.findIndexToAddCurriculum(index)\n // console.log(`returned index: ${indexToAddCurriculum}`)\n this.setRemoveOnLocalCurriculum(false, curriculumId)\n this.addToListAtIndex(listId, curriculumId, indexToAddCurriculum).then(this.fetchSelectedListsByCurriculaIds)\n },\n blinkDemoMode() {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Attenzione. Non è possibile effettuare operazioni sui dati di esempio.`\n })\n },\n doNothing() {}\n },\n watch: {\n list(newValue, oldValue) {\n this.demoMode = false\n if (oldValue !== null) this.oldListId = oldValue.Id\n },\n curricula(newValue, oldValue) {\n if (this.list && this.oldListId === this.list.Id) {\n // if (!this.isLocalCurriculaLoaded) {\n // this.localCurricula = oldValue\n // console.log(this.localCurricula)\n // this.isLocalCurriculaLoaded = true\n // }\n // console.log(this.localCurricula)\n } else {\n this.isLocalCurriculaLoaded = false\n this.localCurricula = _.map(newValue, x => ({ ...x, isRemoved: false }))\n }\n this.curriculumMemosStore.fetchMemoByCurriculaIds(_.map(newValue, x => x.Id))\n }\n },\n mounted() {\n const self = this\n setTimeout(() => (self.showArrow = true), 100)\n }\n })\n","\n Vue.component('seeker-lists-new-list-button', {\n props: {\n buttonText: {\n type: String,\n default: 'Crea nuova lista'\n }\n },\n data() {\n return {\n text: this.buttonText\n }\n },\n pinia: Vue.pinia,\n template: '#seeker-lists-new-list-button',\n watch: {},\n computed: {},\n methods: {\n // modalsStore actions\n ...Pinia.mapActions(useModalsStore, ['showNewSeekerListModal'])\n },\n mounted() {}\n })\n","\n Vue.component('seeker-lists-new-modal', {\n data() {\n return {\n name: '',\n formInterfaces: {}\n }\n },\n pinia: Vue.pinia,\n template: '#seeker-lists-new-modal',\n computed: {\n ...Pinia.mapState(useModalsStore, ['newSeekerListModal']),\n formConfigListName() {\n return [\n {\n id: 0,\n fieldName: 'txtListName',\n label: `Nome della lista`,\n validators: [{ type: 'required' }]\n }\n ]\n }\n },\n watch: {},\n methods: {\n ...Pinia.mapActions(useModalsStore, ['closeNewSeekerListModal']),\n ...Pinia.mapActions(useSeekerListsStore, ['createNewList', 'addToList', 'refreshSeekerLists']),\n\n createNewListAndAddCurriculum() {\n const key = 'ListName'\n if (this.formInterfaces[key].validate()) {\n const field = { ...this.formInterfaces[key].getValues() }\n return this.createNewList(field.txtListName, 'Favourites')\n .then(list => {\n this.newSeekerListModal.curriculumId\n ? this.addToList(list.Id, this.newSeekerListModal.curriculumId)\n : this.refreshSeekerLists()\n return list\n })\n .then(list => EventBus.$emit('newListAdded', list))\n .then(() => this.closeNewSeekerListModal())\n }\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n }\n },\n mounted() {}\n })\n","\n Vue.component('seeker-lists-summary', {\n data() {\n return {}\n },\n pinia: Vue.pinia,\n template: '#seeker-lists-summary',\n computed: {\n // seekerListsStore data\n ...Pinia.mapState(useSeekerListsStore, {\n lists: store => store.lists,\n selectedList: store => store.selectedList\n })\n },\n watch: {},\n methods: {\n // seekerListsStore actions\n ...Pinia.mapActions(useSeekerListsStore, ['addToList', 'removeFromList', 'selectList'])\n },\n mounted() {}\n })\n","\n Vue.component('seeker-lists-swap-button', {\n props: {\n curriculumId: { type: Number, default: 0 },\n direction: { type: String, default: 'left' },\n fetchLists: { type: Boolean, default: false },\n dropup: { type: Boolean, default: false },\n demoMode: { type: Boolean, default: false },\n demoFunction: { type: Function }\n },\n data() {\n return {\n showList: false\n }\n },\n pinia: Vue.pinia,\n template: '#seeker-lists-swap-button',\n computed: {\n // seekerListsStore data\n ...Pinia.mapState(useSeekerListsStore, {\n loading: store => store.loading,\n lists: store => store.lists,\n currentList: store => store.selectedList,\n selectedListsByCurriculumId: store => store.selectedListsByCurriculumId || {},\n curricula: store => store.selectedListCurricula\n }),\n\n visibleLists() {\n return this.lists.filter(l => l.Id !== this.currentList?.Id)\n },\n\n selectedLists() {\n return (this.selectedListsByCurriculumId ? this.selectedListsByCurriculumId[this.curriculumId] : null) || []\n },\n\n selectedListsNames() {\n return this.selectedLists?.length\n ? _.filter(\n _.map(this.selectedLists, id => _.find(this.lists, list => list.Id === id)?.Name),\n x => !!x\n ).join(', ')\n : ''\n },\n\n isPinned() {\n return this.selectedLists?.length\n },\n\n dropdownDirectionClass() {\n return `drop${this.direction}`\n }\n },\n watch: {},\n methods: {\n // seekerListsStore actions\n ...Pinia.mapActions(useSeekerListsStore, [\n 'addToList',\n 'fetchSelectedListsByCurriculaIds',\n 'refreshSeekerLists',\n 'removeFromList'\n ]),\n ...Pinia.mapActions(useModalsStore, ['showNewSeekerListModal']),\n\n addRemoveFromList(listId) {\n if (this.isListSelected(listId))\n return this.removeFromList(listId, this.curriculumId)\n .then(this.fetchSelectedListsByCurriculaIds)\n .then(() => {\n this.showList = false\n })\n\n return this.addToList(listId, this.curriculumId)\n .then(this.fetchSelectedListsByCurriculaIds)\n .then(() => {\n this.showList = false\n })\n },\n\n toggleMenuList() {\n this.showList = !this.showList\n },\n\n createNewList() {\n this.showList = false\n this.showNewSeekerListModal(this.curriculumId)\n },\n\n isListSelected(listId) {\n return this.selectedLists.includes(listId)\n },\n\n handleDemoAction() {\n if (this.demoFunction) this.demoFunction()\n }\n },\n\n mounted() {\n if (this.fetchLists) {\n this.refreshSeekerLists().then(() => this.fetchSelectedListsByCurriculaIds([this.curriculumId]))\n }\n }\n })\n","\n Vue.prototype.seekerRelManagerConfigContactRequest = [\n { id: 0, fieldName: 'ContactFirstName', label: 'Nome referente', validators: [{ type: 'xxx_required' }] },\n { id: 1, fieldName: 'ContactLastName', label: 'Cognome referente', validators: [{ type: 'xxx_required' }] },\n {\n id: 2,\n fieldName: 'ContactCompany',\n label: 'Azienda',\n validators: [{ type: 'required' }]\n },\n {\n id: 3,\n fieldName: 'ContactEmail',\n label: 'Email',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex:\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n message: 'Il formato del campo non è corretto.'\n }\n ]\n },\n // {\n // id: 3,\n // fieldName: 'ContactEmailConfirm',\n // label: 'Conferma Email',\n // validators: [\n // { type: 'required' },\n // {\n // type: 'regex',\n // regex: '^([\\\\w\\\\.\\\\-]+)@([\\\\w\\\\-]+)((\\\\.(\\\\w){2,})+)$',\n // message: 'Il formato del campo non è corretto.'\n // },\n // {\n // type: 'equalOtherFields',\n // equalOtherFields: ['ContactEmail'],\n // message: 'I due campi Email sono differenti'\n // }\n // ]\n // },\n\n {\n id: 4,\n fieldName: 'ContactMessage',\n label: 'Messaggio',\n hideIfEmpty: true,\n readOnly: true,\n inputType: 'textarea'\n }\n ]\n","\n Vue.component('seekers-relationships-contact-list', {\n props: {\n visible: { type: Boolean, default: true },\n selectedId: { type: Number },\n reSend: { type: Function, required: true },\n relationshipType: { type: Number }\n },\n data() {\n return {\n formInterfaces: {},\n contactsList: [],\n\n columnsList: [\n { id: 'ContactEmail', label: 'Email', sortable: true },\n { id: 'ContactFirstName', label: 'Nome', sortable: true },\n { id: 'ContactLastName', label: 'Cognome', sortable: true },\n { id: 'ContactCompany', label: 'Azienda', sortable: true },\n { id: 'CreateDate', label: 'Data contatto', type: 'date', sortable: true }\n ],\n statusList: [\n {\n key: 'link',\n id: 'LinkOpened',\n value: 1,\n labelOn: 'Link mail aperto',\n labelOff: 'Link mail non aperto',\n icon: 'fa-link',\n style: 'success'\n },\n {\n key: 'registration',\n id: 'RegistrationDone',\n value: 2,\n labelOn: 'Registrazione effettuata',\n labelOff: 'Registrazione non effettuata',\n icon: 'fa-sign-in',\n style: 'warning'\n },\n {\n key: 'registration',\n id: 'ConnectionConfirmed',\n value: 4,\n labelOn: 'Registrazione confermata',\n labelOff: 'Registrazione non confermata',\n icon: 'fa-sign-in',\n style: 'success'\n },\n {\n key: 'link',\n id: 'GlobalLinkOpened',\n value: 1,\n type: 8,\n labelOn: 'Link globale aperto',\n labelOff: 'Link globale aperto',\n icon: 'fa-globe',\n style: 'success'\n }\n // {\n // key: 'privacy',\n // id: 'PrivacyAccepted',\n // value: 8,\n // labelOn: 'Privacy accettata',\n // labelOff: 'Privacy non ancora accettata',\n // icon: 'fa-user-secret'\n // }\n ]\n }\n },\n template: '#seekers-relationships-contact-list',\n computed: {\n uniqueStatusList() {\n return Array.from(new Set(this.statusList.map(item => item.key))).map(item => ({ key: item }))\n },\n actionsList() {\n const defaultAction = [\n { id: 'delete', label: 'Elimina', icon: 'fa-trash', action: this.handleDeleteRow },\n {\n id: 'hurry',\n label: 'Invia sollecito',\n icon: 'fa-paper-plane',\n action: this.handleReSend,\n hideWhen: { RelationshipType: 8 }\n }\n ]\n const relType2Action = [\n {\n id: 'widget',\n label: 'Widget e QRCode',\n icon: 'fa-qrcode',\n action: this.handleWidget,\n hideWhen: { RelationshipType: 8 }\n }\n ]\n\n switch (this.relationshipType) {\n case 2:\n return [...defaultAction, ...relType2Action]\n break\n default:\n return defaultAction\n break\n }\n }\n },\n watch: {},\n methods: {\n handleWidget(event, item) {\n const id = item.Id\n axios\n .get(`/api/v1/seekers-relationships/${id}`)\n .then(response => {\n const { data } = response\n if (data.SeekerToId) {\n axios.get(`/api/v1/widget?transparent=true&idseeker=${data.SeekerToId}`).then(resp2 => {\n EventBus.$emit('vnPopup', {\n style: 'popup',\n type: 'light',\n message: ``,\n component: 'tab-view-pager',\n options: {\n pages: [\n {\n id: 1,\n label: 'Widget',\n title: `Inserisci nel tuo sito il form di contatto`,\n content: ``\n },\n {\n id: 2,\n label: 'Pulsante',\n title: `Inserisci nel tuo sito il pulsante che rimanda alla pagina di LearK dedicata alla tua azienda.`,\n content: ``\n },\n {\n id: 3,\n label: 'QR-Code',\n title: `Stampa o condividi il QR Code.`,\n content: {\n component: 'qrc-display-panel',\n options: {\n seekerId: data.SeekerToId,\n qrcUrl: `/api/v1/qrcode/get-image?idseeker=${data.SeekerToId}`,\n embedded: true\n }\n }\n }\n ]\n },\n actions: [{ label: 'OK', icon: 'fa-check-circle', style: 'success' }]\n })\n })\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Il contatto non ha ancora confermato l'iscirzione.`\n })\n }\n })\n .catch(error => {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n })\n .then(() => {\n // always executed\n })\n },\n\n handleQRCode(event, item) {\n const id = item.Id\n axios\n .get(`/api/v1/seekers-relationships/${id}`)\n .then(response => {\n const { data } = response\n if (data.SeekerToId) {\n EventBus.$emit('vnPopup', {\n style: 'popup',\n message: ``,\n actions: [{ label: 'OK', icon: 'fa-check-circle', style: 'success' }]\n })\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Il contatto non ha ancora confermato l'iscirzione.`\n })\n }\n })\n .catch(error => {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n })\n .then(() => {\n // always executed\n })\n },\n handleReSend(event, item) {\n const id = item.Id\n EventBus.$emit('vnPopup', {\n style: 'popup',\n message: `Vuoi spedire nuovamente l'invito al contatto selezionato?`,\n actions: [\n { label: 'OK', icon: 'fa-check-circle', action: () => this.reSend(event, id), style: 'success' },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n },\n handleDeleteRow(event, item) {\n const id = item.Id\n EventBus.$emit('vnPopup', {\n style: 'popup',\n message: `Vuoi procedere con la cancellazione del contatto selezionato?`,\n actions: [\n { label: 'OK', icon: 'fa-check-circle', action: () => this.deleteRow(event, id), style: 'success' },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n },\n deleteRow(event, id) {\n const self = this\n axios\n .get(`/api/v1/seekers-relationships/delete/${id}`)\n .then(response => {\n const { data } = response\n this.contactsList = this.contactsList.filter(cl => cl.Id != id)\n\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `La cancellazione è stata effettuata correttamente.`\n })\n })\n .catch(error => {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n })\n .then(() => {\n // always executed\n })\n },\n stopAll(event, id) {\n event.stopPropagation()\n event.preventDefault()\n return false\n },\n beforeEnter: () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n },\n setContactsList(data) {\n const self = this\n self.contactsList = data.map(item => {\n self.statusList.forEach(status => {\n const value = (item.RelationshipStatus & status.value) === status.value\n const checkType = status.hasOwnProperty('type') && status.type === item.RelationshipType\n const label = value ? status.labelOn : status.labelOff\n if (checkType) {\n item[status.key] = { ...status, value, label }\n } else if (!status.hasOwnProperty('type')) {\n item[status.key] = item[status.key] && !value ? item[status.key] : { ...status, value, label }\n }\n })\n return item\n })\n },\n getErrorResponse(error) {\n console.log(error)\n let retVal = error\n if (error.response) {\n retVal = { status: error.response.status }\n if (error.response.data && error.response.data.error) {\n retVal.error = error.response.data.error\n }\n }\n return retVal\n },\n handleSessionExpired() {\n EventBus.$emit('vnPopup', {\n type: 'danger',\n message: `

La sessione è scaduta

La pagina verrà ricaricata per permettere di effettuare nuovamente il login

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n window.location.reload()\n },\n style: 'danger'\n }\n ]\n })\n }\n },\n mounted() {\n const self = this\n axios\n .get(`/api/v1/seekers-relationships`)\n .then(response => {\n const { data } = response\n self.setContactsList(data)\n if (self.selectedId)\n setTimeout(\n () => document.getElementById(`row-${self.selectedId}`).scrollIntoView({ behavior: 'smooth' }),\n 200\n )\n })\n .catch(error => {\n const errorResponse = self.getErrorResponse(error)\n if ((errorResponse.status = 401)) {\n self.handleSessionExpired()\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n self.nextPage()\n }\n })\n .then(() => {\n // always executed\n })\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n","\n Vue.component('seekers-relationships-manager', {\n props: {\n visible: { type: Boolean, default: true }\n },\n data() {\n return {\n currentPage: 1,\n formInterfaces: {},\n pageflow: '',\n contactList: [],\n newContactId: null,\n defaultFieldValue: {},\n relationshipType: null,\n broadcastUrl: null\n }\n },\n template: '#seekers-relationships-manager',\n computed: {\n pages() {\n const retVal = [\n {\n id: 10,\n code: 'nuovo',\n label: 'Invia richiesta',\n title: `Invita un'azienda`,\n subTitle: `ad entrare nella tua rete`,\n titleIcon: 'fa-users-medical fa-swap-opacity'\n },\n {\n id: 20,\n code: 'elenco',\n label: 'I tuoi contatti',\n title: 'Gestisci i tuoi contatti',\n subTitle: 'Controlla lo stato dei tuoi inviti ',\n titleIcon: 'fa-users-cog'\n },\n {\n id: 30,\n code: 'condividi',\n label: 'Condividi',\n title: `Condividi`,\n subTitle: `Pubblica sui social o invia il link a tutti i tuoi partner.`,\n titleIcon: 'fa-broadcast-tower fa-swap-opacity'\n }\n ]\n return retVal.sort((a, b) => (a.id > b.id ? 1 : -1))\n },\n currentPageCode() {\n return this.pages[this.currentPage - 1].code\n }\n },\n watch: {},\n methods: {\n nextPage(e, pageNumber) {\n if (this.currentPage < this.pages.length) {\n this.pageflow = ''\n if (pageNumber) {\n setTimeout(() => (this.currentPage = pageNumber), 100)\n } else {\n setTimeout(() => this.currentPage++, 100)\n }\n } else {\n console.log('Ultima Pagina')\n }\n },\n previousPage(e, pageNumber) {\n this.pageflow = '-back'\n if (pageNumber) {\n setTimeout(() => (this.currentPage = pageNumber), 100)\n } else if (this.currentPage > 1) {\n setTimeout(() => this.currentPage--, 100)\n }\n },\n stopAll(event) {\n event.stopPropagation()\n event.preventDefault()\n return false\n },\n beforeEnter: () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n },\n getErrorResponse(error) {\n console.log(error)\n let retVal = error\n if (error.response) {\n retVal = { status: error.response.status }\n if (error.response.data && error.response.data.error) {\n retVal = {\n ...retVal,\n ...error.response.data.error\n }\n }\n }\n return retVal\n },\n sendRequest() {\n const key = 'ContactRequest'\n const self = this\n if (this.formInterfaces[key].validate()) {\n if (!this.formInterfaces[key].fieldsAreChange()) {\n self.nextPage()\n } else if (this.formInterfaces[key].fieldsAreChange()) {\n const formValue = self.formInterfaces[key].getValues()\n\n axios\n .post(`/api/v1/seekers-relationships/new`, formValue)\n .then(response => {\n const { data } = response\n self.newContactId = data.Id\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `l'invito è stato spedito correttamente`\n })\n self.nextPage()\n })\n .catch(error => {\n const errorResponse = self.getErrorResponse(error)\n if (errorResponse.status == 401) {\n self.handleSessionExpired()\n } else if (errorResponse.isCandidate) {\n EventBus.$emit('vnPopup', {\n message: `

Questo indirizzo eMail è già utilizzato da un candidato.

Non è possibile invitare utenti già registrati come candidati.

`,\n actions: [{ label: 'Ok', icon: 'fa-check', style: 'info' }]\n })\n } else if (errorResponse.alreadyInvited) {\n EventBus.$emit('vnPopup', {\n message: `

Questo contatto è già stato invitato.

Vuoi spedire un nuovo invito.

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n self.newContactId = errorResponse.id\n self.reSend(event, errorResponse.id)\n },\n style: 'success'\n },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n }\n })\n .then(() => {\n // always executed\n })\n }\n }\n },\n reSend(event, id) {\n const self = this\n axios\n .get(`/api/v1/seekers-relationships/resend/${id}`)\n .then(response => {\n const { data } = response\n self.nextPage(null, 1)\n\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `L'invito è stato spedito correttamente.`\n })\n })\n .catch(error => {\n const errorResponse = self.getErrorResponse(error)\n if (errorResponse.status == 401) {\n self.handleSessionExpired()\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `L'invio non è stato spedito: ${error}`\n })\n }\n })\n .then(() => {\n // always executed\n })\n },\n getDefault() {\n const self = this\n axios\n .get(`/api/v1/seekers-relationships/seekerdefault/`)\n .then(response => {\n const { data } = response\n\n self.relationshipType = data.relationshipType\n self.defaultFieldValue = { ...self.defaultFieldValue, ContactMessage: data.defaultMessage }\n self.broadcastUrl = data.broadcastUrl\n\n console.log(self.defaultFieldValue)\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n },\n handleSessionExpired() {\n EventBus.$emit('vnPopup', {\n type: 'danger',\n message: `

La sessione è scaduta

La pagina verrà ricaricata per permettere di effettuare nuovamente il login

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n window.location.reload()\n },\n style: 'danger'\n }\n ]\n })\n }\n },\n mounted() {\n this.getDefault()\n // EventBus.$on('vnShow', this.vnShow)\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n","\n Vue.prototype.seekerUserInvitesFormRequest = [\n {\n id: 0,\n fieldName: 'WidgetId',\n label: 'Seleziona un widget tra quelli disponibili',\n inputType: 'radio',\n options: [\n { id: 1, valueIfChecked: '1', label: 'Widget standard' },\n { id: 1774, valueIfChecked: '1774', label: 'Sondaggio alunni zenale' }\n ],\n validators: [{ type: 'required' }]\n },\n {\n id: 1,\n fieldName: 'Skip',\n skip: true\n },\n {\n id: 2,\n fieldName: 'EmailList',\n inputType: 'textarea',\n nobr: true,\n label: 'Email',\n validators: [\n { type: 'required' },\n {\n type: 'regex',\n regex:\n /^(([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5}){1,25})+(\\s*[;.]\\s*(([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5}){1,25})+)*\\s*;*\\s*$/,\n message:\n 'Sono stati riscontrati degli errori. Verifica che tutti gli indirizzi siano indicati correttamente e che siano separati da un ;'\n }\n ]\n }\n ]\n","\n Vue.component('user-invites-list', {\n props: {\n visible: { type: Boolean, default: true },\n selectedId: { type: Number },\n handleReSend: { type: Function, required: true },\n relationshipType: { type: Number }\n },\n data() {\n return {\n formInterfaces: {},\n contactsList: [],\n\n columnsList: [\n { id: 'ContactEmail', label: 'Email', sortable: true },\n { id: 'CreateDate', label: 'Data contatto', type: 'date', sortable: true }\n ],\n statusList: [\n {\n key: 'registration',\n id: 'RegistrationDone',\n value: 2,\n labelOn: 'Registrazione effettuata',\n labelOff: 'Registrazione non effettuata',\n icon: 'fa-sign-in',\n style: 'warning'\n },\n {\n key: 'registration',\n id: 'ConnectionConfirmed',\n value: 4,\n labelOn: 'Registrazione confermata',\n labelOff: 'Registrazione non confermata',\n icon: 'fa-sign-in',\n style: 'success'\n }\n // {\n // key: 'link',\n // id: 'GlobalLinkOpened',\n // value: 1,\n // type: 8,\n // labelOn: 'Link globale aperto',\n // labelOff: 'Link globale aperto',\n // icon: 'fa-globe',\n // style: 'success'\n // }\n // {\n // key: 'privacy',\n // id: 'PrivacyAccepted',\n // value: 8,\n // labelOn: 'Privacy accettata',\n // labelOff: 'Privacy non ancora accettata',\n // icon: 'fa-user-secret'\n // }\n ]\n }\n },\n template: '#user-invites-list',\n computed: {\n uniqueStatusList() {\n return Array.from(new Set(this.statusList.map(item => item.key))).map(item => ({ key: item }))\n },\n actionsList() {\n const defaultAction = [\n { id: 'delete', label: 'Elimina', icon: 'fa-trash', action: this.handleDeleteRow },\n {\n id: 'hurry',\n label: 'Invia nuovo invito',\n icon: 'fa-paper-plane',\n action: this.handleReSend\n }\n ]\n const linkedAction = [\n {\n id: 'widget',\n label: 'Apri profilo candidato',\n icon: 'fa-user',\n action: this.handleOpenProfile,\n showWhen: { RelationshipStatus: 4 }\n }\n ]\n\n return [...defaultAction, ...linkedAction]\n }\n },\n watch: {},\n methods: {\n handleOpenProfile(event, item) {\n const urlCandidate = `/curriculauser?id=${item.UserId}`\n window.open(urlCandidate, '_blank')\n },\n handleDeleteRow(event, item) {\n EventBus.$emit('vnPopup', {\n style: 'popup',\n message: `Sei sicuro di voler eliminare il contatto selezionato dal tuo elenco di invitati?`,\n actions: [\n { label: 'OK', icon: 'fa-check-circle', action: () => this.deleteRow(event, item), style: 'success' },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n },\n deleteRow(event, item) {\n const self = this\n const id = item.Id\n axios\n .get(`/api/v1/seekers-user-invites/delete/${id}`)\n .then(response => {\n const { data } = response\n this.contactsList = this.contactsList.filter(cl => cl.Id != id)\n\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `La cancellazione è stata effettuata correttamente.`\n })\n })\n .catch(error => {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n })\n .then(() => {\n // always executed\n })\n },\n stopAll(event, id) {\n event.stopPropagation()\n event.preventDefault()\n return false\n },\n beforeEnter: () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n },\n setContactsList(data) {\n const self = this\n self.contactsList = data.map(item => {\n self.statusList.forEach(status => {\n const value = (item.RelationshipStatus & status.value) === status.value\n const checkType = status.hasOwnProperty('type') && status.type === item.RelationshipType\n const label = value ? status.labelOn : status.labelOff\n if (checkType) {\n item[status.key] = { ...status, value, label }\n } else if (!status.hasOwnProperty('type')) {\n item[status.key] = item[status.key] && !value ? item[status.key] : { ...status, value, label }\n }\n })\n return item\n })\n },\n getErrorResponse(error) {\n let retVal = error\n if (error.response) {\n retVal = { status: error.response.status }\n if (error.response.data && error.response.data.error) {\n retVal.error = error.response.data.error\n }\n }\n return retVal\n },\n handleSessionExpired() {\n EventBus.$emit('vnPopup', {\n type: 'danger',\n message: `

La sessione è scaduta

La pagina verrà ricaricata per permettere di effettuare nuovamente il login

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n window.location.reload()\n },\n style: 'danger'\n }\n ]\n })\n }\n },\n mounted() {\n const self = this\n axios\n .get(`/api/v1/seekers-user-invites`)\n .then(response => {\n const { data } = response\n self.setContactsList(data)\n if (self.selectedId)\n setTimeout(\n () => document.getElementById(`row-${self.selectedId}`).scrollIntoView({ behavior: 'smooth' }),\n 200\n )\n })\n .catch(error => {\n const errorResponse = self.getErrorResponse(error)\n if ((errorResponse.status = 401)) {\n self.handleSessionExpired()\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n self.nextPage()\n }\n })\n .then(() => {\n // always executed\n })\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n","\n Vue.component('user-invites-manager', {\n props: {\n visible: { type: Boolean, default: true }\n },\n data() {\n return {\n currentPage: 1,\n formInterfaces: {},\n pageflow: '',\n contactList: [],\n newContactId: null,\n defaultFieldValue: {},\n relationshipType: null,\n broadcastUrl: null,\n widgetList: []\n }\n },\n template: '#user-invites-manager',\n computed: {\n pages() {\n const retVal = [\n {\n id: 10,\n code: 'nuovo',\n label: 'Invita un utente',\n title: `Invita un utente`,\n subTitle: `Inserisci qui sotto gli indirizzi mail dei tuoi contatti per invitarli a compilare il proprio cv su LearK.
Per inviare più richieste, separa gli indirizzi email con un punto e virgola. Es. miamail@dominio.it; altramail@domain.com`,\n titleIcon: 'fa-users-medical fa-swap-opacity'\n },\n {\n id: 20,\n code: 'elenco',\n label: 'I tuoi contatti',\n title: 'Gestisci i tuoi contatti',\n subTitle: 'Controlla lo stato dei tuoi inviti ',\n titleIcon: 'fa-users-cog'\n }\n ]\n return retVal.sort((a, b) => (a.id > b.id ? 1 : -1))\n },\n currentPageCode() {\n return this.pages[this.currentPage - 1].code\n }\n },\n watch: {},\n methods: {\n nextPage(e, pageNumber) {\n if (this.currentPage < this.pages.length) {\n this.pageflow = ''\n if (pageNumber) {\n setTimeout(() => (this.currentPage = pageNumber), 100)\n } else {\n setTimeout(() => this.currentPage++, 100)\n }\n } else {\n console.log('Ultima Pagina')\n }\n },\n previousPage(e, pageNumber) {\n this.pageflow = '-back'\n if (pageNumber) {\n setTimeout(() => (this.currentPage = pageNumber), 100)\n } else if (this.currentPage > 1) {\n setTimeout(() => this.currentPage--, 100)\n }\n },\n stopAll(event) {\n event.stopPropagation()\n event.preventDefault()\n return false\n },\n beforeEnter: () => {\n window.scrollTo({\n top: 0,\n left: 0,\n behavior: 'smooth'\n })\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n },\n getErrorResponse(error) {\n let retVal = error\n if (error.response) {\n retVal = { status: error.response.status }\n if (error.response.data && error.response.data.error) {\n retVal = {\n ...retVal,\n ...error.response.data.error\n }\n }\n }\n return retVal\n },\n sendRequest() {\n const key = 'UserInvites'\n const self = this\n if (this.formInterfaces[key].validate()) {\n if (!this.formInterfaces[key].fieldsAreChange()) {\n self.nextPage()\n } else if (this.formInterfaces[key].fieldsAreChange()) {\n const formValue = self.formInterfaces[key].getValues()\n axios\n .post(`/api/v1/seekers-user-invites/new`, formValue)\n .then(response => {\n const { data } = response\n self.newContactId = data.Id\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `l'invito è stato spedito correttamente`\n })\n self.nextPage()\n })\n .catch(error => {\n const errorResponse = self.getErrorResponse(error)\n if (errorResponse.status === 401) {\n self.handleSessionExpired()\n } else {\n if (errorResponse.notEligible && errorResponse.notEligible > 0) {\n EventBus.$emit('vnPopup', {\n message: `

Questi utenti risultano già iscritti a Leark in una categoria diversa da quella dei candidati:

${errorResponse.notEligible.join(\n '
'\n )}

`,\n actions: [{ label: 'Ok', icon: 'fa-check', style: 'success' }]\n })\n }\n if (errorResponse.alreadyInvited && errorResponse.alreadyInvited.length > 0) {\n EventBus.$emit('vnPopup', {\n type: 'warning',\n message: `

Questi contatti hanno già ricevuto un invito:

${errorResponse.alreadyInvited.join(\n '
'\n )}

Vuoi spedire un nuovo invito?

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n formValue.EmailList = errorResponse.alreadyInvited.join(';')\n self.reSend(event, formValue)\n },\n style: 'success'\n },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Le modifiche non sono state salvate: ${error}`\n })\n }\n }\n })\n .then(() => {\n // always executed\n })\n }\n }\n },\n handleReSend(event, item) {\n const self = this\n const formValue = { EmailList: item.ContactEmail }\n EventBus.$emit('vnPopup', {\n style: 'popup',\n type: 'light',\n message: `Vuoi spedire un nuovo invito al contatto selezionato?`,\n component: self.widgetList.length > 1 ? 'user-invites-resend-popup' : '',\n options: { widgetList: self.widgetList },\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n formValue.WidgetId = EventBus.selectedWidgetId\n this.reSend(event, formValue)\n delete EventBus.selectedWidgetId\n },\n style: 'success'\n },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n },\n reSend(event, formValue) {\n const self = this\n axios\n .post(`/api/v1/seekers-user-invites/resend`, formValue)\n .then(response => {\n const { data } = response\n self.nextPage(null, 1)\n\n EventBus.$emit('vnShow', {\n type: 'success',\n message: `Gli inviti sono stati spediti correttamente.`\n })\n })\n .catch(error => {\n const errorResponse = self.getErrorResponse(error)\n if (errorResponse.status === 401) {\n self.handleSessionExpired()\n } else {\n EventBus.$emit('vnShow', {\n type: 'danger',\n message: `Gli inviti non sono stati spediti: ${error}`\n })\n }\n })\n .then(() => {\n // always executed\n })\n },\n getDefault() {\n const self = this\n axios\n .get(`/api/v1/seekers-relationships/seekerdefault/`)\n .then(response => {\n const { data } = response\n\n self.relationshipType = data.relationshipType\n self.defaultFieldValue = { ...self.defaultFieldValue, ContactMessage: data.defaultMessage }\n self.broadcastUrl = data.broadcastUrl\n self.widgetList = data.widget\n self.seekerUserInvitesFormRequest[0].options = data.widget.map(wid => ({\n ...wid,\n valueIfChecked: `${wid.id}`\n }))\n self.seekerUserInvitesFormRequest[0].value = `${data.widget[0].id}`\n self.seekerUserInvitesFormRequest[0].inputType = data.widget.length === 1 ? 'hidden' : 'radio'\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n },\n handleSessionExpired() {\n EventBus.$emit('vnPopup', {\n type: 'danger',\n message: `

La sessione è scaduta

La pagina verrà ricaricata per permettere di effettuare nuovamente il login

`,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => {\n window.location.reload()\n },\n style: 'danger'\n }\n ]\n })\n }\n },\n mounted() {\n this.getDefault()\n // EventBus.$on('vnShow', this.vnShow)\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n","\n Vue.component('user-invites-resend-popup', {\n props: {\n widgetList: { type: Array, required: true }\n },\n data() {\n return {\n visible: true,\n formInterfaces: {},\n selectedWidgetId: `${this.widgetList[0].id}`\n }\n },\n template: '#user-invites-resend-popup',\n computed: {\n formFields() {\n return [\n {\n id: 0,\n fieldName: 'WidgetId',\n label: 'Seleziona un widget tra quelli disponibili',\n inputType: 'radio',\n value: this.selectedWidgetId,\n options: this.widgetList.map(wid => ({ ...wid, valueIfChecked: `${wid.id}` })),\n validators: [{ type: 'required' }]\n }\n ]\n }\n },\n watch: {},\n methods: {\n handleChange(param) {\n if (param.fieldName === 'WidgetId') {\n this.selectedWidgetId = param.value\n EventBus.selectedWidgetId = param.value\n }\n },\n getFormInterface(formInterface) {\n this.formInterfaces[formInterface.key] = formInterface\n }\n },\n mounted() {\n EventBus.selectedWidgetId = this.selectedWidgetId\n },\n beforeDestroy() {}\n })\n","\n Vue.component('fall-into-oblivion', {\n props: {\n userId: { type: String }\n },\n data() {\n return {\n visible: true\n }\n },\n template: '#fall-into-oblivion',\n computed: {\n required() {\n return true\n }\n },\n watch: {},\n methods: {\n handleSomething() {\n const self = this\n return false\n },\n handleDelete() {\n EventBus.$emit('vnPopup', {\n style: 'popup',\n message: `\n

Vuoi procedere con la cancellazione del tuo account LearK?

\n

La cancellazione comporta la perdita di tutti i dati associati al tuo account, inclusi i dati di accesso e le informazioni personali che non saranno recuperabili. Per rendere il tuo profilo visibile solo a te e non perdere i dati associati al tuo account, seleziona la voce “privato” nella sezione “Preferenze privacy”.

\n `,\n actions: [\n { label: 'OK', icon: 'fa-check-circle', action: () => this.deleteCandidate(), style: 'success' },\n { label: 'Annulla', icon: 'fa-times-circle', style: 'info' }\n ]\n })\n },\n deleteCandidate() {\n const self = this\n axios\n .post(`/api/v1/users/delete-candidate`)\n .then(response => {\n const { redirect } = response.data\n EventBus.$emit('vnPopup', {\n style: 'popup',\n type: 'success',\n message: `La cancellazione è stata effettuata correttamente. `,\n actions: [\n {\n label: 'OK',\n icon: 'fa-check-circle',\n action: () => (window.location.href = redirect),\n style: 'success'\n }\n ]\n })\n })\n .catch(error => {\n EventBus.$emit('vnPopup', {\n type: 'danger',\n message: `Non è stato possibile completare l'operazione.`\n })\n })\n .then(() => {\n // always executed\n })\n }\n },\n mounted() {},\n beforeDestroy() {}\n })\n","\n Vue.component('entity-category-selector', {\n props: {\n value: { type: Number, default: 9999 },\n visible: { type: Boolean, default: false }\n },\n data() {\n return {\n categories: [\n {\n id: 1,\n key: 'Company',\n message: 'Registrati ora',\n title: `Sei un'azienda ?`,\n image: '/Images/Aziende/intro2.png'\n },\n {\n id: 2,\n key: 'TrainingAgency',\n message: 'Entra nella nostra rete',\n title: `Sei un ente formativo ?`,\n image: '/Images/Formazione/intro.png'\n },\n {\n id: 3,\n key: 'WorkAgency',\n message: 'Trova i candidati adatti alle tue esigenze',\n title: `Sei un'agenzia per il lavoro`,\n image: '/Images/Agenzie/intro2.png'\n },\n {\n id: 5,\n key: 'VoluntaryAssociation',\n message: 'Entra nella nostra rete',\n title: `Sei un'associazione di volontariato ?`,\n image: '/Images/LandingPages/Volontariato/intro2.png'\n }\n ]\n }\n },\n template: '#entity-category-selector',\n computed: {},\n watch: {},\n methods: {\n show() {}\n },\n mounted() {\n // EventBus.$on('vnShow', this.vnShow)\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n","\n Vue.component('vue-notifier', {\n props: {\n duration: { type: Number, default: 10000 }\n },\n data() {\n return {\n type: 'light',\n visible: false,\n message: 'MESSAGGIO DI PROVA',\n autoClose: false,\n style: 'notice', // 'notice' | 'popup'\n actions: [],\n component: '',\n options: {},\n cssStyle: {},\n queue: []\n }\n },\n template: '#vue-notifier',\n computed: {},\n watch: {},\n methods: {\n setDefault() {\n this.type = 'light'\n this.visible = false\n this.message = 'MESSAGGIO DI PROVA'\n this.autoClose = false\n this.style = 'notice'\n this.actions = []\n this.component = ''\n this.options = {}\n },\n setNext() {\n if (!this.visible) {\n this.setDefault()\n if (this.queue.length > 0) {\n const param = this.queue.shift()\n this.style = param.style\n this.autoClose = param.autoClose !== false\n this.message = param.message\n this.type = param.type\n if (param.component) this.component = param.component\n if (param.options) this.options = param.options\n if (param.actions) this.actions = param.actions\n if (param.type) this.type = param.type\n if (param.cssStyle) this.cssStyle = param.cssStyle\n this.visible = true\n if (this.autoClose) {\n setTimeout(() => {\n this.visible = false\n this.setNext()\n }, this.duration)\n }\n }\n }\n },\n vnShow(param) {\n // this.setDefault()\n // this.style = 'notice'\n // this.autoClose = param.autoClose != false\n // this.message = param.message\n // this.type = param.type\n // this.visible = true\n // this.actions = []\n // if (this.autoClose) {\n // setTimeout(() => {\n // this.setNext()\n // }, this.duration)\n // }\n\n this.queue.push({ ...param, style: 'notice', action: [] })\n setTimeout(() => this.setNext(), 200)\n },\n vnShowOverlay(param) {\n this.queue.push({ ...param, style: 'overlay', autoClose: false })\n setTimeout(() => this.setNext(), 200)\n },\n vnHideOverlay() {\n if (this.style === 'overlay') this.setDefault()\n },\n vnPopup(param) {\n // this.setDefault()\n // this.style = 'popup'\n // this.autoClose = false\n // this.message = param.message\n // if (param.component) this.component = param.component\n // if (param.options) this.options = param.options\n // if (param.actions) this.actions = param.actions\n // if (param.type) this.type = param.type\n // if (param.cssStyle) this.cssStyle = param.cssStyle\n // this.visible = true\n\n this.queue.push({ ...param, style: 'popup', autoClose: false })\n setTimeout(() => this.setNext(), 200)\n },\n handleClick(event, action) {\n this.visible = false\n this.setNext()\n if (action) setTimeout(() => action(), 300)\n },\n executeActions() {\n this.actions.forEach(action => {\n if (typeof action === 'function') {\n action()\n }\n })\n }\n },\n mounted() {\n EventBus.$on('vnShow', this.vnShow)\n EventBus.$on('vnPopup', this.vnPopup)\n EventBus.$on('vnShowOverlay', this.vnShowOverlay)\n EventBus.$on('vnHideOverlay', this.vnHideOverlay)\n },\n beforeDestroy() {\n EventBus.$off('vnShow', this.vnShow)\n EventBus.$off('vnPopup', this.vnPopup)\n EventBus.$off('vnShowOverlay', this.vnShowOverlay)\n EventBus.$off('vnHideOverlay', this.vnHideOverlay)\n }\n })\n","\n Vue.component('session-alive', {\n props: {\n interval: { type: Number, default: 1000 }\n },\n data() {\n return {\n currentUserId: null,\n timeout: null\n }\n },\n template: '#session-alive',\n computed: {},\n watch: {},\n methods: {\n ping() {\n const self = this\n axios\n .post(`/api/v1/utilities/session-alive`)\n .then(response => {\n const { data } = response\n self.currentUserId = data.currentUserId\n })\n .catch(error => {\n self.currentUserId = null\n })\n .then(() => {\n // always executed\n this.timeout = setTimeout(() => this.ping(), this.interval)\n })\n }\n },\n mounted() {\n this.ping()\n },\n beforeDestroy() {\n clearTimeout(this.timeout)\n }\n })\n","\n Vue.component('tab-view-pager', {\n props: {\n initialPage: { type: Number, default: 1 },\n pages: { type: Array, required: true }\n },\n data() {\n return {\n currentPage: this.initialPage\n }\n },\n template: '#tab-view-pager',\n computed: {\n content() {\n return this.pages.find(page => page.id === this.currentPage).content\n },\n title() {\n return this.pages.find(page => page.id === this.currentPage).title\n }\n },\n watch: {},\n methods: {\n gotoPage(page) {\n this.currentPage = page\n }\n },\n mounted() {}\n })\n","\n Vue.component('vue-visualizer', {\n props: {\n vvKey: { type: String, required: true },\n vvLabel: String,\n vvVisible: Boolean,\n vvShowFunction: Function,\n vvHideFunction: Function,\n vvToggleFunction: Function\n },\n data() {\n return {\n container: null\n }\n },\n template: '#vue-visualizer',\n computed: {},\n watch: {},\n methods: {\n vvToggle(param) {\n if (param.key && param.key === this.vvKey) {\n if (this.vvToggleFunction) {\n this.vvToggleFunction()\n } else {\n $(this.container).toggleClass('d-none')\n }\n } else {\n console.log('vvToggle NOT MATCH', param, this.vvKey)\n }\n },\n vvShow(param) {\n if (param.key && param.key === this.vvKey) {\n if (this.vvShowFunction) {\n this.vvShowFunction()\n } else {\n $(this.container).removeClass('d-none')\n }\n } else if (param.hideOthers) {\n $(this.container).addClass('d-none')\n }\n },\n vvHide(param) {\n if (param.key && param.key === this.vvKey) {\n if (this.vvHideFunction) {\n this.vvHideFunction()\n } else {\n $(this.container).addClass('d-none')\n }\n }\n }\n },\n mounted() {\n this.container = document.getElementById(this.$root.$el.id).parentNode\n EventBus.$on('vvToggle', this.vvToggle)\n EventBus.$on('vvShow', this.vvShow)\n EventBus.$on('vvHide', this.vvHide)\n },\n beforeDestroy() {\n EventBus.$off('vvToggle', this.vvToggle)\n EventBus.$off('vvShow', this.vvShow)\n EventBus.$off('vvHide', this.vvHide)\n }\n })\n","\n Vue.component('widget-configurator', {\n props: {\n qrcUrl: { type: String, default: '/api/v1/qrcode/get-image?qrcv=1' },\n printMode: { type: Boolean, default: false },\n managerMode: { type: Boolean, default: true },\n showHeader: { type: Boolean, default: true },\n size: { type: String, default: '' }\n },\n data() {\n return {\n idList: 0,\n formatType: 3,\n linkType: -1,\n autoPrint: false,\n show: true,\n currentPage: 1,\n seekerId: null,\n seekerLogoUrl: null,\n seekerName: 'LearK',\n seekerCompanySign: '',\n entityType: 1,\n printFormat: '15x15',\n customPrintParameters: null\n }\n },\n template: '#widget-configurator',\n computed: {\n title() {\n return this.seekerCompanySign && this.seekerCompanySign !== this.seekerName\n ? this.seekerCompanySign\n : this.seekerName\n },\n subTitle() {\n return this.seekerCompanySign && this.seekerCompanySign !== this.seekerName ? `di ${this.seekerName}` : ''\n },\n pageHeader() {\n let retVal = {\n title: 'Configura il tuo QRCode',\n subTitle: 'Modifica le opzioni e scarica il QRCode nel formato che preferisci.'\n }\n if (!this.managerMode) {\n retVal = {\n title: 'Ottieni il QR Code da stampare o condividere.',\n subTitle: 'Il widget a portata di smartphone.'\n }\n }\n return retVal\n },\n pages() {\n const retVal = [\n {\n id: 1,\n code: 'customize',\n label: 'Personalizza',\n title: 'Personalizza il tuo widget',\n subTitle: '',\n buttonStyle: 'primary',\n titleIcon: 'fa-users-medical fa-swap-opacity'\n },\n {\n id: 2,\n code: 'advanced',\n label: 'Avanzate',\n title: 'Configurazioni avanzate',\n subTitle: '',\n buttonStyle: 'primary',\n titleIcon: 'fa-users-cog'\n },\n {\n id: 3,\n code: 'list',\n label: 'Liste',\n title: 'Gestisci le liste',\n subTitle: '',\n buttonStyle: 'primary',\n titleIcon: 'fa-users-cog'\n },\n {\n id: 4,\n code: 'complete',\n label: 'Crea',\n title: 'Installa il tuo widget o genera il QR Code',\n subTitle: '',\n buttonStyle: 'success',\n titleIcon: 'fa-users-cog'\n }\n ]\n return retVal.sort((a, b) => (a.id > b.id ? 1 : -1))\n },\n sideMessage() {\n const rightMessage = 'carica il tuo cv'\n const leftMessage = 'lavora con noi'\n const defaultMessage = { leftMessage, rightMessage }\n const messageList = [\n { entityType: 1, ...defaultMessage },\n { entityType: 2, ...defaultMessage, leftMessage: 'facciamo rete' },\n { entityType: 3, ...defaultMessage },\n { entityType: 5, ...defaultMessage, leftMessage: 'diventa volontario' }\n ]\n return messageList.filter(item => item.entityType === this.entityType)[0]\n },\n selectedLinkType() {\n return this.linkTypesList.find(x => x.id === this.linkType)\n },\n selectedPage() {\n return this.pages.find(x => x.id === this.currentPage)\n }\n },\n watch: {},\n methods: {\n handlePage(e, page) {\n this.currentPage = page\n saveWidgetConfiguration(this.currentPage === this.pages.length)\n },\n getSeekerData() {\n const self = this\n axios\n .get(`/api/v1/seeker/`)\n .then(response => {\n const { data: seeker } = response\n self.seekerLogoUrl = seeker.imageLogoUrl\n self.seekerName = seeker.name\n self.seekerCompanySign = seeker.companySign\n self.entityType = seeker.entityType\n if (self.autoPrint) setTimeout(() => self.printPdfQrCode(), 400)\n })\n .catch(error => {\n self.error = true\n })\n .then(() => {\n // always executed\n })\n },\n changeIdList(idList) {\n this.idList = idList\n }\n },\n mounted() {\n EventBus.$emit('widget-configurator-load')\n },\n\n beforeDestroy() {}\n })\n","\n Vue.component('widget-field', {\n props: {\n control: { type: Object },\n item: { type: Object },\n controlindex: { type: Number },\n persistedValues: { type: Object },\n currentusercv: { type: String, default: '' },\n currentusercvlastupload: { type: String, default: '' },\n isTrainingAgency: { type: Boolean, default: false },\n seekerId: { type: Number, default: -1 }\n },\n data() {\n return {\n showWhen: true,\n value: this.control.RetrievedValue,\n values: this.control.RetrievedValues,\n currentyear: new Date().getFullYear()\n }\n },\n template: '#widget-field',\n computed: {\n required() {\n return true\n }\n },\n watch: {},\n methods: {\n handleVisibility() {\n let retVal = true\n if (this.control.ShowWhen && this.control.ShowWhen.length > 0) {\n this.control.ShowWhen.forEach(sw => {\n retVal =\n retVal &&\n this.persistedValues[sw.Key] &&\n sw.Value.split(',').reduce(\n (acc, value) =>\n acc ||\n this.persistedValues[sw.Key].value === value ||\n (this.persistedValues[sw.Key].values && this.persistedValues[sw.Key].values.indexOf(value) !== -1),\n false\n )\n })\n }\n this.showWhen = retVal\n },\n emitInterface() {\n const self = this\n this.$emit('interface', {\n key: self.control.Id,\n validate: () => self.validate(),\n containerRef: self.$refs.container\n })\n },\n handleFieldChange(e, control, value) {\n const id = control.Id.replace('q_Curriculum_', '')\n const fieldValue = value || e.target.value\n\n if (control.FieldType === 'multiselection') {\n const index = this.values.indexOf(fieldValue)\n if (index === -1) {\n this.values.push(fieldValue)\n } else {\n this.values.splice(index, 1)\n }\n this.$emit('change', { key: id, values: this.values })\n } else {\n this.value = fieldValue\n this.$emit('change', { key: id, value: fieldValue })\n }\n },\n RetrievedValueContains(wc, value) {\n if (wc.HasRetrievedValue) {\n if (wc.RetrievedValue != '') return wc.RetrievedValue == value\n if (wc.RetrievedValues !== null) {\n return wc.RetrievedValues.indexOf(value) > -1\n }\n }\n\n return false\n },\n ListRetrievedValuesContains(wc, value) {\n if (wc.HasRetrievedValue) {\n if (wc.RetrievedValues !== null) {\n return wc.RetrievedValues.indexOf(value) > -1\n }\n }\n\n return false\n },\n\n ListRetrievedValuesIsEqualAtIndex(wc, value, index) {\n if (wc.HasRetrievedValue) {\n if (wc.RetrievedValues !== null) {\n if (wc.RetrievedValues.length >= index + 1) {\n if (wc.RetrievedValues[index].length > -1) {\n return wc.RetrievedValues[index] == value\n }\n }\n }\n }\n\n return false\n },\n\n ListRetrievedValuesContainsAtIndex(wc, value, index) {\n if (wc.HasRetrievedValue) {\n if (wc.RetrievedValues !== null) {\n if (wc.RetrievedValues.length >= index + 1) {\n if (wc.RetrievedValues[index].length > -1) {\n return wc.RetrievedValues[index].indexOf(`;${value};`) > -1\n }\n }\n }\n }\n\n return false\n },\n\n GetCurrentDayFromNumber(number) {\n let day = ''\n\n switch (number) {\n case 1:\n day = 'Lunedì'\n break\n case 2:\n day = 'Martedì'\n break\n case 3:\n day = 'Mercoledì'\n break\n case 4:\n day = 'Giovedì'\n break\n case 5:\n day = 'Venerdì'\n break\n case 6:\n day = 'Sabato'\n break\n case 7:\n day = 'Domenica'\n break\n default:\n day = ''\n }\n\n return day\n },\n GetDisabilityCategories() {\n return {\n 0: 'Categoria disabilità',\n 9999: 'Altre categorie'\n }\n },\n\n GetProtectedCategoryWhoCanUse() {\n return {\n 1: 'Azienda',\n 2: 'Centro di formazione',\n 3: 'Agenzia per il lavoro',\n 4: 'Associazione di volontariato',\n 5: 'Università',\n 6: 'Scuola'\n }\n }\n },\n mounted() {\n this.emitInterface()\n this.handleVisibility()\n EventBus.$on('widgetChangeField', this.handleVisibility)\n },\n beforeDestroy() {\n EventBus.$off('widgetChangeField', this.handleVisibility)\n }\n })\n","\n Vue.component('widget-seo-job-item-alone', {\n props: {\n profile: { type: Object },\n updateItemSkills: { type: Function }\n },\n data() {\n return {\n initialSkills: [0, 1, 2, 3, 4],\n selectedSkills: [0, 1, 2, 3, 4]\n }\n },\n template: '#widget-seo-job-item-alone',\n computed: {},\n watch: {},\n methods: {\n selectSkill(number) {\n const index = this.selectedSkills.indexOf(number)\n\n if (index !== -1) {\n this.selectedSkills.splice(index, 1)\n } else {\n this.selectedSkills.push(number)\n }\n\n this.updateItemSkills(this.selectedSkills)\n },\n ottieniIniziali(testo) {\n const parole = testo.split(/\\s+/).filter(stringa => stringa.length > 2)\n\n // Inizializza una stringa per contenere le iniziali\n let iniziali = ''\n\n if (parole.length > 2)\n for (let i = 0; i < Math.min(2, parole.length); i++) {\n iniziali += parole[i].substring(0, 1)\n }\n iniziali = iniziali.length < 2 ? parole[0].substring(0, 2) : iniziali\n\n return iniziali\n }\n },\n mounted() {}\n })\n","\n Vue.component('widget-seo-job-item', {\n props: {\n profile: { type: Object },\n updateItemSkills: { type: Function }\n },\n data() {\n return {\n initialSkills: [0, 1, 2, 3, 4],\n selectedSkills: [0, 1, 2, 3, 4]\n }\n },\n template: '#widget-seo-job-item',\n computed: {},\n watch: {},\n methods: {\n selectSkill(number) {\n const index = this.selectedSkills.indexOf(number)\n\n if (index !== -1) {\n this.selectedSkills.splice(index, 1)\n } else {\n this.selectedSkills.push(number)\n }\n\n this.updateItemSkills(this.selectedSkills)\n },\n ottieniIniziali(testo) {\n const parole = testo.split(/\\s+/).filter(stringa => stringa.length > 2)\n\n // Inizializza una stringa per contenere le iniziali\n let iniziali = ''\n\n if (parole.length > 2)\n for (let i = 0; i < Math.min(2, parole.length); i++) {\n iniziali += parole[i].substring(0, 1)\n }\n iniziali = iniziali.length < 2 ? parole[0].substring(0, 2) : iniziali\n\n return iniziali\n }\n },\n mounted() {}\n })\n","\n Vue.component('widget-seo-job', {\n props: {\n id: { type: String, required: true },\n updateCount: { type: Function }\n },\n data() {\n return {\n consent: false,\n confirmed: false,\n error: false,\n loading: false,\n checkStatus: true,\n jobProfiles: [],\n selectedProfile: -1,\n selectedProfiles: [],\n initialSkills: [0, 1, 2, 3, 4],\n selectedSkills: {},\n extraProfile: null,\n searchProfile: '',\n value: '',\n idUser: null\n }\n },\n pinia: Vue.pinia,\n template: '#widget-seo-job',\n computed: {\n ...Pinia.mapState(useSeoJobStore, {\n seoJobStatus: store => store.seoJobStatus,\n seoJobUsageCount: store => store.seoJobUsageCount,\n seoJobRemainingCount: store => store.seoJobRemainingCount,\n seoJobAvailableCount: store => store.seoJobAvailableCount\n })\n },\n watch: {\n seoJobUsageCount(val, old) {\n if (val === 0) {\n this.removeProcessButton()\n } else if (old === 0 && val > 0) {\n this.addProcessButton()\n }\n },\n confirmed(val) {\n this.value = this.getValue(val)\n if (val) {\n this.removeProcessButton(true)\n }\n }\n },\n methods: {\n ...Pinia.mapActions(useSeoJobStore, ['geSeoJobStatus', 'updatetSeoJobUsageCount']),\n selectedJobProfiles(id) {\n return this.jobProfiles[id]\n },\n getValue(confirmed, skill) {\n let value = ''\n if (confirmed) {\n value = JSON.stringify({\n jobProfiles: this.jobProfiles,\n selectedProfiles: this.selectedProfiles,\n selectedSkills: skill ?? this.selectedSkills\n })\n }\n return value\n },\n XXXselectProfile(index) {\n if (this.confirmed) return\n this.selectedProfile = index\n this.selectedSkills = [...this.initialSkills]\n },\n selectProfile(number) {\n if (this.confirmed) return\n\n const index = this.selectedProfiles.indexOf(number)\n if (index !== -1) {\n this.selectedProfiles.splice(index, 1)\n delete this.selectedSkills[number]\n this.updatetSeoJobUsageCount(-1)\n } else if (this.seoJobAvailableCount === 1) {\n this.selectedSkills = {}\n this.selectedProfiles = [number]\n this.selectedSkills[number] = [...this.initialSkills]\n if (this.seoJobRemainingCount === 1) {\n this.updatetSeoJobUsageCount(1)\n }\n } else if (this.seoJobRemainingCount > 0) {\n this.selectedProfiles.push(number)\n this.selectedSkills[number] = [...this.initialSkills]\n this.updatetSeoJobUsageCount(1)\n }\n },\n removeProcessButton(enableNext) {\n $('.btn-new-next').show()\n if (enableNext) $('.btn-new-next').prop('disabled', false)\n $('#seoJobProcess').remove()\n },\n addProcessButton() {\n const self = this\n $('.btn-new-next').hide()\n const button =\n ''\n $('#widget-pager-next-button').append(button)\n $('#seoJobProcess').on('click', event => {\n event.preventDefault()\n self.confirmed = true\n })\n },\n updateItemSkills(profile, skills) {\n this.selectedSkills[profile] = skills\n this.value = this.getValue(this.confirmed, this.selectedSkills)\n },\n async getStatus() {\n await this.geSeoJobStatus(this.idUser)\n if (this.seoJobStatus.FreeLimit - this.seoJobStatus.FreeUsed === 0) {\n $('.btn-new-next').prop('disabled', false).click()\n } else {\n this.checkStatus = false\n }\n },\n getProfiles() {\n this.error = false\n this.consent = true\n this.loading = true\n axios\n .post(`/api/v1/widget/seo-job/profiles-with-skills`, { idUser: this.idUser })\n .then(response => {\n const { data } = response\n this.jobProfiles = data\n })\n .catch(error => {\n this.error = true\n })\n .finally(() => {\n this.loading = false\n })\n },\n getSkills() {\n this.loading = true\n axios\n .post(`/api/v1/widget/seo-job/skills-by-profile`, { jobProfile: this.searchProfile, idUser: this.idUser })\n .then(response => {\n const { data } = response\n this.extraProfile = data\n this.jobProfiles.push(data)\n })\n .catch(error => {\n this.error = true\n })\n .finally(() => {\n this.loading = false\n })\n },\n ottieniIniziali(testo) {\n const parole = testo.split(/\\s+/).filter(stringa => stringa.length > 2)\n\n // Inizializza una stringa per contenere le iniziali\n let iniziali = ''\n\n if (parole.length > 1)\n for (let i = 0; i < Math.min(2, parole.length); i++) {\n iniziali += parole[i].substring(0, 1)\n }\n iniziali = iniziali.length < 2 ? parole[0].substring(0, 2) : iniziali\n\n return iniziali\n },\n goToEnd() {\n this.confirmed = true\n }\n },\n mounted() {\n this.idUser = $('#hfNewUserId').val()\n $('.btn-new-next').prop('disabled', true)\n this.getStatus()\n }\n })\n","\n Vue.component('vue-dt-column-header', {\n props: {\n id: { type: String, required: true },\n name: {type: String, required: true},\n label: { type: String, required: true },\n sortable: { type: Boolean, default: false },\n sortDirection: { type: Number, default: 1 }\n },\n data() {\n return { \n directions: [{ id: 1, value: '', icon:'sort' }, { id: 2, value: 'ASC', icon:'sort-down' }, { id: 3, value: 'DESC', icon: 'sort-up' }]\n }\n },\n template: '#vue-datatable-column-header',\n computed: {\n sortIcon() {\n return this.directions.find(item => item.id == this.sortDirection).icon;\n }\n },\n watch: {},\n methods: {\n dummy(param) { },\n changeSorting(event) {\n if (this.sortable) {\n this.$emit('change-sorting', event, this.name) \n }\n }\n },\n mounted() {\n // EventBus.$on('vnShow', this.vnShow)\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n","\n Vue.component('vue-datatable', {\n props: {\n id: { type: String, required: true },\n visible: { type: Boolean, default: true },\n columnsDefinition: [],\n actionsList: [],\n statusList: [],\n data: [],\n selectedId: { type: Number }\n },\n data() {\n return {\n sortColumn: null,\n sortDirection: 1,\n filter: null\n }\n },\n template: '#vue-datatable',\n computed: {\n computedData() {\n const retVal = [...this.data]\n if (this.filter) {\n console.log('filter')\n }\n if (this.sortDirection != 1) {\n const sortDirection = this.sortDirection == 2 ? 1 : -1\n retVal.sort((a, b) => (a[this.sortColumn] > b[this.sortColumn] ? sortDirection : -sortDirection))\n }\n return retVal\n }\n },\n watch: {},\n methods: {\n dummy(param) {},\n formatDate(value, format) {\n return moment(value).format(format)\n },\n changeSorting(event, sortColumn) {\n if (sortColumn == this.sortColumn) {\n const direction = (this.sortDirection % 3) + 1\n this.sortDirection = direction\n if (direction === 1) this.sortColumn = ''\n } else {\n this.sortDirection = 2\n this.sortColumn = sortColumn\n }\n },\n checkVisibility(hideWhen, showWhen, rowItem) {\n let show = !showWhen\n if (hideWhen) {\n const entries = Object.entries(hideWhen)\n for (const [key, value] of entries) {\n show = show && rowItem[key] !== value\n }\n }\n if (showWhen) {\n const entries = Object.entries(showWhen)\n for (const [key, value] of entries) {\n show = show || rowItem[key] === value\n }\n }\n return show\n }\n },\n mounted() {\n // EventBus.$on('vnShow', this.vnShow)\n },\n beforeDestroy() {\n // EventBus.$off('vnShow', this.vnShow)\n }\n })\n"]}