{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/PageItemInfoStore.ts","webpack:///./src/store/RootItem.ts","webpack:///./src/cms/common/apiConstants.ts","webpack:///./src/services/autorest/models/index.ts","webpack:///./src/cms/common/fetchRetry.ts","webpack:///./src/store/Application.ts","webpack:///./src/cms/common/guid.ts","webpack:///./src/Utils/Utils.ts","webpack:///./src/cms/common/template.ts","webpack:///./src/cms/components/pageItems/Slider.tsx","webpack:///./src/cms/components/pageItems/Presentation.tsx","webpack:///./src/resources/i18n.ts","webpack:///./src/cms/helpers/UTubeFormatUrlHelper.ts","webpack:///./src/cms/helpers/UrlTransformHelper.ts","webpack:///./src/cms/helpers/PropertyItemHelper.tsx","webpack:///./src/cms/components/pageItems/SocialMedia.tsx","webpack:///./src/cms/components/pageItems/AboutUs.tsx","webpack:///./src/cms/components/pageItems/Benefits.tsx","webpack:///./src/cms/components/pageItems/Testimonial.tsx","webpack:///./src/services/autorest/models/mappers.ts","webpack:///./src/services/autorest/branderoAPIContext.ts","webpack:///./src/services/autorest/branderoAPI.ts","webpack:///./src/services/api.ts","webpack:///./src/cms/components/_shared/Loader/Loader.tsx","webpack:///./src/cms/components/_shared/DropZoneHelper/DropZoneHelper.tsx","webpack:///./src/cms/components/pageItems/pageItemModel.ts","webpack:///./src/cms/components/pageItems/UnsolicitedApplication/dataModels.ts","webpack:///./src/cms/components/unsolicitedApplication/TextBox/TextBox.tsx","webpack:///./src/cms/components/unsolicitedApplication/LinkInput/LinkInput.tsx","webpack:///./src/cms/components/unsolicitedApplication/PrivacyText/PrivacyText.tsx","webpack:///./src/store/Action.ts","webpack:///./src/store/LoadingStore.ts","webpack:///./src/store/MetadataStore.ts","webpack:///./src/store/JobsListStore.ts","webpack:///./src/cms/common/itemsConstants.ts","webpack:///./src/Utils/UtilsJob.ts","webpack:///./src/cms/common/constants.ts","webpack:///./src/services/apiService.ts","webpack:///./src/store/UnsolicitedApplicationStore.ts","webpack:///./src/cms/components/pageItems/UnsolicitedApplication/UnsolicitedApplication.tsx","webpack:///./src/cms/common/dateTime.ts","webpack:///./src/cms/components/pageItems/JobList.tsx","webpack:///./src/cms/components/pageItems/JobListCustom.tsx","webpack:///./src/cms/components/pageItems/index.ts","webpack:///./src/cms/components/PageItemRendererHome.tsx","webpack:///./src/Components/Home.tsx","webpack:///./src/store/HtmlItemStore.ts","webpack:///./src/cms/common/pageItemRepository.ts","webpack:///./src/store/PageItemStore.ts","webpack:///./src/store/PropertyItemStore.ts","webpack:///./src/cms/components/_shared/TooltipMessage/TooltipMessage.tsx","webpack:///./src/googleTagManager.ts","webpack:///./src/cms/components/_shared/Controls/CommonButton/CommonButton.tsx","webpack:///./src/cms/components/cmsComponents/Editor.tsx","webpack:///./src/cms/components/cmsComponents/modalComponents/EditModal.tsx","webpack:///./src/services/companyServiceApi.ts","webpack:///./src/store/CompanyDataStore.ts","webpack:///./src/cms/components/cmsComponents/modalComponents/EditModalHoc.tsx","webpack:///./src/cms/components/_shared/InfoModal/InfoModal.tsx","webpack:///./src/cms/components/_shared/Controls/ControlLabel/ControlLabel.tsx","webpack:///./src/cms/components/_shared/Controls/ConrolError/ControlError.tsx","webpack:///./src/cms/components/_shared/Controls/CommonInput/CommonInput.tsx","webpack:///./src/cms/components/_shared/Slider/Slider.tsx","webpack:///./src/cms/components/_shared/Tabs/Tabs.tsx","webpack:///./src/cms/components/cmsComponents/EditSlider/EditSlider.tsx","webpack:///./src/cms/components/cmsComponents/EditPresentation.tsx","webpack:///./src/cms/components/cmsComponents/EditAboutUs.tsx","webpack:///./src/cms/components/_shared/Grid/Grid.tsx","webpack:///./src/cms/components/cmsComponents/EditSocialMedia.tsx","webpack:///./src/cms/components/_shared/IconSelector/fontAwesomeSelector.tsx","webpack:///./src/cms/components/cmsComponents/EditBenefits/EditBenefits.tsx","webpack:///./src/cms/components/cmsComponents/EditTestimonial/EditTestimonial.tsx","webpack:///./src/cms/components/cmsComponents/EditJobListCustom.tsx","webpack:///./src/cms/components/cmsComponents/EditUnsolicitedApplicationHeader.tsx","webpack:///./src/cms/components/cmsComponents/EditJobListHeader.tsx","webpack:///./src/cms/components/siteEdit/PageItemRenderer/PageItemRenderer.tsx","webpack:///./src/cms/common/fileLoader.ts","webpack:///./src/cms/common/resources.ts","webpack:///./src/cms/common/repository.ts","webpack:///./src/Components/Edit.tsx","webpack:///./src/cms/components/_shared/SortableTH/SortableTH.tsx","webpack:///./src/cms/components/_shared/Paging/Paging.tsx","webpack:///./src/cms/components/_shared/BranderoTable/BranderoTable.tsx","webpack:///./src/cms/components/_shared/Badge/Badge.tsx","webpack:///./src/Utils/ts-base64.ts","webpack:///./src/Pages/JobsList/JobsListHelpers.ts","webpack:///./src/cms/components/_shared/JobCard/JobCard.tsx","webpack:///./src/services/defaults.ts","webpack:///./src/store/JaeStore.ts","webpack:///./src/store/JobStore.ts","webpack:///./src/cms/components/_shared/Controls/SelectMenu/SelectMenu.tsx","webpack:///./src/cms/components/_shared/CommonModal/CommonModalUtils.ts","webpack:///./src/Pages/JobsList/JobsList.tsx","webpack:///./src/cms/components/_shared/CommonCard/CommonCard.tsx","webpack:///./src/cms/common/Industries.ts","webpack:///./src/Utils/Validation/ValidationRules.ts","webpack:///./src/cms/components/companyEdit/CompanyEditForm/CompanyEditValidation.ts","webpack:///./src/Pages/Site/Create/ValidateObject.ts","webpack:///./src/Utils/Validation/Validation.ts","webpack:///./src/cms/components/_shared/DropZoneWithOutUploadHelper.tsx","webpack:///./src/store/SiteDataStore.ts","webpack:///./src/cms/components/_shared/Controls/RadioGroup/RadioGroup.tsx","webpack:///./src/Pages/Site/Design/Design.tsx","webpack:///./src/cms/components/_shared/LogoUploader/LogoUploader.tsx","webpack:///./src/cms/components/companyEdit/CompanyEditForm/CompanyEditForm.tsx","webpack:///./src/cms/components/companyEdit/CompanyEditLoader/CompanyEditLoader.tsx","webpack:///./src/Pages/Site/Edit/Edit.tsx","webpack:///./src/Pages/Site/Create/validationDescription.ts","webpack:///./src/cms/components/_shared/Controls/CommonCheckbox/CommonCheckbox.tsx","webpack:///./src/cms/components/_shared/BreadCrumbs/BreadCrumbs.tsx","webpack:///./src/services/pipedriveApi.ts","webpack:///./src/Pages/Site/Create/Create.tsx","webpack:///./src/Pages/Site/Create/CreateLogo.ts","webpack:///./src/Pages/Statistic/components/datastatistic.tsx","webpack:///./src/store/JobStatistic.ts","webpack:///./src/Pages/Statistic/Statistic.tsx","webpack:///./src/Pages/Statistic/components/adstatistic.tsx","webpack:///./src/Pages/Statistic/components/pdfcontainer.tsx","webpack:///./src/Pages/Statistic/pdf/Report.tsx","webpack:///./src/cms/components/_shared/FileBar/FileBar.tsx","webpack:///./src/cms/components/candidateList/CandidateListItems/CandidateListHelpers.tsx","webpack:///./src/cms/components/candidateList/MenuStatusList/MenuStatusList.tsx","webpack:///./src/cms/components/_shared/Popover/Popover.tsx","webpack:///./src/cms/components/candidateList/CandidateListCard/validationDescription.ts","webpack:///./src/cms/components/candidateList/CandidateEditableLabel/CandidateEditableLabel.tsx","webpack:///./src/cms/components/candidateList/CandidateListCard/CandidateListCard.tsx","webpack:///./src/store/ModalStore.ts","webpack:///./src/store/CandidateListStore.ts","webpack:///./src/Utils/UtilsCandidate.ts","webpack:///./src/store/CandidateDetailsStore.ts","webpack:///./src/cms/containers/CandidateList/CandidateDetails.tsx","webpack:///./src/cms/components/_shared/Drawer/Drawer.tsx","webpack:///./src/cms/components/candidateList/CandidatesPolicyMessage/CandidatesPolicyMessage.tsx","webpack:///./src/cms/common/routes.ts","webpack:///./src/cms/components/candidateList/CandidateListItems/CandidateListItems.tsx","webpack:///./src/cms/containers/CandidateList/CandidateList.tsx","webpack:///./src/cms/components/candidateList/CandidateListMobileCard/CandidateListMobileCard.tsx","webpack:///./src/cms/components/candidateList/FilterToolbar/FilterToolbar.tsx","webpack:///./src/cms/components/candidateList/CandidateListItems/mobile/CandidateListMobileItems.tsx","webpack:///./src/cms/components/_shared/withInfiniteScroll.tsx","webpack:///./src/cms/containers/CandidateList/CandidateMobileList.tsx","webpack:///./src/Utils/hooks/useMedia.ts","webpack:///./src/cms/components/_shared/Controls/DateRangePicker/DateRangePicker.tsx","webpack:///./src/cms/components/jae/JaeAdvertising/JaeAdvertising.tsx","webpack:///./src/cms/components/_shared/PackageCard/PackageCardProduct/PackageCardProduct.tsx","webpack:///./src/cms/components/_shared/PackageCard/PackageCardCounter/PackageCardCounter.tsx","webpack:///./src/cms/components/_shared/PackageCard/PackageCard.tsx","webpack:///./src/cms/components/jae/JaeCoupon/JaeCoupon.tsx","webpack:///./src/cms/components/jae/JaePackages/JaePackages.tsx","webpack:///./src/cms/components/jae/JaeFooter/JaeFooter.tsx","webpack:///./src/cms/components/jae/JaeConfirmation/JaeConfirmation.tsx","webpack:///./src/cms/components/jae/JaeBackgroundSelector/JaeBackgroundSelector.tsx","webpack:///./src/cms/components/jae/JaeTopImageSelector/JaeTopImageSelector.tsx","webpack:///./src/cms/components/_shared/Controls/TinyEditor/TinyEditor.tsx","webpack:///./src/cms/components/_shared/InfoMessage/InfoMessage.tsx","webpack:///./src/Pages/Jae/validationDescription.ts","webpack:///./src/store/mediaLibraryStore.ts","webpack:///./src/cms/components/mediaLibrary/mediaLibrary.tsx","webpack:///./src/cms/components/_shared/Collapse/Collapse.tsx","webpack:///./src/cms/components/jobOrder/OrderTable.tsx","webpack:///./src/cms/components/jobOrder/PackageProducts.tsx","webpack:///./src/Pages/Jae/Review.tsx","webpack:///./src/Pages/Jae/Jae.tsx","webpack:///./src/cms/components/jobOrder/JobOrderCard/JobOrderCard.tsx","webpack:///./src/Pages/JobOrder/JobOrder.tsx","webpack:///./src/Pages/Login/loginUtils.tsx","webpack:///./src/cms/components/form/Form.tsx","webpack:///./src/Pages/Login/components/ForgotReciepe.tsx","webpack:///./src/Pages/Login/Login.tsx","webpack:///./src/Pages/Login/components/LoginForm.tsx","webpack:///./src/Pages/Login/components/Forgot.tsx","webpack:///./src/cms/common/history.ts","webpack:///./src/Pages/Login/StepLogin.tsx","webpack:///./src/store/UserStore.ts","webpack:///./src/Pages/Users/Users.tsx","webpack:///./src/cms/components/users/UserEditForm/validationDescription.ts","webpack:///./src/cms/components/users/UserEditForm/UserEditForm.tsx","webpack:///./src/cms/components/users/UserCreateForm/validationDescription.ts","webpack:///./src/cms/components/users/UserCreateForm/UserCreateForm.tsx","webpack:///./src/cms/common/privaterouter.tsx","webpack:///./src/routes.tsx","webpack:///./src/Pages/Dashboard/Dashboard.tsx","webpack:///./src/Pages/CompanyEdit/CompanyEdit.tsx","webpack:///./src/Pages/Users/UserEdit.tsx","webpack:///./src/Pages/Users/UserCreate.tsx","webpack:///./src/Pages/Recommendation/Recommendation.tsx","webpack:///./src/store/JobAdStore.ts","webpack:///./src/store/LocalizationStore.ts","webpack:///./src/store/index.ts","webpack:///./src/configureStore.ts","webpack:///./src/cms/components/_shared/UserActions/UserActions.tsx","webpack:///./src/cms/components/layout/Header/Header.tsx","webpack:///./src/cms/components/layout/Sidebar/Sidebar.tsx","webpack:///./src/cms/components/layout/RootLayout/RootLayout.tsx","webpack:///./src/cms/components/_shared/CommonModal/CommonModalLayout.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/ChangePassword/validationDescription.ts","webpack:///./src/cms/components/_shared/CommonModal/templates/ChangePassword/ChangePassword.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateMessageWindow/Substitutions.ts","webpack:///./src/cms/components/_shared/ExpansionPanels/ExpansionPanels.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateMessageWindow/Variables.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateMessageWindow/MessageHelpers.ts","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/BranderoEditorLink/BranderoEditorLink.tsx","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/models/index.ts","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/BranderoEditorUtils.tsx","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/BranderoEditorAutoComplete/BranderoEditorAutoComplete.tsx","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/BranderoEditorToolbarButton/BranderoEditorToolbarButton.tsx","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/BranderoEditorLinkModal/BranderoEditorLinkModal.tsx","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/BranderoEditor.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateMessageWindow/CandidateMessageWindow.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateNote/CandidateNote.tsx","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateEmails/CandidateEmailUtils.ts","webpack:///./src/cms/components/_shared/CommonModal/templates/CandidateEmails/CandidateEmails.tsx","webpack:///./src/cms/components/_shared/CommonModal/CommonModal.tsx","webpack:///./src/boot-client.tsx","webpack:///./src/Pages/Login/assets/ofirlogo-std.png","webpack:///./src/Pages/Statistic/assets/Statistic.scss?1ee7","webpack:///./src/cms/components/_shared/Controls/BranderoEditor/assets/BranderoEditor.scss?495e","webpack:///./src/images/ofirlogo-den-opsoegende-jobportal.png","webpack:///./src/Pages/Statistic/assets/logo.png","webpack:///./src/Pages/Statistic/assets/footer-on-front.png","webpack:///./src/cms/components/jobOrder/JobOrderCard/assets/gears.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","PageItemStatus","SiteStatus","actionCreators","updatePageItemInfo","pageItemInfo","dispatch","getState","type","remotePageItemInfo","unloadedState","apiSettings","Query","ApiAddress","ExecutionTimeoutMilliseconds","RetryCount","RetryTimeoutMilliseconds","QuerySite","Issuer","Audience","Key","ClockSkewInSeconds","Command","QueryFiltered","Download","CommandTemp","MultipleCommand","CommandWithFiles","CommandWithFileRefs","CommandFrequency","QueryFrequency","QueryOrder","QueryAreaLocation","QueryItems","QuerySingle","apiConstants","ApiConstants","siteOptions","auth","companyCommands","companyQueries","companyQueriesSingle","siteCommands","siteQueries","siteCreation","jaeQueries","itemDraftCommands","itemDraftQueries","itemHomePageQueries","itemCommands","jobAdQueries","jobAdCommands","jobAdQueryFiltered","candidateListQueries","candidateListCommands","fileStore","fileStoreTemp","fileStoreCDN","fileMultipleCommand","fileStoreDownload","jobAdOfirQueries","jobAdOfirCommands","jobAdOfirQueriesOrder","jobAdOfirQueriesAreaLocation","emailCommands","emailCommandWithFiles","emailCommandWithFileRefs","emailQueries","emailQueryFrequency","emailCommandFrequency","emailTemplatesCommands","emailTemplatesQueries","cssCommands","uploadCommands","imageCommands","imagesCommands","imagesQueries","userCommands","userQueries","analiticQuery","pipeDrive","customerQuery","siteId","undefined","siteCultureCode","header","createHeader","headerWithToken","headerForFile","Accept","Access-Control-Allow-Origin","requireAuthToken","Authorization","getAuthToken","Content-Type","document","matches","cookie","match","RegExp","replace","decodeURIComponent","Status","ApplyMethodEnum","EmailType","EmailStatus","EmailSettingsFrequency","DomainFileType","ImageType","UploadingResultCode","RootItem_actionCreators","UpdateSiteStatus","creating","siteStatus","creatingNewSite","RootItem_unloadedState","id","cultureCode","isLoading","industryId","Idle","Fetch","fetchRetry","url","options","retries","delay","rtrs","dly","Promise","resolve","reject","wrappedFetch","fetch","then","response","status","toString","substring","retry","catch","error","console","log","setTimeout","Application_actionCreators","initPage","texts","companyData","fetchListOfPublishedItems","headers","method","json","items","map","x","fetchTask","all","dbPageItem","listOfPublishedItems","companies","jobAds","results","forEach","item","itemData_1","JSON","parse","publishedStatus","filter","PUBLISHED","UNPUBLISHED","keys","pageItems","order","htmlItems","propertyItems","_a","hasChanges","isNew","e","isDataEmpty","some","NoPageItemsInDatabase","Error","FetchedFromDatabase","initPublicPage","Guid","newGuid","Math","random","locales","da-DK","locale","da","format","en-GB","en","Utils_Utils","Utils","isAppSite","this","getCookie","stringFormat","str","_i","arguments","args","Array","nmbr","getImageNumberFromScreenSize","imageType","width","imagenumber","Content","Employee","Logo","getImageNameFromScreenSize","imageName","lastIndex","lastIndexOf","insert","index","substr","dateFormat","lang","fields","split","dateFormatDefaultLanguage","date","getFullYear","format_default","getLanguage","dateStringFormatDefaultLanguage","getFormatedDateWithFullMonth","initMomentLocale","moment_default","getStatusClassHelper","Classes","getLogedInUserFullName","token","jwt_decode_lib","given_name","family_name","getLogedInUserData","lastName","email","userId","jti","getLogedInUserEmail","getJobById","jobsList","isSuperAdmin","IS_SUPERADMIN","toLocaleLowerCase","isSiteAdmin","IS_ADMIN","isUserOfirAdvertiser","getBrowserLanguage","navigator","language","userLanguage","showSiteLang","NAME","SITE_CULTURE_CODE","a","getTwoLetterLanguage","getLanguageForAdmin","hasClass","target","className","test","getTime","getUrlParameterByKey","paramKey","exec","location","search","getLastUrlItem","urlItemsList","isIE","ua","userAgent","msie","indexOf","trident","parseInt","rv","getWindowSelectionHtml","doc","html","getSelection","sel","rangeCount","container","createElement","appendChild","getRangeAt","cloneContents","innerHTML","selection","createRange","htmlText","copyHtmlToClipboard","clipboardDiv","style","fontSize","border","padding","margin","position","setAttribute","opacity","pointerEvents","zIndex","body","focus","removeAllRanges","range","setStartBefore","firstChild","setEndAfter","lastChild","addRange","execCommand","err","remove","formatEmailHtml","trimmedHTML","formatEmailTemplateHtml","clearedHtml","isFunction","Function","getSiteID","getCDNUrl","w","CDN_URL","sortUserTemplatesByUpdateDate","templates","sort","b","updateDate1","updatedDate","updateDate2","isBefore","isAfter","normalizeStatisticForChart","dataChart","field","labels","datasets","colors","borderColor","label","colorNumber","stat","entry","feedName","_b","output","existing","v","existingIndex","concat","__spreadArrays","from","Set","isFind","sIndex","findIndex","unshift","normalizeRecommendation","recommendation","_packages","packagesRecommendations","Recommendations","packages","Recommendation","products","Products","Product","handledPackages","isArray","SelectionOptions","TotalPrice","price","PriceAmount","packageProducts","Id","packageProductId","product","find","productItem","Item","currency","description","counterValue","productsData","Name","icon","MapsTo","Description","recommendText","duration","dateStringDisplayFormat","serializeObject","obj","strArr","encodeURIComponent","join","getApplicationTypeByMethod","applicationMethod","generateGuid","guid","isNullOrUndefined","template_TemplateHandler","TemplateHandler","repository","industryName","_repository","_createdTemplates","_industryName","_cultureCode","_siteId","_resourceTagBegin","_resourceTagEnd","createNewSite","_this","resolveAll","getIndustryToTemplateMapping","industries","industry","getIndustryByName","getTemplateSettings","_templateSettings","getResources","_resources","requiredPageItems","pageItem","createTemplate","isPublishedByDefault","addNewPageItemToDatabase","pageItemName","parentId","stringify","resourcePrefix","newGuidFromDatabase","getTemplate","tmplt","template","resourceTags","getResourceTags","tag","resourceKey","getText","createTempGuidForTemplate","baseItemTemplate","templateId","regEx","replacedTemplate","pattern","ind","SubIndustries","sind","template_TemplateUtility","TemplateUtility","getEmployeeImageUri","props","isInEditMode","fileName","getImageUrl","getContentImageUri","propertyName","isSliderBackgroundFromTemplate","properties","backgroundFromTemplate","realFileName","imageNumber","replaceFileExtension","pos","setIsBgFromTemplate","pageItems_Slider","_super","Slider","__extends","clickDiv","el","setInterval","click","preventDefaultOnNextPrevClick","preventDefault","createSliderItems","react","prop","createIndicators","data-target","data-slide-to","render","tintValue","background","height","data-interval","data-ride","data-pause","role","data-slide","onClick","aria-hidden","ref","href","pageItems_Presentation","Presentation","Presentation_extends","dangerouslySetInnerHTML","__html","resources","i18n_lang","dist_es","use","react_i18next_dist_es","init","lng","fallbackLng","debug","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","wait","i18n","U_TUBE_REG_EXP","UTubeFormatUrlHelper","getUTubeVideoId","link","matched","getQueryParams","queryString","filterUTubeQueryParams","query","flag","formatVideoUrl","uTubeID","filteredQuery","UrlTransformHelper","returnTrue","getUrlWithSchema","PropertyItemHelper","getPropertyItemValue","propertyItem","getPropertyItemByName","pageItems_SocialMedia","SocialMedia","SocialMedia_extends","facebookUrl","helpers_UrlTransformHelper","data-toggle","data-placement","title","twitterUrl","linkedInUrl","youtubeUrl","instagramUrl","otherUrl","pageItems_AboutUs","AboutUs","AboutUs_extends","backgroundImage","backgroundPosition","backgroundSize","pageItems_Benefits","Benefits","Benefits_extends","htmlItem","pageItems_Testimonial","Testimonial","Testimonial_extends","createItems","createCarouselIndicators","tagName","createTestimonialOneColumnText","createTestimonialTwoColumnVideo","createTestimonialTwoColumnImage","src","alt","helpers_UTubeFormatUrlHelper","frameBorder","allowFullScreen","marginLeft","CustomerModel","serializedName","modelProperties","customerId","cvr","ean","pNumber","address","address2","city","zipCode","country","webAddress","phone1","phone2","phone3","industryCode","created","modified","modifiedBy","createdBy","correlationId","isDeleted","isHq","deleteReason","packageProperty","CandidateListRequestModel","allowedValues","searchValue","sortField","sortOrder","pageSize","page","excludeDeleted","OriginalNameFileModel","fileGuid","originalName","NoteModel","candidateId","note","userFullName","userEmail","createDate","modifiedDate","CandidateListShortModel","applicationDate","files","element","phoneNumber","urls","notes","jobId","companyId","numberOfEmails","applyMethod","lightApplyData","CandidateListShortModelCandidateListResult","candidateList","total","TemplateEmailFile","size","absolutePath","contentType","CandidateListEmailModel","subject","dateCreated","CandidateListFullModel","tags","latestJobTitle","applicationType","wantedJobTitle","educationLevel","experienceYears","dateUpdated","emails","CandidateListFullModelCandidateListResult","EmailSettingsModel","frequency","sendDay","sendTime","EmailResultTemplateContent","content","TemplateShortModel","createdDate","ListTemplateShortModelResponse","list","TemplateAttachmentModel","extension","TemplateModelResponse","attachments","IHaveSiteModel","readOnly","host","masterData","createdAt","SiteEntity","modifiedAt","siteState","siteType","metaTitle","metaDescription","IHaveEmailSiteModel","JobAdListItem","siteID","expiryDate","condition","activationDate","jobType","locationCity","statisticsRegisterFeedEntrySearchedCountLink","JobAdListItemSearchResult","count","ProductItemModel","productNumber","productName","productPrice","JobAdLocationsModel","jobAdId","locationAddress","locationZipCode","locationCountry","area","areaId","primary","useArea","JobAdModel","topImage","externalID","externalSource","category","salaryFrom","salaryTo","salaryType","salaryCurrency","contactName","contactPhone","contactEmail","commercialContactName","commercialContact","locationCounty","internalReference","exportOptions","companyID","companyName","companyAddress","companyCity","companyZipCode","companyCounty","companyCountry","companyEmail","companyPhone","companyWWW","companyCommercialContactName","companyCommercialContact","companyCommercialVatNumber","companyCommercialExternalId","companyContactPerson","urlHash","applicationUrl","companyVATIdentifier","productionUnitIdentifier","globalLocationNumber","requestedPackageId","requestedPackageName","requestedPackagePrice","requestedPackageDurationDays","requestedPackageProducts","countryCode","updateFlag","statisticsRegisterFeedDisplayCountLink","statisticsRegisterFeedEntryDisplayCountLink","statisticsRegisterJobApplicationInitiatedCountLink","statisticsRegisterJobApplicationAppliedCountLink","candidateCount","numberOfVacancies","author","modifyDate","logoId","ogimage","orderByName","orderByEmail","anonymousLocation","alternateTextAnonymousLocation","locations","locationString","locationMapUri","isPublished","useEAN","customerName","JobAdModelSearchResult","EncryptedData","publicKey","SearchParams","CreateCandidateModel","UpdateCandidateModel","PatchCandidateDetailsModel","PatchDataCandidateListStatusModelRequest","PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest","changes","PatchDataCandidateListNoteModelRequest","PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest","PatchDataCandidateEmailRequest","CreateNoteModelRequest","UpdateNoteModelRequest","CreateTemplateModelRequest","UpdateTemplateModelRequest","IFileModel","filename","originalFilename","relativePath","PostSiteViewModel","PutSiteViewModel","ResultViewModel","required","code","originalFileName","newFileId","newFileName","message","ResultLibraryViewModel","imageDescription","ImageLibraryPatchModel","PostImageViewModel","images","PutImageViewModel","TemplateKeyValue","TemplateUserEmailRequestModel","constraints","Pattern","replyTo","templateName","emailType","senderName","templateReplaceItems","TemplateEmailRequestModel","bounceEmailReplyTo","bounceTemplateName","externalId","GdprDataAgreementEmailRequestModel","customerEmail","companyCvr","siteUrl","siteCreationDate","agreementDate","EmailSettingsRequestModel","PersistingCssRequestModel","cssFileName","color","bodyFont","CssGeneratingResponseModel","CssGeneratingRequestModel","InternalSiteCreationRequest","fontName","primaryColor","logoFileName","addressExtended","countyState","ofirCRMNumber","vatNumber","eanNumber","subIndustry","companyWebsite","companyFacebookUrl","companyTwitterUrl","companyLinkedInUrl","companyInstagramUrl","companyYoutubeUrl","userFirstName","userLastName","userPhone","password","salesPerson","siteName","siteLanguage","discountCode","discountCodeNotes","siteHost","urlSchema","subIndustryId","sendDPA","SiteCreateResult","ProductItemModelRequest","ExtendedJobAdModel","regionCode","customerRelationshipManagementId","companyVatNumber","fullDescription","customerType","logoUrl","originalSource","siteURL","couponCode","username","oldStatus","applicationMethodLocal","requestedPackageOverridePrice","requestedPackageOverrideProducts","orderReference","publishToOfir","ogImageWidth","ogImageHeight","authorUserEmail","authorUserIsSuperAdmin","JobAdResponce","siteid","MsgJobAd","SetSuperAdminDeleteStatusResponce","UpdateStatusResponce","PatchProductModelRequest","PartnerJobAdResponce","ResetPasswordViewModel","resetPasswordLink","advertiser","NewPasswordViewModel","resetPasswordToken","CreateRoleViewModel","roleName","CreateUserViewModel","userName","firstName","is2FA","deliveryType2FA","roles","UpdateUserViewModel","AddSiteCreationUserViewModel","ChangePasswordViewModel","oldPassword","newPassword","confirmPassword","BranderoAPITemplateCreateOptionalParams","BranderoAPITemplateUpdateOptionalParams","BranderoAPIGetSitesOptionalParams","searchIn","searchFor","BranderoAPISitesGetSiteByIdsOptionalParams","BranderoAPIGetJobsContentListOptionalParams","defaultValue","BranderoAPIGetJobsListOptionalParams","BranderoAPIJobAdsGetJAEOptionalParams","BranderoAPIGetJobAdsFilteredOptionalParams","BranderoAPIPartnerUsersFindBySiteIdOptionalParams","BranderoAPIRolesCreateRoleOptionalParams","BranderoAPIUsersGetUsersAsyncOptionalParams","includeRoles","includePassword","BranderoAPIUsersGetUserAsyncOptionalParams","BranderoAPIUsersGetUserAsync1OptionalParams","BranderoAPIUsersFindUsersOptionalParams","BranderoAPIUpdateUserByCustomerToolOptionalParams","BranderoAPIUsersCreateUserOptionalParams","BranderoAPIEntryStatisticSummationByEntryIdOptionalParams","startDate","endDate","BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams","BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams","BranderoAPISocialMediaStatisticByEntryIDOptionalParams","BranderoAPICandidateCreateFromApplicationFormOptionalParams","phone","education","previousPosition","experience","BranderoAPICandidatePatchNoteOptionalParams","BranderoAPICandidatePatchEmailAddOptionalParams","BranderoAPICreateSiteOptionalParams","BranderoAPIUpdateSiteOptionalParams","isValidateHost","BranderoAPISitesMergeSiteOptionalParams","targetSiteId","targetCompanyId","BranderoAPIMoveTempImageToSiteFolderOptionalParams","BranderoAPISendTemplateEmailWithFilesOptionalParams","additionalTemplateReplaceItem","BranderoAPISendTemplateEmailWithFileRefsOptionalParams","BranderoAPISendGDPRDataAgreementOptionalParams","BranderoAPICssGeneratorGenerateCssAsyncOptionalParams","BranderoAPIJobAdPatchDescription1OptionalParams","jobadid","BranderoAPICreatePartnerJobAdOptionalParams","BranderoAPIPasswordResetUserPasswordOptionalParams","BranderoAPIPasswordSetNewPasswordOptionalParams","BranderoAPISharedRolesCreateGlobalRoleOptionalParams","BranderoAPISharedUsersCreateGlobalUserOptionalParams","BranderoAPISharedUsersUpdateGlobalUserOptionalParams","BranderoAPIUsersInitUserForNewSiteOptionalParams","BranderoAPIUsersChangeUserPasswordOptionalParams","BranderoAPIUsersUpdateUserOptionalParams","branderoAPIContext_packageName","packageVersion","BranderoAPIContext","credentials","baseUri","addUserAgentInfo","branderoAPIContext_extends","msRest","WebResource","branderoAPI_BranderoAPI","BranderoAPI","serializer","mappers_namespaceObject","branderoAPI_extends","searchCustomerWithHttpOperationResponse","searchText","httpRequest","operationArguments","sendOperationRequest","httpMethod","baseUrl","path","urlParameters","parameterPath","mapper","responses","200","bodyMapper","default","operationRes","sent","parsedResponse","parsedBody","resultMapper","deserialize","deserializationError","bodyAsText","request","err_1","getCustomerExistsWithHttpOperationResponse","err_2","getCustomerByPnumberWithHttpOperationResponse","err_3","getCustomerWithHttpOperationResponse","err_4","getCustomersByCvrAndPnumberWithHttpOperationResponse","pnumber","err_5","getCustomersByCvrAndPnumber1WithHttpOperationResponse","err_6","getNextCustomerIdWithHttpOperationResponse","err_7","getCustomerByCustomerIdWithHttpOperationResponse","customerid","err_8","getCandidatesWithHttpOperationResponse","requestBody","branderoAPI_assign","err_9","getCandidatesByJobIdWithHttpOperationResponse","err_10","getCandidateByIdWithHttpOperationResponse","err_11","getEmailFrequencySettingsWithHttpOperationResponse","err_12","checkSendEveryDayWithHttpOperationResponse","err_13","getEmailTemplateWithHttpOperationResponse","err_14","getTemplatesWithHttpOperationResponse","err_15","templateCreateWithHttpOperationResponse","err_16","getTemplateWithHttpOperationResponse","err_17","templateUpdateWithHttpOperationResponse","err_18","templateDeleteWithHttpOperationResponse","err_19","getSitesWithHttpOperationResponse","queryParameters","err_20","getSiteByIdWithHttpOperationResponse","err_21","sitesGetSiteByCompanyIdWithHttpOperationResponse","err_22","sitesGetSiteByIdsWithHttpOperationResponse","err_23","getEmailSiteByIdWithHttpOperationResponse","err_24","getSiteByHostWithHttpOperationResponse","err_25","getSitesByHostWithHttpOperationResponse","err_26","getJobsContentListWithHttpOperationResponse","500","err_27","getJobsListWithHttpOperationResponse","err_28","jobAdsGetJAEWithHttpOperationResponse","err_29","getJobAdByUrlHashWithHttpOperationResponse","404","err_30","getJobAdWithHttpOperationResponse","err_31","createJobAdWithHttpOperationResponse","201","400","401","err_32","updateJobAdWithHttpOperationResponse","202","err_33","jobAdDeleteWithHttpOperationResponse","err_34","getJobAdsFilteredWithHttpOperationResponse","err_35","partnerUsersFindBySiteIdWithHttpOperationResponse","err_36","passwordsValidateResetPasswordTokenAsyncWithHttpOperationResponse","err_37","rolesGetRolesAsyncWithHttpOperationResponse","err_38","rolesCreateRoleWithHttpOperationResponse","err_39","usersGetUsersAsyncWithHttpOperationResponse","err_40","usersGetUserAsyncWithHttpOperationResponse","err_41","usersGetUserAsync1WithHttpOperationResponse","err_42","usersFindUsersWithHttpOperationResponse","err_43","usersFindUserByIdWithHttpOperationResponse","err_44","updateUserByCustomerToolWithHttpOperationResponse","err_45","usersFindUserBySiteIdWithHttpOperationResponse","err_46","usersCreateUserWithHttpOperationResponse","err_47","variableUsersGetUserAsyncWithHttpOperationResponse","err_48","entryStatisticSummationWithHttpOperationResponse","err_49","entryStatisticSummationByFeedNameWithHttpOperationResponse","err_50","entryStatisticSummationByEntryIdWithHttpOperationResponse","entryId","err_51","entryStatisticGetAllWithHttpOperationResponse","err_52","entryStatisticGetStatisticsByEntryIdWithHttpOperationResponse","err_53","entryStatisticGetStatisticsByFeedNameWithHttpOperationResponse","err_54","socialMediaStatisticTotalWithHttpOperationResponse","err_55","socialMediaStatisticTotalByFeedNameWithHttpOperationResponse","err_56","socialMediaStatisticSummationWithHttpOperationResponse","err_57","socialMediaStatisticSummationByFeedNameWithHttpOperationResponse","err_58","socialMediaStatisticGetAllWithHttpOperationResponse","err_59","socialMediaStatisticGetStatisticsByFeedNameWithHttpOperationResponse","err_60","socialMediaStatisticTotalByEntryIDWithHttpOperationResponse","entryID","err_61","socialMediaStatisticByEntryIDWithHttpOperationResponse","err_62","imageLibraryGetImagesBySiteAsyncWithHttpOperationResponse","err_63","uploadNewImageLibraryWithHttpOperationResponse","formDataParameters","err_64","imageLibraryGetImageByIdAsyncWithHttpOperationResponse","imageId","err_65","updateLibraryImageWithHttpOperationResponse","err_66","candidateCreateWithHttpOperationResponse","jobadId","err_67","candidateCreateFromApplicationFormWithHttpOperationResponse","jobid","fullName","err_68","candidateUpdateWithHttpOperationResponse","err_69","candidateDeleteWithHttpOperationResponse","err_70","candidateDeleteByIdWithHttpOperationResponse","candidateid","err_71","candidateDetailsUpdateWithHttpOperationResponse","err_72","candidatePatchStatusWithHttpOperationResponse","err_73","candidatePatchNoteWithHttpOperationResponse","err_74","candidatePatchEmailAddWithHttpOperationResponse","err_75","candidatePatchEmailDeleteWithHttpOperationResponse","emailId","err_76","candidateAddNoteWithHttpOperationResponse","err_77","candidateUpdateNoteWithHttpOperationResponse","noteId","err_78","candidateDeleteNoteWithHttpOperationResponse","err_79","uploadMultipleFilesWithHttpOperationResponse","err_80","createSiteWithHttpOperationResponse","err_81","updateSiteWithHttpOperationResponse","err_82","sitesDeleteSiteWithHttpOperationResponse","err_83","sitesMergeSiteWithHttpOperationResponse","err_84","uploadNewImageOnlyForSiteCreationWithHttpOperationResponse","err_85","uploadNewImageWithHttpOperationResponse","err_86","imagesDeleteImageLibraryAsyncWithHttpOperationResponse","err_87","uploadTempImageWithHttpOperationResponse","err_88","moveTempImageToSiteFolderWithHttpOperationResponse","err_89","emailsSendTemplateEmailsToUsersAsyncWithHttpOperationResponse","422","statusCode","deserializationError1","err_90","sendTEmplateEmailWithHttpOperationResponse","err_91","sendTemplateEmailWithFilesWithHttpOperationResponse","err_92","sendTemplateEmailWithFileRefsWithHttpOperationResponse","err_93","sendGDPRDataAgreementWithHttpOperationResponse","err_94","setEmailFrequencyWithHttpOperationResponse","err_95","generateCssAndSaveItToSharedFolderWithHttpOperationResponse","err_96","cssGeneratorGenerateCssAsyncWithHttpOperationResponse","err_97","internalSiteCreationV2WithHttpOperationResponse","err_98","setSuperAdminDeleteStatusWithHttpOperationResponse","err_99","jobAdUpdateStatusWithHttpOperationResponse","err_100","jobAdUpdateStatusForJqueryWithHttpOperationResponse","err_101","jobAdPatchProductsWithHttpOperationResponse","err_102","jobAdPatchDescriptionWithHttpOperationResponse","err_103","jobAdPatchDescription1WithHttpOperationResponse","err_104","createPartnerJobAdWithHttpOperationResponse","err_105","passwordResetUserPasswordWithHttpOperationResponse","err_106","passwordSetNewPasswordWithHttpOperationResponse","err_107","sharedRolesCreateGlobalRoleWithHttpOperationResponse","err_108","sharedUsersCreateGlobalUserWithHttpOperationResponse","err_109","sharedUsersUpdateGlobalUserWithHttpOperationResponse","err_110","sharedUsersDeleteGlobalUserWithHttpOperationResponse","err_111","usersInitUserForNewSiteWithHttpOperationResponse","err_112","usersChangeUserPasswordWithHttpOperationResponse","err_113","usersUpdateUserWithHttpOperationResponse","err_114","usersDeleteUserWithHttpOperationResponse","err_115","searchCustomer","callback","cb","getCustomerExists","getCustomerByPnumber","getCustomer","getCustomersByCvrAndPnumber","getCustomersByCvrAndPnumber1","getNextCustomerId","getCustomerByCustomerId","getCandidates","getCandidatesByJobId","getCandidateById","getEmailFrequencySettings","checkSendEveryDay","getEmailTemplate","getTemplates","templateCreate","templateUpdate","templateDelete","getSites","getSiteById","sitesGetSiteByCompanyId","sitesGetSiteByIds","getEmailSiteById","getSiteByHost","getSitesByHost","getJobsContentList","getJobsList","jobAdsGetJAE","getJobAdByUrlHash","getJobAd","createJobAd","updateJobAd","jobAdDelete","getJobAdsFiltered","partnerUsersFindBySiteId","passwordsValidateResetPasswordTokenAsync","rolesGetRolesAsync","rolesCreateRole","usersGetUsersAsync","usersGetUserAsync","usersGetUserAsync1","usersFindUsers","usersFindUserById","updateUserByCustomerTool","usersFindUserBySiteId","usersCreateUser","variableUsersGetUserAsync","entryStatisticSummation","entryStatisticSummationByFeedName","entryStatisticSummationByEntryId","entryStatisticGetAll","entryStatisticGetStatisticsByEntryId","entryStatisticGetStatisticsByFeedName","socialMediaStatisticTotal","socialMediaStatisticTotalByFeedName","socialMediaStatisticSummation","socialMediaStatisticSummationByFeedName","socialMediaStatisticGetAll","socialMediaStatisticGetStatisticsByFeedName","socialMediaStatisticTotalByEntryID","socialMediaStatisticByEntryID","imageLibraryGetImagesBySiteAsync","uploadNewImageLibrary","imageLibraryGetImageByIdAsync","updateLibraryImage","candidateCreate","candidateCreateFromApplicationForm","candidateUpdate","candidateDelete","candidateDeleteById","candidateDetailsUpdate","candidatePatchStatus","candidatePatchNote","candidatePatchEmailAdd","candidatePatchEmailDelete","candidateAddNote","candidateUpdateNote","candidateDeleteNote","uploadMultipleFiles","createSite","updateSite","sitesDeleteSite","sitesMergeSite","uploadNewImageOnlyForSiteCreation","uploadNewImage","imagesDeleteImageLibraryAsync","uploadTempImage","moveTempImageToSiteFolder","emailsSendTemplateEmailsToUsersAsync","sendTEmplateEmail","sendTemplateEmailWithFiles","sendTemplateEmailWithFileRefs","sendGDPRDataAgreement","setEmailFrequency","generateCssAndSaveItToSharedFolder","cssGeneratorGenerateCssAsync","internalSiteCreationV2","setSuperAdminDeleteStatus","jobAdUpdateStatus","jobAdUpdateStatusForJquery","jobAdPatchProducts","jobAdPatchDescription","jobAdPatchDescription1","createPartnerJobAd","passwordResetUserPassword","passwordSetNewPassword","sharedRolesCreateGlobalRole","sharedUsersCreateGlobalUser","sharedUsersUpdateGlobalUser","sharedUsersDeleteGlobalUser","usersInitUserForNewSite","usersChangeUserPassword","usersUpdateUser","usersDeleteUser","api_Credentials","Credentials","signRequest","webResource","oauth","set","Api","api_extends","Loader_Loader","loading","_c","text","loaderClass","classnames_default","spin","indicator","es_icon","DropZoneHelper","onDrop","rejected","DropZoneHelper_awaiter","imageProps","acceptedExtensions","setState","errorFilles","DropZoneHelper_spreadArrays","fileExt","pop","SITE_ID","fileNames","f","formData","FormData","append","e_1","onDropRejected","state","DropZoneHelper_extends","getImageDimensions","file","resolved","Image","onload","naturalWidth","h","naturalHeight","onerror","URL","createObjectURL","maxSizeKB","maxSize","react_dropzone_dist_es","accept","getRootProps","getInputProps","DropZoneHelper_assign","children","rootStateSelector","root","pageItemStateSelector","pageItemInfoStateSelector","pageItemsInfo","htmlItemsStateSelector","propertyItemsStateSelector","currentId","getItemState","reselect_lib","_htmlItems","_propertyItems","_pageItemInfo","getItemAndCompanyDataState","localizations","getUnsolicitedApplicationStatus","pageItemsSelector","pageItemsInfoSelector","unsolicitedApp","pageItemType","getFormData","BaseItem","pageItemModel","htmlItemModels","propertyItemModels","updatePageItemId","updateParentId","isHtmlItem","isPropertyItem","ValueType","add","source","emailTo","logoPath","ANAME","APPLICATIONTEXT","AEDUCATION","ACATEGORY","APOSITION","ADURATION","AEMAIL","ALINK","ATELEPHONE","vatnumber","websiteUrl","AEDUCATIONLIST","TextBox","onChange","onKeyPress","onPaste","resourceString","errorResourceString","displayError","autoComplete","marginTop","min","step","htmlFor","display","textAlign","left","top","LinkInput_style","wrap","borderRadius","input","backgroundColor","tagIcon","cursor","labelActive","LinkInput","links","setLinks","localValue","setLocalValue","labelIsActive","saveValue","linksToSave","addLink","valueIndex","newLinks","LinkInput_spreadArrays","index_es","free_solid_svg_icons_index_es","onBlur","PrivacyText","resourceStringLink","actionCreator","assign","payload","isType","action","creator","defaultState","jaePackages","jobPublishing","jobUpdating","jobCreation","discountCheckout","jobSaving","jobsLoading","changePassword","companySaving","companyLoading","copyingJob","candidateDeletion","discardEnable","acceptTradeConditions","actions","updateLoading","updateLoadingState","LoadingStore_awaiter","alertConfig","MetadataStore_actionCreators","showSuccessSnak","onClose","notification","success","MetadataStore_assign","showErrorSnak","JobAdStatuses","PropertyNames","JobsListStore_SITE_ID","SUBSCRIBER","JobsListStore_actionCreators","requestJobsList","JobsListStore_awaiter","pagesize","isMobile","apiService_ApiService","getJobs","jobsResponse","loadedJobs","jobsItems","JobsListStore_spreadArrays","expanded","updateJobStatus","job","currentJobs","updatedJob","JobsListStore_assign","updatedJobs","AdminDelete","setExpandState","deleteJob","currentResults","deleteJobOfir","domain_task","newResults","newTotal","activateJob","activateJobOfir","date_fns","Future","Expired","Active","Deactivated","deactivateJob","deactivateJobOfir","toggleModal","show","modalType","modalProps","modalShow","JobsListStore_unloadedState","joblistLoadedFirstTime","UtilsJob_Active","UtilsJob_Future","UtilsJob_UtilsJob","UtilsJob","buildPublishJobAdModel","jobData","isOfirAdvertiser","initialData","initialize","company","companyLogoFileName","companyLogoFilename","siteUrlOrigin","origin","getMediaLibraryImageById","_d","logoFile","linkToOriginalSite","pref","PREF","descriptionAddition","publishJobAdModelRequest","UtilsJob_assign","positionLocal","applyMethodLocal","numberOfVacanciesLocal","ogImageSize","getPublishingJobStatus","getJobActivationDateWithCorrectTime","now","startOf","toDate","hour","minute","second","getHandledJobDescription","getJobPreviewLink","editMode","syndication","env","ENV","isJobExtendExpired","expiredDate","diff","isJobminTwoDays","getDiscountProductData","recomendationsData","lastProductId","apiService_SITE_ID","SUBSCRIBER_ID","apiService_companyData","apiService_siteData","ApiService","getCompanyBySite","cd","sendImageToSave","image","updateImageDataToServer","deleteImageDataFromServer","getImagesForJobAd","apiService_assign","Pragma","Cache-Control","getEntryIdForJobFromPhenix","axios_default","EntryId","getJobStatisticDetails","getEntryStatisticTotal","getEntryStatistic","getSocialStatisticTotal","getSocialStatistic","getSitesCollection","myUserId","guids","getCvrData","svrUrl","sd","getUserByEmail","getUserByName","jobad","setEmailFrequencySettings","getCandidateTemplate","getUserTemplate","addUserTemplate","model","updateUserTemplate","deleteUserTemplate","getEmailTemplatesList","addUnsolicitedCandidate","orgFiles","New","sendEmailWithFilesTemplate","SendTemplateEmailWithFileRefs","statusFilterValue","includeDeletedStatus","jobFilterValue","itemsCount","sendEmailCandidateList","sendCandidateEmails","patchCandidateEmailModel","error_5","updateCandidateStatus","selectedStatus","error_6","addCandidateNote","createNoteModel","updateCandidateNote","updateNoteModel","deleteCandidateNote","uploadImage","getJobPackagesForUpdate","jae","newSiteId","uploadImageFileOnlyForSiteCreation","CreateSite","site","deleteCandidateById","ok","setJobStatus","jobStatusRequestData","findJobTitles","limit","findJobCategory","findAreaLocation","saveJob","publishChanges","newId","requestData","updateJobAdModel","updateActiveJobAd","getPackagesRecomendationByName","recName","getJobPackages","PostalCode","JobTitle","Title","JobCategories","CustomerRelationshipManagementId","CouponCode","CustomerType","checkCouponCode","publishJob","update","requestTerms","loggedUserData","callingCode","applicationMethodEmail","EmailAddress","applicationMetodLinkAddress","applicationMethodLink","Address","applicationMethodPostalName","applicationMethodPostalAttention","pNumberData","TwoLetterIsoRegionName","Value","ExternalId","PackageId","ValueAddedTaxIdentificationNumber","Author","PhoneNumbers","CallingCode","Type","OverridePrice","OverrideProducts","OrderConfirmationContact","CommercialContact","GlobalLocationNumber","AccountingCustomer","CompanyName","Contact","PublicationDate","PublicationExpirationDate","TermsOfEmployments","AdvertiserName","AdvertiserAddress","Street","PostalCity","NumberOfVacancies","ProductionUnitIdentifier","ApplicationMethodLink","ApplicationMethodPostalAddress","ApplicationMethodPostalName","ApplicationMethodPostalAttention","OrderComment","LogoUrl","OriginalSource","SiteURL","SiteLanguage","ApplicationForm","ApplicationMethodEmail","UserHostAddress","SuperUserId","requestOptions","updatePublishedJobInOfir","jobAdExternalId","getJobOrderData","urlHistory","getActiveJobs","sortedQuery","checkCvrNumber","cvrNumber","valueAddedTaxId","changeUserPassword","changeLanguage","langCode","getUsers","params","deleteUser","getUserById","updateUser","getUserRoles","createUser","userSiteid","getJobSuggestions","createCandidate","sendConfirmationToCandidate","candidateData","emailData","sendForwardCandidate","apiService_awaiter","UnsolicitedApplicationStore_jsPDF","UnsolicitedApplicationStore_actions","isFetching","toggleUnsolicitedAppCollapse","UnsolicitedApplication_SITE_ID","fileListCSS","marginRight","marginBottom","fontWeight","fileListDeleteCSS","UnsolicitedApplication_UnsolicitedApplication","UnsolicitedApplication","hideConfirmationModal","confirmDialogOpen","handleLinksChange","onFilesUpload","UnsolicitedApplication_awaiter","totalSize","sizeError","updatedFiles","UnsolicitedApplication_spreadArrays","CV","defaultLoadFiles","isSend","isShwoDownloadModal","isNameInvalid","isEmailInvalid","isCategoryInvalid","isADURATIONInvalid","uploadErrors","isSending","hasSendError","scrollRef","handleShowDownloadModal","UnsolicitedApplication_extends","componentDidMount","UnsolicitedApplication_assign","isNumber","evt","charCode","which","keyCode","scrollToRef","scrollTo","current","offsetTop","hostname","protocol","port","isUnsolicitedFormOpened","helpers_PropertyItemHelper","externalApplyMethod","overflow","textOverflow","showBlock","UNSOLICITED_FORM_BUTTON_TEXT","externalApplyUrl","textDecoration","maxWidth","encType","_shared_DropZoneHelper_DropZoneHelper","onDelete","lineHeight","rows","placeholder","isinteger","clipboardData","getData","showConfirmModal","hideBlock","modal","visible","onCancel","footer","centered","downloadData","toLowerCase","isImage","download","trim","wordBreak","textTransform","borderWidth","sendApplication","downloadPDF","templateCompany","subjectCompany","externalApplyEmail","sendFilesCompany","userData","appText","sendEmail","hasError","Number","isInteger","siteData","newObj","isCandidatelist","templateApplicant","subjectApplicant","pageItems_UnsolicitedApplication_UnsolicitedApplication","es","ownProps","pageItemId","unsolicitedApplication","UnsolicitedApplicationStore_awaiter","sendUnsolisitedEmail","currentLanguage","today","Date","nameDate","pdf_lib_es","pdfDoc","sendFilesCompany_1","preview","arrayBuffer","buffer","existingPdfDocBytes","Uint8Array","attach","mimeType","creationDate","lastModified","modificationDate","headStyles","halign","fontStyle","tableCells","colSpan","styles","cellWidth","autoTable","columnStyles","save","downloadUnsolisitedData","DateTime","stringToLocalDate","toLocaleDateString","defaultOptions","day","month","year","JobList_JobList","JobList","JobList_extends","renderText","renderCounter","renderJob","unsolicitedAppStatus","data-speed","dateTime","jobtype","pageItems_JobList","JobListCustom_JobListCustom","JobListCustom","JobListCustom_extends","componentWillMount","JOB_LIST_CUSTOM_FEED","JOB_LIST_CUSTOM_HEADER_TEXT_NO_JOBS","JOB_LIST_CUSTOM_HEADER_ADDITIONAL_TEXT_NO_JOBS","show_job_link","postalCity","deadline","jobCategory","PageItemTypes","slider","presentation","socialMedia","aboutUs","benefits","jobList","jobListCustom","testimonialSlider","PageItemRendererHome_PageItemRendererHome","PageItemRendererHome","PageItemRendererHome_extends","fileStoreCdn","components_PageItemRendererHome","PageItemRendererHome_assign","isUnsolicitedAppOpened","Home_Home","Home","Home_extends","transform","WebkitTransform","MsTransform","getOrderOfPageItems","orderedList","Components_Home","HtmlItemStore_actionCreators","setHtmlItems","updateHtmlItems","deleteHtmlItem","HtmlItemStore_unloadedState","PageItemRepository","savePageItem","baseItem","_data","publishPageItem","unpublishPageItem","deletePageItem","PageItemStore_actionCreators","setPageItems","updatePageItem","updatePageItemHtmlItems","common_pageItemRepository","saving","savePageItems","baseItems","SavingNewSite","pageItemRepository","SavedNewSite","removePageItem","publishPageItems","ids","PublishingNewSite","PublishedNewSite","PageItemStore_unloadedState","PropertyItemStore_actionCreators","setPropertyItems","updatePropertyItems","deletePropertyItem","addPropertyItem","PropertyItemStore_unloadedState","TooltipMessage_TooltipMessage","placement","tooltipClassName","react_default","es_tooltip","overlayClassName","registerEvent","event","dataLayer","warn","dl1","dist_default","CommonButton_CommonButton","htmlType","glyphicon","disabled","disabledToolTip","toolTip","toolTipPlacement","tooltipClass","gTMEventData","_e","asLink","btnClassName","tooltipMessage","es_button","CommonButton_assign","boxShadow","Editor_PageItemStatus","Editor_Editor","Editor","Editor_extends","newInfo","Editor_assign","showModal","cmsComponents_Editor","redux","modalComponents_EditModal","EditModal","EditModal_extends","openState","handleClose","wrapClassName","aria-labelledby","dialogTitle","handleSave","Component","companyServiceApi_SITE_ID","companyServiceApi_CompanyServiceApi","CompanyServiceApi","getCompanyData","responseData","fre","companyServiceApi_assign","emailFrequency","saveCompanyData","CompanyDataStore_SITE_ID","CompanyDataStore_actionCreators","setCompanyData","setFieldCompanyData","fieldName","fieldValue","isFetched","isError","saveEmailFrequency","CompanyDataStore_awaiter","updateEmailFrequency","fetchCompanyData","initialValues","updateCompanyData","isSaving","CompanyDataStore_unloadedState","USER","modalComponents_EditModalHoc","WrappedComponent","EditModalHocUnwrapped","handleChangeOrCreate","propertyItemName","newItem","handleChange","handleChangeSlider","handleModalClose","open","handleModalOpen","saveItem","EditModalHoc_extends","EditModalHoc_assign","createPropertyItemModel","valueType","InfoModal_InfoModal","onSubmit","onOk","ControlLabel_ControlLabel","bold","infoMessage","infoMessageIsVisible","setInfoMessageState","labelClassName","control-label--required","control-label--bold","handleMessageClose","ConrolError","CommonInput_CommonInput","onFocus","tip","readonly","autocomplete","asTextArea","addonBefore","maxLength","fieldClassName","common-input__field--error","common-input__field--textarea","control-error","commonProps","includes","es_input","TextArea","CommonInput_assign","Slider_Slider_Slider","max","tipFormatter","sliderClass","TabPane","tab","restProps","__rest","tabs","Tabs_assign","Tabs_Tabs","activeTab","onTabClick","tabsAlignment","tabsClass","tabs--center","tabs--right","activeKey","tabKey","animated","cmsComponents_EditSlider_EditSlider","EditSlider","EditSliderProps","handleChangeTab","addSliderItem","newSliderItem","createNewSliderItem","parentGuid","propGuid","propGuid2","active","createPropertyItem","EditSlider_extends","renderSlider","trunc","renderImageUpload","Fragment","storeFileName","renderTextFields","renderTabs","createStackedTabs","labelItem","cmsComponents_EditPresentation","EditPresentation","EditPresentation_extends","EditAboutUs_styles","dropzone","cmsComponents_EditAboutUs","EditAboutUs","tint","EditAboutUs_extends","EditAboutUs_assign","bottom","Row","gutter","es_row","Grid_assign","Col","col","EditSocialMedia_EditSocialMedia","EditSocialMedia","handleCompanyDataChange","newCompanyData","EditSocialMedia_extends","xs","currentTarget","cmsComponents_EditSocialMedia","EditSocialMedia_assign","fontAwesomeList","fontAwesomeSelector","FontAwesomeSelector","showDialog","setWrapperRef","handleClickOutside","fontAwesomeSelector_extends","addEventListener","node","wrapperRef","contains","font","onSelect","cmsComponents_EditBenefits_EditBenefits","EditBenefits","EditBenefits_extends","cmsComponents_EditTestimonial_EditTestimonial","EditTestimonial","EditTestimonialProps","onSortEnd","oldIndex","newIndex","reOrderedHtmlItems","commonjs","itemType","createNewTestimonialOneColumnTextItem","createNewTestimonialTwoColumnVideoItem","createNewTestimonialTwoColumnImageItem","propGuid3","propGuid4","TestimonialTabsList","EditTestimonial_extends","axis","lockAxis","helperClass","cmsComponents_EditJobListCustom","EditJobListCustom","EditJobListCustom_extends","JOB_LIST_CUSTOM_HEADER_TEXT","cmsComponents_EditUnsolicitedApplicationHeader","EditUnsolicitedApplicationHeader","EditUnsolicitedApplicationHeader_extends","getPropertyItemHeader","getPropertyItemByHeaderName","getUnsolicitedPropertyItemHeaderName","cmsComponents_EditJobListHeader","EditJobListHeader","EditJobListHeader_extends","JOB_LIST_HEADER_TEXT","JOB_LIST_HEADER_TEXT_NO_JOBS","PageItemRenderer_PageItemRenderer","PageItemRenderer","PageItemRenderer_extends","isJobListEmpty","siteEdit_PageItemRenderer_PageItemRenderer","PageItemRenderer_assign","FileLoader","load","xobj","XMLHttpRequest","overrideMimeType","onreadystatechange","readyState","responseText","send","promise","Resources","resourses","repository_FileRepository","FileRepository","endpoint","_endpoint","fileLoader","resourse","res","getCandidateEmailTemplates","Edit_Edit","Edit","Edit_extends","shouldComponentUpdate","nextProps","CreateNewSiteTemplates","SaveNewSite","PublishNewSite","renderError","classes","renderStatus","FetchingFromDatabase","messages","propKey","Components_Edit","Edit_assign","SortableTH","SortableTH_extends","getClassNameForSort","columnName","sortOn","direction","disableSort","toUpperCase","sortClicked","onSortClicked","fontAwesomeIcon","minWidth","whiteSpace","justifyContent","paddingRight","Paging","itemsCountPerPage","Paging_extends","showItemsPerPageSelector","activePage","totalItemsCount","onPageChange","itemsCountPerPageCollection","onItemsPerPageChange","Pagination_default","innerClass","BranderoTable","pageNumber","BranderoTable_extends","componentDidUpdate","prevProps","onSearchDelay","searchString","onSearch","delayonSearch","clearTimeout","headerElementsLeft","onPagingChange","headerElementsRight","searchBoxPlaceholder","flexDirection","flexWrap","htmlElement","_shared_SortableTH_SortableTH","headerTextResourceName","sortDirection","headerFontAwsome","isloading","row","even","dataItems","di","tdClassName","_shared_Paging_Paging","Badge_Badge","showZero","badgeContent","invisible","badgeWrapClass","badge","overflowCount","ts_base64","Base64","encodeWithUrlEncode","encode","decodeWithUrlEncode","checkForBase64","isBase64","decode","wordArray","crypto_js","Utf8","statuses","Draft","1","2","3","4","Delete","5","6","Archived","statusFormat","JobCard_Expired","JobCard_JobCard","onShowOrder","activityStatus","activityBtnClass","activityAction","activityTolltip","showAllActions","hideStatus","isDashboardCard","onJobCopy","jobStatus","isArchived","isExpired","jobCardClass","job-card--dashboard","showApplicationsList","showWarningArchiveJob","showWarningDeleteJob","Normal","Send","EachApply","JobAdModeldefault","Success","JaeStore_Expired","JaeStore_actions","updateJobAdProperty","updateJobAdProperties","JaeStore_awaiter","updateJobProperty","updateJobProperties","customer","JaeStore_assign","responseHistory","orders","OrderInformation","Order","ProductSelect","Package","JaeStore_spreadArrays","JobStore_awaiter","JobStore_actions","updateJobOrders","updateJobOrderLoadedState","updateJobOrderLoadingState","setJobDefaultValues","siteLanguageCode","jobTypes","sordtedJobTypes","jobConditions","sordtedJobConditions","commercialContactNameExtended","commercialContactExtended","commercialVatNumber","commercialExternalId","AuthorUserEmail","AuthorUserIsSuperAdmin","setSavingState","openPreview","jobPreviewLink","sendErrorEmail","error_1","error_2","publishJobAdModel","newJobStatus","jobStatusResponse","visibility","updateConfirmationModalVisibility","error_3","JaeStore_publishChanges","selectedLogo","comercialType","publishRes","error_4","loadJobPackages","reset","isUpdate","loaderEnum","packagesData","updateJobPackages","JaeStore_selectPackage","packageData","updateDates","customPrice","manualEdit","parsedProducts","packageDuration","maxPackageDate","endOf","JaeStore_showJobPreview","JaeStore_checkDiscountCode","Coupon","selectedPackageId_1","selectedPackage","JobStore_setCouponCode","removeCouponCode","copyJob","userAuth","defaultDate","locationsNew","newJobData","newJobId_1","editLink","endsWith","errorEmailData","emailAddress","JobStore_defaultState","activeJobs","jobOrders","jobOrderIsLoaded","confirmationModalVisibility","savingState","updateActiveJobs","setCouponCode","setSuggestions","loadActiveJobs","activeJobsRes","jobsData","coupone","loadJobSuggestions","cats","sourceCategories","Items","subitem","categories_1","titleSuggestions","JobTitles","Option","es_select","OptGroup","SelectMenuOption","SelectMenuGroup","SelectMenu_SelectMenu","labelKey","valueKey","multiple","important","isOpen","forwardedRef","selectProps","extraProps","selectClassName","select-menu--error","selectWrapClassName","SelectMenu_assign","selectedValue","option","getPopupContainer","triggerNode","parentNode","confirm","CommonModalUtils_assign","cancelButtonProps","okButtonProps","formatDate","ITEMS_COUNT_PER_PAGE","MOBILE_ITEMS_COUNT_PER_PAGE","JobsList_Active","JobsList_Expired","JobsList_Draft","JobsList_Future","JobsList_Deactivated","JobsList_Archived","JobsList_styles","loadingStyles","alignItems","pagingWrapper","jobHeader","toggleArchiveBtn","minHeight","toggleContainer","archivedStatus","JobsList_JobsList","JobsList","renderMobileCards","currentPage","jobListStatus","loadMore","showArchived","renderFilterBlock","react_infinite_scroller_default","pageStart","initialLoad","handlePageChangeMobile","hasMore","loader","canActivateOrDesctivateJob","getJobActivityStatus","activateDeactivateBtn","getJobActivityBtnClass","jobActivityData","getJobActivityData","tooltip","onClickEvent","showJobOrder","getJobsListByStatus","isJobsloading","nextPage","handleStatusChange","JobsList_awaiter","handlePageChange","btn btn-sm","btn-danger","btn-success","showWarningDeactiveJob","showWarningExtendJob","showWarningActivateJob","cancelText","okText","innerWidth","JobsList_extends","tableItems","generateJobListRows","react_media","renderBranderoTableHeader","_shared_BranderoTable_BranderoTable","buttonTd","bottomTd","bottomTdSuperAdmin","bottomTdSuperAdminArchived","bottomArchived","previewLink","float","filteredStatuses","values","statusesList","JobsList_spreadArrays","counterText","adActivation","Pages_JobsList_JobsList","JobsList_assign","CommonCard_CommonCard","cardClassName","common-card--disabled","titleClassName","common-card__title--required","card","Industries","getIndustryIdByName","getSubIndustryIdByName","y","getIndustryNameInAnotherLanguage","sourceLang","destLang","getSubIndustryNameInAnotherLanguage","getSubIndustries","getIndustryLang","industryLang","langKeyItem","langIndustries","k","emailRegex","urlRegex","numberRegex","CompanyEditValidation_commonValidationObject","exact","resource","validation","regex","eannumber","Create_ValidateObject","siteObject","validationDescription","ValidateObject_awaiter","errorObject","validationProp","vp","ee","scrollToFirstInvalidField","errorClass","offset","firstErrorElement","querySelector","scrollTop","pageYOffset","documentElement","elementScrollPosition","getBoundingClientRect","Validation","Validation_awaiter","same","DropZoneWithOutUploadHelper","isLoad","inputFiles","DropZoneWithOutUploadHelper_extends","externalCallback","acceptedFiles","noClick","DropZoneWithOutUploadHelper_assign","SiteDataStore_SITE_ID","newSiteData","SiteDataStore_actionCreators","fetchSiteData","originalHost","FontName","PrimaryColor","checkSiteHostData","hostName","isChecking","isExists","setFieldSiteData","setFieldData","originalFontName","originalPrimaryColor","saveCSSFileData","nameFont","CssFileName","Color","BodyFont","saveSiteData","validate","hideNotification","SiteDataStore_awaiter","md","CssUrl","LogoFileName","SiteDataStore_unloadedState","RadioGroup_RadioGroup","es_radio","Group","FONTS","Design_SITE_ID","Design_SiteDesignEdit","SiteDesignEdit","onLogoFileChange","fileBlob","handleChangeLogoFont","logoText","fontLogoText","isChangeLogoFile","transformTextToImage","handleChangeLogoText","handleClick","displayColorPicker","hex","isChangePrimaryColor","handleChangeHeaderType","HeaderType","isChangeHeaderType","handleChangeFont","isChangeFontName","fontLogo","that","textDimensions","stringTitle","bgColor","canvas","refs","ctx","getContext","clearRect","percent","R","G","B","grd","createLinearGradient","addColorStop","round","fillStyle","fillRect","rgb","getLuminocity","textBaseline","measureText","fillText","canvasImageIMG","toDataURL","toBlob","blob","getLogoPath","master","changeTypeInputLogo","methodLogo","isSaved","HeaderColor","headerColor","handleUploadImage","isChange","windowWidth","Design_extends","reactcss_lib_default","popover","cover","right","headerBackground","menuBackground","borderBottom","logoBack","logo","menuContainer","paddingTop","menuText","span","lg","_shared_DropZoneWithOutUploadHelper","Design_assign","getSliderBackground","getMasterDataValue","getLogoForPreview","RESOURCES","MasterData","MenuLinks","IsHeaderLink","MenuActive","MenuName","swatch","react_color_lib","disableAlpha","Blob","Design_Design","_pageItem","LogoUploader_LogoUploader","logoType","logoFont","onLogoTypeChange","onLogoFontChange","onLogoTextChange","onUploadImage","onSave","canvasRef","canvasImageWrapRef","canvasImageRef","gridGutter","LANG","CompanyEditForm","countries","listCountries","errors","CompanyEditForm_assign","setIndustryLang","validationObject","setValidationObject","setLogoText","setMethodLogo","_f","setFontLogoText","_g","setIsChangeLogoFile","_h","setLogoFile","_j","otherBillingInformationName","setOtherBillingInformationName","_k","crmIdFieldChanged","setCrmIdFieldChanged","_l","validCouponCode","setValidCouponCode","INDUSTRIES","handleSubmit","CompanyEditForm_awaiter","validationObj","just_clone_default","companyToSave","isAlternateInvoice","couponeCode","findOtherBillingInformationName","errorsObj","handleFieldChange","handleSelectChange","_m","setIsAlternateInvoice","crmId","es_checkbox","checked","disablePublishAd","paddingBottom","stateCounty","newValues","showSearch","filterOption","couponcodeInvalid","CompanyEditLoader_CompanyEditLoader","isVisible","mainURL","Edit_SiteEdit","SiteEdit","handleSendDpa","Edit_awaiter","dpaRecipientEmail","dpaRecipientName","handleChangeApplicationMethod","handleChangeEmailSettings","handleChangeCompany","handleChangeSite","handleCheckHost","isHostNotEmpty","isExternalEmailNotEmpty","isExternalUrlNotEmpty","isExternalEmailValid","isExternalUrlValid","Edit_Edit_extends","companyDataState","siteDataState","Daily","Weekly","isValid","splittArray","validateHost","Pages_Site_Edit_Edit","Edit_Edit_assign","emailregex","domainRegex","siteValidationDescription","advertiserValidationDescription","passwordErrorObject","passwordConfirm","CommonCheckbox_CommonCheckbox","wrapperClass","BreadCrumbs_BreadCrumbs","PIPEDRIVE_API","PipederiveApi","getDealById","requestParams","org_id","getOrgById","org","deal","organization","SITE_TYPES","Create_Create","commonDomain","loginText","pipDriveDealId","pipedriveId","initSubIndustries","Create_awaiter","subIndustries","dataOrg","address_postal_code","address_locality","address_subpremise","address_country","address_route","address_street_number","pdLang","pdIndustries","warning","dataDeal","person_id","setSiteObject","Create_assign","setSubIndustries","Create_spreadArrays","setErrorObject","passErrorObject","setPassErrorObject","setIsSaving","tradeTerms","setTradeTerms","validateEmail","setValidateEmail","passwordData","setPasswordData","cvrUnits","setCvrUnits","cvrDataState","setCvrDataState","handleInputChange","handlePasswordChange","newValue","_o","steps","storage","ofirlogo_den_opsoegende_jobportal","cvrData","units","productionUnits","svrObj","postalCode","sub","subIndustryItem","isNewUser","showHepl","SiteCreationOptionsValueSiteExtention","errorObj","passwordErrorObj","CSS_NAME","resCss","FONT_NAME","PRIMARY_COLOR","textAsImage","CreateLogo","resImage","so","resSite","COMPANY_ID","USER_ID","act","reload","DataStatistic","chart","table","chartRef","filterday","filterweek","filterwonth","react_chartjs_2_es","responsive","scales","yAxes","ticks","beginAtZero","floor","JobStatistic_defaultState","entryStatisticTotal","entryStatistic","socialStatistic","socialStatisticTotal","entryStatisticDetails","JobStatistic_actions","updateEntryStatisticTotal","updateEntryStatistic","updateSocialStatisticTotal","updateSocialStatistic","getEntryID","getJobStatistic","JobStatistic_awaiter","RangePicker","date_picker","createPdf","main","paperSize","forcePageBreak","AdStatistic","sumTable","reduce","accumulator","currentValue","toFixed","assets_logo","outline","pdfcontainer","bodyRef","useRef","Report_Doc","FileBar_FileBar","deleteable","minified","fileIcon","barClassName","file-bar--minified","blobUrl","downloadResource","getImageSource","free_brands_svg_icons_index_es","generateUrlLinks","onDeleteClicked","startsWith","fileUrl","orderStatus","arr","getCandidateSortingNames","handleSidebarMiniClick","fixedContent","classList","handleToggleSidebar","MenuStatusList_MenuStatusList","orderedStatuses","firstEmpty","gtmdata","dg","toLocaleUpperCase","Popover","trigger","onVisibleChange","renderInBody","additionalPros","Popover_assign","candidatListValidationDescription","EditableLabel","onEditSucces","onCancelEdit","placeholderClassName","placeholderStyle","hidePlaceholderOnEdit","hidePlaceholderNonEmpty","defaultEditOpen","wrapClass","setEditMode","hideplaceholder","flexGrow","CandidateEditableLabel_awaiter","CandidateListCard_CandidateListCard","candidateDetails","showSelectStatus","noteDialogOpen","onShowSendEmail","onPDFExport","onForward","onEmailResend","jobTitle","onUpdateCandidateDetails","onNewCandidateSave","statusListComponent","CandidateListCard_assign","localCandidate","setLocalCandidate","showStatusSelector","setStatusSelectorState","newUrl","setNewUrl","showUrlsEdit","setShowUrlsEdit","showAllNotes","setShowAllNotes","decodedJobTitle","hasUrlsOrFiles","displayedDescription","handleStatusSelectorVisibility","updateCandidateDetails","candidate","CandidateListCard_awaiter","can","msg","expand","not-filled-out","itemLayout","dataSource","renderItem","noteItem","Meta","CandidateListCard_spreadArrays","lc","newUrls","updatedCandidate","file_1","handleFileDelete","ModalStore_initialState","templateType","MODAL_TYPES","CHANGE_PASSWORD","CANDIDATE_MESSAGE_WINDOW","CANDIDATE_NOTE","CANDIDATE_EMAILS","CANDIDATE_EMAILS_HOVER","ModalStore_actions","hideModal","ModalStore_awaiter","hover","showCandidateMessageWindow","showCandidateNote","showCandidateEmails","showCandidateEmailsHover","CandidateListStore_actions","updateCandidateEmailCount","concatenateCandidates","replaceCandidate","setSelectedCandidateId","CandidateListStore_awaiter","cms","candidates","getCandidateDetails","CandidateListStore_updateCandidateStatus","CandidateListStore_updateCandidateNote","newNote","CandidateListStore_addCandidateNote","deleteCandidates","candidatesForDelete","candidateModelState","updatedCandidates_1","Deleted","itemForDelete","updateProperty","CandidateListStore_assign","UtilsCandidate_UtilsCandidate","UtilsCandidate","getEmptyCandidateObject","candidateGuid","isUnsolicitedApplication","setCandidateListPageTitle","isUnsolicited","decodedTitle","convertCandidateEmailFiles","CandidateDetailsStore_actions","updateCandidateDetailsStatus","exportCandidateToPDF","CandidateDetailsStore_awaiter","jsPDF","docWidth","internal","getWidth","formattedStatus","notesToSave","normilizedDescription","tableWidth","deleteCandidate","updatedCandidates","CandidateDetailsStore_assign","candidateRequestData","companyState","candidateEmail","candidateName","convertedFiles","candidateFormData","forwardemail","e_2","CandidateDetails","CandidateDetails_extends","selectedCandidate","CandidateList_CandidateDetails","candidateDetailsState","Drawer_Drawer","showCloseBtn","drawerClass","drawer","closable","CandidatesPolicyMessage_CandidatesPolicyMessage","isCollapsed","defaultVisibity","setVisibility","buttonText","ROUTES","ROOT","LOGIN","ACCOUNT","ACCOUNT_LOGIN","DASHBOARD","HOME","CONTENT","CONTENT_EDIT","JOBS_LIST","JAE","JAE_EDIT","JAE_ORDER","JAE_STATISTIC","JAE_STATISTIC_REPORT","COMPANY_EDIT","SITE_SETTINGS","SITE_DESIGN","USERS","USER_EDIT","USER_CREATE","SITECREATE","RECOMMENDATION","SITECREATE_PIPEDRIVE","CANDIDATE_LIST","CANDIDATE_LIST_BASE","CANDIDATE_LIST_UNSOLICITED","STEP_LOGIN","A_ROOT","O_LOGIN","A_LOGIN","A_ACCOUNT","A_ACCOUNT_LOGIN","A_DASHBOARD","A_HOME","A_CONTENT","A_CONTENT_EDIT","A_JOBS_LIST","A_JAE","A_JAE_EDIT","A_JAE_ORDER","A_JAE_STATISTIC","A_JAE_STATISTIC_REPORT","A_COMPANY_EDIT","A_SITE_SETTINGS","A_SITE_DESIGN","A_USERS","A_USER_EDIT","A_USER_CREATE","A_SITECREATE","A_RECOMMENDATION","A_SITECREATE_PIPEDRIVE","A_CANDIDATE_LIST","A_CANDIDATE_LIST_BASE","A_CANDIDATE_LIST_UNSOLICITED","A_STEP_LOGIN","CandidateListItems_Draft","CandidateListItems_CandidateListItems","CandidateListItems","statusList","getStatusList","handleStatusFilterChange","onFilterStatus","filterStatus","onCandidateForward","isMultiply","forwardEmail","selectedCandidates","candidatesData","iconType","onCandidateDelete","cardAnchorElement","getStatusListItems","handleCandidatePDFExport","closeCandidateCreation","candidateToShow","isNewCandidate","handleCreateNewCandidate","showCandidateCard","handleSaveNewCandidate","emailTest","handleCandidateUpdate","CandidateListItems_assign","renderStatusFilter","candidatesList","isUnsolisited","newNoteList","openedStatuses","showMultiStatusMenu","handleEmailResend","filterJob","statusAnchorElement","emailToCandidates","showFilterMenuMobile","emailsListCandidate","CandidateListItems_extends","componentWillReceiveProps","newJobId","oldJobTitle","oldJobId","loadCompanyData","loadSiteData","currentProps","selectedCandidateId","onSetSelectedCandidateId","openCandidateEmailsModal","cord","candidateListCardPopoverClose","getSelectedCandidate","statusChanged","candidateToUpdate","onStatusChanged","selectCandidate","stopPropagation","statusesKeys","showSendEmailCandidateCard","single","anyChecked","menuStatusList","selCandidate","gtm","applicantId","CandidateListItems_spreadArrays","candidateItem","isChecked","restrictFilesLength","free_regular_svg_icons_index_es","unsolicitedNoticeContent","Boolean","showSendEmail","candidateList_CandidateListItems_CandidateListItems","react_router","CandidateList_ITEMS_COUNT_PER_PAGE","CandidateList_CandidateList","CandidateList","filterProperty","filterValue","CandidateList_extends","fetchCandidates","candidateDetailsIsFetching","getFullCandidateByIdAndSetSelected","onUpdateNote","onAddNote","onFilterJob","onRowClicked","onRowSelected","onGetCandidateDetails","applicantid","containers_CandidateList_CandidateList","CandidateListStore_updateCandidateDetails","CandidateList_assign","CandidateListStore_getFullCandidateByIdAndSetSelected","CandidateListStore_setSelectedCandidateId","CandidateListMobileCard_CandidateListMobileCard","CandidateListMobileCard","handleExpandClick","showDetails","handleExpandNoteClick","showNote","showStatus","isExpanded","isExpandedNote","expandedNote","CandidateListMobileCard_extends","renderNote","showNotesDialog","renderFilesAndLinks","renderDetailedInfo","AlignedRow","newLine","menuComponent","clmc__expand-btn--active","aria-expanded","aria-label","rowClass","clmc__row--block","textClass","clmc__row-text--left","candidateList_CandidateListMobileCard_CandidateListMobileCard","candidateList_FilterToolbar_FilterToolbar","FilterToolbar","seatchStr","selectedFilter","filterAnchorElement","sortAnchorElement","showSortMenu","showStatusMenu","FilterToolbar_extends","itemClass","cm-filter__menu-item--selected","CandidateListMobileItems_CandidateListMobileItems","CandidateListMobileItems","expandedId","expandedIdNote","CandidateListMobileItems_extends","showCandidateDetails","stateExpandedId","newState","CandidateListMobileItems_assign","showCandidateNoteElement","stateExpandedIdNote","mobile_CandidateListMobileItems","containerSelector","withInfiniteScroll","iScroll","onScroll","loadMoreItems","clientHeight","scrollHeight","withInfiniteScroll_extends","componentWillUnmount","removeEventListener","withInfiniteScroll_assign","CandidateMobileList_ITEMS_COUNT_PER_PAGE","CandidateMobileList_CandidateMobileList","CandidateMobileList","handleToggleLeftSidebar","sbFull","sbMini","prevState","CandidateMobileList_extends","concatenateCandidatesByJobId","CandidateList_CandidateMobileList","useMedia","mediaQuery","matchMedia","isVerified","setIsVerified","mediaQueryList","documentChangeHandler","addListener","removeListener","DATE_TYPES","START_DATE","END_DATE","DateRangePicker_DateRangePicker","minDate","maxDate","disabledFrom","disabledTo","maxDaysCount","openingDirection","orientation","numberOfMonths","focusState","setFocusState","react_dates","openDirection","constants","startDatePlaceholderText","endDatePlaceholderText","startDateId","displayFormat","endDateId","onDatesChange","start","clone","end","daysDiff","subtract","startDateToSave","endDateToSave","focusedInput","onFocusChange","keepOpenOnDateSelect","customArrowIcon","isOutsideRange","JaeAdvertising_Active","JaeAdvertising_Deactivated","JaeAdvertising_Expired","JaeAdvertising_Draft","JaeAdvertising_JaeAdvertising","to","datepickerValue","onDatePickerChange","isExtendable","datePickerOpenDirection","minDateMoment","disableFrom","disableTo","getMaxDate","PackageCardProduct_PackageCardProduct","isPresent","onAdd","isEdit","productIcon","Icon","PackageCardCounter_PackageCardCounter","pointerStyles","PackageCard_PackageCard","isActive","isDowngrade","onEdit","totalProducts","handlePriceChange","cardClassNames","package-card--recommend","package-card--selected","package-card--downgrade","buttonClassName","package-card__btn--downgrade","JaeCoupon_JaeCoupon","useAlternativeBilling","jobState","localCouponCode","discountProduct","setDiscountProduct","companyCouponeCode","handleCheckCouponCode","PACKAGE_COUNTER_POSITIONS","minimum","medium","premium","PremiumPlus","JaePackages_JaePackages","jaeState","sm","pricePackage","calculate_price","parseFloat","Price","AllowanceCharge","customPriceValue","setCustomPriceValue","originalTotalPrice","setOriginalTotalPrice","setEdit","setPackageProducts","manualPrice","setManualPrice","JaePackages_spreadArrays","selectPackage","calculatePackagePrice","arrayItems","newArr","remIndex","remEl","JaeFooter_Active","JaeFooter_Expired","JaeFooter_Future","JaeFooter_Draft","JaeFooter_JaeFooter","fieldsIsChanged","onChangesUpdate","isReview","onReview","onDiscard","loadingState","productDurationDays","asDays","saveTitle","footerClassName","jae-footer--expired","footerActionsClass","jae-footer__actions--small","showLoader","setLoadeState","align","src_default","clamp","JaeConfirmation_JaeConfirmation","isEAN","showPreviewButton","onPreviewClick","eanText","emailText","BACKGROUND_OPTIONS","JaeBackgroundSelector_JaeBackgroundSelector","imageFileName","onFileUpload","filePath","JobAd","showSelector","setSelectorState","jae-background-error","dropZoneClassName","jae-background__dropzone--error","JaeTopImageSelector_JaeTopImageSelector","onClear","showTopSelector","setTopSelectorState","toggleSelectorState","TinyoEditor","initialValue","mediaLibraryData","autoCompleteList","autoCompletePrefix","hideMarkupButtons","reduceHeight","isImageUploadOpen","imgSet","getImageData","tinyValue","setTinyValue","imagesList","setimagesList","ts","apiKey","menubar","content_style","plugins","toolbar","setup","editor","on","shiftKey","image_list","image_title","automatic_uploads","file_picker_types","file_picker_callback","meta","onchange","reader","FileReader","blobCache","tinymce","activeEditor","editorUpload","base64","blobInfo","blobUri","readAsDataURL","smart_paste","paste_preprocess","pl","isPDF","wordContent","formatUnicodeCharacters","directionality","bm","getBookmark","InfoMessage_InfoMessage","mediaLibraryStore_defaultState","mediaLibraryStore_actions","getMediaLibrary","getImageById","updateMediaLibrary","deleteMediaLibrary","MediaLibrary","onUpdateData","onGetData","autoSave","mediaLibrary","addedFiles","setIsSelected","mediaLibrary_assign","sortedLibrary","selectedFile","onDoubleClick","onError","fileFound","Collapse","useState","setOpen","OrederTable","isPrevious","currencyCode","EAN","jobOrder","jobOrderCreate","packageName","CVR","OrderReference","AlternativeBillingExternalId","AlternativeBillingCustomerName","AlternativeBillingContactName","AlternativeBillingContact","AlternativeBillingVatNumber","utc","PackageProduct","onAccept","logoName","acceptValue","ProductsIdList","packageItems","op","done","Jae_Draft","Jae_Active","Jae_Expired","Jae_Deactivated","Jae_Future","JobOrderCard_JobOrderCard","isReady","isNotReady","handleOpenChanges","isExpiredTime","JobOrderCard_assign","isNegative","gears","Form","ofirlogo_std","accessList","getAccessList","Form_Option","formik_esm","enableReinitialize","innerRef","Form_Form","form","es_form","Form_assign","setFieldValue","setFieldTouched","Text","File","UploadComponent","Page","isDragActive","customOpen","components_Forgot","onCancelClick","onOkClick","Email","xl","siteCollection","onCreateAccountClick","onForgotClick","onSiteChange","onLoginClick","showTokenField","isOfirAdvertiserLogin","isOfirAdvertiserSite","headline","Select","sitesListHeadline","card__button--hidden","history_es","Pages_Login_Login","isOfirAdviertiser","setSiteCollection","Login","showPage","setShowPage","isfetching","setIsfetching","errorMessage","setErrorMessage","setShowTokenField","loginErrorBox","textContent","storeCookie","localStorage","getItem","isLocal","_addres","cookRec","packageId","site_extention","SITE_EXTENTION","site_advertiser_domain","BASE_ADDRESS","SITE_ADVERTISER_DOMAIN","pwd","mail","__RequestVerificationToken","otpToken","Password","OtpToken","superUser","sites","prefixes","hostNameAdvertiser","handleSiteChange","login","Site","totp","route","pathname","hostDetect","localCookie","localHost","fetchSiteCollection","Host","returnUrl","common_history","_pref","_url","getElementById","usernameI","passwordI","submit","components_LoginForm","Forgot","Login_awaiter","Login_generator","ForgotReciepe","components_ForgotReciepe","history","pushState","forgotPasswordEmail","onLogin","UserStore_defaultState","hashedPassword","UserStore_actions","updateUsersList","updateLoadedUser","updateUserRoles","Users_confirm","UserEditForm_UserEditForm","userState","user","loadedUser","userRoles","setUserData","filteredRoles","roleId","userEditData","UserEditForm_assign","userEditValidationRules","rolesId","UserCreateForm_UserCreateForm","passwordRepeat","setFormData","activeTabKey","setActiveTabKey","isAdvertiser","UserCreateForm_assign","handleFieldFocus","firstStepRules","validateEmailServer_1","secondStepRules","handleTabChange","commonValidationRules","thirdStepRules","UserCreateForm_rest","rest","privaterouter_rest","useEffect","isUser","privaterouter_assign","browserRoutes","component","jobsState","pageTitle","contactsTextRes","rowItems","jaeLogo","reloadTimerId","setReloadTimerId","isDisablePublishAd","messageEmail","conditions","ogimageRef","setAnonymousLocation","showAdditionalLocations","setShowAdditionalLocations","companyCouponCode","loadedOgImage","setLoadedOgImage","updateUrl","setReview","jobCategories","categoryLocalList","areaLocations","areaLocalList","jae--creating","emailsCardClassName","emails-card--ofir","setComercialType","dataIsChanged","setDataChangedState","backgroundType","setBackgroundType","scrollToAdvertising","setScrollToAdvertising","_p","extendable","setExtendableState","_q","_r","statusJobDeactiveted","setstatusJobDeactiveted","isDetectJobTitles","_s","setIsDetectJobTitles","trys","positionLocalList","detectJobTitles","handledDescription","String","setLoadedJob","isExtend","setJobLocationDefaultValue","loadPackages","smooth","Jae_assign","index_esm","debouncedSaveToRedux","elements","findAreaObject","itemArea","handleAreaLocationFieldSave","dataForSave","handleLocationFieldSave","Jae_awaiter","handleTextEditorValueSave","handleValidationScroll","paymetValidationObject","eanPaymentValidationDescription","emailPaymentValidationDescription","saveValidationDescription","commonValidationObject","newurl","itemErrors","storeTopImageFile","topImageUrl","_t","renderTemplateAreaLocation","showPackages","isShowPaymentSection","isShowPackageSection","_u","openMediagalery","setopenMediagalery","_v","setselectedLogo","_w","isMediaGaleryForText","setisMediaGaleryForText","_x","selectedImage","setselectedImage","handleSelectLogo","handleUpdateImageData","updateImageData","moment","values_1","dataForSave_1","sectionClassNames","sendImageToServer","deleteImageData","getJobImages","Review","handleFieldSave","handleBackgroundTypeChange","bookmark","objectFit","viewBox","focusable","fill","APPLY_FORM_OPTIONS","renderApplicationFields","locationsError","handleUseArea","handleAreaLocationSelectChange","handleLocationFieldChange","handleLocationCountrySelectChange","updatePrimary","isPrimary","handleCheckBoxChange","validator","js_cookie_default","expires","domain","discardChanges","isShowOrderPackages","setIsShowOrderPackages","jobOrderIsExists","jobOrderIsNotExists","isShowBtnUpdate","setShowBtnUpdate","JobOrder_assign","coupon","loaderText","COUNTRIES","usersList","logedUser","userList","updatedList","getTableRowsData","userExist","firstDayOfMonth","moment_moment_default","jobStatistic","exposuresTable","searchedCount","impressions","viewsTable","displayCount","clicks","initiatedTable","jobApplicationInitiatedCount","getEntryId","feedId","jobApplicationAppliedCount","reach","normalizeToSameObject","separator","showToday","disabledDate","COMPANY_NAME","lastSpace","setLastSpace","canvasEle","clientWidth","writeText","info","callbackSpace","fontFamily","beginPath","words","line","testLine","stroke","suminitiatedTable","footer_on_front","setPackages","recommendationName","setRecommendationName","setLoading","packagesTypes","Recommendation_awaiter","setItem","Login_StepLogin","Candidate","routes_assign","hashRoutes","privaterouter","react_router_redux_lib","LocalizationStore_awaiter","reducers","CompanyDataStore_assign","PageItemStore_assign","__assign","HtmlItemStore_assign","PropertyItemStore_assign","LocalizationStore_unloadedState","updateNotes","CandidateListStore_spreadArrays","CandidateDetailsStore_updateProperty","SiteDataStore_assign","metaData","snacks","UnsolicitedApplicationStore_assign","ModalStore_assign","JobStore_assign","JobStatistic_assign","LoadingStore_assign","UserStore_assign","mediaLibraryStore_assign","selfAction","stateFiles","mediaLibraryStore_spreadArrays","UserActions_UserActions","lightTheme","languagesStr","LANGUAGES","languagesObject","currentLanguageCode","showLanguages","setLanguagesState","showUserOptions","setUserOptionsState","showSiteVariant","setSiteVariantState","uactions--light","handleUserOptionsVisibility","siteCollections","localPref","loginIntoSite","languagesKeys","handleLanguageChange","getElementsByTagName","langClassEding","showChangePassword","logOut","Header_Header","onMenuBtnClick","ofirBaseLink","Sidebar_Sidebar","onHide","unsolicitedCode","pathName","sidebar--minified","sidebarClasses","RootLayout_RootLayout","LOGIN_PAGE","isSmallScreen","minifiedSidebar","setSidebarMode","page-wrap--sidebar-minified","page-wrap__sidebar--active","page-wrap__sidebar--minified","page-wrap__content--admin","page-wrap__content--login","page-wrap__content--minified","toggleContentMode","pageWrapClass","sidebarClass","CommonModal_CommonModalLayout","mask","ChangePassword_ChangePassword","formValues","setFormValues","ChangePassword_assign","changePasswordValidationDescription","Substitutions","ExpansionPanel","ExpansionPanels_rest","collapse","Panel","ExpansionPanels_assign","ExpansionPanels","td","Variables_table","scheme","MessageHelpers_generator","atob","CLOGOURGL","AFNAME","CAREERSITE","ADHEADING","CADDRESS","CNAME","CPOSTALCODE","CCITY","VATNO","CTELEPHONE","CEMAIL","getEmailParts","parts","combineEmailParts","BranderoEditorLink","entityKey","attr","contentState","getEntity","BranderoEditorLink_assign","getStyleObjectFromString","BranderoImageEditor","BranderoOlEditor","BranderoUlEditor","BranderoAnyEditor","EDITOR_ELEMENTS_TYPES","UNORDERED_LIST","ORDERED_LIST","BOLD","UNDERLINE","contentBlock","findEntityRanges","character","getType","lib_Draft","strategy","findLinkEntities","findImageEntities","findAnyEntities","findUlEntities","findOlEntities","esm","nodeName","createEntity","replaceEntityData","getAttribute","getDefaultsAttribute","entity","ITALIC","decorator","getEditorDecorator","createWithContent","originalText","BranderoEditorUtils_assign","formattedText","formatLinksText","editorState","getCurrentContent","getAutocompleteState","prefix","tagRange","getHasFocus","getBlockForKey","getStartKey","getEntityAt","getStartOffset","hasEntityAtSelection","startContainer","startOffset","getAutocompleteRange","tempRange","cloneRange","setStart","rangeRect","selectedIndex","getFilteredArray","array","filterArray","getInsertState","currentSelectionState","getAnchorOffset","anchorKey","getAnchorKey","addSuggestion","mentionTextSelection","merge","anchorOffset","focusOffset","editorStyles","inlineStyle","getCurrentInlineStyle","isBold","has","isItalic","isUnderline","getEditorCurrentStyles","strippedText","insertingContent","replaceText","blockKey","getLength","insertText","getSelectionAfter","newEditorState","forceSelection","draftjs_filters_esm","attributes","maxNesting","whitespacedCharacters","getCurrentLinkData","currentEntity","draftjs_utils","currentValues","entityRange","newWindow","getStateWithInsertedLink","linkData","u","getIsBackward","getLastCreatedEntityKey","acceptSelection","getStateWithUploadedImage","contentStateWithEntity","currentContent","insertAtomicBlock","getStateWithRemovedLink","toggleLink","filterInsertedContent","filteredValue","strForSplit","splitted","formattedProperty","word","hasAttributes","attrs","BranderoEditorAutoComplete","onMouseDown","BranderoEditorToolbarButton","b-editor__btn--active","BranderoEditorLinkModal","showLinkText","modalClassNames","b-link-modal--active","BranderoEditorLinkModal_assign","hasCommandModifier","BranderoEditor_BranderoEditor","initialLinkData","acState","setAcState","setSelectedIndex","createEmpty","BranderoEditor_decorator","localState","setLocalState","valueIsLoaded","setLoadingValueState","codeAreaValue","setCodeAreaValue","valueIsChanged","setChangedValueState","codeViewActive","setCodeViewState","linkModalActive","setLinkModalState","isFocused","currentLinkData","setCurrentLinkData","pasteData","setPasteData","b-editor__wrap--error","isUnlinkButtonActive","currentEditorBlock","getCurrentBlockType","currentStyles","onPasteBefore","pasteHelper","valueToSave","serialize","pasteFilteredHTML","pastedState","filteredState","getFilteredState","decoratedState","currentSelection","contentFragment","getBlockMap","replaceWithFragment","getEndOffset","newSelection","focusKey","BranderoEditor_isIE","editorRef","copySource","draftjs_conductor_esm","contentEditable","react_dom","unregister","newAcState","initialState","handleFocus","onMentionSelect","elIndex","insertState","normalizeIndex","onSuggestionInsert","originalHandler","nudgeAmount","newSelectedIndex","hideLinkModal","toggleInlineStyle","toggleBlockType","stateWithInsertedLink","insertImage","editorWrapClassNames","currentData","selectionText","BranderoEditor_assign","stateWithRemovedLink","blockRendererFn","block","editable","keyBindingFn","onArrow","onDownArrow","onUpArrow","commitSelection","getLastChangeType","handleKeyCommand","command","eventTimeStamp","handlePastedText","pasteContent","handleBeforeInput","handleReturn","insertSoftNewline","codeEditorValue","substitutionsList","CandidateMessageWindow_SITE_ID","CandidateMessageWindow_siteType","CandidateMessageWindow","emailBodyRaw","emailHeaderRaw","emailFooterRaw","isConfirmed","messageFiles","userTemplateName","subjectRaw","emailBodySaved","MessageHelpers","isChanged","userTemplates","selectedTemplate","updatedUserTemplates","handleChangeTemplateName","userTemplatesNames","isTemplateNameValid","userTemplate","attachment","formattedHTML","candidate_template_ids","emailBodyTemplate","emailBody","emailRaw","replaceSubstitutions","resp","mails","ids_1","setStatusToo","candidatesStatus","handleFileDrop","CandidateMessageWindow_spreadArrays","handleFileReject","CandidateMessageWindow_awaiter","showTemplateList","confirmTemplateDelete","resourceName","renderStatusMenu","Rejected","defaultTemplates","getListOfDefaultTemplates","getListOfUserTemplates","sortedTemplates","names","loadedTemplates","CandidateMessageWindow_assign","handleSubjectChange","handleCancelSend","hasFiles","subjectValue","customTemplateSelected","renderTemplateOptions","handleChangeHtml","onDeleteMessageFile","Variables","confirmTemplateUpdate","flex","CandidateNote_CandidateNote","modalState","candidatesState","setNotes","createEditMode","setCreateEditMode","currentNote","setCurrentNote","currentNoteIndex","setCurrentNoteIndex","currentCundidate","n1","n2","overflowY","CandidateNote_assign","flexBasis","util","noteResponse","deletedNoteId","windowIfDefined","devToolsExtension","middlewareHistory","CandidateEmails_SITE_ID","memo","setEmails","isMounted","Bounced","formattedHtml","whereIsStartOfBody","whereIsEndOfBody","trimHtml","lastBackSlashIndex","fileId","_shared_CommonModal_CommonModal","layoutSettings","setLayoutSettings","setCurrentTemplate","templates_CandidateMessageWindow_CandidateMessageWindow","templates_CandidateEmails_CandidateEmails","boot_client_initialState","initialReduxState","boot_client_store","__REDUX_DEVTOOLS_EXTENSION__","redux_thunk_es","createStoreWithMiddleware","routes","strict","store","shouldBeHashRouter","react_router_dom","351","642","705","786","788","789","797"],"mappings":"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EhC,KAAM,WAGV+oB,YACEzC,eAAgB,aAChBtkB,MACEhC,KAAM,aAGVgpB,cACE1C,eAAgB,eAChBtkB,MACEhC,KAAM,gBAOHipB,IACX3C,eAAgB,0BAChBtkB,MACEhC,KAAM,YACNsS,UAAW,0BACXiU,iBACE7f,QACE4f,eAAgB,SAChBtkB,MACEhC,KAAM,SAGV4I,IACE0d,eAAgB,KAChBtkB,MACEhC,KAAM,SAGVA,MACEsmB,eAAgB,OAChBtkB,MACEhC,KAAM,WAGVkpB,iBACE5C,eAAgB,kBAChBtkB,MACEhC,KAAM,aAGVmpB,OACE7C,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,mCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,4BAKnBxB,OACEwV,eAAgB,QAChBtkB,MACEhC,KAAM,WAGVqpB,aACE/C,eAAgB,cAChBtkB,MACEhC,KAAM,WAGVspB,MACEhD,eAAgB,OAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKdgK,QACEsc,eAAgB,SAChBtkB,MACEhC,KAAM,OACNgoB,eACE,MACA,gBACA,YACA,cACA,eACA,WACA,QACA,UACA,iBAINuB,OACEjD,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,uBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,gBAKnBkX,OACElD,eAAgB,QAChBtkB,MACEhC,KAAM,SAGVypB,WACEnD,eAAgB,YAChBtkB,MACEhC,KAAM,SAGV0pB,gBACEpD,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGV2pB,aACErD,eAAgB,cAChBtkB,MACEhC,KAAM,OACNgoB,eACE,SACA,iBAIN4B,gBACEtD,eAAgB,iBAChBtkB,MACEhC,KAAM,cAOH6pB,IACXvD,eAAgB,6CAChBtkB,MACEhC,KAAM,YACNsS,UAAW,6CACXiU,iBACEuD,eACExD,eAAgB,gBAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,qCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,8BAKnByX,OACEzD,eAAgB,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BtkB,MACEhC,KAAM,YACNsS,UAAW,4BAKnBmY,gBACEnE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGVypB,WACEnD,eAAgB,YAChBtkB,MACEhC,KAAM,SAGV0G,QACE4f,eAAgB,SAChBtkB,MACEhC,KAAM,SAGV8Q,OACEwV,eAAgB,QAChBtkB,MACEhC,KAAM,WAGVqpB,aACE/C,eAAgB,cAChBtkB,MACEhC,KAAM,WAGV0qB,iBACEpE,eAAgB,kBAChBtkB,MACEhC,KAAM,WAGVspB,MACEhD,eAAgB,OAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKd2qB,gBACErE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGV4qB,gBACEtE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGV6qB,iBACEvE,eAAgB,kBAChBtkB,MACEhC,KAAM,WAGV4mB,SACEN,eAAgB,UAChBtkB,MACEhC,KAAM,WAGV+mB,SACET,eAAgB,UAChBtkB,MACEhC,KAAM,WAGV8mB,MACER,eAAgB,OAChBtkB,MACEhC,KAAM,WAGVsqB,aACEhE,eAAgB,cAChBtkB,MACEhC,KAAM,aAGV8qB,aACExE,eAAgB,cAChBtkB,MACEhC,KAAM,aAGVgK,QACEsc,eAAgB,SAChBtkB,MACEhC,KAAM,OACNgoB,eACE,MACA,gBACA,YACA,cACA,eACA,WACA,QACA,UACA,iBAINwB,OACElD,eAAgB,QAChBtkB,MACEhC,KAAM,SAGV+qB,QACEzE,eAAgB,SAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,qCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,8BAKnBqX,aACErD,eAAgB,cAChBtkB,MACEhC,KAAM,OACNgoB,eACE,SACA,iBAIN4B,gBACEtD,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGVupB,OACEjD,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,uBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,mBASZigB,IACXjM,eAAgB,uBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,uBACXiU,iBACE3d,IACE0d,eAAgB,KAChBtkB,MACEhC,KAAM,SAGVA,MACEsmB,eAAgB,OAChBtkB,MACEhC,KAAM,WAGVkpB,iBACE5C,eAAgB,kBAChBtkB,MACEhC,KAAM,aAGVma,aACEmM,eAAgB,cAChBtkB,MACEhC,KAAM,WAGVwqB,MACElE,eAAgB,OAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKdmpB,OACE7C,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,mCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,4BAKnBmY,gBACEnE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGVypB,WACEnD,eAAgB,YAChBtkB,MACEhC,KAAM,SAGV0G,QACE4f,eAAgB,SAChBtkB,MACEhC,KAAM,SAGV8Q,OACEwV,eAAgB,QAChBtkB,MACEhC,KAAM,WAGVqpB,aACE/C,eAAgB,cAChBtkB,MACEhC,KAAM,WAGV0qB,iBACEpE,eAAgB,kBAChBtkB,MACEhC,KAAM,WAGVspB,MACEhD,eAAgB,OAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKd2qB,gBACErE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGV4qB,gBACEtE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGV6qB,iBACEvE,eAAgB,kBAChBtkB,MACEhC,KAAM,WAGV4mB,SACEN,eAAgB,UAChBtkB,MACEhC,KAAM,WAGV+mB,SACET,eAAgB,UAChBtkB,MACEhC,KAAM,WAGV8mB,MACER,eAAgB,OAChBtkB,MACEhC,KAAM,WAGVsqB,aACEhE,eAAgB,cAChBtkB,MACEhC,KAAM,aAGV8qB,aACExE,eAAgB,cAChBtkB,MACEhC,KAAM,aAGVgK,QACEsc,eAAgB,SAChBtkB,MACEhC,KAAM,OACNgoB,eACE,MACA,gBACA,YACA,cACA,eACA,WACA,QACA,UACA,iBAINuB,OACEjD,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,uBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,gBAKnBkX,OACElD,eAAgB,QAChBtkB,MACEhC,KAAM,SAGV+qB,QACEzE,eAAgB,SAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,qCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,iCASZkgB,IACXlM,eAAgB,6BAChBtkB,MACEhC,KAAM,YACNsS,UAAW,6BACXiU,iBACE3d,IACE0d,eAAgB,KAChBtkB,MACEhC,KAAM,SAGVA,MACEsmB,eAAgB,OAChBtkB,MACEhC,KAAM,WAGVypB,WACEnD,eAAgB,YAChBtkB,MACEhC,KAAM,SAGV8Q,OACEwV,eAAgB,QAChBtkB,MACEhC,KAAM,WAGV4qB,gBACEtE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGV6qB,iBACEvE,eAAgB,kBAChBtkB,MACEhC,KAAM,WAGVyqB,gBACEnE,eAAgB,iBAChBtkB,MACEhC,KAAM,WAGVma,aACEmM,eAAgB,cAChBtkB,MACEhC,KAAM,WAGVqpB,aACE/C,eAAgB,cAChBtkB,MACEhC,KAAM,WAGVmpB,OACE7C,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,mCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,4BAKnBgX,MACEhD,eAAgB,OAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,gBASPyyB,IACXnM,eAAgB,2CAChBtkB,MACEhC,KAAM,YACNsS,UAAW,2CACXiU,iBACEoC,aACErC,eAAgB,cAChBtkB,MACEhC,KAAM,SAGVwpB,OACElD,eAAgB,QAChBtkB,MACEhC,KAAM,SAGVgK,QACEsc,eAAgB,SAChBtkB,MACEhC,KAAM,OACNgoB,eACE,MACA,gBACA,YACA,cACA,eACA,WACA,QACA,UACA,oBAQC0K,IACXpM,eAAgB,yEAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yEACXiU,iBACEoM,SACErM,eAAgB,UAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,sDAChBtkB,MACEhC,KAAM,YACNsS,UAAW,kDASZsgB,IACXtM,eAAgB,yCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yCACXiU,iBACEoC,aACErC,eAAgB,cAChBtkB,MACEhC,KAAM,SAGV4oB,MACEtC,eAAgB,OAChBtkB,MACEhC,KAAM,cAOH6yB,IACXvM,eAAgB,uEAChBtkB,MACEhC,KAAM,YACNsS,UAAW,uEACXiU,iBACEoM,SACErM,eAAgB,UAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oDAChBtkB,MACEhC,KAAM,YACNsS,UAAW,gDASZwgB,IACXxM,eAAgB,iCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,iCACXiU,iBACE8D,SACE/D,eAAgB,UAChBtkB,MACEhC,KAAM,WAGVmV,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,WAGVgC,MACEskB,eAAgB,OAChBtkB,MACEhC,KAAM,OACNgoB,eACE,SACA,aACA,cAINhe,QACEsc,eAAgB,SAChBtkB,MACEhC,KAAM,OACNgoB,eACE,OACA,WACA,aAINa,cACEvC,eAAgB,eAChBtkB,MACEhC,KAAM,WAGV8oB,WACExC,eAAgB,YAChBtkB,MACEhC,KAAM,cAOH+yB,IACXzM,eAAgB,yBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yBACXiU,iBACEqC,MACEtC,eAAgB,OAChBtkB,MACEhC,KAAM,WAGV6oB,cACEvC,eAAgB,eAChBtkB,MACEhC,KAAM,WAGV8oB,WACExC,eAAgB,YAChBtkB,MACEhC,KAAM,cAOHgzB,IACX1M,eAAgB,yBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yBACXiU,iBACEqC,MACEtC,eAAgB,OAChBtkB,MACEhC,KAAM,WAGV6oB,cACEvC,eAAgB,eAChBtkB,MACEhC,KAAM,WAGV8oB,WACExC,eAAgB,YAChBtkB,MACEhC,KAAM,cAOHizB,IACX3M,eAAgB,6BAChBtkB,MACEhC,KAAM,YACNsS,UAAW,6BACXiU,iBACEtI,YACEqI,eAAgB,aAChBtkB,MACEhC,KAAM,SAGV0G,QACE4f,eAAgB,SAChBtkB,MACEhC,KAAM,SAGVrC,MAC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,IACE8qB,UAAU,EACVpN,eAAgB,KAChBtkB,MACEhC,KAAM,SAGV4zB,kBACEtN,eAAgB,mBAChBtkB,MACEhC,KAAM,WAGVma,aACEmM,eAAgB,cAChBtkB,MACEhC,KAAM,WAGVgmB,KACEM,eAAgB,MAChBtkB,MACEhC,KAAM,WAGVskB,OACEgC,eAAgB,QAChBtkB,MACEhC,KAAM,cAOHm0B,IACX7N,eAAgB,qBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,qBACXiU,iBACE6N,QACEV,UAAU,EACVpN,eAAgB,SAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKd2O,WACE+kB,UAAU,EACVpN,eAAgB,YAChBtkB,MACEhC,KAAM,OACNgoB,eACE,UACA,OACA,WACA,QACA,qBAQCqM,IACX/N,eAAgB,oBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,oBACXiU,iBACE1H,UACE6U,UAAU,EACVpN,eAAgB,WAChBtkB,MACEhC,KAAM,WAGV2O,WACE+kB,UAAU,EACVpN,eAAgB,YAChBtkB,MACEhC,KAAM,OACNgoB,eACE,UACA,OACA,WACA,QACA,qBAQCsM,IACXhO,eAAgB,mBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,mBACXiU,iBACExlB,KACEulB,eAAgB,MAChBtkB,MACEhC,KAAM,WAGVS,OACE6lB,eAAgB,QAChBtkB,MACEhC,KAAM,cAOHu0B,IACXjO,eAAgB,gCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,gCACXiU,iBACEzV,OACE4iB,UAAU,EACVpN,eAAgB,QAChBkO,aACEC,QAAS,kDAEXzyB,MACEhC,KAAM,WAGV00B,SACEpO,eAAgB,UAChBkO,aACEC,QAAS,kDAEXzyB,MACEhC,KAAM,WAGVqqB,SACE/D,eAAgB,UAChBtkB,MACEhC,KAAM,WAGV20B,cACEjB,UAAU,EACVpN,eAAgB,eAChBtkB,MACEhC,KAAM,WAGV40B,WACEtO,eAAgB,YAChBtkB,MACEhC,KAAM,WAGV60B,YACEvO,eAAgB,aAChBtkB,MACEhC,KAAM,WAGV80B,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,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKdmpB,OACE7C,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,gBASP88B,IACXxW,eAAgB,4BAChBtkB,MACEhC,KAAM,YACNsS,UAAW,8CACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,4EAORyqB,IACXzW,eAAgB,gCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,kDACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,sCAOR0qB,IACX1W,eAAgB,oBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,sCACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yBAOR2qB,IACX3W,eAAgB,oBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,sCACXiU,iBACE2W,gBACE5W,eAAgB,iBAChB+U,cAAc,EACdr5B,MACEhC,KAAM,eAOHm9B,IACX7W,eAAgB,wBAChBtkB,MACEhC,KAAM,YACNsS,UAAW,0CACXiU,iBACE6W,cACE9W,eAAgB,eAChBtkB,MACEhC,KAAM,SAGVq9B,iBACE/W,eAAgB,kBAChBtkB,MACEhC,KAAM,YAOHs9B,IACXhX,eAAgB,mCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,qDACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yBAORirB,IACXjX,eAAgB,oCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,sDACXiU,iBACEmO,SACEpO,eAAgB,UAChBtkB,MACEhC,KAAM,WAGVmV,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,WAGV20B,cACErO,eAAgB,eAChBtkB,MACEhC,KAAM,WAGVmpB,OACE7C,eAAgB,QAChBtkB,MACEhC,KAAM,WACNopB,SACE9C,eAAgB,oBAChBtkB,MACEhC,KAAM,aAKd80B,sBACExO,eAAgB,uBAChBtkB,MACEhC,KAAM,WAGVw9B,+BACElX,eAAgB,gCAChBtkB,MACEhC,KAAM,WAGVk1B,YACE5O,eAAgB,aAChBtkB,MACEhC,KAAM,WAGV40B,WACEtO,eAAgB,YAChBtkB,MACEhC,KAAM,WAGV60B,YACEvO,eAAgB,aAChBtkB,MACEhC,KAAM,cAOHy9B,IACXnX,eAAgB,uCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,yDACXiU,iBACEmO,SACEpO,eAAgB,UAChBtkB,MACEhC,KAAM,WAGVmV,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,WAGV20B,cACErO,eAAgB,eAChBtkB,MACEhC,KAAM,WAGVmpB,OACE7C,eAAgB,QAChBtkB,MACEhC,KAAM,WAGV80B,sBACExO,eAAgB,uBAChBtkB,MACEhC,KAAM,WAGVw9B,+BACElX,eAAgB,gCAChBtkB,MACEhC,KAAM,WAGVk1B,YACE5O,eAAgB,aAChBtkB,MACEhC,KAAM,WAGV40B,WACEtO,eAAgB,YAChBtkB,MACEhC,KAAM,WAGV60B,YACEvO,eAAgB,aAChBtkB,MACEhC,KAAM,cAOH09B,IACXpX,eAAgB,+BAChBtkB,MACEhC,KAAM,YACNsS,UAAW,iDACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,0CAORqrB,IACXrX,eAAgB,sCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,wDACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,iCAORsrB,IACXtX,eAAgB,gCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,kDACXiU,iBACEsX,SACEvX,eAAgB,UAChBtkB,MACEhC,KAAM,cAOH89B,IACXxX,eAAgB,4BAChBtkB,MACEhC,KAAM,YACNsS,UAAW,8CACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,qBAORyrB,IACXzX,eAAgB,mCAChBtkB,MACEhC,KAAM,YACNsS,UAAW,qDACXiU,iBACEpR,MACEmR,eAAgB,OAChBtkB,MACEhC,KAAM,YACNsS,UAAW,8BAOR0rB,IACX1X,eA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","file":"main-client.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1831,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\n\r\nexport interface PageItemInfoState {\r\n [key: string]: PageItemInfo;\r\n}\r\n\r\nexport enum PageItemStatus {\r\n CREATING,\r\n UPDATING,\r\n PUBLISH,\r\n PUBLISHING,\r\n PUBLISHED,\r\n UNPUBLISHED,\r\n FETCHING,\r\n SAVE,\r\n SAVING,\r\n SAVED,\r\n READY,\r\n ERROR\r\n}\r\n\r\nexport interface PageItemInfo {\r\n id: string;\r\n hasChanges: boolean;\r\n isNew: boolean;\r\n status: PageItemStatus;\r\n messages?: string[];\r\n}\r\n\r\nexport interface UpdatePageItemInfoAction {\r\n type: 'UPDATE_PAGE_ITEM_INFO';\r\n pageItemInfo: { [key: string]: PageItemInfo };\r\n}\r\n\r\ninterface RemovePageItemInfoAction {\r\n type: 'REMOVE_PAGE_ITEM_INFO';\r\n key: string;\r\n}\r\n\r\ntype KnownAction = any | UpdatePageItemInfoAction | RemovePageItemInfoAction;\r\n\r\nexport const actionCreators: any = {\r\n updatePageItemInfo: (pageItemInfo: { [key: string]: PageItemInfo }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'UPDATE_PAGE_ITEM_INFO', pageItemInfo: pageItemInfo });\r\n },\r\n remotePageItemInfo: (key: string, pageItemInfo: PageItemInfo): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'REMOVE_PAGE_ITEM_INFO', key: key });\r\n }\r\n};\r\n\r\nconst unloadedState: PageItemInfoState = {};\r\n\r\nexport const reducer: Reducer = (state: PageItemInfoState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'UPDATE_PAGE_ITEM_INFO':\r\n return {\r\n pageItemInfo: { ...state.pageItemInfo, ...action.pageItemInfo }\r\n };\r\n case 'REMOVE_PAGE_ITEM_INFO':\r\n const items = { ...state.pageItemInfo };\r\n delete items[action.key];\r\n return {\r\n pageItemInfo: items\r\n };\r\n default:\r\n //TODO: HACK:\r\n //const exhaustiveCheck: never = action;\r\n }\r\n\r\n return state || unloadedState;\r\n};\r\n","import { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\n\r\nexport interface RootState {\r\n isLoading: boolean;\r\n id: string;\r\n industryId: number;\r\n cultureCode: string;\r\n creatingNewSite: boolean;\r\n siteStatus: SiteStatus;\r\n}\r\n\r\nexport enum SiteStatus {\r\n FetchingFromDatabase,\r\n FetchedFromDatabase,\r\n NoPageItemsInDatabase,\r\n CreateNewSiteTemplates,\r\n SaveNewSite,\r\n SavingNewSite,\r\n SavedNewSite,\r\n PublishNewSite,\r\n PublishingNewSite,\r\n PublishedNewSite,\r\n Idle,\r\n Error\r\n}\r\n\r\ninterface RequestRootItemAction {\r\n type: 'REQUEST_ROOT_ITEM';\r\n id: string;\r\n cultureCode: string;\r\n}\r\n\r\ninterface ReceiveRootItemAction {\r\n type: 'RECEIVE_ROOT_ITEM';\r\n id: string;\r\n cultureCode: string;\r\n industryId: number;\r\n siteState: SiteStatus;\r\n}\r\n\r\nexport interface SiteStatusAction {\r\n type: 'SITE_STATUS';\r\n creatingNewSite: boolean;\r\n siteStatus: SiteStatus;\r\n}\r\n\r\n// TODO: HACK\r\ntype KnownAction = any | RequestRootItemAction | ReceiveRootItemAction | SiteStatusAction;\r\n\r\nexport const actionCreators = {\r\n UpdateSiteStatus: (creating: boolean, siteStatus: SiteStatus): AppThunkAction => (\r\n dispatch,\r\n getState\r\n ) => {\r\n dispatch({ type: 'SITE_STATUS', creatingNewSite: creating, siteStatus: siteStatus });\r\n }\r\n};\r\n\r\nconst unloadedState: RootState = {\r\n id: null,\r\n cultureCode: '',\r\n isLoading: true,\r\n industryId: null,\r\n creatingNewSite: null,\r\n siteStatus: SiteStatus.Idle\r\n};\r\n\r\nexport const reducer: Reducer = (state: RootState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'REQUEST_ROOT_ITEM':\r\n return {\r\n id: action.id,\r\n cultureCode: state.cultureCode,\r\n isLoading: true,\r\n industryId: state.industryId,\r\n creatingNewSite: state.creatingNewSite,\r\n siteStatus: SiteStatus.FetchingFromDatabase\r\n };\r\n case 'RECEIVE_ROOT_ITEM':\r\n return {\r\n id: action.id,\r\n cultureCode: action.cultureCode,\r\n isLoading: action.isLoading,\r\n industryId: action.industryId,\r\n creatingNewSite: state.creatingNewSite,\r\n siteStatus: action.siteStatus\r\n };\r\n case 'SITE_STATUS':\r\n return {\r\n id: state.id,\r\n cultureCode: state.cultureCode,\r\n isLoading: false,\r\n industryId: state.industryId,\r\n creatingNewSite: action.creatingNewSite,\r\n siteStatus: action.siteStatus\r\n };\r\n default:\r\n //const exhaustiveCheck: never = action;\r\n }\r\n\r\n return state || unloadedState;\r\n};\r\n","\r\ndeclare var API_SETTINGS;\r\nconst apiSettings = API_SETTINGS;\r\nexport default class ApiConstants {\r\n public static siteOptions = {\r\n auth: apiSettings.Authentication.QuerySite.ApiAddress,\r\n\r\n companyCommands: apiSettings.Company.Command.ApiAddress,\r\n companyQueries: apiSettings.Company.Query.ApiAddress,\r\n companyQueriesSingle: apiSettings.Company.QuerySingle.ApiAddress,\r\n\r\n siteCommands: apiSettings.Site.Command.ApiAddress,\r\n siteQueries: apiSettings.Site.Query.ApiAddress,\r\n siteCreation: apiSettings.SiteCreation.Command.ApiAddress,\r\n jaeQueries: apiSettings.Jae.Query.ApiAddress,\r\n\r\n itemDraftCommands: apiSettings.ItemDraft.Command.ApiAddress,\r\n itemDraftQueries: apiSettings.ItemDraft.Query.ApiAddress,\r\n itemHomePageQueries: apiSettings.ItemHomePage.Query.ApiAddress,\r\n itemCommands: apiSettings.Item.Command.ApiAddress,\r\n\r\n jobAdQueries: apiSettings.JobAd.Query.ApiAddress,\r\n jobAdCommands: apiSettings.JobAd.Command.ApiAddress,\r\n jobAdQueryFiltered: apiSettings.JobAd.QueryFiltered.ApiAddress,\r\n\r\n candidateListQueries: apiSettings.CandidateList.Query.ApiAddress,\r\n candidateListCommands: apiSettings.CandidateList.Command.ApiAddress,\r\n\r\n fileStore: apiSettings.FileStore.Command.ApiAddress,\r\n fileStoreTemp: apiSettings.FileStore.CommandTemp.ApiAddress,\r\n fileStoreCDN: apiSettings.FileStore.Query.ApiAddress,\r\n fileMultipleCommand: apiSettings.FileStore.MultipleCommand.ApiAddress,\r\n fileStoreDownload: apiSettings.FileStore.Download.ApiAddress,\r\n\r\n jobAdOfirQueries: apiSettings.Ofir.Query.ApiAddress,\r\n jobAdOfirCommands: apiSettings.Ofir.Command.ApiAddress,\r\n jobAdOfirQueriesOrder: apiSettings.Ofir.QueryOrder.ApiAddress,\r\n jobAdOfirQueriesAreaLocation: apiSettings.Ofir.QueryAreaLocation.ApiAddress,\r\n\r\n emailCommands: apiSettings.Email.Command.ApiAddress,\r\n emailCommandWithFiles: apiSettings.Email.CommandWithFiles.ApiAddress,\r\n emailCommandWithFileRefs: apiSettings.Email.CommandWithFileRefs.ApiAddress,\r\n emailQueries: apiSettings.Email.Query.ApiAddress,\r\n emailQueryFrequency: apiSettings.Email.QueryFrequency.ApiAddress,\r\n emailCommandFrequency: apiSettings.Email.CommandFrequency.ApiAddress,\r\n\r\n emailTemplatesCommands: apiSettings.EmailTemplates.Command.ApiAddress,\r\n emailTemplatesQueries: apiSettings.EmailTemplates.Query.ApiAddress,\r\n\r\n cssCommands: apiSettings.CSSGenerator.Command.ApiAddress,\r\n uploadCommands: apiSettings.FileStore.Command.ApiAddress,\r\n\r\n imageCommands: apiSettings.Image.Command.ApiAddress,\r\n imagesCommands: apiSettings.Images.Command.ApiAddress,\r\n imagesQueries: apiSettings.Images.Query.ApiAddress,\r\n\r\n userCommands: apiSettings.User.Command.ApiAddress,\r\n userQueries: apiSettings.User.Query.ApiAddress,\r\n\r\n analiticQuery: apiSettings.Analitics.Query.ApiAddress,\r\n pipeDrive: apiSettings.PipeDrive.Query.ApiAddress,\r\n\r\n customerQuery: apiSettings.Customer.Query.ApiAddress\r\n };\r\n \r\n \r\n public static siteId = typeof window == 'undefined' ? undefined : window['SITE_ID'];\r\n\r\n public static siteCultureCode = typeof window == 'undefined' ? undefined : window['SITE_CULTURE_CODE'];\r\n\r\n public static header = createHeader(false);\r\n public static headerWithToken = createHeader(true);\r\n public static headerForFile = createHeaderForFile();\r\n}\r\n\r\nexport function createHeader(requireAuthToken: boolean) {\r\n return {\r\n Authorization: requireAuthToken ? 'Bearer ' + getAuthToken() : '',\r\n Accept: 'application/json',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Content-Type': 'application/json'\r\n };\r\n}\r\n\r\nfunction createHeaderForFile() {\r\n return {\r\n Accept: 'application/json',\r\n 'Access-Control-Allow-Origin': '*'\r\n };\r\n}\r\n\r\nexport function getAuthToken() {\r\n if (typeof document == 'undefined') {\r\n return undefined;\r\n }\r\n const NAME = 'access_token';\r\n const matches = document.cookie.match(new RegExp('(?:^|; )' + NAME.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)'));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n}\r\n","/*\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"ms-rest-js\";\n\n\n/**\n * @interface\n * An interface representing CustomerModel.\n */\nexport interface CustomerModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {number} [customerId]\n */\n customerId?: number;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {string} [cvr]\n */\n cvr?: string;\n /**\n * @member {string} [ean]\n */\n ean?: string;\n /**\n * @member {string} [pNumber]\n */\n pNumber?: string;\n /**\n * @member {string} [address]\n */\n address?: string;\n /**\n * @member {string} [address2]\n */\n address2?: string;\n /**\n * @member {string} [city]\n */\n city?: string;\n /**\n * @member {string} [zipCode]\n */\n zipCode?: string;\n /**\n * @member {string} [country]\n */\n country?: string;\n /**\n * @member {string} [webAddress]\n */\n webAddress?: string;\n /**\n * @member {string} [email]\n */\n email?: string;\n /**\n * @member {string} [phone1]\n */\n phone1?: string;\n /**\n * @member {string} [phone2]\n */\n phone2?: string;\n /**\n * @member {string} [phone3]\n */\n phone3?: string;\n /**\n * @member {string} [industryCode]\n */\n industryCode?: string;\n /**\n * @member {Date} [created]\n */\n created?: Date;\n /**\n * @member {Date} [modified]\n */\n modified?: Date;\n /**\n * @member {string} [modifiedBy]\n */\n modifiedBy?: string;\n /**\n * @member {string} [createdBy]\n */\n createdBy?: string;\n /**\n * @member {string} [correlationId]\n */\n correlationId?: string;\n /**\n * @member {boolean} [isDeleted]\n */\n isDeleted?: boolean;\n /**\n * @member {boolean} [isHq]\n */\n isHq?: boolean;\n /**\n * @member {string} [deleteReason]\n */\n deleteReason?: string;\n /**\n * @member {string} [packageProperty]\n */\n packageProperty?: string;\n}\n\n/**\n * @interface\n * An interface representing CandidateListRequestModel.\n */\nexport interface CandidateListRequestModel {\n /**\n * @member {Status} [status] Possible values include: 'New', 'ToBeContacted',\n * 'Contacted', 'Interviewed', 'ToBeRejected', 'Rejected', 'Hired',\n * 'Deleted', 'Interesting'\n */\n status?: Status;\n /**\n * @member {string} [searchValue]\n */\n searchValue?: string;\n /**\n * @member {string} [sortField]\n */\n sortField?: string;\n /**\n * @member {number} [sortOrder]\n */\n sortOrder?: number;\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [page]\n */\n page?: number;\n /**\n * @member {boolean} [excludeDeleted]\n */\n excludeDeleted?: boolean;\n}\n\n/**\n * @interface\n * An interface representing OriginalNameFileModel.\n */\nexport interface OriginalNameFileModel {\n /**\n * @member {string} [fileGuid]\n */\n fileGuid?: string;\n /**\n * @member {string} [originalName]\n */\n originalName?: string;\n}\n\n/**\n * @interface\n * An interface representing NoteModel.\n */\nexport interface NoteModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [candidateId]\n */\n candidateId?: string;\n /**\n * @member {string} [note]\n */\n note?: string;\n /**\n * @member {string} [userFullName]\n */\n userFullName?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n /**\n * @member {Date} [createDate]\n */\n createDate?: Date;\n /**\n * @member {Date} [modifiedDate]\n */\n modifiedDate?: Date;\n}\n\n/**\n * @interface\n * An interface representing CandidateListShortModel.\n */\nexport interface CandidateListShortModel {\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {Date} [applicationDate]\n */\n applicationDate?: Date;\n /**\n * @member {OriginalNameFileModel[]} [files]\n */\n files?: OriginalNameFileModel[];\n /**\n * @member {string} [email]\n */\n email?: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {string[]} [urls]\n */\n urls?: string[];\n /**\n * @member {Status} [status] Possible values include: 'New', 'ToBeContacted',\n * 'Contacted', 'Interviewed', 'ToBeRejected', 'Rejected', 'Hired',\n * 'Deleted', 'Interesting'\n */\n status?: Status;\n /**\n * @member {NoteModel[]} [notes]\n */\n notes?: NoteModel[];\n /**\n * @member {string} [jobId]\n */\n jobId?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {number} [numberOfEmails]\n */\n numberOfEmails?: number;\n /**\n * @member {ApplyMethodEnum} [applyMethod] Possible values include: 'Normal',\n * 'LightApply1'\n */\n applyMethod?: ApplyMethodEnum;\n /**\n * @member {string} [lightApplyData]\n */\n lightApplyData?: string;\n}\n\n/**\n * @interface\n * An interface representing CandidateListShortModelCandidateListResult.\n */\nexport interface CandidateListShortModelCandidateListResult {\n /**\n * @member {CandidateListShortModel[]} [candidateList]\n */\n candidateList?: CandidateListShortModel[];\n /**\n * @member {number} [total]\n */\n total?: number;\n}\n\n/**\n * @interface\n * An interface representing TemplateEmailFile.\n */\nexport interface TemplateEmailFile {\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {number} [size]\n */\n size?: number;\n /**\n * @member {string} [absolutePath]\n */\n absolutePath?: string;\n /**\n * @member {string} [contentType]\n */\n contentType?: string;\n}\n\n/**\n * @interface\n * An interface representing CandidateListEmailModel.\n */\nexport interface CandidateListEmailModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [subject]\n */\n subject?: string;\n /**\n * @member {string} [body]\n */\n body?: string;\n /**\n * @member {EmailType} [type] Possible values include: 'Normal',\n * 'Invitation', 'Declined'\n */\n type?: EmailType;\n /**\n * @member {EmailStatus} [status] Possible values include: 'Send',\n * 'Received', 'Bounced'\n */\n status?: EmailStatus;\n /**\n * @member {Date} [dateCreated]\n */\n dateCreated?: Date;\n /**\n * @member {string} [userFullName]\n */\n userFullName?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n /**\n * @member {string} [correlationId]\n */\n correlationId?: string;\n /**\n * @member {TemplateEmailFile[]} [files]\n */\n files?: TemplateEmailFile[];\n}\n\n/**\n * @interface\n * An interface representing CandidateListFullModel.\n */\nexport interface CandidateListFullModel {\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string[]} [tags]\n */\n tags?: string[];\n /**\n * @member {string} [latestJobTitle]\n */\n latestJobTitle?: string;\n /**\n * @member {number} [applicationType]\n */\n applicationType?: number;\n /**\n * @member {string} [wantedJobTitle]\n */\n wantedJobTitle?: string;\n /**\n * @member {string} [educationLevel]\n */\n educationLevel?: string;\n /**\n * @member {number} [experienceYears]\n */\n experienceYears?: number;\n /**\n * @member {string} [address]\n */\n address?: string;\n /**\n * @member {string} [zipCode]\n */\n zipCode?: string;\n /**\n * @member {string} [city]\n */\n city?: string;\n /**\n * @member {Date} [dateCreated]\n */\n dateCreated?: Date;\n /**\n * @member {Date} [dateUpdated]\n */\n dateUpdated?: Date;\n /**\n * @member {CandidateListEmailModel[]} [emails]\n */\n emails?: CandidateListEmailModel[];\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {Date} [applicationDate]\n */\n applicationDate?: Date;\n /**\n * @member {OriginalNameFileModel[]} [files]\n */\n files?: OriginalNameFileModel[];\n /**\n * @member {string} [email]\n */\n email?: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {string[]} [urls]\n */\n urls?: string[];\n /**\n * @member {Status} [status] Possible values include: 'New', 'ToBeContacted',\n * 'Contacted', 'Interviewed', 'ToBeRejected', 'Rejected', 'Hired',\n * 'Deleted', 'Interesting'\n */\n status?: Status;\n /**\n * @member {NoteModel[]} [notes]\n */\n notes?: NoteModel[];\n /**\n * @member {string} [jobId]\n */\n jobId?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {number} [numberOfEmails]\n */\n numberOfEmails?: number;\n /**\n * @member {ApplyMethodEnum} [applyMethod] Possible values include: 'Normal',\n * 'LightApply1'\n */\n applyMethod?: ApplyMethodEnum;\n /**\n * @member {string} [lightApplyData]\n */\n lightApplyData?: string;\n}\n\n/**\n * @interface\n * An interface representing CandidateListFullModelCandidateListResult.\n */\nexport interface CandidateListFullModelCandidateListResult {\n /**\n * @member {CandidateListFullModel[]} [candidateList]\n */\n candidateList?: CandidateListFullModel[];\n /**\n * @member {number} [total]\n */\n total?: number;\n}\n\n/**\n * @interface\n * An interface representing EmailSettingsModel.\n */\nexport interface EmailSettingsModel {\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {EmailSettingsFrequency} [frequency] Possible values include:\n * 'EachApply', 'Daily', 'Weekly'\n */\n frequency?: EmailSettingsFrequency;\n /**\n * @member {number} [sendDay]\n */\n sendDay?: number;\n /**\n * @member {number} [sendTime]\n */\n sendTime?: number;\n}\n\n/**\n * @interface\n * An interface representing EmailResultTemplateContent.\n */\nexport interface EmailResultTemplateContent {\n /**\n * @member {string} [subject]\n */\n subject?: string;\n /**\n * @member {string} [content]\n */\n content?: string;\n}\n\n/**\n * @interface\n * An interface representing TemplateShortModel.\n */\nexport interface TemplateShortModel {\n /**\n * @member {string} [templateId]\n */\n templateId?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {Date} [createdDate]\n */\n createdDate?: Date;\n /**\n * @member {Date} [updatedDate]\n */\n updatedDate?: Date;\n /**\n * @member {string} [name]\n */\n name?: string;\n}\n\n/**\n * @interface\n * An interface representing ListTemplateShortModelResponse.\n */\nexport interface ListTemplateShortModelResponse {\n /**\n * @member {TemplateShortModel[]} [list]\n */\n list?: TemplateShortModel[];\n}\n\n/**\n * @interface\n * An interface representing TemplateAttachmentModel.\n */\nexport interface TemplateAttachmentModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {string} [extension]\n */\n extension?: string;\n}\n\n/**\n * @interface\n * An interface representing TemplateModelResponse.\n */\nexport interface TemplateModelResponse {\n /**\n * @member {string} [templateId]\n */\n templateId?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {Date} [createdDate]\n */\n createdDate?: Date;\n /**\n * @member {Date} [updatedDate]\n */\n updatedDate?: Date;\n /**\n * @member {string} [data]\n */\n data?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {TemplateAttachmentModel[]} [attachments]\n */\n attachments?: TemplateAttachmentModel[];\n}\n\n/**\n * @interface\n * An interface representing IHaveSiteModel.\n */\nexport interface IHaveSiteModel {\n /**\n * @member {string} [id]\n */\n readonly id?: string;\n /**\n * @member {string} [name]\n */\n readonly name?: string;\n /**\n * @member {string} [host]\n */\n readonly host?: string;\n /**\n * @member {string} [masterData]\n */\n readonly masterData?: string;\n /**\n * @member {string} [cultureCode]\n */\n readonly cultureCode?: string;\n /**\n * @member {Date} [createdAt]\n */\n readonly createdAt?: Date;\n}\n\n/**\n * @interface\n * An interface representing SiteEntity.\n */\nexport interface SiteEntity {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {string} [host]\n */\n host?: string;\n /**\n * @member {Date} [createdAt]\n */\n createdAt?: Date;\n /**\n * @member {Date} [modifiedAt]\n */\n modifiedAt?: Date;\n /**\n * @member {string} [correlationId]\n */\n correlationId?: string;\n /**\n * @member {string} [masterData]\n */\n masterData?: string;\n /**\n * @member {string} [cultureCode]\n */\n cultureCode?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {number} [siteState]\n */\n siteState?: number;\n /**\n * @member {number} [siteType]\n */\n siteType?: number;\n /**\n * @member {string} [metaTitle]\n */\n metaTitle?: string;\n /**\n * @member {string} [metaDescription]\n */\n metaDescription?: string;\n}\n\n/**\n * @interface\n * An interface representing IHaveEmailSiteModel.\n */\nexport interface IHaveEmailSiteModel {\n /**\n * @member {string} [id]\n */\n readonly id?: string;\n /**\n * @member {Date} [createdAt]\n */\n readonly createdAt?: Date;\n /**\n * @member {string} [cultureCode]\n */\n readonly cultureCode?: string;\n}\n\n/**\n * @interface\n * An interface representing JobAdListItem.\n */\nexport interface JobAdListItem {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [siteID]\n */\n siteID?: string;\n /**\n * @member {string} [title]\n */\n title?: string;\n /**\n * @member {Date} [createDate]\n */\n createDate?: Date;\n /**\n * @member {Date} [expiryDate]\n */\n expiryDate?: Date;\n /**\n * @member {number} [status]\n */\n status?: number;\n /**\n * @member {string} [url]\n */\n url?: string;\n /**\n * @member {string[]} [condition]\n */\n condition?: string[];\n /**\n * @member {Date} [activationDate]\n */\n activationDate?: Date;\n /**\n * @member {string[]} [jobType]\n */\n jobType?: string[];\n /**\n * @member {string} [locationCity]\n */\n locationCity?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntrySearchedCountLink]\n */\n statisticsRegisterFeedEntrySearchedCountLink?: string;\n}\n\n/**\n * @interface\n * An interface representing JobAdListItemSearchResult.\n */\nexport interface JobAdListItemSearchResult {\n /**\n * @member {number} [total]\n */\n total?: number;\n /**\n * @member {number} [page]\n */\n page?: number;\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [count]\n */\n count?: number;\n /**\n * @member {JobAdListItem[]} [results]\n */\n results?: JobAdListItem[];\n}\n\n/**\n * @interface\n * An interface representing ProductItemModel.\n */\nexport interface ProductItemModel {\n /**\n * @member {string} [productNumber]\n */\n productNumber?: string;\n /**\n * @member {string} [productName]\n */\n productName?: string;\n /**\n * @member {string} [productPrice]\n */\n productPrice?: string;\n}\n\n/**\n * @interface\n * An interface representing JobAdLocationsModel.\n */\nexport interface JobAdLocationsModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [jobAdId]\n */\n jobAdId?: string;\n /**\n * @member {string} [locationAddress]\n */\n locationAddress?: string;\n /**\n * @member {string} [locationZipCode]\n */\n locationZipCode?: string;\n /**\n * @member {string} [locationCity]\n */\n locationCity?: string;\n /**\n * @member {string} [locationCountry]\n */\n locationCountry?: string;\n /**\n * @member {string} [area]\n */\n area?: string;\n /**\n * @member {number} [areaId]\n */\n areaId?: number;\n /**\n * @member {boolean} [primary]\n */\n primary?: boolean;\n /**\n * @member {boolean} [useArea]\n */\n useArea?: boolean;\n}\n\n/**\n * @interface\n * An interface representing JobAdModel.\n */\nexport interface JobAdModel {\n /**\n * @member {string} [topImage]\n */\n topImage?: string;\n /**\n * @member {string} [backgroundImage]\n */\n backgroundImage?: string;\n /**\n * @member {string} [title]\n */\n title?: string;\n /**\n * @member {Date} [createDate]\n */\n createDate?: Date;\n /**\n * @member {Date} [expiryDate]\n */\n expiryDate?: Date;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [externalID]\n */\n externalID?: string;\n /**\n * @member {string} [externalSource]\n */\n externalSource?: string;\n /**\n * @member {string[]} [category]\n */\n category?: string[];\n /**\n * @member {string[]} [jobType]\n */\n jobType?: string[];\n /**\n * @member {string[]} [position]\n */\n position?: string[];\n /**\n * @member {string[]} [condition]\n */\n condition?: string[];\n /**\n * @member {number} [salaryFrom]\n */\n salaryFrom?: number;\n /**\n * @member {number} [salaryTo]\n */\n salaryTo?: number;\n /**\n * @member {string} [salaryType]\n */\n salaryType?: string;\n /**\n * @member {string} [salaryCurrency]\n */\n salaryCurrency?: string;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string} [contactName]\n */\n contactName?: string;\n /**\n * @member {string} [contactPhone]\n */\n contactPhone?: string;\n /**\n * @member {string} [contactEmail]\n */\n contactEmail?: string;\n /**\n * @member {string} [commercialContactName]\n */\n commercialContactName?: string;\n /**\n * @member {string} [commercialContact]\n */\n commercialContact?: string;\n /**\n * @member {string} [locationAddress]\n */\n locationAddress?: string;\n /**\n * @member {string} [locationZipCode]\n */\n locationZipCode?: string;\n /**\n * @member {string} [locationCity]\n */\n locationCity?: string;\n /**\n * @member {string} [locationCounty]\n */\n locationCounty?: string;\n /**\n * @member {string} [locationCountry]\n */\n locationCountry?: string;\n /**\n * @member {string} [internalReference]\n */\n internalReference?: string;\n /**\n * @member {number[]} [applicationMethod]\n */\n applicationMethod?: number[];\n /**\n * @member {string[]} [exportOptions]\n */\n exportOptions?: string[];\n /**\n * @member {string} [companyID]\n */\n companyID?: string;\n /**\n * @member {string} [companyName]\n */\n companyName?: string;\n /**\n * @member {string} [companyAddress]\n */\n companyAddress?: string;\n /**\n * @member {string} [companyCity]\n */\n companyCity?: string;\n /**\n * @member {string} [companyZipCode]\n */\n companyZipCode?: string;\n /**\n * @member {string} [companyCounty]\n */\n companyCounty?: string;\n /**\n * @member {string} [companyCountry]\n */\n companyCountry?: string;\n /**\n * @member {string} [companyEmail]\n */\n companyEmail?: string;\n /**\n * @member {string} [companyPhone]\n */\n companyPhone?: string;\n /**\n * @member {string} [companyWWW]\n */\n companyWWW?: string;\n /**\n * @member {string} [companyCommercialContactName]\n */\n companyCommercialContactName?: string;\n /**\n * @member {string} [companyCommercialContact]\n */\n companyCommercialContact?: string;\n /**\n * @member {string} [companyCommercialVatNumber]\n */\n companyCommercialVatNumber?: string;\n /**\n * @member {string} [companyCommercialExternalId]\n */\n companyCommercialExternalId?: string;\n /**\n * @member {string} [companyContactPerson]\n */\n companyContactPerson?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {number} [status]\n */\n status?: number;\n /**\n * @member {string} [url]\n */\n url?: string;\n /**\n * @member {string} [urlHash]\n */\n urlHash?: string;\n /**\n * @member {string} [applicationUrl]\n */\n applicationUrl?: string;\n /**\n * @member {string} [companyVATIdentifier]\n */\n companyVATIdentifier?: string;\n /**\n * @member {string} [productionUnitIdentifier]\n */\n productionUnitIdentifier?: string;\n /**\n * @member {string} [globalLocationNumber]\n */\n globalLocationNumber?: string;\n /**\n * @member {string} [requestedPackageId]\n */\n requestedPackageId?: string;\n /**\n * @member {string} [requestedPackageName]\n */\n requestedPackageName?: string;\n /**\n * @member {string} [requestedPackagePrice]\n */\n requestedPackagePrice?: string;\n /**\n * @member {number} [requestedPackageDurationDays]\n */\n requestedPackageDurationDays?: number;\n /**\n * @member {ProductItemModel[]} [requestedPackageProducts]\n */\n requestedPackageProducts?: ProductItemModel[];\n /**\n * @member {string} [countryCode]\n */\n countryCode?: string;\n /**\n * @member {Date} [activationDate]\n */\n activationDate?: Date;\n /**\n * @member {number} [updateFlag]\n */\n updateFlag?: number;\n /**\n * @member {string} [correlationId]\n */\n correlationId?: string;\n /**\n * @member {string} [pNumber]\n */\n pNumber?: string;\n /**\n * @member {string} [statisticsRegisterFeedDisplayCountLink]\n */\n statisticsRegisterFeedDisplayCountLink?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntrySearchedCountLink]\n */\n statisticsRegisterFeedEntrySearchedCountLink?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntryDisplayCountLink]\n */\n statisticsRegisterFeedEntryDisplayCountLink?: string;\n /**\n * @member {string} [statisticsRegisterJobApplicationInitiatedCountLink]\n */\n statisticsRegisterJobApplicationInitiatedCountLink?: string;\n /**\n * @member {string} [statisticsRegisterJobApplicationAppliedCountLink]\n */\n statisticsRegisterJobApplicationAppliedCountLink?: string;\n /**\n * @member {number} [candidateCount]\n */\n candidateCount?: number;\n /**\n * @member {number} [numberOfVacancies]\n */\n numberOfVacancies?: number;\n /**\n * @member {number} [applyMethod]\n */\n applyMethod?: number;\n /**\n * @member {string} [author]\n */\n author?: string;\n /**\n * @member {Date} [modifyDate]\n */\n modifyDate?: Date;\n /**\n * @member {string} [logoId]\n */\n logoId?: string;\n /**\n * @member {string} [ogimage]\n */\n ogimage?: string;\n /**\n * @member {string} [orderByName]\n */\n orderByName?: string;\n /**\n * @member {string} [orderByEmail]\n */\n orderByEmail?: string;\n /**\n * @member {boolean} [anonymousLocation]\n */\n anonymousLocation?: boolean;\n /**\n * @member {string} [alternateTextAnonymousLocation]\n */\n alternateTextAnonymousLocation?: string;\n /**\n * @member {JobAdLocationsModel[]} [locations]\n */\n locations?: JobAdLocationsModel[];\n /**\n * @member {string} [locationString]\n */\n locationString?: string;\n /**\n * @member {string} [locationMapUri]\n */\n locationMapUri?: string;\n /**\n * @member {boolean} [isPublished]\n */\n isPublished?: boolean;\n /**\n * @member {boolean} [useEAN]\n */\n useEAN?: boolean;\n /**\n * @member {string} [customerName]\n */\n customerName?: string;\n}\n\n/**\n * @interface\n * An interface representing JobAdModelSearchResult.\n */\nexport interface JobAdModelSearchResult {\n /**\n * @member {number} [total]\n */\n total?: number;\n /**\n * @member {number} [page]\n */\n page?: number;\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [count]\n */\n count?: number;\n /**\n * @member {JobAdModel[]} [results]\n */\n results?: JobAdModel[];\n}\n\n/**\n * @interface\n * An interface representing EncryptedData.\n */\nexport interface EncryptedData {\n /**\n * @member {string} [publicKey]\n */\n publicKey?: string;\n /**\n * @member {string} [data]\n */\n data?: string;\n}\n\n/**\n * @interface\n * An interface representing SearchParams.\n */\nexport interface SearchParams {\n /**\n * @member {string} [searchValue]\n */\n searchValue?: string;\n}\n\n/**\n * @interface\n * An interface representing CreateCandidateModel.\n */\nexport interface CreateCandidateModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {Date} [applicationDate]\n */\n applicationDate?: Date;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string[]} [tags]\n */\n tags?: string[];\n /**\n * @member {OriginalNameFileModel[]} [files]\n */\n files?: OriginalNameFileModel[];\n /**\n * @member {string} [latestJobTitle]\n */\n latestJobTitle?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [email]\n */\n email?: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {number} [applicationType]\n */\n applicationType?: number;\n /**\n * @member {string[]} [urls]\n */\n urls?: string[];\n /**\n * @member {string} [wantedJobTitle]\n */\n wantedJobTitle?: string;\n /**\n * @member {string} [educationLevel]\n */\n educationLevel?: string;\n /**\n * @member {number} [experienceYears]\n */\n experienceYears?: number;\n /**\n * @member {string} [address]\n */\n address?: string;\n /**\n * @member {string} [zipCode]\n */\n zipCode?: string;\n /**\n * @member {string} [city]\n */\n city?: string;\n /**\n * @member {Date} [dateCreated]\n */\n dateCreated?: Date;\n /**\n * @member {Date} [dateUpdated]\n */\n dateUpdated?: Date;\n /**\n * @member {Status} [status] Possible values include: 'New', 'ToBeContacted',\n * 'Contacted', 'Interviewed', 'ToBeRejected', 'Rejected', 'Hired',\n * 'Deleted', 'Interesting'\n */\n status?: Status;\n /**\n * @member {string} [jobId]\n */\n jobId?: string;\n /**\n * @member {CandidateListEmailModel[]} [emails]\n */\n emails?: CandidateListEmailModel[];\n /**\n * @member {ApplyMethodEnum} [applyMethod] Possible values include: 'Normal',\n * 'LightApply1'\n */\n applyMethod?: ApplyMethodEnum;\n /**\n * @member {string} [lightApplyData]\n */\n lightApplyData?: string;\n /**\n * @member {NoteModel[]} [notes]\n */\n notes?: NoteModel[];\n}\n\n/**\n * @interface\n * An interface representing UpdateCandidateModel.\n */\nexport interface UpdateCandidateModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {Date} [applicationDate]\n */\n applicationDate?: Date;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string[]} [tags]\n */\n tags?: string[];\n /**\n * @member {OriginalNameFileModel[]} [files]\n */\n files?: OriginalNameFileModel[];\n /**\n * @member {string} [latestJobTitle]\n */\n latestJobTitle?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [email]\n */\n email?: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {number} [applicationType]\n */\n applicationType?: number;\n /**\n * @member {string[]} [urls]\n */\n urls?: string[];\n /**\n * @member {string} [wantedJobTitle]\n */\n wantedJobTitle?: string;\n /**\n * @member {string} [educationLevel]\n */\n educationLevel?: string;\n /**\n * @member {number} [experienceYears]\n */\n experienceYears?: number;\n /**\n * @member {string} [address]\n */\n address?: string;\n /**\n * @member {string} [zipCode]\n */\n zipCode?: string;\n /**\n * @member {string} [city]\n */\n city?: string;\n /**\n * @member {Date} [dateCreated]\n */\n dateCreated?: Date;\n /**\n * @member {Date} [dateUpdated]\n */\n dateUpdated?: Date;\n /**\n * @member {Status} [status] Possible values include: 'New', 'ToBeContacted',\n * 'Contacted', 'Interviewed', 'ToBeRejected', 'Rejected', 'Hired',\n * 'Deleted', 'Interesting'\n */\n status?: Status;\n /**\n * @member {NoteModel[]} [notes]\n */\n notes?: NoteModel[];\n /**\n * @member {string} [jobId]\n */\n jobId?: string;\n /**\n * @member {CandidateListEmailModel[]} [emails]\n */\n emails?: CandidateListEmailModel[];\n}\n\n/**\n * @interface\n * An interface representing PatchCandidateDetailsModel.\n */\nexport interface PatchCandidateDetailsModel {\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {string} [email]\n */\n email?: string;\n /**\n * @member {string} [educationLevel]\n */\n educationLevel?: string;\n /**\n * @member {number} [experienceYears]\n */\n experienceYears?: number;\n /**\n * @member {string} [latestJobTitle]\n */\n latestJobTitle?: string;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {OriginalNameFileModel[]} [files]\n */\n files?: OriginalNameFileModel[];\n /**\n * @member {string[]} [urls]\n */\n urls?: string[];\n}\n\n/**\n * @interface\n * An interface representing PatchDataCandidateListStatusModelRequest.\n */\nexport interface PatchDataCandidateListStatusModelRequest {\n /**\n * @member {string} [candidateId]\n */\n candidateId?: string;\n /**\n * @member {string} [jobId]\n */\n jobId?: string;\n /**\n * @member {Status} [status] Possible values include: 'New', 'ToBeContacted',\n * 'Contacted', 'Interviewed', 'ToBeRejected', 'Rejected', 'Hired',\n * 'Deleted', 'Interesting'\n */\n status?: Status;\n}\n\n/**\n * @interface\n * An interface representing PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest.\n */\nexport interface PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest {\n /**\n * @member {PatchDataCandidateListStatusModelRequest[]} [changes]\n */\n changes?: PatchDataCandidateListStatusModelRequest[];\n}\n\n/**\n * @interface\n * An interface representing PatchDataCandidateListNoteModelRequest.\n */\nexport interface PatchDataCandidateListNoteModelRequest {\n /**\n * @member {string} [candidateId]\n */\n candidateId?: string;\n /**\n * @member {string} [note]\n */\n note?: string;\n}\n\n/**\n * @interface\n * An interface representing PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest.\n */\nexport interface PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest {\n /**\n * @member {PatchDataCandidateListNoteModelRequest[]} [changes]\n */\n changes?: PatchDataCandidateListNoteModelRequest[];\n}\n\n/**\n * @interface\n * An interface representing PatchDataCandidateEmailRequest.\n */\nexport interface PatchDataCandidateEmailRequest {\n /**\n * @member {string} [subject]\n */\n subject?: string;\n /**\n * @member {string} [body]\n */\n body?: string;\n /**\n * @member {EmailType} [type] Possible values include: 'Normal',\n * 'Invitation', 'Declined'\n */\n type?: EmailType;\n /**\n * @member {EmailStatus} [status] Possible values include: 'Send',\n * 'Received', 'Bounced'\n */\n status?: EmailStatus;\n /**\n * @member {string} [userFullName]\n */\n userFullName?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n}\n\n/**\n * @interface\n * An interface representing CreateNoteModelRequest.\n */\nexport interface CreateNoteModelRequest {\n /**\n * @member {string} [note]\n */\n note?: string;\n /**\n * @member {string} [userFullName]\n */\n userFullName?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n}\n\n/**\n * @interface\n * An interface representing UpdateNoteModelRequest.\n */\nexport interface UpdateNoteModelRequest {\n /**\n * @member {string} [note]\n */\n note?: string;\n /**\n * @member {string} [userFullName]\n */\n userFullName?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n}\n\n/**\n * @interface\n * An interface representing CreateTemplateModelRequest.\n */\nexport interface CreateTemplateModelRequest {\n /**\n * @member {string} [templateId]\n */\n templateId?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [data]\n */\n data?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {TemplateAttachmentModel[]} [attachments]\n */\n attachments?: TemplateAttachmentModel[];\n}\n\n/**\n * @interface\n * An interface representing UpdateTemplateModelRequest.\n */\nexport interface UpdateTemplateModelRequest {\n /**\n * @member {string} [templateId]\n */\n templateId?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [data]\n */\n data?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {TemplateAttachmentModel[]} [attachments]\n */\n attachments?: TemplateAttachmentModel[];\n}\n\n/**\n * @interface\n * An interface representing IFileModel.\n */\nexport interface IFileModel {\n /**\n * @member {string} [filename]\n */\n filename?: string;\n /**\n * @member {string} [originalFilename]\n */\n originalFilename?: string;\n /**\n * @member {string} [contentType]\n */\n contentType?: string;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [relativePath]\n */\n relativePath?: string;\n}\n\n/**\n * @interface\n * An interface representing PostSiteViewModel.\n */\nexport interface PostSiteViewModel {\n /**\n * @member {string} [host]\n */\n host?: string;\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {string} [masterData]\n */\n masterData?: string;\n /**\n * @member {string} [cultureCode]\n */\n cultureCode?: string;\n}\n\n/**\n * @interface\n * An interface representing PutSiteViewModel.\n */\nexport interface PutSiteViewModel {\n /**\n * @member {string} [name]\n */\n name?: string;\n /**\n * @member {string} [host]\n */\n host?: string;\n /**\n * @member {string} [masterData]\n */\n masterData?: string;\n /**\n * @member {string} [cultureCode]\n */\n cultureCode?: string;\n /**\n * @member {number} [siteType]\n */\n siteType?: number;\n /**\n * @member {string} [metaTitle]\n */\n metaTitle?: string;\n /**\n * @member {string} [metaDescription]\n */\n metaDescription?: string;\n}\n\n/**\n * @interface\n * An interface representing ResultViewModel.\n */\nexport interface ResultViewModel {\n /**\n * @member {string} description\n */\n description: string;\n /**\n * @member {UploadingResultCode} code Possible values include: 'Success',\n * 'ErrorInUpload', 'FileWidthDoesNotSatisfyMinimumSize',\n * 'LandscapeRequired', 'PortraitRequired', 'SquareRequired',\n * 'ZeroFileLength', 'OptimizationServiceNotificationError',\n * 'ValueIsNotValid', 'FileToMoveIsNotFound', 'FileIsNotValid'\n */\n code: UploadingResultCode;\n /**\n * @member {string} originalFileName\n */\n originalFileName: string;\n /**\n * @member {string} [newFileId]\n */\n newFileId?: string;\n /**\n * @member {string} [newFileName]\n */\n newFileName?: string;\n /**\n * @member {string} [message]\n */\n message?: string;\n}\n\n/**\n * @interface\n * An interface representing ResultLibraryViewModel.\n */\nexport interface ResultLibraryViewModel {\n /**\n * @member {string} description\n */\n description: string;\n /**\n * @member {UploadingResultCode} code Possible values include: 'Success',\n * 'ErrorInUpload', 'FileWidthDoesNotSatisfyMinimumSize',\n * 'LandscapeRequired', 'PortraitRequired', 'SquareRequired',\n * 'ZeroFileLength', 'OptimizationServiceNotificationError',\n * 'ValueIsNotValid', 'FileToMoveIsNotFound', 'FileIsNotValid'\n */\n code: UploadingResultCode;\n /**\n * @member {string} originalFileName\n */\n originalFileName: string;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [fileName]\n */\n fileName?: string;\n /**\n * @member {string} [message]\n */\n message?: string;\n /**\n * @member {string} [alt]\n */\n alt?: string;\n /**\n * @member {string} [title]\n */\n title?: string;\n /**\n * @member {string} [imageDescription]\n */\n imageDescription?: string;\n}\n\n/**\n * @interface\n * An interface representing ImageLibraryPatchModel.\n */\nexport interface ImageLibraryPatchModel {\n /**\n * @member {string} id\n */\n id: string;\n /**\n * @member {string} [originalFileName]\n */\n originalFileName?: string;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string} [alt]\n */\n alt?: string;\n /**\n * @member {string} [title]\n */\n title?: string;\n}\n\n/**\n * @interface\n * An interface representing PostImageViewModel.\n */\nexport interface PostImageViewModel {\n /**\n * @member {string[]} images\n */\n images: string[];\n /**\n * @member {ImageType} imageType Possible values include: 'Content', 'Logo',\n * 'Employee', 'JobAd', 'ImageLibrary'\n */\n imageType: ImageType;\n}\n\n/**\n * @interface\n * An interface representing PutImageViewModel.\n */\nexport interface PutImageViewModel {\n /**\n * @member {string} fileName\n */\n fileName: string;\n /**\n * @member {ImageType} imageType Possible values include: 'Content', 'Logo',\n * 'Employee', 'JobAd', 'ImageLibrary'\n */\n imageType: ImageType;\n}\n\n/**\n * @interface\n * An interface representing TemplateKeyValue.\n */\nexport interface TemplateKeyValue {\n /**\n * @member {string} [key]\n */\n key?: string;\n /**\n * @member {string} [value]\n */\n value?: string;\n}\n\n/**\n * @interface\n * An interface representing TemplateUserEmailRequestModel.\n */\nexport interface TemplateUserEmailRequestModel {\n /**\n * @member {string} email\n */\n email: string;\n /**\n * @member {string} [replyTo]\n */\n replyTo?: string;\n /**\n * @member {string} [subject]\n */\n subject?: string;\n /**\n * @member {string} templateName\n */\n templateName: string;\n /**\n * @member {number} [emailType]\n */\n emailType?: number;\n /**\n * @member {string} [senderName]\n */\n senderName?: string;\n /**\n * @member {TemplateKeyValue[]} [templateReplaceItems]\n */\n templateReplaceItems?: TemplateKeyValue[];\n}\n\n/**\n * @interface\n * An interface representing TemplateEmailRequestModel.\n */\nexport interface TemplateEmailRequestModel {\n /**\n * @member {string} email\n */\n email: string;\n /**\n * @member {string} [replyTo]\n */\n replyTo?: string;\n /**\n * @member {string} subject\n */\n subject: string;\n /**\n * @member {string} [bounceEmailReplyTo]\n */\n bounceEmailReplyTo?: string;\n /**\n * @member {string} [files]\n */\n files?: string;\n /**\n * @member {string} [body]\n */\n body?: string;\n /**\n * @member {string} [templateName]\n */\n templateName?: string;\n /**\n * @member {string} [bounceTemplateName]\n */\n bounceTemplateName?: string;\n /**\n * @member {TemplateKeyValue[]} [templateReplaceItems]\n */\n templateReplaceItems?: TemplateKeyValue[];\n /**\n * @member {string} [externalId]\n */\n externalId?: string;\n /**\n * @member {number} [emailType]\n */\n emailType?: number;\n /**\n * @member {string} [senderName]\n */\n senderName?: string;\n}\n\n/**\n * @interface\n * An interface representing GdprDataAgreementEmailRequestModel.\n */\nexport interface GdprDataAgreementEmailRequestModel {\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [companyName]\n */\n companyName?: string;\n /**\n * @member {string} [companyAddress]\n */\n companyAddress?: string;\n /**\n * @member {string} [customerEmail]\n */\n customerEmail?: string;\n /**\n * @member {string} [companyCvr]\n */\n companyCvr?: string;\n /**\n * @member {string} [companyZipCode]\n */\n companyZipCode?: string;\n /**\n * @member {string} [companyCity]\n */\n companyCity?: string;\n /**\n * @member {string} [customerName]\n */\n customerName?: string;\n /**\n * @member {string} [siteUrl]\n */\n siteUrl?: string;\n /**\n * @member {string} [language]\n */\n language?: string;\n /**\n * @member {Date} [siteCreationDate]\n */\n siteCreationDate?: Date;\n /**\n * @member {Date} [agreementDate]\n */\n agreementDate?: Date;\n}\n\n/**\n * @interface\n * An interface representing EmailSettingsRequestModel.\n */\nexport interface EmailSettingsRequestModel {\n /**\n * @member {EmailSettingsFrequency} frequency Possible values include:\n * 'EachApply', 'Daily', 'Weekly'\n */\n frequency: EmailSettingsFrequency;\n /**\n * @member {number} [sendDay]\n */\n sendDay?: number;\n /**\n * @member {number} [sendTime]\n */\n sendTime?: number;\n}\n\n/**\n * @interface\n * An interface representing PersistingCssRequestModel.\n */\nexport interface PersistingCssRequestModel {\n /**\n * @member {string} [cssFileName]\n */\n cssFileName?: string;\n /**\n * @member {string} [color]\n */\n color?: string;\n /**\n * @member {string} [bodyFont]\n */\n bodyFont?: string;\n}\n\n/**\n * @interface\n * An interface representing CssGeneratingResponseModel.\n */\nexport interface CssGeneratingResponseModel {\n /**\n * @member {string} [fileName]\n */\n fileName?: string;\n}\n\n/**\n * @interface\n * An interface representing CssGeneratingRequestModel.\n */\nexport interface CssGeneratingRequestModel {\n /**\n * @member {string} [color]\n */\n color?: string;\n /**\n * @member {string} [bodyFont]\n */\n bodyFont?: string;\n}\n\n/**\n * @interface\n * An interface representing InternalSiteCreationRequest.\n */\nexport interface InternalSiteCreationRequest {\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [fontName]\n */\n fontName?: string;\n /**\n * @member {string} [primaryColor]\n */\n primaryColor?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {string} [userId]\n */\n userId?: string;\n /**\n * @member {string} [cssFileName]\n */\n cssFileName?: string;\n /**\n * @member {string} [logoFileName]\n */\n logoFileName?: string;\n /**\n * @member {string} [companyName]\n */\n companyName?: string;\n /**\n * @member {string} [address]\n */\n address?: string;\n /**\n * @member {string} [addressExtended]\n */\n addressExtended?: string;\n /**\n * @member {string} [zipCode]\n */\n zipCode?: string;\n /**\n * @member {string} [city]\n */\n city?: string;\n /**\n * @member {string} [countyState]\n */\n countyState?: string;\n /**\n * @member {string} [country]\n */\n country?: string;\n /**\n * @member {string} [countryCode]\n */\n countryCode?: string;\n /**\n * @member {string} [ofirCRMNumber]\n */\n ofirCRMNumber?: string;\n /**\n * @member {string} [pNumber]\n */\n pNumber?: string;\n /**\n * @member {string} [vatNumber]\n */\n vatNumber?: string;\n /**\n * @member {string} [eanNumber]\n */\n eanNumber?: string;\n /**\n * @member {string} [industry]\n */\n industry?: string;\n /**\n * @member {string} [subIndustry]\n */\n subIndustry?: string;\n /**\n * @member {string} [companyWebsite]\n */\n companyWebsite?: string;\n /**\n * @member {string} [companyPhone]\n */\n companyPhone?: string;\n /**\n * @member {string} [companyEmail]\n */\n companyEmail?: string;\n /**\n * @member {string} [companyFacebookUrl]\n */\n companyFacebookUrl?: string;\n /**\n * @member {string} [companyTwitterUrl]\n */\n companyTwitterUrl?: string;\n /**\n * @member {string} [companyLinkedInUrl]\n */\n companyLinkedInUrl?: string;\n /**\n * @member {string} [companyInstagramUrl]\n */\n companyInstagramUrl?: string;\n /**\n * @member {string} [companyYoutubeUrl]\n */\n companyYoutubeUrl?: string;\n /**\n * @member {string} [otherUrl]\n */\n otherUrl?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n /**\n * @member {string} [userFirstName]\n */\n userFirstName?: string;\n /**\n * @member {string} [userLastName]\n */\n userLastName?: string;\n /**\n * @member {string} [userPhone]\n */\n userPhone?: string;\n /**\n * @member {string} [password]\n */\n password?: string;\n /**\n * @member {string} [salesPerson]\n */\n salesPerson?: string;\n /**\n * @member {string} [siteName]\n */\n siteName?: string;\n /**\n * @member {string} [siteLanguage]\n */\n siteLanguage?: string;\n /**\n * @member {string} [discountCode]\n */\n discountCode?: string;\n /**\n * @member {string} [discountCodeNotes]\n */\n discountCodeNotes?: string;\n /**\n * @member {string} [siteHost]\n */\n siteHost?: string;\n /**\n * @member {string} [urlSchema]\n */\n urlSchema?: string;\n /**\n * @member {number} [siteState]\n */\n siteState?: number;\n /**\n * @member {number} [siteType]\n */\n siteType?: number;\n /**\n * @member {number} [industryId]\n */\n industryId?: number;\n /**\n * @member {number} [subIndustryId]\n */\n subIndustryId?: number;\n /**\n * @member {boolean} [sendDPA]\n */\n sendDPA?: boolean;\n}\n\n/**\n * @interface\n * An interface representing SiteCreateResult.\n */\nexport interface SiteCreateResult {\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [companyId]\n */\n companyId?: string;\n /**\n * @member {string} [userId]\n */\n userId?: string;\n}\n\n/**\n * @interface\n * An interface representing ProductItemModelRequest.\n */\nexport interface ProductItemModelRequest {\n /**\n * @member {string} productNumber\n */\n productNumber: string;\n /**\n * @member {string} productName\n */\n productName: string;\n /**\n * @member {string} [productPrice]\n */\n productPrice?: string;\n}\n\n/**\n * @interface\n * An interface representing ExtendedJobAdModel.\n */\nexport interface ExtendedJobAdModel {\n /**\n * @member {string} [regionCode]\n */\n regionCode?: string;\n /**\n * @member {string} [customerName]\n */\n customerName?: string;\n /**\n * @member {string} [customerRelationshipManagementId]\n */\n customerRelationshipManagementId?: string;\n /**\n * @member {string} [companyVatNumber]\n */\n companyVatNumber?: string;\n /**\n * @member {string} [fullDescription]\n */\n fullDescription?: string;\n /**\n * @member {string} [customerType]\n */\n customerType?: string;\n /**\n * @member {string} [logoUrl]\n */\n logoUrl?: string;\n /**\n * @member {string} [originalSource]\n */\n originalSource?: string;\n /**\n * @member {string} [siteURL]\n */\n siteURL?: string;\n /**\n * @member {string} [siteLanguage]\n */\n siteLanguage?: string;\n /**\n * @member {string} [couponCode]\n */\n couponCode?: string;\n /**\n * @member {string} [username]\n */\n username?: string;\n /**\n * @member {string} [userEmail]\n */\n userEmail?: string;\n /**\n * @member {number} [oldStatus]\n */\n oldStatus?: number;\n /**\n * @member {number} [applicationMethodLocal]\n */\n applicationMethodLocal?: number;\n /**\n * @member {string} [requestedPackageOverridePrice]\n */\n requestedPackageOverridePrice?: string;\n /**\n * @member {string} [requestedPackageOverrideProducts]\n */\n requestedPackageOverrideProducts?: string;\n /**\n * @member {string} [orderReference]\n */\n orderReference?: string;\n /**\n * @member {boolean} [publishToOfir]\n */\n publishToOfir?: boolean;\n /**\n * @member {number} [ogImageWidth]\n */\n ogImageWidth?: number;\n /**\n * @member {number} [ogImageHeight]\n */\n ogImageHeight?: number;\n /**\n * @member {string} [authorUserEmail]\n */\n authorUserEmail?: string;\n /**\n * @member {boolean} [authorUserIsSuperAdmin]\n */\n authorUserIsSuperAdmin?: boolean;\n /**\n * @member {number} [updateFlag]\n */\n updateFlag?: number;\n /**\n * @member {string} [topImage]\n */\n topImage?: string;\n /**\n * @member {string} [backgroundImage]\n */\n backgroundImage?: string;\n /**\n * @member {string} [title]\n */\n title?: string;\n /**\n * @member {Date} [createDate]\n */\n createDate?: Date;\n /**\n * @member {Date} [expiryDate]\n */\n expiryDate?: Date;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [externalID]\n */\n externalID?: string;\n /**\n * @member {string} [externalSource]\n */\n externalSource?: string;\n /**\n * @member {string[]} [category]\n */\n category?: string[];\n /**\n * @member {string[]} [jobType]\n */\n jobType?: string[];\n /**\n * @member {string[]} [position]\n */\n position?: string[];\n /**\n * @member {string[]} [condition]\n */\n condition?: string[];\n /**\n * @member {number} [salaryFrom]\n */\n salaryFrom?: number;\n /**\n * @member {number} [salaryTo]\n */\n salaryTo?: number;\n /**\n * @member {string} [salaryType]\n */\n salaryType?: string;\n /**\n * @member {string} [salaryCurrency]\n */\n salaryCurrency?: string;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string} [contactName]\n */\n contactName?: string;\n /**\n * @member {string} [contactPhone]\n */\n contactPhone?: string;\n /**\n * @member {string} [contactEmail]\n */\n contactEmail?: string;\n /**\n * @member {string} [commercialContactName]\n */\n commercialContactName?: string;\n /**\n * @member {string} [commercialContact]\n */\n commercialContact?: string;\n /**\n * @member {string} [locationAddress]\n */\n locationAddress?: string;\n /**\n * @member {string} [locationZipCode]\n */\n locationZipCode?: string;\n /**\n * @member {string} [locationCity]\n */\n locationCity?: string;\n /**\n * @member {string} [locationCounty]\n */\n locationCounty?: string;\n /**\n * @member {string} [locationCountry]\n */\n locationCountry?: string;\n /**\n * @member {string} [internalReference]\n */\n internalReference?: string;\n /**\n * @member {number[]} [applicationMethod]\n */\n applicationMethod?: number[];\n /**\n * @member {string[]} [exportOptions]\n */\n exportOptions?: string[];\n /**\n * @member {string} [companyID]\n */\n companyID?: string;\n /**\n * @member {string} [companyName]\n */\n companyName?: string;\n /**\n * @member {string} [companyAddress]\n */\n companyAddress?: string;\n /**\n * @member {string} [companyCity]\n */\n companyCity?: string;\n /**\n * @member {string} [companyZipCode]\n */\n companyZipCode?: string;\n /**\n * @member {string} [companyCounty]\n */\n companyCounty?: string;\n /**\n * @member {string} [companyCountry]\n */\n companyCountry?: string;\n /**\n * @member {string} [companyEmail]\n */\n companyEmail?: string;\n /**\n * @member {string} [companyPhone]\n */\n companyPhone?: string;\n /**\n * @member {string} [companyWWW]\n */\n companyWWW?: string;\n /**\n * @member {string} [companyContactPerson]\n */\n companyContactPerson?: string;\n /**\n * @member {string} [companyCommercialContactName]\n */\n companyCommercialContactName?: string;\n /**\n * @member {string} [companyCommercialContact]\n */\n companyCommercialContact?: string;\n /**\n * @member {string} [companyCommercialVatNumber]\n */\n companyCommercialVatNumber?: string;\n /**\n * @member {string} [companyCommercialExternalId]\n */\n companyCommercialExternalId?: string;\n /**\n * @member {string} siteId\n */\n siteId: string;\n /**\n * @member {number} [status]\n */\n status?: number;\n /**\n * @member {string} [url]\n */\n url?: string;\n /**\n * @member {string} [urlHash]\n */\n urlHash?: string;\n /**\n * @member {string} [applicationUrl]\n */\n applicationUrl?: string;\n /**\n * @member {string} [companyVATIdentifier]\n */\n companyVATIdentifier?: string;\n /**\n * @member {string} [productionUnitIdentifier]\n */\n productionUnitIdentifier?: string;\n /**\n * @member {string} [globalLocationNumber]\n */\n globalLocationNumber?: string;\n /**\n * @member {string} [requestedPackageId]\n */\n requestedPackageId?: string;\n /**\n * @member {string} [requestedPackageName]\n */\n requestedPackageName?: string;\n /**\n * @member {string} [requestedPackagePrice]\n */\n requestedPackagePrice?: string;\n /**\n * @member {number} [requestedPackageDurationDays]\n */\n requestedPackageDurationDays?: number;\n /**\n * @member {ProductItemModelRequest[]} [requestedPackageProducts]\n */\n requestedPackageProducts?: ProductItemModelRequest[];\n /**\n * @member {string} [countryCode]\n */\n countryCode?: string;\n /**\n * @member {Date} [activationDate]\n */\n activationDate?: Date;\n /**\n * @member {string} [correlationId]\n */\n correlationId?: string;\n /**\n * @member {string} [pNumber]\n */\n pNumber?: string;\n /**\n * @member {string} [statisticsRegisterFeedDisplayCountLink]\n */\n statisticsRegisterFeedDisplayCountLink?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntrySearchedCountLink]\n */\n statisticsRegisterFeedEntrySearchedCountLink?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntryDisplayCountLink]\n */\n statisticsRegisterFeedEntryDisplayCountLink?: string;\n /**\n * @member {string} [statisticsRegisterJobApplicationInitiatedCountLink]\n */\n statisticsRegisterJobApplicationInitiatedCountLink?: string;\n /**\n * @member {string} [statisticsRegisterJobApplicationAppliedCountLink]\n */\n statisticsRegisterJobApplicationAppliedCountLink?: string;\n /**\n * @member {number} [numberOfVacancies]\n */\n numberOfVacancies?: number;\n /**\n * @member {number} [applyMethod]\n */\n applyMethod?: number;\n /**\n * @member {string} [author]\n */\n author?: string;\n /**\n * @member {Date} [modifyDate]\n */\n readonly modifyDate?: Date;\n /**\n * @member {string} [logoId]\n */\n logoId?: string;\n /**\n * @member {string} [ogimage]\n */\n ogimage?: string;\n /**\n * @member {string} [orderByName]\n */\n orderByName?: string;\n /**\n * @member {string} [orderByEmail]\n */\n orderByEmail?: string;\n /**\n * @member {boolean} [anonymousLocation]\n */\n anonymousLocation?: boolean;\n /**\n * @member {string} [alternateTextAnonymousLocation]\n */\n alternateTextAnonymousLocation?: string;\n /**\n * @member {JobAdLocationsModel[]} [locations]\n */\n locations?: JobAdLocationsModel[];\n /**\n * @member {string} [locationString]\n */\n locationString?: string;\n /**\n * @member {string} [locationMapUri]\n */\n locationMapUri?: string;\n /**\n * @member {boolean} [isPublished]\n */\n isPublished?: boolean;\n /**\n * @member {boolean} [useEAN]\n */\n useEAN?: boolean;\n}\n\n/**\n * @interface\n * An interface representing JobAdResponce.\n */\nexport interface JobAdResponce {\n /**\n * @member {string} [siteid]\n */\n siteid?: string;\n /**\n * @member {string} [id]\n */\n id?: string;\n}\n\n/**\n * @interface\n * An interface representing MsgJobAd.\n */\nexport interface MsgJobAd {\n /**\n * @member {number} [updateFlag]\n */\n updateFlag?: number;\n /**\n * @member {string} [topImage]\n */\n topImage?: string;\n /**\n * @member {string} [backgroundImage]\n */\n backgroundImage?: string;\n /**\n * @member {string} [title]\n */\n title?: string;\n /**\n * @member {Date} [createDate]\n */\n createDate?: Date;\n /**\n * @member {Date} [expiryDate]\n */\n expiryDate?: Date;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [externalID]\n */\n externalID?: string;\n /**\n * @member {string} [externalSource]\n */\n externalSource?: string;\n /**\n * @member {string[]} [category]\n */\n category?: string[];\n /**\n * @member {string[]} [jobType]\n */\n jobType?: string[];\n /**\n * @member {string[]} [position]\n */\n position?: string[];\n /**\n * @member {string[]} [condition]\n */\n condition?: string[];\n /**\n * @member {number} [salaryFrom]\n */\n salaryFrom?: number;\n /**\n * @member {number} [salaryTo]\n */\n salaryTo?: number;\n /**\n * @member {string} [salaryType]\n */\n salaryType?: string;\n /**\n * @member {string} [salaryCurrency]\n */\n salaryCurrency?: string;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string} [contactName]\n */\n contactName?: string;\n /**\n * @member {string} [contactPhone]\n */\n contactPhone?: string;\n /**\n * @member {string} [contactEmail]\n */\n contactEmail?: string;\n /**\n * @member {string} [commercialContactName]\n */\n commercialContactName?: string;\n /**\n * @member {string} [commercialContact]\n */\n commercialContact?: string;\n /**\n * @member {string} [locationAddress]\n */\n locationAddress?: string;\n /**\n * @member {string} [locationZipCode]\n */\n locationZipCode?: string;\n /**\n * @member {string} [locationCity]\n */\n locationCity?: string;\n /**\n * @member {string} [locationCounty]\n */\n locationCounty?: string;\n /**\n * @member {string} [locationCountry]\n */\n locationCountry?: string;\n /**\n * @member {string} [internalReference]\n */\n internalReference?: string;\n /**\n * @member {number[]} [applicationMethod]\n */\n applicationMethod?: number[];\n /**\n * @member {string[]} [exportOptions]\n */\n exportOptions?: string[];\n /**\n * @member {string} [companyID]\n */\n companyID?: string;\n /**\n * @member {string} [companyName]\n */\n companyName?: string;\n /**\n * @member {string} [companyAddress]\n */\n companyAddress?: string;\n /**\n * @member {string} [companyCity]\n */\n companyCity?: string;\n /**\n * @member {string} [companyZipCode]\n */\n companyZipCode?: string;\n /**\n * @member {string} [companyCounty]\n */\n companyCounty?: string;\n /**\n * @member {string} [companyCountry]\n */\n companyCountry?: string;\n /**\n * @member {string} [companyEmail]\n */\n companyEmail?: string;\n /**\n * @member {string} [companyPhone]\n */\n companyPhone?: string;\n /**\n * @member {string} [companyWWW]\n */\n companyWWW?: string;\n /**\n * @member {string} [companyContactPerson]\n */\n companyContactPerson?: string;\n /**\n * @member {string} [companyCommercialContactName]\n */\n companyCommercialContactName?: string;\n /**\n * @member {string} [companyCommercialContact]\n */\n companyCommercialContact?: string;\n /**\n * @member {string} [companyCommercialVatNumber]\n */\n companyCommercialVatNumber?: string;\n /**\n * @member {string} [companyCommercialExternalId]\n */\n companyCommercialExternalId?: string;\n /**\n * @member {string} siteId\n */\n siteId: string;\n /**\n * @member {number} [status]\n */\n status?: number;\n /**\n * @member {string} [url]\n */\n url?: string;\n /**\n * @member {string} [urlHash]\n */\n urlHash?: string;\n /**\n * @member {string} [applicationUrl]\n */\n applicationUrl?: string;\n /**\n * @member {string} [companyVATIdentifier]\n */\n companyVATIdentifier?: string;\n /**\n * @member {string} [productionUnitIdentifier]\n */\n productionUnitIdentifier?: string;\n /**\n * @member {string} [globalLocationNumber]\n */\n globalLocationNumber?: string;\n /**\n * @member {string} [requestedPackageId]\n */\n requestedPackageId?: string;\n /**\n * @member {string} [requestedPackageName]\n */\n requestedPackageName?: string;\n /**\n * @member {string} [requestedPackagePrice]\n */\n requestedPackagePrice?: string;\n /**\n * @member {number} [requestedPackageDurationDays]\n */\n requestedPackageDurationDays?: number;\n /**\n * @member {ProductItemModelRequest[]} [requestedPackageProducts]\n */\n requestedPackageProducts?: ProductItemModelRequest[];\n /**\n * @member {string} [countryCode]\n */\n countryCode?: string;\n /**\n * @member {Date} [activationDate]\n */\n activationDate?: Date;\n /**\n * @member {string} [correlationId]\n */\n correlationId?: string;\n /**\n * @member {string} [pNumber]\n */\n pNumber?: string;\n /**\n * @member {string} [statisticsRegisterFeedDisplayCountLink]\n */\n statisticsRegisterFeedDisplayCountLink?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntrySearchedCountLink]\n */\n statisticsRegisterFeedEntrySearchedCountLink?: string;\n /**\n * @member {string} [statisticsRegisterFeedEntryDisplayCountLink]\n */\n statisticsRegisterFeedEntryDisplayCountLink?: string;\n /**\n * @member {string} [statisticsRegisterJobApplicationInitiatedCountLink]\n */\n statisticsRegisterJobApplicationInitiatedCountLink?: string;\n /**\n * @member {string} [statisticsRegisterJobApplicationAppliedCountLink]\n */\n statisticsRegisterJobApplicationAppliedCountLink?: string;\n /**\n * @member {number} [numberOfVacancies]\n */\n numberOfVacancies?: number;\n /**\n * @member {number} [applyMethod]\n */\n applyMethod?: number;\n /**\n * @member {string} [author]\n */\n author?: string;\n /**\n * @member {Date} [modifyDate]\n */\n readonly modifyDate?: Date;\n /**\n * @member {string} [logoId]\n */\n logoId?: string;\n /**\n * @member {string} [ogimage]\n */\n ogimage?: string;\n /**\n * @member {string} [orderByName]\n */\n orderByName?: string;\n /**\n * @member {string} [orderByEmail]\n */\n orderByEmail?: string;\n /**\n * @member {boolean} [anonymousLocation]\n */\n anonymousLocation?: boolean;\n /**\n * @member {string} [alternateTextAnonymousLocation]\n */\n alternateTextAnonymousLocation?: string;\n /**\n * @member {JobAdLocationsModel[]} [locations]\n */\n locations?: JobAdLocationsModel[];\n /**\n * @member {string} [locationString]\n */\n locationString?: string;\n /**\n * @member {string} [locationMapUri]\n */\n locationMapUri?: string;\n /**\n * @member {boolean} [isPublished]\n */\n isPublished?: boolean;\n /**\n * @member {boolean} [useEAN]\n */\n useEAN?: boolean;\n /**\n * @member {string} [customerName]\n */\n customerName?: string;\n}\n\n/**\n * @interface\n * An interface representing SetSuperAdminDeleteStatusResponce.\n */\nexport interface SetSuperAdminDeleteStatusResponce {\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {string} [jobAdId]\n */\n jobAdId?: string;\n /**\n * @member {number} [status]\n */\n status?: number;\n}\n\n/**\n * @interface\n * An interface representing UpdateStatusResponce.\n */\nexport interface UpdateStatusResponce {\n /**\n * @member {string} [siteid]\n */\n siteid?: string;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {number} [status]\n */\n status?: number;\n /**\n * @member {string} [url]\n */\n url?: string;\n /**\n * @member {string} [urlHash]\n */\n urlHash?: string;\n}\n\n/**\n * @interface\n * An interface representing PatchProductModelRequest.\n */\nexport interface PatchProductModelRequest {\n /**\n * @member {string} [requestedPackageId]\n */\n requestedPackageId?: string;\n /**\n * @member {string} [requestedPackageName]\n */\n requestedPackageName?: string;\n /**\n * @member {string} [requestedPackagePrice]\n */\n requestedPackagePrice?: string;\n /**\n * @member {number} [requestedPackageDurationDays]\n */\n requestedPackageDurationDays?: number;\n /**\n * @member {ProductItemModelRequest[]} [items]\n */\n items?: ProductItemModelRequest[];\n}\n\n/**\n * @interface\n * An interface representing PartnerJobAdResponce.\n */\nexport interface PartnerJobAdResponce {\n /**\n * @member {string} [siteid]\n */\n siteid?: string;\n /**\n * @member {string} [id]\n */\n id?: string;\n /**\n * @member {string} [url]\n */\n url?: string;\n}\n\n/**\n * @interface\n * An interface representing ResetPasswordViewModel.\n */\nexport interface ResetPasswordViewModel {\n /**\n * @member {string} [resetPasswordLink]\n */\n resetPasswordLink?: string;\n /**\n * @member {string} [cultureCode]\n */\n cultureCode?: string;\n /**\n * @member {string} [subject]\n */\n subject?: string;\n /**\n * @member {boolean} [advertiser]\n */\n advertiser?: boolean;\n}\n\n/**\n * @interface\n * An interface representing NewPasswordViewModel.\n */\nexport interface NewPasswordViewModel {\n /**\n * @member {string} [password]\n */\n password?: string;\n /**\n * @member {string} [resetPasswordToken]\n */\n resetPasswordToken?: string;\n}\n\n/**\n * @interface\n * An interface representing CreateRoleViewModel.\n */\nexport interface CreateRoleViewModel {\n /**\n * @member {string} [roleName]\n */\n roleName?: string;\n}\n\n/**\n * @interface\n * An interface representing CreateUserViewModel.\n */\nexport interface CreateUserViewModel {\n /**\n * @member {string} userName\n */\n userName: string;\n /**\n * @member {string} password\n */\n password: string;\n /**\n * @member {string} firstName\n */\n firstName: string;\n /**\n * @member {string} lastName\n */\n lastName: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {string} [notes]\n */\n notes?: string;\n /**\n * @member {boolean} [is2FA]\n */\n is2FA?: boolean;\n /**\n * @member {string} [deliveryType2FA]\n */\n deliveryType2FA?: string;\n /**\n * @member {string[]} [roles]\n */\n roles?: string[];\n}\n\n/**\n * @interface\n * An interface representing UpdateUserViewModel.\n */\nexport interface UpdateUserViewModel {\n /**\n * @member {string} [firstName]\n */\n firstName?: string;\n /**\n * @member {string} [lastName]\n */\n lastName?: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {string} [notes]\n */\n notes?: string;\n /**\n * @member {boolean} [is2FA]\n */\n is2FA?: boolean;\n /**\n * @member {string} [deliveryType2FA]\n */\n deliveryType2FA?: string;\n /**\n * @member {string[]} [roles]\n */\n roles?: string[];\n}\n\n/**\n * @interface\n * An interface representing AddSiteCreationUserViewModel.\n */\nexport interface AddSiteCreationUserViewModel {\n /**\n * @member {string} userName\n */\n userName: string;\n /**\n * @member {string} password\n */\n password: string;\n /**\n * @member {string} firstName\n */\n firstName: string;\n /**\n * @member {string} lastName\n */\n lastName: string;\n /**\n * @member {string} [phoneNumber]\n */\n phoneNumber?: string;\n /**\n * @member {string} [notes]\n */\n notes?: string;\n}\n\n/**\n * @interface\n * An interface representing ChangePasswordViewModel.\n */\nexport interface ChangePasswordViewModel {\n /**\n * @member {string} [oldPassword]\n */\n oldPassword?: string;\n /**\n * @member {string} [newPassword]\n */\n newPassword?: string;\n /**\n * @member {string} [confirmPassword]\n */\n confirmPassword?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPITemplateCreateOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPITemplateCreateOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {CreateTemplateModelRequest} [body]\n */\n body?: CreateTemplateModelRequest;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPITemplateUpdateOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPITemplateUpdateOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {UpdateTemplateModelRequest} [body]\n */\n body?: UpdateTemplateModelRequest;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIGetSitesOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIGetSitesOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [searchIn]\n */\n searchIn?: string;\n /**\n * @member {string} [searchFor]\n */\n searchFor?: string;\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [page]\n */\n page?: number;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISitesGetSiteByIdsOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISitesGetSiteByIdsOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string[]} [body]\n */\n body?: string[];\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIGetJobsContentListOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIGetJobsContentListOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [page] Default value: 1 .\n */\n page?: number;\n /**\n * @member {number} [status] Default value: 1 .\n */\n status?: number;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIGetJobsListOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIGetJobsListOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [page] Default value: 1 .\n */\n page?: number;\n /**\n * @member {number} [status] Default value: 1 .\n */\n status?: number;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIJobAdsGetJAEOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIJobAdsGetJAEOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [page] Default value: 1 .\n */\n page?: number;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIGetJobAdsFilteredOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIGetJobAdsFilteredOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {number} [page] Default value: 1 .\n */\n page?: number;\n /**\n * @member {number} [status] Default value: 1 .\n */\n status?: number;\n /**\n * @member {string} [sortField] Default value: 'createDate' .\n */\n sortField?: string;\n /**\n * @member {string} [sortOrder] Default value: 'DESC' .\n */\n sortOrder?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIPartnerUsersFindBySiteIdOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIPartnerUsersFindBySiteIdOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {EncryptedData} [body]\n */\n body?: EncryptedData;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIRolesCreateRoleOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIRolesCreateRoleOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {CreateRoleViewModel} [body]\n */\n body?: CreateRoleViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersGetUsersAsyncOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersGetUsersAsyncOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [searchIn]\n */\n searchIn?: string;\n /**\n * @member {string} [searchFor]\n */\n searchFor?: string;\n /**\n * @member {boolean} [includeRoles]\n */\n includeRoles?: boolean;\n /**\n * @member {boolean} [includePassword]\n */\n includePassword?: boolean;\n /**\n * @member {number} [page]\n */\n page?: number;\n /**\n * @member {number} [pageSize]\n */\n pageSize?: number;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersGetUserAsyncOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersGetUserAsyncOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {boolean} [includeRoles]\n */\n includeRoles?: boolean;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {boolean} [includePassword]\n */\n includePassword?: boolean;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersGetUserAsync1OptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersGetUserAsync1OptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {boolean} [includeRoles]\n */\n includeRoles?: boolean;\n /**\n * @member {string} [siteId]\n */\n siteId?: string;\n /**\n * @member {boolean} [includePassword]\n */\n includePassword?: boolean;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersFindUsersOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersFindUsersOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {SearchParams} [body]\n */\n body?: SearchParams;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUpdateUserByCustomerToolOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUpdateUserByCustomerToolOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {UpdateUserViewModel} [body]\n */\n body?: UpdateUserViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersCreateUserOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersCreateUserOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {CreateUserViewModel} [body]\n */\n body?: CreateUserViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIEntryStatisticSummationByEntryIdOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIEntryStatisticSummationByEntryIdOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [startDate]\n */\n startDate?: string;\n /**\n * @member {string} [endDate]\n */\n endDate?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [startDate]\n */\n startDate?: string;\n /**\n * @member {string} [endDate]\n */\n endDate?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [startDate]\n */\n startDate?: string;\n /**\n * @member {string} [endDate]\n */\n endDate?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISocialMediaStatisticByEntryIDOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISocialMediaStatisticByEntryIDOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [startDate]\n */\n startDate?: string;\n /**\n * @member {string} [endDate]\n */\n endDate?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPICandidateCreateFromApplicationFormOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPICandidateCreateFromApplicationFormOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [phone]\n */\n phone?: string;\n /**\n * @member {string} [description]\n */\n description?: string;\n /**\n * @member {string} [education]\n */\n education?: string;\n /**\n * @member {string} [previousPosition]\n */\n previousPosition?: string;\n /**\n * @member {number} [experience]\n */\n experience?: number;\n /**\n * @member {string[]} [urls]\n */\n urls?: string[];\n /**\n * @member {string[]} [files]\n */\n files?: string[];\n}\n\n/**\n * @interface\n * An interface representing BranderoAPICandidatePatchNoteOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPICandidatePatchNoteOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member\n * {PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest}\n * [body]\n */\n body?: PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPICandidatePatchEmailAddOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPICandidatePatchEmailAddOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {PatchDataCandidateEmailRequest} [body]\n */\n body?: PatchDataCandidateEmailRequest;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPICreateSiteOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPICreateSiteOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {PostSiteViewModel} [body]\n */\n body?: PostSiteViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUpdateSiteOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUpdateSiteOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {boolean} [isValidateHost] Default value: true .\n */\n isValidateHost?: boolean;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISitesMergeSiteOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISitesMergeSiteOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [targetSiteId]\n */\n targetSiteId?: string;\n /**\n * @member {string} [targetCompanyId]\n */\n targetCompanyId?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIMoveTempImageToSiteFolderOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIMoveTempImageToSiteFolderOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {PutImageViewModel} [body]\n */\n body?: PutImageViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISendTemplateEmailWithFilesOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISendTemplateEmailWithFilesOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [replyTo]\n */\n replyTo?: string;\n /**\n * @member {string} [body]\n */\n body?: string;\n /**\n * @member {string} [templateName]\n */\n templateName?: string;\n /**\n * @member {string[]} [files]\n */\n files?: string[];\n /**\n * @member {string} [templateReplaceItems]\n */\n templateReplaceItems?: string;\n /**\n * @member {string} [additionalTemplateReplaceItem]\n */\n additionalTemplateReplaceItem?: string;\n /**\n * @member {string} [externalId]\n */\n externalId?: string;\n /**\n * @member {number} [emailType]\n */\n emailType?: number;\n /**\n * @member {string} [senderName]\n */\n senderName?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISendTemplateEmailWithFileRefsOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISendTemplateEmailWithFileRefsOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [replyTo]\n */\n replyTo?: string;\n /**\n * @member {string} [body]\n */\n body?: string;\n /**\n * @member {string} [templateName]\n */\n templateName?: string;\n /**\n * @member {string} [files]\n */\n files?: string;\n /**\n * @member {string} [templateReplaceItems]\n */\n templateReplaceItems?: string;\n /**\n * @member {string} [additionalTemplateReplaceItem]\n */\n additionalTemplateReplaceItem?: string;\n /**\n * @member {string} [externalId]\n */\n externalId?: string;\n /**\n * @member {number} [emailType]\n */\n emailType?: number;\n /**\n * @member {string} [senderName]\n */\n senderName?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISendGDPRDataAgreementOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISendGDPRDataAgreementOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {GdprDataAgreementEmailRequestModel} [body]\n */\n body?: GdprDataAgreementEmailRequestModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPICssGeneratorGenerateCssAsyncOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPICssGeneratorGenerateCssAsyncOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {CssGeneratingRequestModel} [body]\n */\n body?: CssGeneratingRequestModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIJobAdPatchDescription1OptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIJobAdPatchDescription1OptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {string} [jobadid]\n */\n jobadid?: string;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPICreatePartnerJobAdOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPICreatePartnerJobAdOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {EncryptedData} [body]\n */\n body?: EncryptedData;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIPasswordResetUserPasswordOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIPasswordResetUserPasswordOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {ResetPasswordViewModel} [body]\n */\n body?: ResetPasswordViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIPasswordSetNewPasswordOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIPasswordSetNewPasswordOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {NewPasswordViewModel} [body]\n */\n body?: NewPasswordViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISharedRolesCreateGlobalRoleOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISharedRolesCreateGlobalRoleOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {CreateRoleViewModel} [body]\n */\n body?: CreateRoleViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISharedUsersCreateGlobalUserOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISharedUsersCreateGlobalUserOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {CreateUserViewModel} [body]\n */\n body?: CreateUserViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPISharedUsersUpdateGlobalUserOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPISharedUsersUpdateGlobalUserOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {UpdateUserViewModel} [body]\n */\n body?: UpdateUserViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersInitUserForNewSiteOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersInitUserForNewSiteOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {AddSiteCreationUserViewModel} [body]\n */\n body?: AddSiteCreationUserViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersChangeUserPasswordOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersChangeUserPasswordOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {ChangePasswordViewModel} [body]\n */\n body?: ChangePasswordViewModel;\n}\n\n/**\n * @interface\n * An interface representing BranderoAPIUsersUpdateUserOptionalParams.\n * Optional Parameters.\n *\n * @extends RequestOptionsBase\n */\nexport interface BranderoAPIUsersUpdateUserOptionalParams extends msRest.RequestOptionsBase {\n /**\n * @member {UpdateUserViewModel} [body]\n */\n body?: UpdateUserViewModel;\n}\n\n/**\n * Defines values for Status.\n * Possible values include: 'New', 'ToBeContacted', 'Contacted', 'Interviewed',\n * 'ToBeRejected', 'Rejected', 'Hired', 'Deleted', 'Interesting'\n * @readonly\n * @enum {string}\n */\nexport enum Status {\n New = 'New',\n ToBeContacted = 'ToBeContacted',\n Contacted = 'Contacted',\n Interviewed = 'Interviewed',\n ToBeRejected = 'ToBeRejected',\n Rejected = 'Rejected',\n Hired = 'Hired',\n Deleted = 'Deleted',\n Interesting = 'Interesting',\n}\n\n/**\n * Defines values for ApplyMethodEnum.\n * Possible values include: 'Normal', 'LightApply1'\n * @readonly\n * @enum {string}\n */\nexport enum ApplyMethodEnum {\n Normal = 'Normal',\n LightApply1 = 'LightApply1',\n}\n\n/**\n * Defines values for EmailType.\n * Possible values include: 'Normal', 'Invitation', 'Declined'\n * @readonly\n * @enum {string}\n */\nexport enum EmailType {\n Normal = 'Normal',\n Invitation = 'Invitation',\n Declined = 'Declined',\n}\n\n/**\n * Defines values for EmailStatus.\n * Possible values include: 'Send', 'Received', 'Bounced'\n * @readonly\n * @enum {string}\n */\nexport enum EmailStatus {\n Send = 'Send',\n Received = 'Received',\n Bounced = 'Bounced',\n}\n\n/**\n * Defines values for EmailSettingsFrequency.\n * Possible values include: 'EachApply', 'Daily', 'Weekly'\n * @readonly\n * @enum {string}\n */\nexport enum EmailSettingsFrequency {\n EachApply = 'EachApply',\n Daily = 'Daily',\n Weekly = 'Weekly',\n}\n\n/**\n * Defines values for DomainFileType.\n * Possible values include: 'Logo', 'JobAd', 'CV', 'CSS', 'Content'\n * @readonly\n * @enum {string}\n */\nexport enum DomainFileType {\n Logo = 'Logo',\n JobAd = 'JobAd',\n CV = 'CV',\n CSS = 'CSS',\n Content = 'Content',\n}\n\n/**\n * Defines values for ImageType.\n * Possible values include: 'Content', 'Logo', 'Employee', 'JobAd',\n * 'ImageLibrary'\n * @readonly\n * @enum {string}\n */\nexport enum ImageType {\n Content = 'Content',\n Logo = 'Logo',\n Employee = 'Employee',\n JobAd = 'JobAd',\n ImageLibrary = 'ImageLibrary',\n}\n\n/**\n * Defines values for UploadingResultCode.\n * Possible values include: 'Success', 'ErrorInUpload',\n * 'FileWidthDoesNotSatisfyMinimumSize', 'LandscapeRequired',\n * 'PortraitRequired', 'SquareRequired', 'ZeroFileLength',\n * 'OptimizationServiceNotificationError', 'ValueIsNotValid',\n * 'FileToMoveIsNotFound', 'FileIsNotValid'\n * @readonly\n * @enum {string}\n */\nexport enum UploadingResultCode {\n Success = 'Success',\n ErrorInUpload = 'ErrorInUpload',\n FileWidthDoesNotSatisfyMinimumSize = 'FileWidthDoesNotSatisfyMinimumSize',\n LandscapeRequired = 'LandscapeRequired',\n PortraitRequired = 'PortraitRequired',\n SquareRequired = 'SquareRequired',\n ZeroFileLength = 'ZeroFileLength',\n OptimizationServiceNotificationError = 'OptimizationServiceNotificationError',\n ValueIsNotValid = 'ValueIsNotValid',\n FileToMoveIsNotFound = 'FileToMoveIsNotFound',\n FileIsNotValid = 'FileIsNotValid',\n}\n","export default class Fetch {\r\n public static async fetchRetry(url: string, options: any, retries?: number, delay?: number) {\r\n const rtrs = retries || 5;\r\n const dly = delay || 500;\r\n\r\n return new Promise(function (resolve, reject) {\r\n\r\n var wrappedFetch = function (n) {\r\n fetch(url, options)\r\n .then(function (response) {\r\n if (response.status.toString().substring(0, 1) == '2') {\r\n resolve(response);\r\n } else {\r\n if (n > 0) {\r\n retry(n)\r\n } else {\r\n reject(response)\r\n }\r\n }\r\n })\r\n .catch(function (error) {\r\n if (n > 0) {\r\n retry(n);\r\n } else {\r\n reject(error)\r\n }\r\n })\r\n }\r\n\r\n function retry(n) {\r\n console.log(`Retries left: ${n}, query: ${url}`);\r\n setTimeout(function () {\r\n wrappedFetch(--n);\r\n }, dly);\r\n }\r\n\r\n wrappedFetch(rtrs);\r\n })\r\n }\r\n}","import { fetch, addTask } from 'domain-task';\r\nimport { AppThunkAction, ApplicationState } from './';\r\nimport { HtmlItem } from '../cms/models/htmlItem';\r\nimport { PropertyItem } from '../cms/models/propertyItem';\r\nimport { CompanyData } from '../cms/models/companyData';\r\nimport {\r\n UpdatePageItemInfoAction,\r\n PageItemInfo,\r\n PageItemStatus,\r\n actionCreators as PageItemInfoActionCreators\r\n} from './PageItemInfoStore';\r\nimport { PageItemModel } from '../cms/components/pageItems/pageItemModel';\r\nimport Api from '../cms/common/apiConstants';\r\nimport { SiteStatus } from './RootItem';\r\nimport Fetch from '../cms/common/fetchRetry';\r\nimport { JobAdModel } from 'src/services/autorest/models';\r\n\r\ninterface RequestRootItemAction {\r\n type: 'REQUEST_ROOT_ITEM';\r\n id: string;\r\n}\r\n\r\ninterface ReceiveRootItemAction {\r\n type: 'RECEIVE_ROOT_ITEM';\r\n id: string;\r\n cultureCode: string;\r\n isLoading: boolean;\r\n siteStatus: SiteStatus;\r\n}\r\n\r\ninterface ReceiveCompanyDataAction {\r\n type: 'RECEIVE_COMPANY_DATA';\r\n companyData: CompanyData;\r\n}\r\n\r\ninterface ReceiveJobAdDataAction {\r\n type: 'RECEIVE_JOBAD_DATA';\r\n jobAds: JobAdModel[];\r\n}\r\n\r\ninterface ReceivePageItemsAction {\r\n type: 'RECEIVE_PAGE_ITEMS';\r\n pageItems: { [key: string]: PageItemModel };\r\n}\r\n\r\ninterface ReceiveHtmlItemsAction {\r\n type: 'RECEIVE_HTML_ITEMS';\r\n htmlItems: { [key: string]: HtmlItem };\r\n}\r\n\r\ninterface ReceivePropertyItemsAction {\r\n type: 'RECEIVE_PROPERTY_ITEMS';\r\n propertyItems: { [key: string]: PropertyItem };\r\n}\r\n\r\ninterface SetLocalizationAction {\r\n type: 'SET_LOCALIZATION';\r\n texts: { [key: string]: string };\r\n}\r\n\r\ninterface ItemsData {\r\n id: string;\r\n order: number;\r\n name: string;\r\n data: string;\r\n publishedDate: string;\r\n}\r\n\r\nexport interface DbPageItem {\r\n companies: CompanyData;\r\n items: ItemsData[];\r\n jobAds: any;\r\n}\r\n\r\ninterface CreateNewSiteAction {\r\n type: 'CREATE_NEW_SITE';\r\n creatingNewSite: boolean;\r\n}\r\n\r\ntype KnownAction =\r\n | any\r\n | ReceiveRootItemAction\r\n | ReceivePageItemsAction\r\n | ReceiveHtmlItemsAction\r\n | ReceivePropertyItemsAction\r\n | RequestRootItemAction\r\n | ReceiveCompanyDataAction\r\n | ReceiveJobAdDataAction\r\n | SetLocalizationAction\r\n | UpdatePageItemInfoAction\r\n | CreateNewSiteAction;\r\n\r\nexport const actionCreators: any = {\r\n initPage: (id: string): AppThunkAction => (dispatch, getState) => {\r\n let cultureCode: string = '';\r\n if (typeof window !== 'undefined') {\r\n cultureCode = Api.siteCultureCode;\r\n dispatch({ type: 'SET_LOCALIZATION', texts: window['RESOURCES'] });\r\n }\r\n\r\n const res: ApplicationState = getState();\r\n if (res.companyData.companyData == null) {\r\n const fetchListOfPublishedItems: Promise = Fetch.fetchRetry(\r\n `${Api.siteOptions.itemHomePageQueries}/${id}/HomePageItems/?url=Home`,\r\n {\r\n headers: Api.headerWithToken,\r\n method: 'GET'\r\n }\r\n )\r\n .then(response => response.json() as Promise)\r\n .then(data => {\r\n return data.items.map(x => x.name);\r\n });\r\n\r\n const fetchTask: Promise = Fetch.fetchRetry(\r\n `${Api.siteOptions.itemHomePageQueries}/${id}/HomePageItems/Draft?url=Home`,\r\n {\r\n headers: Api.headerWithToken,\r\n method: 'GET'\r\n }\r\n ).then(response => response.json() as Promise);\r\n\r\n Promise.all([fetchListOfPublishedItems, fetchTask]).then(data => {\r\n const dbPageItem: DbPageItem = data[1];\r\n const listOfPublishedItems: string[] = data[0];\r\n\r\n dispatch({ type: 'REQUEST_ROOT_ITEM', id: id });\r\n dispatch({ type: 'RECEIVE_COMPANY_DATA', companyData: dbPageItem.companies });\r\n dispatch({ type: 'RECEIVE_JOBAD_DATA', jobAds: dbPageItem.jobAds.results });\r\n\r\n dbPageItem.items.forEach(item => {\r\n if (item.data !== '') {\r\n try {\r\n const itemData: any = JSON.parse(item.data);\r\n let publishedStatus: PageItemStatus;\r\n const isPublished: boolean =\r\n listOfPublishedItems.filter(i => i === item.name).length !== 0;\r\n\r\n isPublished\r\n ? (publishedStatus = PageItemStatus.PUBLISHED)\r\n : (publishedStatus = PageItemStatus.UNPUBLISHED);\r\n\r\n Object.keys(itemData.pageItems).forEach(key => {\r\n itemData.pageItems[key].order = item.order;\r\n });\r\n\r\n dispatch({ type: 'RECEIVE_PAGE_ITEMS', pageItems: itemData.pageItems });\r\n dispatch({ type: 'RECEIVE_HTML_ITEMS', htmlItems: itemData.htmlItems });\r\n dispatch({\r\n type: 'RECEIVE_PROPERTY_ITEMS',\r\n propertyItems: itemData.propertyItems\r\n });\r\n\r\n dispatch(\r\n PageItemInfoActionCreators.updatePageItemInfo({\r\n [Object.keys(itemData.pageItems)[0]]: {\r\n id: item.id,\r\n status: publishedStatus,\r\n hasChanges: false,\r\n isNew: false\r\n }\r\n })\r\n );\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n });\r\n\r\n const isDataEmpty: boolean = dbPageItem.items.some(item => item.data === '');\r\n\r\n if (dbPageItem.items.length !== 0 && !isDataEmpty) {\r\n dispatch({\r\n type: 'RECEIVE_ROOT_ITEM',\r\n id: id,\r\n cultureCode: cultureCode,\r\n isLoading: false,\r\n siteStatus: SiteStatus.FetchedFromDatabase\r\n });\r\n } else if (dbPageItem.items.length === 0) {\r\n dispatch({\r\n type: 'RECEIVE_ROOT_ITEM',\r\n id: id,\r\n cultureCode: cultureCode,\r\n isLoading: false,\r\n siteStatus: SiteStatus.NoPageItemsInDatabase\r\n });\r\n } else {\r\n dispatch({\r\n type: 'RECEIVE_ROOT_ITEM',\r\n id: id,\r\n cultureCode: cultureCode,\r\n isLoading: false,\r\n siteStatus: SiteStatus.Error\r\n });\r\n }\r\n });\r\n\r\n return fetchTask;\r\n }\r\n },\r\n initPublicPage: (id: string): AppThunkAction => (dispatch, getState) => {\r\n const res: ApplicationState = getState();\r\n // if (res.companyData.companyData == null) {\r\n // const fetchTask: Promise = fetch(\r\n // `${Api.siteOptions.itemHomePageQueries}/${id}/HomePageItems/?url=Home`,\r\n // {\r\n // method: 'GET'\r\n // }\r\n // )\r\n // .then(response => response.json() as Promise)\r\n // .then(data => {\r\n // dispatch({ type: 'REQUEST_ROOT_ITEM', id: id });\r\n // const dbPageItem: DbPageItem = data as DbPageItem;\r\n // dispatch({ type: 'RECEIVE_COMPANY_DATA', companyData: dbPageItem.companies });\r\n // dbPageItem.items.forEach(item => {\r\n // if (item.data !== '') {\r\n // try {\r\n // const itemData: any = JSON.parse(item.data);\r\n\r\n // Object.keys(itemData.pageItems).forEach(key => {\r\n // itemData.pageItems[key].order = item.order;\r\n // });\r\n // const newInfo: PageItemInfo = {\r\n // id: item.id,\r\n // status: PageItemStatus.READY,\r\n // hasChanges: false,\r\n // isNew: false\r\n // };\r\n // dispatch({\r\n // type: 'UPDATE_PAGE_ITEM_INFO',\r\n // pageItemInfo: { [newInfo.id]: newInfo }\r\n // });\r\n // dispatch({ type: 'RECEIVE_PAGE_ITEMS', pageItems: itemData.pageItems });\r\n // dispatch({ type: 'RECEIVE_HTML_ITEMS', htmlItems: itemData.htmlItems });\r\n // dispatch({\r\n // type: 'RECEIVE_PROPERTY_ITEMS',\r\n // propertyItems: itemData.propertyItems\r\n // });\r\n // } catch (e) {\r\n // return false;\r\n // }\r\n // }\r\n // });\r\n // dispatch({ type: 'RECEIVE_JOBAD_DATA', jobAds: dbPageItem.jobAds.results });\r\n // dispatch({\r\n // type: 'RECEIVE_ROOT_ITEM',\r\n // id: id,\r\n // cultureCode: res.root.cultureCode,\r\n // isLoading: false,\r\n // siteStatus: SiteStatus.Idle\r\n // });\r\n\r\n // return dbPageItem;\r\n // });\r\n // addTask(fetchTask); // ensure server-side prerendering waits for this to complete\r\n\r\n // return fetchTask;\r\n // }\r\n }\r\n};\r\n","export class Guid {\r\n static newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n}","import * as JobsListState from '../store/JobsListStore';\r\nimport format from 'date-fns/format';\r\nimport * as da from 'date-fns/locale/da';\r\nimport * as enGB from 'date-fns/locale/en';\r\nimport { ImageType } from '../services/autorest/models';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport moment from 'moment';\r\nimport { Guid } from 'guid-typescript';\r\nimport { JobStatisticState } from \"../store/JobStatistic\"\r\nimport { ApiService } from '../services/apiService';\r\nimport { JobAdModalEx } from '../cms/models/modelExtentions/JobAdModelEx';\r\n\r\ndeclare var window: any;\r\n\r\nconst locales = {\r\n 'da-DK': { locale: da, format: 'DD/MM/YYYY' },\r\n 'en-GB': { locale: enGB, format: 'YYYY/MM/DD' }\r\n};\r\nexport type TPackage ={\r\n name: string\r\n price: string\r\n currency: string\r\n description: string\r\n counterValue: string\r\n productsData: {name: string, icon: string, description: string}[]\r\n recommendText: string\r\n duration: string\r\n id: string \r\n}\r\nexport class Utils {\r\n public static isAppSite(){\r\n return !!+this.getCookie(\"UserFromAPP\");\r\n }\r\n public static stringFormat(...str: string[]): string {\r\n const args = Array.prototype.slice.call(arguments, 1);\r\n return str[0].replace(/{(\\d+)}/g, (match, nmbr) => {\r\n return typeof args[nmbr] !== 'undefined' ? args[nmbr] : match;\r\n });\r\n }\r\n public static normalizeStatisticForChart = (dataChart: any, field: keyof (JobStatisticState[\"entryStatistic\"][0] & JobStatisticState[\"socialStatistic\"][0])) => {\r\n let labels = [];\r\n let datasets = [];\r\n const colors = [\"#e08b8b\", \"#59863d\", \"#3d4686\",\"#867d3d\"]\r\n let b = {\r\n borderColor: \"red\",\r\n label: '',\r\n data: [],\r\n date: []\r\n }\r\n //generate labels for xAxios \r\n dataChart.forEach(e => labels.push(moment(e.date).format(\"MMM DD YYYY\")));\r\n \r\n //select color from colors\r\n let colorNumber = 0\r\n for (const stat in dataChart){\r\n const entry = dataChart[stat];\r\n if (dataChart[stat]?.feedName == dataChart[+stat + 1]?.feedName){\r\n b[\"label\"] = entry.feedName;\r\n b.data.push(entry[field]);\r\n b.date.push(moment(entry.date).format(\"MMM DD YYYY\"));\r\n } else {\r\n b[\"label\"] = entry.feedName;\r\n b.borderColor = colors[colorNumber]\r\n b.data.push(entry[field]);\r\n b.date.push(moment(entry.date).format(\"MMM DD YYYY\"));\r\n datasets.push(b);\r\n colorNumber++\r\n //clear data for creating new dataset\r\n b = {\r\n borderColor: \"red\",\r\n label: '',\r\n data: [],\r\n date: []\r\n }\r\n } \r\n \r\n }\r\n //merge dataset if duplicated;\r\n let output = [];\r\n datasets.sort((a, b) => {\r\n if (a.label > b.label) return 1;\r\n if (a.label < b.label) return -1;\r\n return 0;\r\n });\r\n datasets.forEach(function(item) {\r\n var existing = output.filter(function(v, i) {\r\n return v.label == item.label;\r\n });\r\n if (existing.length) {\r\n var existingIndex = output.indexOf(existing[0]);\r\n output[existingIndex].data = output[existingIndex].data.concat(item.data);\r\n } else {\r\n item.data = [...item.data]\r\n output.push(item);\r\n }\r\n });\r\n datasets = output\r\n // //start from right position\r\n\r\n let index = 0;\r\n labels = Array.from(new Set(labels))\r\n datasets.map(c=> { \r\n let isFind = true;\r\n c.date.map((d: any )=> {\r\n const sIndex = labels.findIndex(l => d == l)\r\n isFind && (index = sIndex)\r\n isFind = false;\r\n })\r\n //add into start 0 position;\r\n for (let j =0; j < index; j++){\r\n c.data.unshift(0);\r\n }\r\n })\r\n return {labels,datasets}\r\n }\r\n public static normalizeRecommendation = (recommendation: any): TPackage[] =>{\r\n \r\n const packagesData = recommendation;\r\n const _packages = [];\r\n const packagesRecommendations = packagesData.Recommendations;\r\n const packages = packagesRecommendations.Recommendation;\r\n const products = packagesRecommendations.Products.Product;\r\n let handledPackages = packages;\r\n if (!Array.isArray(handledPackages)) {\r\n handledPackages = [handledPackages];\r\n }\r\n handledPackages.map((item: any, index: number) => {\r\n const { SelectionOptions, TotalPrice, Products } = item;\r\n const price = TotalPrice.PriceAmount;\r\n const packageProducts = [];\r\n let counterValue = 0;\r\n \r\n Products.Id.forEach((packageProductId) => {\r\n const product = products.find((productItem) => {\r\n return productItem.Item['@id'] === packageProductId;\r\n });\r\n packageProducts.push(product);\r\n });\r\n const c = {\r\n name: item['@name'],\r\n id: item[\"@packageId\"],\r\n price: price['#text'],\r\n currency: price['@currencyCode'],\r\n description: SelectionOptions['@PriceOptionText'],\r\n counterValue: counterValue,\r\n productsData: packageProducts.map(c=> ({name: c[\"Item\"].Name, icon: c[\"Icon\"], description: c[\"Item\"].MapsTo.Item.Description})),\r\n recommendText: SelectionOptions['@RecommendedText'],\r\n duration: item['@durationInDays'],\r\n } as any \r\n _packages.push(c)\r\n }); \r\n return _packages;\r\n }\r\n public static getImageNumberFromScreenSize(imageType: ImageType): string {\r\n try {\r\n const width = (window as any).width;\r\n let imagenumber = '0';\r\n if (imageType === ImageType.Content) {\r\n //Compensates -20 pixel for browser margins\r\n // if (width < 780) {\r\n // imagenumber = '3';\r\n // }\r\n // if (width >= 780) {\r\n // imagenumber = '2';\r\n // }\r\n // if (width >= 1004) {\r\n // imagenumber = '1';\r\n // }\r\n if (width >= 1346) {\r\n imagenumber = '0';\r\n } else {\r\n imagenumber = '1';\r\n }\r\n } else if (imageType === ImageType.Employee) {\r\n imagenumber = '0';\r\n } else if (imageType === ImageType.Logo) {\r\n imagenumber = '0';\r\n }\r\n return imagenumber;\r\n } catch (error) {\r\n return '0'; //server rendering\r\n }\r\n }\r\n\r\n public static getImageNameFromScreenSize(imageType: ImageType, imageName: string): string {\r\n if (!!!imageName) {\r\n return;\r\n }\r\n const n = Utils.getImageNumberFromScreenSize(imageType);\r\n const lastIndex = imageName.lastIndexOf('.');\r\n return Utils.insert(imageName, lastIndex, '_' + n);\r\n }\r\n\r\n public static insert(str: string, index: number, value: string) {\r\n return str.substr(0, index) + value + str.substr(index);\r\n }\r\n\r\n public static dateFormat(str: string, lang: string): string {\r\n const date = str.split('T')[0];\r\n const fields = date.split('-');\r\n if (lang === 'da-DK') {\r\n return `${fields[2]}/${fields[1]}/${fields[0]}`; //fields[2] + \"/\" + fields[1] + \"/\" + fields[0]\r\n } else {\r\n return `${fields[1]}/${fields[2]}/${fields[0]}`; //fields[1] + \"/\" + fields[2] + \"/\" + fields[0]\r\n }\r\n }\r\n\r\n public static dateStringDisplayFormat = () => {\r\n if (Utils.getLanguage() == 'en-GB') {\r\n return locales['en-GB'].format;\r\n }\r\n if (Utils.getLanguage() == 'da-DK') {\r\n return locales['da-DK'].format;\r\n }\r\n return 'DD-MM-YYYY';\r\n }\r\n\r\n public static dateFormatDefaultLanguage(date: Date): string {\r\n if (date.getFullYear() === 1970) {\r\n return null;\r\n }\r\n\r\n return format(date, locales[Utils.getLanguage()].format, { locale: locales[Utils.getLanguage()].locale });\r\n }\r\n\r\n public static dateStringFormatDefaultLanguage(date: string): string {\r\n return format(date, locales[Utils.getLanguage()].format, { locale: locales[Utils.getLanguage()].locale });\r\n }\r\n\r\n public static getFormatedDateWithFullMonth(date: string | Date): string {\r\n this.initMomentLocale();\r\n\r\n return moment(date).format('DD. MMMM YYYY');\r\n }\r\n\r\n public static getStatusClassHelper(str: number): string {\r\n enum Classes {\r\n default,\r\n success,\r\n warning,\r\n danger,\r\n primary,\r\n info\r\n }\r\n let index: number;\r\n index = +str;\r\n return Classes[index] || Classes[0];\r\n }\r\n public static getCookie(cookie): string {\r\n if (typeof window == 'undefined') {\r\n return undefined;\r\n }\r\n const matches = document.cookie.match(new RegExp('(?:^|; )' + cookie.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)'));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n }\r\n\r\n public static getAuthToken(): string {\r\n if (typeof window == 'undefined') {\r\n return undefined;\r\n }\r\n const NAME = 'access_token';\r\n const matches = document.cookie.match(new RegExp('(?:^|; )' + NAME.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)'));\r\n return matches ? decodeURIComponent(matches[1]) : undefined;\r\n }\r\n\r\n public static getLogedInUserFullName() {\r\n if (Utils.getAuthToken()) {\r\n const token = jwtDecode<{ family_name: string; given_name: string }>(Utils.getAuthToken());\r\n return `${token.given_name} ${token.family_name}`;\r\n }\r\n return undefined;\r\n }\r\n\r\n public static getLogedInUserData() {\r\n if (Utils.getAuthToken()) {\r\n const token = jwtDecode<{ family_name: string; given_name: string; email: string; jti: string }>(Utils.getAuthToken());\r\n\r\n return {\r\n name: token.given_name,\r\n lastName: token.family_name,\r\n email: token.email,\r\n userId: token.jti\r\n };\r\n }\r\n\r\n return {};\r\n }\r\n\r\n public static getLogedInUserEmail() {\r\n if (Utils.getAuthToken()) {\r\n const token = jwtDecode<{ email: string }>(Utils.getAuthToken());\r\n return token.email;\r\n }\r\n return undefined;\r\n }\r\n\r\n public static getJobById(jobsList: JobsListState.IJob[], id: string): JobsListState.IJob {\r\n const a = jobsList.filter((i) => {\r\n return i.id == id;\r\n });\r\n return a[0];\r\n }\r\n\r\n public static isSuperAdmin(): boolean {\r\n if (typeof window == 'undefined') {\r\n return false;\r\n }\r\n return (window as any).IS_SUPERADMIN?.toLocaleLowerCase() == 'true';\r\n }\r\n\r\n public static isSiteAdmin(): boolean {\r\n if (typeof window == 'undefined') {\r\n return false;\r\n }\r\n return (window as any).IS_ADMIN.toLocaleLowerCase() == 'true';\r\n }\r\n\r\n public static isUserOfirAdvertiser(): boolean {\r\n return window['SITE_TYPE'] === 5;\r\n // return true\r\n }\r\n\r\n public static getBrowserLanguage(): string {\r\n const n = navigator as any;\r\n return n.language || n.userLanguage;\r\n }\r\n\r\n public static getLanguage(showSiteLang?: boolean): string {\r\n if (typeof window == 'undefined') {\r\n return undefined;\r\n }\r\n\r\n const area = showSiteLang ? 'Site' : 'Admin';\r\n const NAME = `.${area}.AspNetCore.Culture`;\r\n const matches = document.cookie.match(new RegExp('(?:^|; )' + NAME.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)'));\r\n if (matches) {\r\n return decodeURIComponent(matches[1])\r\n .split('|')[0]\r\n .split('=')[1];\r\n } else if ((window as any).SITE_CULTURE_CODE) {\r\n return (window as any).SITE_CULTURE_CODE;\r\n } else {\r\n return 'da-DK';\r\n }\r\n }\r\n\r\n public static initMomentLocale() {\r\n const lang = Utils.getLanguage();\r\n\r\n if (lang === 'en-GB') {\r\n moment.locale('en');\r\n } else {\r\n moment.locale('da');\r\n }\r\n }\r\n\r\n public static getTwoLetterLanguage(): string {\r\n return Utils.getLanguage() === 'da-DK' ? 'dk' : 'uk';\r\n }\r\n\r\n public static getLanguageForAdmin(): string {\r\n const NAME = '.Admin.AspNetCore.Culture';\r\n const matches = document.cookie.match(new RegExp('(?:^|; )' + NAME.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)'));\r\n return matches\r\n ? decodeURIComponent(matches[1])\r\n .split('|')[0]\r\n .split('=')[1]\r\n : 'da-DK';\r\n }\r\n\r\n public static hasClass(target: any, className: string): boolean {\r\n return new RegExp('(\\\\s|^)' + className + '(\\\\s|$)').test(target.className);\r\n }\r\n\r\n public static getTime(date?: Date) {\r\n return date != null ? date.getTime() : 0;\r\n }\r\n\r\n public static getUrlParameterByKey(paramKey: string) {\r\n const name = paramKey.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\r\n const regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\r\n const results = regex.exec(location.search);\r\n\r\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\r\n }\r\n\r\n public static getLastUrlItem(url: string) {\r\n const urlItemsList = url.split('/');\r\n\r\n return urlItemsList[urlItemsList.length - 1];\r\n }\r\n\r\n public static isIE() {\r\n const ua = window.navigator.userAgent;\r\n const msie = ua.indexOf('MSIE ');\r\n const trident = ua.indexOf('Trident/');\r\n\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n const rv = ua.indexOf('rv:');\r\n\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getWindowSelectionHtml() {\r\n const doc = document as any;\r\n let html = '';\r\n\r\n if (typeof window.getSelection != 'undefined') {\r\n const sel: any = window.getSelection();\r\n\r\n if (sel.rangeCount) {\r\n const container = document.createElement('div');\r\n\r\n for (let i = 0; i < sel.rangeCount; ++i) {\r\n container.appendChild(sel.getRangeAt(i).cloneContents());\r\n }\r\n\r\n html = container.innerHTML;\r\n }\r\n } else if (typeof doc.selection != 'undefined') {\r\n if (doc.selection.type == 'Text') {\r\n html = doc.selection.createRange().htmlText;\r\n }\r\n }\r\n\r\n return html;\r\n }\r\n\r\n public static copyHtmlToClipboard(html: string) {\r\n const clipboardDiv: any = document.createElement('div');\r\n\r\n // Prevent zooming on iOS\r\n clipboardDiv.style.fontSize = '12pt';\r\n\r\n // Reset box model\r\n clipboardDiv.style.border = '0';\r\n clipboardDiv.style.padding = '0';\r\n clipboardDiv.style.margin = '0';\r\n\r\n // Move element out of screen\r\n clipboardDiv.style.position = 'fixed';\r\n clipboardDiv.style['right'] = '-9999px';\r\n\r\n // More hiding\r\n clipboardDiv.setAttribute('readonly', '');\r\n clipboardDiv.style.opacity = 0;\r\n clipboardDiv.style.pointerEvents = 'none';\r\n clipboardDiv.style.zIndex = -1;\r\n clipboardDiv.setAttribute('tabindex', '0'); // so it can be focused\r\n clipboardDiv.innerHTML = '';\r\n document.body.appendChild(clipboardDiv);\r\n\r\n clipboardDiv.innerHTML = html;\r\n\r\n clipboardDiv.focus();\r\n\r\n window.getSelection().removeAllRanges();\r\n\r\n const range = document.createRange();\r\n\r\n range.setStartBefore(clipboardDiv.firstChild);\r\n range.setEndAfter(clipboardDiv.lastChild);\r\n window.getSelection().addRange(range);\r\n\r\n let success = false;\r\n\r\n try {\r\n if (document.execCommand('copy')) {\r\n success = true;\r\n } else {\r\n console.log('execCommand returned false !');\r\n }\r\n } catch (err) {\r\n console.log('execCommand failed ! exception');\r\n }\r\n\r\n clipboardDiv.remove();\r\n }\r\n\r\n public static formatEmailHtml(html: string): string {\r\n let trimmedHTML = html;\r\n\r\n trimmedHTML = trimmedHTML.replace(/(
|)(\\s*?|  *?)(\\w|\\()/gm, '$1$3');\r\n trimmedHTML = trimmedHTML.replace(/> *<');\r\n trimmedHTML = trimmedHTML.replace(/

<\\/div>/gi, '
');\r\n\r\n return trimmedHTML;\r\n }\r\n\r\n public static formatEmailTemplateHtml(html: string): string {\r\n let clearedHtml = html;\r\n\r\n clearedHtml = clearedHtml.replace(/

<\\/div>/gi, '
');\r\n\r\n return clearedHtml;\r\n }\r\n\r\n public static serializeObject = (obj: any): string => {\r\n const strArr = [];\r\n\r\n for (const p in obj) {\r\n if (obj.hasOwnProperty(p)) {\r\n strArr.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p]));\r\n }\r\n }\r\n\r\n return strArr.join('&');\r\n }\r\n\r\n public static isFunction(value: any) {\r\n if (value instanceof Function) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getApplicationTypeByMethod = (applicationMethod: number): string => {\r\n switch (applicationMethod) {\r\n case 0:\r\n case 4:\r\n return 'mail';\r\n case 1:\r\n return 'link';\r\n case 2:\r\n return 'phone';\r\n case 3:\r\n return 'post';\r\n default:\r\n return '';\r\n }\r\n };\r\n\r\n public static generateGuid = (): string => {\r\n return Guid.create().toString();\r\n }\r\n\r\n public static getSiteID(): string {\r\n return typeof window == 'undefined' ? undefined : window['SITE_ID'];\r\n }\r\n public static getCDNUrl(){\r\n const w = window as any\r\n const url = w?.CDN_URL;\r\n return url;\r\n }\r\n public static sortUserTemplatesByUpdateDate(templates: any[]): any[] {\r\n const sortedTemplates = templates.sort((a, b) => {\r\n const updateDate1 = moment(a.updatedDate);\r\n const updateDate2 = moment(b.updatedDate);\r\n\r\n if (updateDate1.isBefore(updateDate2)) {\r\n return 1;\r\n } else if (updateDate1.isAfter(updateDate2)) {\r\n return -1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n\r\n return sortedTemplates;\r\n }\r\n\r\n public static isNullOrUndefined = (v: any): boolean => v === null || v === undefined;\r\n\r\n}\r\n","import Fetch from './fetchRetry';\r\nimport { Guid } from './guid';\r\nimport { BaseItem, BaseItemModel, HtmlItemModel } from '../components/pageItems/pageItemModel';\r\nimport { IResources } from './resources';\r\nimport IRepository from './repository';\r\nimport Api from '../common/apiConstants';\r\nimport ApiConstants from '../common/apiConstants';\r\nimport { Utils } from '../../Utils/Utils';\r\nimport { ImageType } from '../../services/autorest/models';\r\n\r\nexport interface ITemplateSettings {\r\n industry: ISubIndustry;\r\n cultureCode: string;\r\n requiredPageItems: TemplatePageItem[];\r\n}\r\n\r\nexport interface IIndustries {\r\n 'da-DK': IIndustry[];\r\n 'en-GB': IIndustry[];\r\n}\r\n\r\ninterface IIndustry {\r\n Id: number;\r\n Name: string;\r\n SubIndustries: ISubIndustry[];\r\n}\r\n\r\ninterface ISubIndustry {\r\n Id: number;\r\n Name: string;\r\n}\r\n\r\ninterface TemplatePageItem {\r\n name: string;\r\n isPublishedByDefault: boolean;\r\n}\r\n\r\nexport class TemplateSettings implements ITemplateSettings {\r\n public industry: IIndustry;\r\n public cultureCode: string;\r\n public requiredPageItems: TemplatePageItem[];\r\n\r\n constructor(jsonSettings: string, industry: IIndustry) {\r\n try {\r\n const settings: ITemplateSettings = JSON.parse(jsonSettings);\r\n this.industry = industry;\r\n this.cultureCode = settings.cultureCode;\r\n this.requiredPageItems = settings.requiredPageItems;\r\n } catch (error) {\r\n console.error('Cannot create ITemplateSettings ', error);\r\n }\r\n }\r\n}\r\n\r\nexport class TemplateHandler {\r\n private _repository: IRepository;\r\n private _resourceTagBegin: string;\r\n private _resourceTagEnd: string;\r\n private _industryName: string;\r\n private _cultureCode: string;\r\n private _siteId: string;\r\n private _templateSettings: ITemplateSettings;\r\n private _resources: IResources;\r\n private _createdTemplates: BaseItemModel[];\r\n\r\n constructor(repository: IRepository, industryName: string, cultureCode: string, siteId: string) {\r\n this._repository = repository;\r\n this._createdTemplates = [];\r\n this._industryName = industryName;\r\n this._cultureCode = cultureCode;\r\n this._siteId = siteId;\r\n this._resourceTagBegin = '\\\\*\\\\|';\r\n this._resourceTagEnd = '\\\\|\\\\*';\r\n }\r\n\r\n public createNewSite(): Promise {\r\n return new Promise((resolveAll) => {\r\n Promise.all([\r\n new Promise((resolve) => {\r\n this._repository.getIndustryToTemplateMapping().then((industries) => {\r\n const industry: IIndustry = this.getIndustryByName(this._industryName, this._cultureCode, industries);\r\n this._repository.getTemplateSettings(this._cultureCode, industry.Id).then((data) => {\r\n this._templateSettings = data;\r\n this._templateSettings.industry = industry;\r\n resolve();\r\n });\r\n });\r\n }),\r\n new Promise((resolve) => {\r\n this._repository.getResources(this._cultureCode).then((data) => {\r\n this._resources = data;\r\n resolve();\r\n });\r\n })\r\n ]).then(() => {\r\n Promise.all(\r\n this._templateSettings.requiredPageItems.map((pageItem, index) => {\r\n return this.createTemplate(pageItem.name, pageItem.isPublishedByDefault, index + 1);\r\n })\r\n ).then(() => {\r\n resolveAll(this._createdTemplates);\r\n });\r\n });\r\n });\r\n }\r\n\r\n //TODO: Ugly - Not SOLID\r\n private addNewPageItemToDatabase(pageItemName: string, index: number): Promise {\r\n return new Promise((resolve) => {\r\n const body: object = { parentId: this._siteId, name: pageItemName, url: '/Home', data: '', order: index };\r\n Fetch.fetchRetry(`${Api.siteOptions.itemDraftCommands}/${this._siteId}/PageItems/draft`, {\r\n headers: Api.headerWithToken,\r\n method: 'POST',\r\n body: JSON.stringify(body)\r\n })\r\n .then((response) => response.json() as Promise)\r\n .then((data) => {\r\n resolve(data);\r\n });\r\n });\r\n }\r\n\r\n private createTemplate(pageItemName: string, isPublishedByDefault: boolean, index: number): Promise {\r\n const resourcePrefix: string = `TEMPLATE_${this._templateSettings.industry.Id}_${pageItemName}_`;\r\n\r\n return new Promise((resolve) => {\r\n this.addNewPageItemToDatabase(pageItemName, index).then((newGuidFromDatabase) => {\r\n this._repository.getTemplate(this._cultureCode, this._templateSettings.industry.Id, pageItemName).then((tmplt) => {\r\n let template: string = tmplt;\r\n const resourceTags: string[] = this.getResourceTags(template);\r\n resourceTags == null\r\n ? resolve()\r\n : resourceTags.forEach((tag) => {\r\n const resourceKey: string =\r\n resourcePrefix + tag.replace(new RegExp(this._resourceTagBegin, 'g'), '').replace(new RegExp(this._resourceTagEnd, 'g'), '');\r\n template = template.replace(tag, this._resources.getText(resourceKey));\r\n });\r\n template = this.createTempGuidForTemplate(template, this._siteId, newGuidFromDatabase);\r\n const baseItemTemplate: BaseItem = JSON.parse(template);\r\n baseItemTemplate.pageItem.templateId = this._templateSettings.industry.Id;\r\n baseItemTemplate.pageItem.order = index;\r\n baseItemTemplate.pageItem.isPublishedByDefault = isPublishedByDefault;\r\n this._createdTemplates.push(baseItemTemplate);\r\n\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n\r\n private createTempGuidForTemplate(template: string, parentId: string, newGuidFromDatabase: string): string {\r\n const regEx: RegExp = /@GUID\\w+@/g;\r\n const matches: RegExpMatchArray = template.match(regEx);\r\n let replacedTemplate: string = template;\r\n matches\r\n ? replacedTemplate.match(regEx).forEach((match) => {\r\n replacedTemplate = replacedTemplate.replace(new RegExp(match, 'g'), Guid.newGuid());\r\n })\r\n : (replacedTemplate = '');\r\n replacedTemplate = replacedTemplate.replace(new RegExp('@NEW_GUID@', 'g'), newGuidFromDatabase);\r\n replacedTemplate = replacedTemplate.replace(new RegExp('@PARENT_GUID@', 'g'), parentId);\r\n\r\n return replacedTemplate;\r\n }\r\n\r\n private getResourceTags(template: string): string[] {\r\n const pattern: RegExp = new RegExp(`${this._resourceTagBegin}\\\\w+${this._resourceTagEnd}`, 'g');\r\n\r\n return template.match(pattern);\r\n }\r\n\r\n private getIndustryByName(name: string, cultureCode: string, industries: IIndustries): IIndustry {\r\n let industry: IIndustry;\r\n\r\n industries[cultureCode].map((ind) => {\r\n if (ind.Name === name) {\r\n industry = ind;\r\n } else {\r\n ind.SubIndustries.find((sind) => {\r\n if (sind.Name === name) {\r\n industry = sind;\r\n }\r\n });\r\n }\r\n });\r\n\r\n return industry;\r\n }\r\n}\r\n\r\nexport class TemplateUtility {\r\n public static getEmployeeImageUri(props: any, item: HtmlItemModel, isInEditMode: boolean = false) {\r\n const fileName = props.propertyItems.find((x) => x.parentId === item.id && x.name === 'ImageUrl').value;\r\n return TemplateUtility.getImageUrl(props, isInEditMode, fileName, ImageType.Employee);\r\n }\r\n public static getContentImageUri(props: any, propertyName: string, isInEditMode: boolean = false) {\r\n const fileName = props.propertyItems.find((x) => x.name === propertyName).value;\r\n return TemplateUtility.getImageUrl(props, isInEditMode, fileName, ImageType.Content);\r\n }\r\n private static getImageUrl(props: any, isInEditMode: boolean, fileName: string, imageType: ImageType) {\r\n const isSliderBackgroundFromTemplate: string = props.pageItem.properties ? props.pageItem.properties.backgroundFromTemplate : 'false';\r\n if (!fileName) {\r\n return 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; //empty Image\r\n }\r\n let realFileName = fileName;\r\n const imageNumber = '_' + Utils.getImageNumberFromScreenSize(imageType);\r\n\r\n if (isSliderBackgroundFromTemplate === 'true') {\r\n const index = fileName.lastIndexOf('.');\r\n realFileName = [fileName.slice(0, index), imageNumber, fileName.slice(index)].join('');\r\n if (imageType === ImageType.Content) {\r\n realFileName = this.replaceFileExtension(realFileName);\r\n }\r\n return `${ApiConstants.siteOptions.fileStoreCDN}/templates/${props.cultureCode}/${props.pageItem.templateId}/${realFileName}`;\r\n } else {\r\n if (!isInEditMode) {\r\n const index = 36;\r\n realFileName = [fileName.slice(0, index), imageNumber, fileName.slice(index)].join('');\r\n if (imageType === ImageType.Content) {\r\n realFileName = this.replaceFileExtension(realFileName);\r\n }\r\n }\r\n return `${ApiConstants.siteOptions.fileStoreCDN}/${props.siteId}/${imageType}/${realFileName}`;\r\n }\r\n }\r\n private static replaceFileExtension(fileName: string): string {\r\n const pos = fileName.lastIndexOf('.');\r\n return fileName.substr(0, pos < 0 ? fileName.length : pos) + '.jpg';\r\n }\r\n public static setIsBgFromTemplate(item: any, value: boolean) {\r\n item.pageItem.properties\r\n ? (item.pageItem.properties.backgroundFromTemplate = value.toString())\r\n : (item.pageItem.properties.backgroundFromTemplate = 'No properties property is defined');\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { PageItemModel, HtmlItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport { TemplateUtility } from '../../common/template';\r\nimport { ImageType } from '../../../services/autorest/models';\r\n\r\ntype SliderProps = {\r\n siteId: string;\r\n pageItemId: string;\r\n cultureCode: string;\r\n pageItem: PageItemModel;\r\n htmlItems: HtmlItemModel[];\r\n propertyItems: PropertyItemModel[];\r\n isInEditMode: boolean;\r\n};\r\n\r\nclass Slider extends React.Component {\r\n public clickDiv(el: HTMLElement) {\r\n if (el) {\r\n setInterval(el.click.bind(el), 10000);\r\n }\r\n }\r\n\r\n public preventDefaultOnNextPrevClick(e: any) {\r\n e.preventDefault();\r\n }\r\n\r\n public createSliderItems() {\r\n return this.props.htmlItems\r\n .filter((item) => item.name == 'SliderItem')\r\n .map((item, index) => {\r\n return (\r\n
\r\n
\r\n \r\n {this.props.propertyItems.find((prop) => prop.parentId == item.id && prop.name == 'SliderItemTextTop').value}\r\n \r\n
\r\n

\r\n {this.props.propertyItems.find((prop) => prop.parentId == item.id && prop.name == 'SliderItemTextBottom').value}\r\n

\r\n
\r\n );\r\n });\r\n }\r\n\r\n public createIndicators() {\r\n return this.props.htmlItems\r\n .filter((item) => item.name == 'SliderItem')\r\n .map((item, index) => {\r\n return
  • ;\r\n });\r\n }\r\n\r\n public render() {\r\n const tintValue = this.props.propertyItems.find((x) => x.name == 'SliderBackgroundTint')\r\n ? this.props.propertyItems.find((x) => x.name == 'SliderBackgroundTint').value\r\n : 0;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n

    {this.props.propertyItems.find((x) => x.name == 'SliderHeader').value}

    \r\n
    \r\n
    \r\n {this.createSliderItems()}\r\n
    \r\n {this.props.htmlItems.filter((item) => item.name == 'SliderItem').length > 1 && (\r\n
    \r\n \r\n \r\n Previous\r\n \r\n this.clickDiv(el)}\r\n >\r\n \r\n Next\r\n \r\n
      {this.createIndicators()}
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\nexport default Slider;\r\n","import * as React from 'react';\r\nimport { PageItemModel, HtmlItemModel, PropertyItemModel } from '../pageItems/pageItemModel'\r\n\r\ntype PresentationProps = {\r\n pageItemId: string\r\n pageItem: PageItemModel,\r\n propertyItems: PropertyItemModel[]\r\n}\r\n\r\nclass Presentation extends React.Component {\r\n public render() {\r\n return
    \r\n
    \r\n
    \r\n

    \r\n x.name == \"PresentationItemText\").value }}> \r\n

    \r\n
    \r\n
    \r\n
    \r\n }\r\n}\r\n\r\nexport default Presentation;","import i18n from 'i18next';\r\nimport { Utils } from '../Utils/Utils';\r\nimport { initReactI18next } from 'react-i18next';\r\n\r\n//import * as resources from \"./resources.json\"\r\n// tslint:disable:no-require-imports\r\n// tslint:disable:no-var-requires\r\nconst resources = require('./resources-clean.json');\r\nconst lang = Utils.getLanguage();\r\ni18n.use(initReactI18next).init({\r\n // we init with resources\r\n resources,\r\n lng: lang ,\r\n fallbackLng: 'da-DK',\r\n debug: false,\r\n\r\n // have a common namespace used around the full app\r\n ns: ['translations'],\r\n defaultNS: 'translations',\r\n keySeparator: false, // we use content as keys\r\n interpolation: {\r\n escapeValue: false, // not needed for react!!\r\n formatSeparator: ','\r\n },\r\n react: {\r\n wait: true\r\n }\r\n});\r\n\r\nexport default i18n;\r\n","const VIDEO_URL = 'https://www.youtube.com/embed/';\r\nconst U_TUBE_REG_EXP = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=)([^#\\&\\?]*).*/;\r\nconst U_TUBE_ID_LENGTH = 11;\r\n\r\nexport default class UTubeFormatUrlHelper {\r\n private static getUTubeVideoId(link: string): string {\r\n const matched: string[] | null = link.match(U_TUBE_REG_EXP);\r\n let id: string = '';\r\n if (matched && matched[2].length === U_TUBE_ID_LENGTH) {\r\n id = matched[2];\r\n }\r\n return id;\r\n }\r\n private static getQueryParams(url: string): string {\r\n const queryString: string[] = url.split('?');\r\n return (queryString && queryString.length > 1) ? `${queryString[1]}` : '';\r\n }\r\n\r\n private static filterUTubeQueryParams(query: string): string {\r\n const params: string[] = this.getQueryParams(query).split('&');\r\n return params.filter(flag => flag.indexOf('v=') === -1).join('&');\r\n }\r\n\r\n public static formatVideoUrl(url: string): string {\r\n const uTubeID: string = this.getUTubeVideoId(url);\r\n const filteredQuery: string = this.filterUTubeQueryParams(url);\r\n const queryString: string = filteredQuery ? `?${filteredQuery}` : '';\r\n return uTubeID ? `${VIDEO_URL}${uTubeID}${queryString}` : url;\r\n }\r\n}\r\n","export default class UrlTransformHelper {\r\n public static returnTrue() {\r\n return true;\r\n }\r\n\r\n public static getUrlWithSchema(url: string): string {\r\n return (url.indexOf('://') === -1) ? `//${url}` : url;\r\n }\r\n}\r\n","import { PropertyItemModel } from '../components/pageItems/pageItemModel';\r\n\r\nexport default class PropertyItemHelper {\r\n public static getPropertyItemValue(props: any, name: string): string {\r\n const { propertyItems, pageItem } = props;\r\n const propertyItem: PropertyItemModel = propertyItems.find((x) => x.parentId === pageItem.id && x.name === name);\r\n return propertyItem ? propertyItem.value : null;\r\n }\r\n\r\n public static getPropertyItemByName(props: any, name: string): PropertyItemModel {\r\n const { propertyItems, pageItem } = props;\r\n const propertyItem: PropertyItemModel = propertyItems.find((x) => x.parentId === pageItem.id && x.name === name);\r\n return propertyItem || null;\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { CompanyData } from '../../models/companyData';\r\nimport { PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport i18n from '../../../resources/i18n';\r\nimport { UrlTransformHelper } from '../../helpers';\r\n\r\ntype SocialMediaProps = {\r\n pageItemId: string;\r\n propertyItems: PropertyItemModel[];\r\n companyData: CompanyData;\r\n};\r\n\r\nclass SocialMedia extends React.Component {\r\n public render() {\r\n return (\r\n
    \r\n
    \r\n

    {this.props.propertyItems.find((x) => x.name == 'SocialMediaItemText').value}

    \r\n
    \r\n {this.props.companyData.facebookUrl != '' || undefined ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.props.companyData.twitterUrl != '' || undefined ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.props.companyData.linkedInUrl != '' || undefined ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.props.companyData.youtubeUrl != '' || undefined ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.props.companyData.instagramUrl != '' || undefined ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n ''\r\n )}\r\n {this.props.companyData.otherUrl ? (\r\n \r\n \r\n \r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default SocialMedia;\r\n","import * as React from 'react';\r\nimport { PageItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport { TemplateUtility } from '../../common/template';\r\nimport { ImageType } from '../../../services/autorest/models';\r\n\r\ntype AboutUsProps = {\r\n siteId: string;\r\n cultureCode: string;\r\n pageItemId: string;\r\n pageItem: PageItemModel;\r\n propertyItems: PropertyItemModel[];\r\n isInEditMode: boolean;\r\n};\r\n\r\nexport class AboutUs extends React.Component {\r\n public render() {\r\n const tintValue = this.props.propertyItems.find((x) => x.name == 'AboutUsBackgroundTint')\r\n ? this.props.propertyItems.find((x) => x.name == 'AboutUsBackgroundTint').value\r\n : 0;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {this.props.propertyItems.find((x) => x.name == 'AboutUsHeaderText').value}\r\n

    \r\n
    \r\n

    \r\n x.name == 'AboutUsBodyText').value }} />\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default AboutUs;\r\n","import * as React from 'react';\r\nimport { PageItemModel, HtmlItemModel, PropertyItemModel } from '../pageItems/pageItemModel'\r\n\r\ntype BenefitsProps = {\r\n pageItemId: string,\r\n pageItem: PageItemModel,\r\n htmlItems: HtmlItemModel[],\r\n propertyItems: PropertyItemModel[]\r\n}\r\n\r\nclass Benefits extends React.Component {\r\n public render() {\r\n return
    \r\n {this.props.htmlItems.map(htmlItem => {\r\n return
    \r\n x.parentId == htmlItem.id && x.name == 'FontAwesome' ).value} fa-4x`}>\r\n

    {this.props.propertyItems.find(x => x.parentId == htmlItem.id && x.name == 'BenefitHeaderText' ).value}

    \r\n

    {this.props.propertyItems.find(x => x.parentId == htmlItem.id && x.name == 'BenefitBodyText' ).value}

    \r\n
    \r\n })}\r\n \r\n
    \r\n }\r\n}\r\nexport default Benefits;","import * as React from 'react';\r\nimport { PageItemModel, HtmlItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport { TemplateUtility } from '../../common/template';\r\nimport { UTubeFormatUrlHelper } from '../../helpers';\r\n\r\ntype TestimonialProps = {\r\n siteId: string;\r\n pageItemId: string;\r\n pageItem: PageItemModel;\r\n htmlItems: HtmlItemModel[];\r\n propertyItems: PropertyItemModel[];\r\n cultureCode: string;\r\n isInEditMode: boolean;\r\n};\r\n\r\nclass Testimonial extends React.Component {\r\n public render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n {this.props.propertyItems.find((x) => x.parentId == this.props.pageItem.id && x.name == 'TestimonialHeaderText').value}\r\n

    \r\n
    \r\n
    \r\n
    \r\n {this.createItems()}\r\n
    \r\n \r\n \r\n Previous\r\n \r\n \r\n \r\n Next\r\n \r\n
      {this.createCarouselIndicators()}
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private createItems() {\r\n return this.props.htmlItems.filter((x) => x.tagName == 'div').map((item, index) => {\r\n switch (item.name) {\r\n case 'TestimonialOneColumnText':\r\n return this.createTestimonialOneColumnText(item, index);\r\n case 'TestimonialTwoColumnVideo':\r\n return this.createTestimonialTwoColumnVideo(item, index);\r\n case 'TestimonialTwoColumnImage':\r\n return this.createTestimonialTwoColumnImage(item, index);\r\n default:\r\n }\r\n });\r\n }\r\n\r\n private createCarouselIndicators() {\r\n return this.props.htmlItems.filter((item) => item.tagName == 'div').map((item, index) => {\r\n return
  • ;\r\n });\r\n }\r\n\r\n private createTestimonialOneColumnText(item: HtmlItemModel, index: number) {\r\n return (\r\n
    \r\n
    \r\n \r\n

    \r\n \r\n {this.props.propertyItems.find((x) => x.parentId == item.id && x.name == 'QuoteText').value}\r\n

    \r\n \r\n {this.props.propertyItems.find((x) => x.parentId == item.id && x.name == 'EmployeeName').value}\r\n \r\n
    \r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n private createTestimonialTwoColumnVideo(item: HtmlItemModel, index: number) {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n

    \r\n \r\n {this.props.propertyItems.find((x) => x.parentId == item.id && x.name == 'QuoteText').value}\r\n

    \r\n \r\n {this.props.propertyItems.find((x) => x.parentId == item.id && x.name == 'EmployeeName').value}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n x.parentId === item.id && x.name === 'VideoUrl').value\r\n )}\r\n frameBorder=\"0\"\r\n allowFullScreen\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private createTestimonialTwoColumnImage(item: HtmlItemModel, index: number) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n

    \r\n \r\n {this.props.propertyItems.find((x) => x.parentId == item.id && x.name == 'QuoteText').value}\r\n

    \r\n \r\n {this.props.propertyItems.find((x) => x.parentId == item.id && x.name == 'EmployeeName').value}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\nexport default Testimonial;\r\n","/*\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\n\nexport const CustomerModel = {\n serializedName: \"CustomerModel\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n customerId: {\n serializedName: \"customerId\",\n type: {\n name: \"Number\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n cvr: {\n serializedName: \"cvr\",\n type: {\n name: \"String\"\n }\n },\n ean: {\n serializedName: \"ean\",\n type: {\n name: \"String\"\n }\n },\n pNumber: {\n serializedName: \"pNumber\",\n type: {\n name: \"String\"\n }\n },\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n address2: {\n serializedName: \"address2\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n zipCode: {\n serializedName: \"zipCode\",\n type: {\n name: \"String\"\n }\n },\n country: {\n serializedName: \"country\",\n type: {\n name: \"String\"\n }\n },\n webAddress: {\n serializedName: \"webAddress\",\n type: {\n name: \"String\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phone1: {\n serializedName: \"phone1\",\n type: {\n name: \"String\"\n }\n },\n phone2: {\n serializedName: \"phone2\",\n type: {\n name: \"String\"\n }\n },\n phone3: {\n serializedName: \"phone3\",\n type: {\n name: \"String\"\n }\n },\n industryCode: {\n serializedName: \"industryCode\",\n type: {\n name: \"String\"\n }\n },\n created: {\n serializedName: \"created\",\n type: {\n name: \"DateTime\"\n }\n },\n modified: {\n serializedName: \"modified\",\n type: {\n name: \"DateTime\"\n }\n },\n modifiedBy: {\n serializedName: \"modifiedBy\",\n type: {\n name: \"String\"\n }\n },\n createdBy: {\n serializedName: \"createdBy\",\n type: {\n name: \"String\"\n }\n },\n correlationId: {\n serializedName: \"correlationId\",\n type: {\n name: \"Uuid\"\n }\n },\n isDeleted: {\n serializedName: \"isDeleted\",\n type: {\n name: \"Boolean\"\n }\n },\n isHq: {\n serializedName: \"isHq\",\n type: {\n name: \"Boolean\"\n }\n },\n deleteReason: {\n serializedName: \"deleteReason\",\n type: {\n name: \"String\"\n }\n },\n packageProperty: {\n serializedName: \"packageProperty\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CandidateListRequestModel = {\n serializedName: \"CandidateListRequestModel\",\n type: {\n name: \"Composite\",\n className: \"CandidateListRequestModel\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"New\",\n \"ToBeContacted\",\n \"Contacted\",\n \"Interviewed\",\n \"ToBeRejected\",\n \"Rejected\",\n \"Hired\",\n \"Deleted\",\n \"Interesting\"\n ]\n }\n },\n searchValue: {\n serializedName: \"searchValue\",\n type: {\n name: \"String\"\n }\n },\n sortField: {\n serializedName: \"sortField\",\n type: {\n name: \"String\"\n }\n },\n sortOrder: {\n serializedName: \"sortOrder\",\n type: {\n name: \"Number\"\n }\n },\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n type: {\n name: \"Number\"\n }\n },\n excludeDeleted: {\n serializedName: \"excludeDeleted\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const OriginalNameFileModel = {\n serializedName: \"OriginalNameFileModel\",\n type: {\n name: \"Composite\",\n className: \"OriginalNameFileModel\",\n modelProperties: {\n fileGuid: {\n serializedName: \"fileGuid\",\n type: {\n name: \"String\"\n }\n },\n originalName: {\n serializedName: \"originalName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const NoteModel = {\n serializedName: \"NoteModel\",\n type: {\n name: \"Composite\",\n className: \"NoteModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n candidateId: {\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n },\n note: {\n serializedName: \"note\",\n type: {\n name: \"String\"\n }\n },\n userFullName: {\n serializedName: \"userFullName\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n },\n createDate: {\n serializedName: \"createDate\",\n type: {\n name: \"DateTime\"\n }\n },\n modifiedDate: {\n serializedName: \"modifiedDate\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CandidateListShortModel = {\n serializedName: \"CandidateListShortModel\",\n type: {\n name: \"Composite\",\n className: \"CandidateListShortModel\",\n modelProperties: {\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n applicationDate: {\n serializedName: \"applicationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"OriginalNameFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"OriginalNameFileModel\"\n }\n }\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"New\",\n \"ToBeContacted\",\n \"Contacted\",\n \"Interviewed\",\n \"ToBeRejected\",\n \"Rejected\",\n \"Hired\",\n \"Deleted\",\n \"Interesting\"\n ]\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"NoteModelElementType\",\n type: {\n name: \"Composite\",\n className: \"NoteModel\"\n }\n }\n }\n },\n jobId: {\n serializedName: \"jobId\",\n type: {\n name: \"Uuid\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n numberOfEmails: {\n serializedName: \"numberOfEmails\",\n type: {\n name: \"Number\"\n }\n },\n applyMethod: {\n serializedName: \"applyMethod\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Normal\",\n \"LightApply1\"\n ]\n }\n },\n lightApplyData: {\n serializedName: \"lightApplyData\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CandidateListShortModelCandidateListResult = {\n serializedName: \"CandidateListShortModelCandidateListResult\",\n type: {\n name: \"Composite\",\n className: \"CandidateListShortModelCandidateListResult\",\n modelProperties: {\n candidateList: {\n serializedName: \"candidateList\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CandidateListShortModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CandidateListShortModel\"\n }\n }\n }\n },\n total: {\n serializedName: \"total\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const TemplateEmailFile = {\n serializedName: \"TemplateEmailFile\",\n type: {\n name: \"Composite\",\n className: \"TemplateEmailFile\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n size: {\n serializedName: \"size\",\n type: {\n name: \"Number\"\n }\n },\n absolutePath: {\n serializedName: \"absolutePath\",\n type: {\n name: \"String\"\n }\n },\n contentType: {\n serializedName: \"contentType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CandidateListEmailModel = {\n serializedName: \"CandidateListEmailModel\",\n type: {\n name: \"Composite\",\n className: \"CandidateListEmailModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n subject: {\n serializedName: \"subject\",\n type: {\n name: \"String\"\n }\n },\n body: {\n serializedName: \"body\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Normal\",\n \"Invitation\",\n \"Declined\"\n ]\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Send\",\n \"Received\",\n \"Bounced\"\n ]\n }\n },\n dateCreated: {\n serializedName: \"dateCreated\",\n type: {\n name: \"DateTime\"\n }\n },\n userFullName: {\n serializedName: \"userFullName\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n },\n correlationId: {\n serializedName: \"correlationId\",\n type: {\n name: \"Uuid\"\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateEmailFileElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateEmailFile\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CandidateListFullModel = {\n serializedName: \"CandidateListFullModel\",\n type: {\n name: \"Composite\",\n className: \"CandidateListFullModel\",\n modelProperties: {\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n latestJobTitle: {\n serializedName: \"latestJobTitle\",\n type: {\n name: \"String\"\n }\n },\n applicationType: {\n serializedName: \"applicationType\",\n type: {\n name: \"Number\"\n }\n },\n wantedJobTitle: {\n serializedName: \"wantedJobTitle\",\n type: {\n name: \"String\"\n }\n },\n educationLevel: {\n serializedName: \"educationLevel\",\n type: {\n name: \"String\"\n }\n },\n experienceYears: {\n serializedName: \"experienceYears\",\n type: {\n name: \"Number\"\n }\n },\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n zipCode: {\n serializedName: \"zipCode\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n dateCreated: {\n serializedName: \"dateCreated\",\n type: {\n name: \"DateTime\"\n }\n },\n dateUpdated: {\n serializedName: \"dateUpdated\",\n type: {\n name: \"DateTime\"\n }\n },\n emails: {\n serializedName: \"emails\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CandidateListEmailModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CandidateListEmailModel\"\n }\n }\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n applicationDate: {\n serializedName: \"applicationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"OriginalNameFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"OriginalNameFileModel\"\n }\n }\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"New\",\n \"ToBeContacted\",\n \"Contacted\",\n \"Interviewed\",\n \"ToBeRejected\",\n \"Rejected\",\n \"Hired\",\n \"Deleted\",\n \"Interesting\"\n ]\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"NoteModelElementType\",\n type: {\n name: \"Composite\",\n className: \"NoteModel\"\n }\n }\n }\n },\n jobId: {\n serializedName: \"jobId\",\n type: {\n name: \"Uuid\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n numberOfEmails: {\n serializedName: \"numberOfEmails\",\n type: {\n name: \"Number\"\n }\n },\n applyMethod: {\n serializedName: \"applyMethod\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Normal\",\n \"LightApply1\"\n ]\n }\n },\n lightApplyData: {\n serializedName: \"lightApplyData\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CandidateListFullModelCandidateListResult = {\n serializedName: \"CandidateListFullModelCandidateListResult\",\n type: {\n name: \"Composite\",\n className: \"CandidateListFullModelCandidateListResult\",\n modelProperties: {\n candidateList: {\n serializedName: \"candidateList\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CandidateListFullModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CandidateListFullModel\"\n }\n }\n }\n },\n total: {\n serializedName: \"total\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const EmailSettingsModel = {\n serializedName: \"EmailSettingsModel\",\n type: {\n name: \"Composite\",\n className: \"EmailSettingsModel\",\n modelProperties: {\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n frequency: {\n serializedName: \"frequency\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"EachApply\",\n \"Daily\",\n \"Weekly\"\n ]\n }\n },\n sendDay: {\n serializedName: \"sendDay\",\n type: {\n name: \"Number\"\n }\n },\n sendTime: {\n serializedName: \"sendTime\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const EmailResultTemplateContent = {\n serializedName: \"EmailResultTemplateContent\",\n type: {\n name: \"Composite\",\n className: \"EmailResultTemplateContent\",\n modelProperties: {\n subject: {\n serializedName: \"subject\",\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TemplateShortModel = {\n serializedName: \"TemplateShortModel\",\n type: {\n name: \"Composite\",\n className: \"TemplateShortModel\",\n modelProperties: {\n templateId: {\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n createdDate: {\n serializedName: \"createdDate\",\n type: {\n name: \"DateTime\"\n }\n },\n updatedDate: {\n serializedName: \"updatedDate\",\n type: {\n name: \"DateTime\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ListTemplateShortModelResponse = {\n serializedName: \"ListTemplateShortModelResponse\",\n type: {\n name: \"Composite\",\n className: \"ListTemplateShortModelResponse\",\n modelProperties: {\n list: {\n serializedName: \"list\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateShortModelElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateShortModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const TemplateAttachmentModel = {\n serializedName: \"TemplateAttachmentModel\",\n type: {\n name: \"Composite\",\n className: \"TemplateAttachmentModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n extension: {\n serializedName: \"extension\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TemplateModelResponse = {\n serializedName: \"TemplateModelResponse\",\n type: {\n name: \"Composite\",\n className: \"TemplateModelResponse\",\n modelProperties: {\n templateId: {\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n createdDate: {\n serializedName: \"createdDate\",\n type: {\n name: \"DateTime\"\n }\n },\n updatedDate: {\n serializedName: \"updatedDate\",\n type: {\n name: \"DateTime\"\n }\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n attachments: {\n serializedName: \"attachments\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateAttachmentModelElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateAttachmentModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IHaveSiteModel = {\n serializedName: \"IHaveSiteModel\",\n type: {\n name: \"Composite\",\n className: \"IHaveSiteModel\",\n modelProperties: {\n id: {\n readOnly: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n readOnly: true,\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n host: {\n readOnly: true,\n serializedName: \"host\",\n type: {\n name: \"String\"\n }\n },\n masterData: {\n readOnly: true,\n serializedName: \"masterData\",\n type: {\n name: \"String\"\n }\n },\n cultureCode: {\n readOnly: true,\n serializedName: \"cultureCode\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n readOnly: true,\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const SiteEntity = {\n serializedName: \"SiteEntity\",\n type: {\n name: \"Composite\",\n className: \"SiteEntity\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n host: {\n serializedName: \"host\",\n type: {\n name: \"String\"\n }\n },\n createdAt: {\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n modifiedAt: {\n serializedName: \"modifiedAt\",\n type: {\n name: \"DateTime\"\n }\n },\n correlationId: {\n serializedName: \"correlationId\",\n type: {\n name: \"Uuid\"\n }\n },\n masterData: {\n serializedName: \"masterData\",\n type: {\n name: \"String\"\n }\n },\n cultureCode: {\n serializedName: \"cultureCode\",\n type: {\n name: \"String\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteState: {\n serializedName: \"siteState\",\n type: {\n name: \"Number\"\n }\n },\n siteType: {\n serializedName: \"siteType\",\n type: {\n name: \"Number\"\n }\n },\n metaTitle: {\n serializedName: \"metaTitle\",\n type: {\n name: \"String\"\n }\n },\n metaDescription: {\n serializedName: \"metaDescription\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const IHaveEmailSiteModel = {\n serializedName: \"IHaveEmailSiteModel\",\n type: {\n name: \"Composite\",\n className: \"IHaveEmailSiteModel\",\n modelProperties: {\n id: {\n readOnly: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n createdAt: {\n readOnly: true,\n serializedName: \"createdAt\",\n type: {\n name: \"DateTime\"\n }\n },\n cultureCode: {\n readOnly: true,\n serializedName: \"cultureCode\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const JobAdListItem = {\n serializedName: \"JobAdListItem\",\n type: {\n name: \"Composite\",\n className: \"JobAdListItem\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n siteID: {\n serializedName: \"siteID\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n createDate: {\n serializedName: \"createDate\",\n type: {\n name: \"DateTime\"\n }\n },\n expiryDate: {\n serializedName: \"expiryDate\",\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n },\n url: {\n serializedName: \"url\",\n type: {\n name: \"String\"\n }\n },\n condition: {\n serializedName: \"condition\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n activationDate: {\n serializedName: \"activationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n jobType: {\n serializedName: \"jobType\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n locationCity: {\n serializedName: \"locationCity\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntrySearchedCountLink: {\n serializedName: \"statisticsRegisterFeedEntrySearchedCountLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const JobAdListItemSearchResult = {\n serializedName: \"JobAdListItemSearchResult\",\n type: {\n name: \"Composite\",\n className: \"JobAdListItemSearchResult\",\n modelProperties: {\n total: {\n serializedName: \"total\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n type: {\n name: \"Number\"\n }\n },\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n count: {\n serializedName: \"count\",\n type: {\n name: \"Number\"\n }\n },\n results: {\n serializedName: \"results\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"JobAdListItemElementType\",\n type: {\n name: \"Composite\",\n className: \"JobAdListItem\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ProductItemModel = {\n serializedName: \"ProductItemModel\",\n type: {\n name: \"Composite\",\n className: \"ProductItemModel\",\n modelProperties: {\n productNumber: {\n serializedName: \"productNumber\",\n type: {\n name: \"String\"\n }\n },\n productName: {\n serializedName: \"productName\",\n type: {\n name: \"String\"\n }\n },\n productPrice: {\n serializedName: \"productPrice\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const JobAdLocationsModel = {\n serializedName: \"JobAdLocationsModel\",\n type: {\n name: \"Composite\",\n className: \"JobAdLocationsModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n jobAdId: {\n serializedName: \"jobAdId\",\n type: {\n name: \"Uuid\"\n }\n },\n locationAddress: {\n serializedName: \"locationAddress\",\n type: {\n name: \"String\"\n }\n },\n locationZipCode: {\n serializedName: \"locationZipCode\",\n type: {\n name: \"String\"\n }\n },\n locationCity: {\n serializedName: \"locationCity\",\n type: {\n name: \"String\"\n }\n },\n locationCountry: {\n serializedName: \"locationCountry\",\n type: {\n name: \"String\"\n }\n },\n area: {\n serializedName: \"area\",\n type: {\n name: \"String\"\n }\n },\n areaId: {\n serializedName: \"areaId\",\n type: {\n name: \"Number\"\n }\n },\n primary: {\n serializedName: \"primary\",\n type: {\n name: \"Boolean\"\n }\n },\n useArea: {\n serializedName: \"useArea\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const JobAdModel = {\n serializedName: \"JobAdModel\",\n type: {\n name: \"Composite\",\n className: \"JobAdModel\",\n modelProperties: {\n topImage: {\n serializedName: \"topImage\",\n type: {\n name: \"String\"\n }\n },\n backgroundImage: {\n serializedName: \"backgroundImage\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n createDate: {\n serializedName: \"createDate\",\n type: {\n name: \"DateTime\"\n }\n },\n expiryDate: {\n serializedName: \"expiryDate\",\n type: {\n name: \"DateTime\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n externalID: {\n serializedName: \"externalID\",\n type: {\n name: \"String\"\n }\n },\n externalSource: {\n serializedName: \"externalSource\",\n type: {\n name: \"String\"\n }\n },\n category: {\n serializedName: \"category\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n jobType: {\n serializedName: \"jobType\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n position: {\n serializedName: \"position\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n condition: {\n serializedName: \"condition\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n salaryFrom: {\n serializedName: \"salaryFrom\",\n type: {\n name: \"Number\"\n }\n },\n salaryTo: {\n serializedName: \"salaryTo\",\n type: {\n name: \"Number\"\n }\n },\n salaryType: {\n serializedName: \"salaryType\",\n type: {\n name: \"String\"\n }\n },\n salaryCurrency: {\n serializedName: \"salaryCurrency\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n contactName: {\n serializedName: \"contactName\",\n type: {\n name: \"String\"\n }\n },\n contactPhone: {\n serializedName: \"contactPhone\",\n type: {\n name: \"String\"\n }\n },\n contactEmail: {\n serializedName: \"contactEmail\",\n type: {\n name: \"String\"\n }\n },\n commercialContactName: {\n serializedName: \"commercialContactName\",\n type: {\n name: \"String\"\n }\n },\n commercialContact: {\n serializedName: \"commercialContact\",\n type: {\n name: \"String\"\n }\n },\n locationAddress: {\n serializedName: \"locationAddress\",\n type: {\n name: \"String\"\n }\n },\n locationZipCode: {\n serializedName: \"locationZipCode\",\n type: {\n name: \"String\"\n }\n },\n locationCity: {\n serializedName: \"locationCity\",\n type: {\n name: \"String\"\n }\n },\n locationCounty: {\n serializedName: \"locationCounty\",\n type: {\n name: \"String\"\n }\n },\n locationCountry: {\n serializedName: \"locationCountry\",\n type: {\n name: \"String\"\n }\n },\n internalReference: {\n serializedName: \"internalReference\",\n type: {\n name: \"String\"\n }\n },\n applicationMethod: {\n serializedName: \"applicationMethod\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"numberElementType\",\n type: {\n name: \"Number\"\n }\n }\n }\n },\n exportOptions: {\n serializedName: \"exportOptions\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n companyID: {\n serializedName: \"companyID\",\n type: {\n name: \"String\"\n }\n },\n companyName: {\n serializedName: \"companyName\",\n type: {\n name: \"String\"\n }\n },\n companyAddress: {\n serializedName: \"companyAddress\",\n type: {\n name: \"String\"\n }\n },\n companyCity: {\n serializedName: \"companyCity\",\n type: {\n name: \"String\"\n }\n },\n companyZipCode: {\n serializedName: \"companyZipCode\",\n type: {\n name: \"String\"\n }\n },\n companyCounty: {\n serializedName: \"companyCounty\",\n type: {\n name: \"String\"\n }\n },\n companyCountry: {\n serializedName: \"companyCountry\",\n type: {\n name: \"String\"\n }\n },\n companyEmail: {\n serializedName: \"companyEmail\",\n type: {\n name: \"String\"\n }\n },\n companyPhone: {\n serializedName: \"companyPhone\",\n type: {\n name: \"String\"\n }\n },\n companyWWW: {\n serializedName: \"companyWWW\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialContactName: {\n serializedName: \"companyCommercialContactName\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialContact: {\n serializedName: \"companyCommercialContact\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialVatNumber: {\n serializedName: \"companyCommercialVatNumber\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialExternalId: {\n serializedName: \"companyCommercialExternalId\",\n type: {\n name: \"String\"\n }\n },\n companyContactPerson: {\n serializedName: \"companyContactPerson\",\n type: {\n name: \"String\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n },\n url: {\n serializedName: \"url\",\n type: {\n name: \"String\"\n }\n },\n urlHash: {\n serializedName: \"urlHash\",\n type: {\n name: \"String\"\n }\n },\n applicationUrl: {\n serializedName: \"applicationUrl\",\n type: {\n name: \"String\"\n }\n },\n companyVATIdentifier: {\n serializedName: \"companyVATIdentifier\",\n type: {\n name: \"String\"\n }\n },\n productionUnitIdentifier: {\n serializedName: \"productionUnitIdentifier\",\n type: {\n name: \"String\"\n }\n },\n globalLocationNumber: {\n serializedName: \"globalLocationNumber\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageId: {\n serializedName: \"requestedPackageId\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageName: {\n serializedName: \"requestedPackageName\",\n type: {\n name: \"String\"\n }\n },\n requestedPackagePrice: {\n serializedName: \"requestedPackagePrice\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageDurationDays: {\n serializedName: \"requestedPackageDurationDays\",\n type: {\n name: \"Number\"\n }\n },\n requestedPackageProducts: {\n serializedName: \"requestedPackageProducts\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ProductItemModelElementType\",\n type: {\n name: \"Composite\",\n className: \"ProductItemModel\"\n }\n }\n }\n },\n countryCode: {\n serializedName: \"countryCode\",\n type: {\n name: \"String\"\n }\n },\n activationDate: {\n serializedName: \"activationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n updateFlag: {\n serializedName: \"updateFlag\",\n type: {\n name: \"Number\"\n }\n },\n correlationId: {\n serializedName: \"correlationId\",\n type: {\n name: \"String\"\n }\n },\n pNumber: {\n serializedName: \"pNumber\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedDisplayCountLink: {\n serializedName: \"statisticsRegisterFeedDisplayCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntrySearchedCountLink: {\n serializedName: \"statisticsRegisterFeedEntrySearchedCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntryDisplayCountLink: {\n serializedName: \"statisticsRegisterFeedEntryDisplayCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterJobApplicationInitiatedCountLink: {\n serializedName: \"statisticsRegisterJobApplicationInitiatedCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterJobApplicationAppliedCountLink: {\n serializedName: \"statisticsRegisterJobApplicationAppliedCountLink\",\n type: {\n name: \"String\"\n }\n },\n candidateCount: {\n serializedName: \"candidateCount\",\n type: {\n name: \"Number\"\n }\n },\n numberOfVacancies: {\n serializedName: \"numberOfVacancies\",\n type: {\n name: \"Number\"\n }\n },\n applyMethod: {\n serializedName: \"applyMethod\",\n type: {\n name: \"Number\"\n }\n },\n author: {\n serializedName: \"author\",\n type: {\n name: \"String\"\n }\n },\n modifyDate: {\n serializedName: \"modifyDate\",\n type: {\n name: \"DateTime\"\n }\n },\n logoId: {\n serializedName: \"logoId\",\n type: {\n name: \"Uuid\"\n }\n },\n ogimage: {\n serializedName: \"ogimage\",\n type: {\n name: \"String\"\n }\n },\n orderByName: {\n serializedName: \"orderByName\",\n type: {\n name: \"String\"\n }\n },\n orderByEmail: {\n serializedName: \"orderByEmail\",\n type: {\n name: \"String\"\n }\n },\n anonymousLocation: {\n serializedName: \"anonymousLocation\",\n type: {\n name: \"Boolean\"\n }\n },\n alternateTextAnonymousLocation: {\n serializedName: \"alternateTextAnonymousLocation\",\n type: {\n name: \"String\"\n }\n },\n locations: {\n serializedName: \"locations\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"JobAdLocationsModelElementType\",\n type: {\n name: \"Composite\",\n className: \"JobAdLocationsModel\"\n }\n }\n }\n },\n locationString: {\n serializedName: \"locationString\",\n type: {\n name: \"String\"\n }\n },\n locationMapUri: {\n serializedName: \"locationMapUri\",\n type: {\n name: \"String\"\n }\n },\n isPublished: {\n serializedName: \"isPublished\",\n type: {\n name: \"Boolean\"\n }\n },\n useEAN: {\n serializedName: \"useEAN\",\n type: {\n name: \"Boolean\"\n }\n },\n customerName: {\n serializedName: \"customerName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const JobAdModelSearchResult = {\n serializedName: \"JobAdModelSearchResult\",\n type: {\n name: \"Composite\",\n className: \"JobAdModelSearchResult\",\n modelProperties: {\n total: {\n serializedName: \"total\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n type: {\n name: \"Number\"\n }\n },\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n count: {\n serializedName: \"count\",\n type: {\n name: \"Number\"\n }\n },\n results: {\n serializedName: \"results\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"JobAdModelElementType\",\n type: {\n name: \"Composite\",\n className: \"JobAdModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const EncryptedData = {\n serializedName: \"EncryptedData\",\n type: {\n name: \"Composite\",\n className: \"EncryptedData\",\n modelProperties: {\n publicKey: {\n serializedName: \"publicKey\",\n type: {\n name: \"Uuid\"\n }\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchParams = {\n serializedName: \"SearchParams\",\n type: {\n name: \"Composite\",\n className: \"SearchParams\",\n modelProperties: {\n searchValue: {\n serializedName: \"searchValue\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CreateCandidateModel = {\n serializedName: \"CreateCandidateModel\",\n type: {\n name: \"Composite\",\n className: \"CreateCandidateModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n applicationDate: {\n serializedName: \"applicationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"OriginalNameFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"OriginalNameFileModel\"\n }\n }\n }\n },\n latestJobTitle: {\n serializedName: \"latestJobTitle\",\n type: {\n name: \"String\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n applicationType: {\n serializedName: \"applicationType\",\n type: {\n name: \"Number\"\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n wantedJobTitle: {\n serializedName: \"wantedJobTitle\",\n type: {\n name: \"String\"\n }\n },\n educationLevel: {\n serializedName: \"educationLevel\",\n type: {\n name: \"String\"\n }\n },\n experienceYears: {\n serializedName: \"experienceYears\",\n type: {\n name: \"Number\"\n }\n },\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n zipCode: {\n serializedName: \"zipCode\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n dateCreated: {\n serializedName: \"dateCreated\",\n type: {\n name: \"DateTime\"\n }\n },\n dateUpdated: {\n serializedName: \"dateUpdated\",\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"New\",\n \"ToBeContacted\",\n \"Contacted\",\n \"Interviewed\",\n \"ToBeRejected\",\n \"Rejected\",\n \"Hired\",\n \"Deleted\",\n \"Interesting\"\n ]\n }\n },\n jobId: {\n serializedName: \"jobId\",\n type: {\n name: \"Uuid\"\n }\n },\n emails: {\n serializedName: \"emails\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CandidateListEmailModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CandidateListEmailModel\"\n }\n }\n }\n },\n applyMethod: {\n serializedName: \"applyMethod\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Normal\",\n \"LightApply1\"\n ]\n }\n },\n lightApplyData: {\n serializedName: \"lightApplyData\",\n type: {\n name: \"String\"\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"NoteModelElementType\",\n type: {\n name: \"Composite\",\n className: \"NoteModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const UpdateCandidateModel = {\n serializedName: \"UpdateCandidateModel\",\n type: {\n name: \"Composite\",\n className: \"UpdateCandidateModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n applicationDate: {\n serializedName: \"applicationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"OriginalNameFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"OriginalNameFileModel\"\n }\n }\n }\n },\n latestJobTitle: {\n serializedName: \"latestJobTitle\",\n type: {\n name: \"String\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n applicationType: {\n serializedName: \"applicationType\",\n type: {\n name: \"Number\"\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n wantedJobTitle: {\n serializedName: \"wantedJobTitle\",\n type: {\n name: \"String\"\n }\n },\n educationLevel: {\n serializedName: \"educationLevel\",\n type: {\n name: \"String\"\n }\n },\n experienceYears: {\n serializedName: \"experienceYears\",\n type: {\n name: \"Number\"\n }\n },\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n zipCode: {\n serializedName: \"zipCode\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n dateCreated: {\n serializedName: \"dateCreated\",\n type: {\n name: \"DateTime\"\n }\n },\n dateUpdated: {\n serializedName: \"dateUpdated\",\n type: {\n name: \"DateTime\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"New\",\n \"ToBeContacted\",\n \"Contacted\",\n \"Interviewed\",\n \"ToBeRejected\",\n \"Rejected\",\n \"Hired\",\n \"Deleted\",\n \"Interesting\"\n ]\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"NoteModelElementType\",\n type: {\n name: \"Composite\",\n className: \"NoteModel\"\n }\n }\n }\n },\n jobId: {\n serializedName: \"jobId\",\n type: {\n name: \"Uuid\"\n }\n },\n emails: {\n serializedName: \"emails\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CandidateListEmailModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CandidateListEmailModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatchCandidateDetailsModel = {\n serializedName: \"PatchCandidateDetailsModel\",\n type: {\n name: \"Composite\",\n className: \"PatchCandidateDetailsModel\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n email: {\n serializedName: \"email\",\n type: {\n name: \"String\"\n }\n },\n educationLevel: {\n serializedName: \"educationLevel\",\n type: {\n name: \"String\"\n }\n },\n experienceYears: {\n serializedName: \"experienceYears\",\n type: {\n name: \"Number\"\n }\n },\n latestJobTitle: {\n serializedName: \"latestJobTitle\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"OriginalNameFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"OriginalNameFileModel\"\n }\n }\n }\n },\n urls: {\n serializedName: \"urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatchDataCandidateListStatusModelRequest = {\n serializedName: \"PatchDataCandidateListStatusModelRequest\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListStatusModelRequest\",\n modelProperties: {\n candidateId: {\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n },\n jobId: {\n serializedName: \"jobId\",\n type: {\n name: \"Uuid\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"New\",\n \"ToBeContacted\",\n \"Contacted\",\n \"Interviewed\",\n \"ToBeRejected\",\n \"Rejected\",\n \"Hired\",\n \"Deleted\",\n \"Interesting\"\n ]\n }\n }\n }\n }\n};\n\nexport const PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest = {\n serializedName: \"PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest\",\n modelProperties: {\n changes: {\n serializedName: \"changes\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"PatchDataCandidateListStatusModelRequestElementType\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListStatusModelRequest\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatchDataCandidateListNoteModelRequest = {\n serializedName: \"PatchDataCandidateListNoteModelRequest\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListNoteModelRequest\",\n modelProperties: {\n candidateId: {\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n },\n note: {\n serializedName: \"note\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest = {\n serializedName: \"PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest\",\n modelProperties: {\n changes: {\n serializedName: \"changes\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"PatchDataCandidateListNoteModelRequestElementType\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListNoteModelRequest\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatchDataCandidateEmailRequest = {\n serializedName: \"PatchDataCandidateEmailRequest\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateEmailRequest\",\n modelProperties: {\n subject: {\n serializedName: \"subject\",\n type: {\n name: \"String\"\n }\n },\n body: {\n serializedName: \"body\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Normal\",\n \"Invitation\",\n \"Declined\"\n ]\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Send\",\n \"Received\",\n \"Bounced\"\n ]\n }\n },\n userFullName: {\n serializedName: \"userFullName\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CreateNoteModelRequest = {\n serializedName: \"CreateNoteModelRequest\",\n type: {\n name: \"Composite\",\n className: \"CreateNoteModelRequest\",\n modelProperties: {\n note: {\n serializedName: \"note\",\n type: {\n name: \"String\"\n }\n },\n userFullName: {\n serializedName: \"userFullName\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const UpdateNoteModelRequest = {\n serializedName: \"UpdateNoteModelRequest\",\n type: {\n name: \"Composite\",\n className: \"UpdateNoteModelRequest\",\n modelProperties: {\n note: {\n serializedName: \"note\",\n type: {\n name: \"String\"\n }\n },\n userFullName: {\n serializedName: \"userFullName\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CreateTemplateModelRequest = {\n serializedName: \"CreateTemplateModelRequest\",\n type: {\n name: \"Composite\",\n className: \"CreateTemplateModelRequest\",\n modelProperties: {\n templateId: {\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n attachments: {\n serializedName: \"attachments\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateAttachmentModelElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateAttachmentModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const UpdateTemplateModelRequest = {\n serializedName: \"UpdateTemplateModelRequest\",\n type: {\n name: \"Composite\",\n className: \"UpdateTemplateModelRequest\",\n modelProperties: {\n templateId: {\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n data: {\n serializedName: \"data\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n attachments: {\n serializedName: \"attachments\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateAttachmentModelElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateAttachmentModel\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IFileModel = {\n serializedName: \"IFileModel\",\n type: {\n name: \"Composite\",\n className: \"IFileModel\",\n modelProperties: {\n filename: {\n serializedName: \"filename\",\n type: {\n name: \"String\"\n }\n },\n originalFilename: {\n serializedName: \"originalFilename\",\n type: {\n name: \"String\"\n }\n },\n contentType: {\n serializedName: \"contentType\",\n type: {\n name: \"String\"\n }\n },\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n relativePath: {\n serializedName: \"relativePath\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PostSiteViewModel = {\n serializedName: \"PostSiteViewModel\",\n type: {\n name: \"Composite\",\n className: \"PostSiteViewModel\",\n modelProperties: {\n host: {\n serializedName: \"host\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n masterData: {\n serializedName: \"masterData\",\n type: {\n name: \"String\"\n }\n },\n cultureCode: {\n serializedName: \"cultureCode\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PutSiteViewModel = {\n serializedName: \"PutSiteViewModel\",\n type: {\n name: \"Composite\",\n className: \"PutSiteViewModel\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n host: {\n serializedName: \"host\",\n type: {\n name: \"String\"\n }\n },\n masterData: {\n serializedName: \"masterData\",\n type: {\n name: \"String\"\n }\n },\n cultureCode: {\n serializedName: \"cultureCode\",\n type: {\n name: \"String\"\n }\n },\n siteType: {\n serializedName: \"siteType\",\n type: {\n name: \"Number\"\n }\n },\n metaTitle: {\n serializedName: \"metaTitle\",\n type: {\n name: \"String\"\n }\n },\n metaDescription: {\n serializedName: \"metaDescription\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ResultViewModel = {\n serializedName: \"ResultViewModel\",\n type: {\n name: \"Composite\",\n className: \"ResultViewModel\",\n modelProperties: {\n description: {\n required: true,\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n code: {\n required: true,\n serializedName: \"code\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Success\",\n \"ErrorInUpload\",\n \"FileWidthDoesNotSatisfyMinimumSize\",\n \"LandscapeRequired\",\n \"PortraitRequired\",\n \"SquareRequired\",\n \"ZeroFileLength\",\n \"OptimizationServiceNotificationError\",\n \"ValueIsNotValid\",\n \"FileToMoveIsNotFound\",\n \"FileIsNotValid\"\n ]\n }\n },\n originalFileName: {\n required: true,\n serializedName: \"originalFileName\",\n type: {\n name: \"String\"\n }\n },\n newFileId: {\n serializedName: \"newFileId\",\n type: {\n name: \"Uuid\"\n }\n },\n newFileName: {\n serializedName: \"newFileName\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ResultLibraryViewModel = {\n serializedName: \"ResultLibraryViewModel\",\n type: {\n name: \"Composite\",\n className: \"ResultLibraryViewModel\",\n modelProperties: {\n description: {\n required: true,\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n code: {\n required: true,\n serializedName: \"code\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Success\",\n \"ErrorInUpload\",\n \"FileWidthDoesNotSatisfyMinimumSize\",\n \"LandscapeRequired\",\n \"PortraitRequired\",\n \"SquareRequired\",\n \"ZeroFileLength\",\n \"OptimizationServiceNotificationError\",\n \"ValueIsNotValid\",\n \"FileToMoveIsNotFound\",\n \"FileIsNotValid\"\n ]\n }\n },\n originalFileName: {\n required: true,\n serializedName: \"originalFileName\",\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n fileName: {\n serializedName: \"fileName\",\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n alt: {\n serializedName: \"alt\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n imageDescription: {\n serializedName: \"imageDescription\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ImageLibraryPatchModel = {\n serializedName: \"ImageLibraryPatchModel\",\n type: {\n name: \"Composite\",\n className: \"ImageLibraryPatchModel\",\n modelProperties: {\n id: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n },\n originalFileName: {\n serializedName: \"originalFileName\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n alt: {\n serializedName: \"alt\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PostImageViewModel = {\n serializedName: \"PostImageViewModel\",\n type: {\n name: \"Composite\",\n className: \"PostImageViewModel\",\n modelProperties: {\n images: {\n required: true,\n serializedName: \"images\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n imageType: {\n required: true,\n serializedName: \"imageType\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Content\",\n \"Logo\",\n \"Employee\",\n \"JobAd\",\n \"ImageLibrary\"\n ]\n }\n }\n }\n }\n};\n\nexport const PutImageViewModel = {\n serializedName: \"PutImageViewModel\",\n type: {\n name: \"Composite\",\n className: \"PutImageViewModel\",\n modelProperties: {\n fileName: {\n required: true,\n serializedName: \"fileName\",\n type: {\n name: \"String\"\n }\n },\n imageType: {\n required: true,\n serializedName: \"imageType\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Content\",\n \"Logo\",\n \"Employee\",\n \"JobAd\",\n \"ImageLibrary\"\n ]\n }\n }\n }\n }\n};\n\nexport const TemplateKeyValue = {\n serializedName: \"TemplateKeyValue\",\n type: {\n name: \"Composite\",\n className: \"TemplateKeyValue\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TemplateUserEmailRequestModel = {\n serializedName: \"TemplateUserEmailRequestModel\",\n type: {\n name: \"Composite\",\n className: \"TemplateUserEmailRequestModel\",\n modelProperties: {\n email: {\n required: true,\n serializedName: \"email\",\n constraints: {\n Pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}/\n },\n type: {\n name: \"String\"\n }\n },\n replyTo: {\n serializedName: \"replyTo\",\n constraints: {\n Pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}/\n },\n type: {\n name: \"String\"\n }\n },\n subject: {\n serializedName: \"subject\",\n type: {\n name: \"String\"\n }\n },\n templateName: {\n required: true,\n serializedName: \"templateName\",\n type: {\n name: \"String\"\n }\n },\n emailType: {\n serializedName: \"emailType\",\n type: {\n name: \"Number\"\n }\n },\n senderName: {\n serializedName: \"senderName\",\n type: {\n name: \"String\"\n }\n },\n templateReplaceItems: {\n serializedName: \"templateReplaceItems\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateKeyValueElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateKeyValue\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const TemplateEmailRequestModel = {\n serializedName: \"TemplateEmailRequestModel\",\n type: {\n name: \"Composite\",\n className: \"TemplateEmailRequestModel\",\n modelProperties: {\n email: {\n required: true,\n serializedName: \"email\",\n constraints: {\n Pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}/\n },\n type: {\n name: \"String\"\n }\n },\n replyTo: {\n serializedName: \"replyTo\",\n constraints: {\n Pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}/\n },\n type: {\n name: \"String\"\n }\n },\n subject: {\n required: true,\n serializedName: \"subject\",\n type: {\n name: \"String\"\n }\n },\n bounceEmailReplyTo: {\n serializedName: \"bounceEmailReplyTo\",\n constraints: {\n Pattern: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}/\n },\n type: {\n name: \"String\"\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"String\"\n }\n },\n body: {\n serializedName: \"body\",\n type: {\n name: \"String\"\n }\n },\n templateName: {\n serializedName: \"templateName\",\n type: {\n name: \"String\"\n }\n },\n bounceTemplateName: {\n serializedName: \"bounceTemplateName\",\n type: {\n name: \"String\"\n }\n },\n templateReplaceItems: {\n serializedName: \"templateReplaceItems\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateKeyValueElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateKeyValue\"\n }\n }\n }\n },\n externalId: {\n serializedName: \"externalId\",\n type: {\n name: \"String\"\n }\n },\n emailType: {\n serializedName: \"emailType\",\n type: {\n name: \"Number\"\n }\n },\n senderName: {\n serializedName: \"senderName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const GdprDataAgreementEmailRequestModel = {\n serializedName: \"GdprDataAgreementEmailRequestModel\",\n type: {\n name: \"Composite\",\n className: \"GdprDataAgreementEmailRequestModel\",\n modelProperties: {\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n companyName: {\n serializedName: \"companyName\",\n type: {\n name: \"String\"\n }\n },\n companyAddress: {\n serializedName: \"companyAddress\",\n type: {\n name: \"String\"\n }\n },\n customerEmail: {\n serializedName: \"customerEmail\",\n type: {\n name: \"String\"\n }\n },\n companyCvr: {\n serializedName: \"companyCvr\",\n type: {\n name: \"String\"\n }\n },\n companyZipCode: {\n serializedName: \"companyZipCode\",\n type: {\n name: \"String\"\n }\n },\n companyCity: {\n serializedName: \"companyCity\",\n type: {\n name: \"String\"\n }\n },\n customerName: {\n serializedName: \"customerName\",\n type: {\n name: \"String\"\n }\n },\n siteUrl: {\n serializedName: \"siteUrl\",\n type: {\n name: \"String\"\n }\n },\n language: {\n serializedName: \"language\",\n type: {\n name: \"String\"\n }\n },\n siteCreationDate: {\n serializedName: \"siteCreationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n agreementDate: {\n serializedName: \"agreementDate\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const EmailSettingsRequestModel = {\n serializedName: \"EmailSettingsRequestModel\",\n type: {\n name: \"Composite\",\n className: \"EmailSettingsRequestModel\",\n modelProperties: {\n frequency: {\n required: true,\n serializedName: \"frequency\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"EachApply\",\n \"Daily\",\n \"Weekly\"\n ]\n }\n },\n sendDay: {\n serializedName: \"sendDay\",\n type: {\n name: \"Number\"\n }\n },\n sendTime: {\n serializedName: \"sendTime\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PersistingCssRequestModel = {\n serializedName: \"PersistingCssRequestModel\",\n type: {\n name: \"Composite\",\n className: \"PersistingCssRequestModel\",\n modelProperties: {\n cssFileName: {\n serializedName: \"cssFileName\",\n type: {\n name: \"String\"\n }\n },\n color: {\n serializedName: \"color\",\n type: {\n name: \"String\"\n }\n },\n bodyFont: {\n serializedName: \"bodyFont\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CssGeneratingResponseModel = {\n serializedName: \"CssGeneratingResponseModel\",\n type: {\n name: \"Composite\",\n className: \"CssGeneratingResponseModel\",\n modelProperties: {\n fileName: {\n serializedName: \"fileName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CssGeneratingRequestModel = {\n serializedName: \"CssGeneratingRequestModel\",\n type: {\n name: \"Composite\",\n className: \"CssGeneratingRequestModel\",\n modelProperties: {\n color: {\n serializedName: \"color\",\n type: {\n name: \"String\"\n }\n },\n bodyFont: {\n serializedName: \"bodyFont\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const InternalSiteCreationRequest = {\n serializedName: \"InternalSiteCreationRequest\",\n type: {\n name: \"Composite\",\n className: \"InternalSiteCreationRequest\",\n modelProperties: {\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n },\n fontName: {\n serializedName: \"fontName\",\n type: {\n name: \"String\"\n }\n },\n primaryColor: {\n serializedName: \"primaryColor\",\n type: {\n name: \"String\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n },\n userId: {\n serializedName: \"userId\",\n type: {\n name: \"Uuid\"\n }\n },\n cssFileName: {\n serializedName: \"cssFileName\",\n type: {\n name: \"String\"\n }\n },\n logoFileName: {\n serializedName: \"logoFileName\",\n type: {\n name: \"String\"\n }\n },\n companyName: {\n serializedName: \"companyName\",\n type: {\n name: \"String\"\n }\n },\n address: {\n serializedName: \"address\",\n type: {\n name: \"String\"\n }\n },\n addressExtended: {\n serializedName: \"addressExtended\",\n type: {\n name: \"String\"\n }\n },\n zipCode: {\n serializedName: \"zipCode\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n countyState: {\n serializedName: \"countyState\",\n type: {\n name: \"String\"\n }\n },\n country: {\n serializedName: \"country\",\n type: {\n name: \"String\"\n }\n },\n countryCode: {\n serializedName: \"countryCode\",\n type: {\n name: \"String\"\n }\n },\n ofirCRMNumber: {\n serializedName: \"ofirCRMNumber\",\n type: {\n name: \"String\"\n }\n },\n pNumber: {\n serializedName: \"pNumber\",\n type: {\n name: \"String\"\n }\n },\n vatNumber: {\n serializedName: \"vatNumber\",\n type: {\n name: \"String\"\n }\n },\n eanNumber: {\n serializedName: \"eanNumber\",\n type: {\n name: \"String\"\n }\n },\n industry: {\n serializedName: \"industry\",\n type: {\n name: \"String\"\n }\n },\n subIndustry: {\n serializedName: \"subIndustry\",\n type: {\n name: \"String\"\n }\n },\n companyWebsite: {\n serializedName: \"companyWebsite\",\n type: {\n name: \"String\"\n }\n },\n companyPhone: {\n serializedName: \"companyPhone\",\n type: {\n name: \"String\"\n }\n },\n companyEmail: {\n serializedName: \"companyEmail\",\n type: {\n name: \"String\"\n }\n },\n companyFacebookUrl: {\n serializedName: \"companyFacebookUrl\",\n type: {\n name: \"String\"\n }\n },\n companyTwitterUrl: {\n serializedName: \"companyTwitterUrl\",\n type: {\n name: \"String\"\n }\n },\n companyLinkedInUrl: {\n serializedName: \"companyLinkedInUrl\",\n type: {\n name: \"String\"\n }\n },\n companyInstagramUrl: {\n serializedName: \"companyInstagramUrl\",\n type: {\n name: \"String\"\n }\n },\n companyYoutubeUrl: {\n serializedName: \"companyYoutubeUrl\",\n type: {\n name: \"String\"\n }\n },\n otherUrl: {\n serializedName: \"otherUrl\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n },\n userFirstName: {\n serializedName: \"userFirstName\",\n type: {\n name: \"String\"\n }\n },\n userLastName: {\n serializedName: \"userLastName\",\n type: {\n name: \"String\"\n }\n },\n userPhone: {\n serializedName: \"userPhone\",\n type: {\n name: \"String\"\n }\n },\n password: {\n serializedName: \"password\",\n type: {\n name: \"String\"\n }\n },\n salesPerson: {\n serializedName: \"salesPerson\",\n type: {\n name: \"String\"\n }\n },\n siteName: {\n serializedName: \"siteName\",\n type: {\n name: \"String\"\n }\n },\n siteLanguage: {\n serializedName: \"siteLanguage\",\n type: {\n name: \"String\"\n }\n },\n discountCode: {\n serializedName: \"discountCode\",\n type: {\n name: \"String\"\n }\n },\n discountCodeNotes: {\n serializedName: \"discountCodeNotes\",\n type: {\n name: \"String\"\n }\n },\n siteHost: {\n serializedName: \"siteHost\",\n type: {\n name: \"String\"\n }\n },\n urlSchema: {\n serializedName: \"urlSchema\",\n type: {\n name: \"String\"\n }\n },\n siteState: {\n serializedName: \"siteState\",\n type: {\n name: \"Number\"\n }\n },\n siteType: {\n serializedName: \"siteType\",\n type: {\n name: \"Number\"\n }\n },\n industryId: {\n serializedName: \"industryId\",\n type: {\n name: \"Number\"\n }\n },\n subIndustryId: {\n serializedName: \"subIndustryId\",\n type: {\n name: \"Number\"\n }\n },\n sendDPA: {\n serializedName: \"sendDPA\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const SiteCreateResult = {\n serializedName: \"SiteCreateResult\",\n type: {\n name: \"Composite\",\n className: \"SiteCreateResult\",\n modelProperties: {\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"String\"\n }\n },\n companyId: {\n serializedName: \"companyId\",\n type: {\n name: \"String\"\n }\n },\n userId: {\n serializedName: \"userId\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ProductItemModelRequest = {\n serializedName: \"ProductItemModelRequest\",\n type: {\n name: \"Composite\",\n className: \"ProductItemModelRequest\",\n modelProperties: {\n productNumber: {\n required: true,\n serializedName: \"productNumber\",\n type: {\n name: \"String\"\n }\n },\n productName: {\n required: true,\n serializedName: \"productName\",\n type: {\n name: \"String\"\n }\n },\n productPrice: {\n serializedName: \"productPrice\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ExtendedJobAdModel = {\n serializedName: \"ExtendedJobAdModel\",\n type: {\n name: \"Composite\",\n className: \"ExtendedJobAdModel\",\n modelProperties: {\n regionCode: {\n serializedName: \"regionCode\",\n type: {\n name: \"String\"\n }\n },\n customerName: {\n serializedName: \"customerName\",\n type: {\n name: \"String\"\n }\n },\n customerRelationshipManagementId: {\n serializedName: \"customerRelationshipManagementId\",\n type: {\n name: \"String\"\n }\n },\n companyVatNumber: {\n serializedName: \"companyVatNumber\",\n type: {\n name: \"String\"\n }\n },\n fullDescription: {\n serializedName: \"fullDescription\",\n type: {\n name: \"String\"\n }\n },\n customerType: {\n serializedName: \"customerType\",\n type: {\n name: \"String\"\n }\n },\n logoUrl: {\n serializedName: \"logoUrl\",\n type: {\n name: \"String\"\n }\n },\n originalSource: {\n serializedName: \"originalSource\",\n type: {\n name: \"String\"\n }\n },\n siteURL: {\n serializedName: \"siteURL\",\n type: {\n name: \"String\"\n }\n },\n siteLanguage: {\n serializedName: \"siteLanguage\",\n type: {\n name: \"String\"\n }\n },\n couponCode: {\n serializedName: \"couponCode\",\n type: {\n name: \"String\"\n }\n },\n username: {\n serializedName: \"username\",\n type: {\n name: \"String\"\n }\n },\n userEmail: {\n serializedName: \"userEmail\",\n type: {\n name: \"String\"\n }\n },\n oldStatus: {\n serializedName: \"oldStatus\",\n type: {\n name: \"Number\"\n }\n },\n applicationMethodLocal: {\n serializedName: \"applicationMethodLocal\",\n type: {\n name: \"Number\"\n }\n },\n requestedPackageOverridePrice: {\n serializedName: \"requestedPackageOverridePrice\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageOverrideProducts: {\n serializedName: \"requestedPackageOverrideProducts\",\n type: {\n name: \"String\"\n }\n },\n orderReference: {\n serializedName: \"orderReference\",\n type: {\n name: \"String\"\n }\n },\n publishToOfir: {\n serializedName: \"publishToOfir\",\n type: {\n name: \"Boolean\"\n }\n },\n ogImageWidth: {\n serializedName: \"ogImageWidth\",\n type: {\n name: \"Number\"\n }\n },\n ogImageHeight: {\n serializedName: \"ogImageHeight\",\n type: {\n name: \"Number\"\n }\n },\n authorUserEmail: {\n serializedName: \"authorUserEmail\",\n type: {\n name: \"String\"\n }\n },\n authorUserIsSuperAdmin: {\n serializedName: \"authorUserIsSuperAdmin\",\n type: {\n name: \"Boolean\"\n }\n },\n updateFlag: {\n serializedName: \"updateFlag\",\n type: {\n name: \"Number\"\n }\n },\n topImage: {\n serializedName: \"topImage\",\n type: {\n name: \"String\"\n }\n },\n backgroundImage: {\n serializedName: \"backgroundImage\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n createDate: {\n serializedName: \"createDate\",\n type: {\n name: \"DateTime\"\n }\n },\n expiryDate: {\n serializedName: \"expiryDate\",\n type: {\n name: \"DateTime\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n externalID: {\n serializedName: \"externalID\",\n type: {\n name: \"String\"\n }\n },\n externalSource: {\n serializedName: \"externalSource\",\n type: {\n name: \"String\"\n }\n },\n category: {\n serializedName: \"category\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n jobType: {\n serializedName: \"jobType\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n position: {\n serializedName: \"position\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n condition: {\n serializedName: \"condition\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n salaryFrom: {\n serializedName: \"salaryFrom\",\n type: {\n name: \"Number\"\n }\n },\n salaryTo: {\n serializedName: \"salaryTo\",\n type: {\n name: \"Number\"\n }\n },\n salaryType: {\n serializedName: \"salaryType\",\n type: {\n name: \"String\"\n }\n },\n salaryCurrency: {\n serializedName: \"salaryCurrency\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n contactName: {\n serializedName: \"contactName\",\n type: {\n name: \"String\"\n }\n },\n contactPhone: {\n serializedName: \"contactPhone\",\n type: {\n name: \"String\"\n }\n },\n contactEmail: {\n serializedName: \"contactEmail\",\n type: {\n name: \"String\"\n }\n },\n commercialContactName: {\n serializedName: \"commercialContactName\",\n type: {\n name: \"String\"\n }\n },\n commercialContact: {\n serializedName: \"commercialContact\",\n type: {\n name: \"String\"\n }\n },\n locationAddress: {\n serializedName: \"locationAddress\",\n type: {\n name: \"String\"\n }\n },\n locationZipCode: {\n serializedName: \"locationZipCode\",\n type: {\n name: \"String\"\n }\n },\n locationCity: {\n serializedName: \"locationCity\",\n type: {\n name: \"String\"\n }\n },\n locationCounty: {\n serializedName: \"locationCounty\",\n type: {\n name: \"String\"\n }\n },\n locationCountry: {\n serializedName: \"locationCountry\",\n type: {\n name: \"String\"\n }\n },\n internalReference: {\n serializedName: \"internalReference\",\n type: {\n name: \"String\"\n }\n },\n applicationMethod: {\n serializedName: \"applicationMethod\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"numberElementType\",\n type: {\n name: \"Number\"\n }\n }\n }\n },\n exportOptions: {\n serializedName: \"exportOptions\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n companyID: {\n serializedName: \"companyID\",\n type: {\n name: \"String\"\n }\n },\n companyName: {\n serializedName: \"companyName\",\n type: {\n name: \"String\"\n }\n },\n companyAddress: {\n serializedName: \"companyAddress\",\n type: {\n name: \"String\"\n }\n },\n companyCity: {\n serializedName: \"companyCity\",\n type: {\n name: \"String\"\n }\n },\n companyZipCode: {\n serializedName: \"companyZipCode\",\n type: {\n name: \"String\"\n }\n },\n companyCounty: {\n serializedName: \"companyCounty\",\n type: {\n name: \"String\"\n }\n },\n companyCountry: {\n serializedName: \"companyCountry\",\n type: {\n name: \"String\"\n }\n },\n companyEmail: {\n serializedName: \"companyEmail\",\n type: {\n name: \"String\"\n }\n },\n companyPhone: {\n serializedName: \"companyPhone\",\n type: {\n name: \"String\"\n }\n },\n companyWWW: {\n serializedName: \"companyWWW\",\n type: {\n name: \"String\"\n }\n },\n companyContactPerson: {\n serializedName: \"companyContactPerson\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialContactName: {\n serializedName: \"companyCommercialContactName\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialContact: {\n serializedName: \"companyCommercialContact\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialVatNumber: {\n serializedName: \"companyCommercialVatNumber\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialExternalId: {\n serializedName: \"companyCommercialExternalId\",\n type: {\n name: \"String\"\n }\n },\n siteId: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n },\n url: {\n serializedName: \"url\",\n type: {\n name: \"String\"\n }\n },\n urlHash: {\n serializedName: \"urlHash\",\n type: {\n name: \"String\"\n }\n },\n applicationUrl: {\n serializedName: \"applicationUrl\",\n type: {\n name: \"String\"\n }\n },\n companyVATIdentifier: {\n serializedName: \"companyVATIdentifier\",\n type: {\n name: \"String\"\n }\n },\n productionUnitIdentifier: {\n serializedName: \"productionUnitIdentifier\",\n type: {\n name: \"String\"\n }\n },\n globalLocationNumber: {\n serializedName: \"globalLocationNumber\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageId: {\n serializedName: \"requestedPackageId\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageName: {\n serializedName: \"requestedPackageName\",\n type: {\n name: \"String\"\n }\n },\n requestedPackagePrice: {\n serializedName: \"requestedPackagePrice\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageDurationDays: {\n serializedName: \"requestedPackageDurationDays\",\n type: {\n name: \"Number\"\n }\n },\n requestedPackageProducts: {\n serializedName: \"requestedPackageProducts\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ProductItemModelRequestElementType\",\n type: {\n name: \"Composite\",\n className: \"ProductItemModelRequest\"\n }\n }\n }\n },\n countryCode: {\n serializedName: \"countryCode\",\n type: {\n name: \"String\"\n }\n },\n activationDate: {\n serializedName: \"activationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n correlationId: {\n serializedName: \"correlationId\",\n type: {\n name: \"String\"\n }\n },\n pNumber: {\n serializedName: \"pNumber\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedDisplayCountLink: {\n serializedName: \"statisticsRegisterFeedDisplayCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntrySearchedCountLink: {\n serializedName: \"statisticsRegisterFeedEntrySearchedCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntryDisplayCountLink: {\n serializedName: \"statisticsRegisterFeedEntryDisplayCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterJobApplicationInitiatedCountLink: {\n serializedName: \"statisticsRegisterJobApplicationInitiatedCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterJobApplicationAppliedCountLink: {\n serializedName: \"statisticsRegisterJobApplicationAppliedCountLink\",\n type: {\n name: \"String\"\n }\n },\n numberOfVacancies: {\n serializedName: \"numberOfVacancies\",\n type: {\n name: \"Number\"\n }\n },\n applyMethod: {\n serializedName: \"applyMethod\",\n type: {\n name: \"Number\"\n }\n },\n author: {\n serializedName: \"author\",\n type: {\n name: \"String\"\n }\n },\n modifyDate: {\n readOnly: true,\n serializedName: \"modifyDate\",\n type: {\n name: \"DateTime\"\n }\n },\n logoId: {\n serializedName: \"logoId\",\n type: {\n name: \"Uuid\"\n }\n },\n ogimage: {\n serializedName: \"ogimage\",\n type: {\n name: \"String\"\n }\n },\n orderByName: {\n serializedName: \"orderByName\",\n type: {\n name: \"String\"\n }\n },\n orderByEmail: {\n serializedName: \"orderByEmail\",\n type: {\n name: \"String\"\n }\n },\n anonymousLocation: {\n serializedName: \"anonymousLocation\",\n type: {\n name: \"Boolean\"\n }\n },\n alternateTextAnonymousLocation: {\n serializedName: \"alternateTextAnonymousLocation\",\n type: {\n name: \"String\"\n }\n },\n locations: {\n serializedName: \"locations\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"JobAdLocationsModelElementType\",\n type: {\n name: \"Composite\",\n className: \"JobAdLocationsModel\"\n }\n }\n }\n },\n locationString: {\n serializedName: \"locationString\",\n type: {\n name: \"String\"\n }\n },\n locationMapUri: {\n serializedName: \"locationMapUri\",\n type: {\n name: \"String\"\n }\n },\n isPublished: {\n serializedName: \"isPublished\",\n type: {\n name: \"Boolean\"\n }\n },\n useEAN: {\n serializedName: \"useEAN\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const JobAdResponce = {\n serializedName: \"JobAdResponce\",\n type: {\n name: \"Composite\",\n className: \"JobAdResponce\",\n modelProperties: {\n siteid: {\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const MsgJobAd = {\n serializedName: \"MsgJobAd\",\n type: {\n name: \"Composite\",\n className: \"MsgJobAd\",\n modelProperties: {\n updateFlag: {\n serializedName: \"updateFlag\",\n type: {\n name: \"Number\"\n }\n },\n topImage: {\n serializedName: \"topImage\",\n type: {\n name: \"String\"\n }\n },\n backgroundImage: {\n serializedName: \"backgroundImage\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n createDate: {\n serializedName: \"createDate\",\n type: {\n name: \"DateTime\"\n }\n },\n expiryDate: {\n serializedName: \"expiryDate\",\n type: {\n name: \"DateTime\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n externalID: {\n serializedName: \"externalID\",\n type: {\n name: \"String\"\n }\n },\n externalSource: {\n serializedName: \"externalSource\",\n type: {\n name: \"String\"\n }\n },\n category: {\n serializedName: \"category\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n jobType: {\n serializedName: \"jobType\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n position: {\n serializedName: \"position\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n condition: {\n serializedName: \"condition\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n salaryFrom: {\n serializedName: \"salaryFrom\",\n type: {\n name: \"Number\"\n }\n },\n salaryTo: {\n serializedName: \"salaryTo\",\n type: {\n name: \"Number\"\n }\n },\n salaryType: {\n serializedName: \"salaryType\",\n type: {\n name: \"String\"\n }\n },\n salaryCurrency: {\n serializedName: \"salaryCurrency\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n contactName: {\n serializedName: \"contactName\",\n type: {\n name: \"String\"\n }\n },\n contactPhone: {\n serializedName: \"contactPhone\",\n type: {\n name: \"String\"\n }\n },\n contactEmail: {\n serializedName: \"contactEmail\",\n type: {\n name: \"String\"\n }\n },\n commercialContactName: {\n serializedName: \"commercialContactName\",\n type: {\n name: \"String\"\n }\n },\n commercialContact: {\n serializedName: \"commercialContact\",\n type: {\n name: \"String\"\n }\n },\n locationAddress: {\n serializedName: \"locationAddress\",\n type: {\n name: \"String\"\n }\n },\n locationZipCode: {\n serializedName: \"locationZipCode\",\n type: {\n name: \"String\"\n }\n },\n locationCity: {\n serializedName: \"locationCity\",\n type: {\n name: \"String\"\n }\n },\n locationCounty: {\n serializedName: \"locationCounty\",\n type: {\n name: \"String\"\n }\n },\n locationCountry: {\n serializedName: \"locationCountry\",\n type: {\n name: \"String\"\n }\n },\n internalReference: {\n serializedName: \"internalReference\",\n type: {\n name: \"String\"\n }\n },\n applicationMethod: {\n serializedName: \"applicationMethod\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"numberElementType\",\n type: {\n name: \"Number\"\n }\n }\n }\n },\n exportOptions: {\n serializedName: \"exportOptions\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n companyID: {\n serializedName: \"companyID\",\n type: {\n name: \"String\"\n }\n },\n companyName: {\n serializedName: \"companyName\",\n type: {\n name: \"String\"\n }\n },\n companyAddress: {\n serializedName: \"companyAddress\",\n type: {\n name: \"String\"\n }\n },\n companyCity: {\n serializedName: \"companyCity\",\n type: {\n name: \"String\"\n }\n },\n companyZipCode: {\n serializedName: \"companyZipCode\",\n type: {\n name: \"String\"\n }\n },\n companyCounty: {\n serializedName: \"companyCounty\",\n type: {\n name: \"String\"\n }\n },\n companyCountry: {\n serializedName: \"companyCountry\",\n type: {\n name: \"String\"\n }\n },\n companyEmail: {\n serializedName: \"companyEmail\",\n type: {\n name: \"String\"\n }\n },\n companyPhone: {\n serializedName: \"companyPhone\",\n type: {\n name: \"String\"\n }\n },\n companyWWW: {\n serializedName: \"companyWWW\",\n type: {\n name: \"String\"\n }\n },\n companyContactPerson: {\n serializedName: \"companyContactPerson\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialContactName: {\n serializedName: \"companyCommercialContactName\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialContact: {\n serializedName: \"companyCommercialContact\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialVatNumber: {\n serializedName: \"companyCommercialVatNumber\",\n type: {\n name: \"String\"\n }\n },\n companyCommercialExternalId: {\n serializedName: \"companyCommercialExternalId\",\n type: {\n name: \"String\"\n }\n },\n siteId: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n },\n url: {\n serializedName: \"url\",\n type: {\n name: \"String\"\n }\n },\n urlHash: {\n serializedName: \"urlHash\",\n type: {\n name: \"String\"\n }\n },\n applicationUrl: {\n serializedName: \"applicationUrl\",\n type: {\n name: \"String\"\n }\n },\n companyVATIdentifier: {\n serializedName: \"companyVATIdentifier\",\n type: {\n name: \"String\"\n }\n },\n productionUnitIdentifier: {\n serializedName: \"productionUnitIdentifier\",\n type: {\n name: \"String\"\n }\n },\n globalLocationNumber: {\n serializedName: \"globalLocationNumber\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageId: {\n serializedName: \"requestedPackageId\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageName: {\n serializedName: \"requestedPackageName\",\n type: {\n name: \"String\"\n }\n },\n requestedPackagePrice: {\n serializedName: \"requestedPackagePrice\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageDurationDays: {\n serializedName: \"requestedPackageDurationDays\",\n type: {\n name: \"Number\"\n }\n },\n requestedPackageProducts: {\n serializedName: \"requestedPackageProducts\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ProductItemModelRequestElementType\",\n type: {\n name: \"Composite\",\n className: \"ProductItemModelRequest\"\n }\n }\n }\n },\n countryCode: {\n serializedName: \"countryCode\",\n type: {\n name: \"String\"\n }\n },\n activationDate: {\n serializedName: \"activationDate\",\n type: {\n name: \"DateTime\"\n }\n },\n correlationId: {\n serializedName: \"correlationId\",\n type: {\n name: \"String\"\n }\n },\n pNumber: {\n serializedName: \"pNumber\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedDisplayCountLink: {\n serializedName: \"statisticsRegisterFeedDisplayCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntrySearchedCountLink: {\n serializedName: \"statisticsRegisterFeedEntrySearchedCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterFeedEntryDisplayCountLink: {\n serializedName: \"statisticsRegisterFeedEntryDisplayCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterJobApplicationInitiatedCountLink: {\n serializedName: \"statisticsRegisterJobApplicationInitiatedCountLink\",\n type: {\n name: \"String\"\n }\n },\n statisticsRegisterJobApplicationAppliedCountLink: {\n serializedName: \"statisticsRegisterJobApplicationAppliedCountLink\",\n type: {\n name: \"String\"\n }\n },\n numberOfVacancies: {\n serializedName: \"numberOfVacancies\",\n type: {\n name: \"Number\"\n }\n },\n applyMethod: {\n serializedName: \"applyMethod\",\n type: {\n name: \"Number\"\n }\n },\n author: {\n serializedName: \"author\",\n type: {\n name: \"String\"\n }\n },\n modifyDate: {\n readOnly: true,\n serializedName: \"modifyDate\",\n type: {\n name: \"DateTime\"\n }\n },\n logoId: {\n serializedName: \"logoId\",\n type: {\n name: \"Uuid\"\n }\n },\n ogimage: {\n serializedName: \"ogimage\",\n type: {\n name: \"String\"\n }\n },\n orderByName: {\n serializedName: \"orderByName\",\n type: {\n name: \"String\"\n }\n },\n orderByEmail: {\n serializedName: \"orderByEmail\",\n type: {\n name: \"String\"\n }\n },\n anonymousLocation: {\n serializedName: \"anonymousLocation\",\n type: {\n name: \"Boolean\"\n }\n },\n alternateTextAnonymousLocation: {\n serializedName: \"alternateTextAnonymousLocation\",\n type: {\n name: \"String\"\n }\n },\n locations: {\n serializedName: \"locations\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"JobAdLocationsModelElementType\",\n type: {\n name: \"Composite\",\n className: \"JobAdLocationsModel\"\n }\n }\n }\n },\n locationString: {\n serializedName: \"locationString\",\n type: {\n name: \"String\"\n }\n },\n locationMapUri: {\n serializedName: \"locationMapUri\",\n type: {\n name: \"String\"\n }\n },\n isPublished: {\n serializedName: \"isPublished\",\n type: {\n name: \"Boolean\"\n }\n },\n useEAN: {\n serializedName: \"useEAN\",\n type: {\n name: \"Boolean\"\n }\n },\n customerName: {\n serializedName: \"customerName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SetSuperAdminDeleteStatusResponce = {\n serializedName: \"SetSuperAdminDeleteStatusResponce\",\n type: {\n name: \"Composite\",\n className: \"SetSuperAdminDeleteStatusResponce\",\n modelProperties: {\n siteId: {\n serializedName: \"siteId\",\n type: {\n name: \"String\"\n }\n },\n jobAdId: {\n serializedName: \"jobAdId\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const UpdateStatusResponce = {\n serializedName: \"UpdateStatusResponce\",\n type: {\n name: \"Composite\",\n className: \"UpdateStatusResponce\",\n modelProperties: {\n siteid: {\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n },\n url: {\n serializedName: \"url\",\n type: {\n name: \"String\"\n }\n },\n urlHash: {\n serializedName: \"urlHash\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PatchProductModelRequest = {\n serializedName: \"PatchProductModelRequest\",\n type: {\n name: \"Composite\",\n className: \"PatchProductModelRequest\",\n modelProperties: {\n requestedPackageId: {\n serializedName: \"requestedPackageId\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageName: {\n serializedName: \"requestedPackageName\",\n type: {\n name: \"String\"\n }\n },\n requestedPackagePrice: {\n serializedName: \"requestedPackagePrice\",\n type: {\n name: \"String\"\n }\n },\n requestedPackageDurationDays: {\n serializedName: \"requestedPackageDurationDays\",\n type: {\n name: \"Number\"\n }\n },\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ProductItemModelRequestElementType\",\n type: {\n name: \"Composite\",\n className: \"ProductItemModelRequest\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PartnerJobAdResponce = {\n serializedName: \"PartnerJobAdResponce\",\n type: {\n name: \"Composite\",\n className: \"PartnerJobAdResponce\",\n modelProperties: {\n siteid: {\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\n type: {\n name: \"String\"\n }\n },\n url: {\n serializedName: \"url\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ResetPasswordViewModel = {\n serializedName: \"ResetPasswordViewModel\",\n type: {\n name: \"Composite\",\n className: \"ResetPasswordViewModel\",\n modelProperties: {\n resetPasswordLink: {\n serializedName: \"resetPasswordLink\",\n type: {\n name: \"String\"\n }\n },\n cultureCode: {\n serializedName: \"cultureCode\",\n type: {\n name: \"String\"\n }\n },\n subject: {\n serializedName: \"subject\",\n type: {\n name: \"String\"\n }\n },\n advertiser: {\n serializedName: \"advertiser\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const NewPasswordViewModel = {\n serializedName: \"NewPasswordViewModel\",\n type: {\n name: \"Composite\",\n className: \"NewPasswordViewModel\",\n modelProperties: {\n password: {\n serializedName: \"password\",\n type: {\n name: \"String\"\n }\n },\n resetPasswordToken: {\n serializedName: \"resetPasswordToken\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n};\n\nexport const CreateRoleViewModel = {\n serializedName: \"CreateRoleViewModel\",\n type: {\n name: \"Composite\",\n className: \"CreateRoleViewModel\",\n modelProperties: {\n roleName: {\n serializedName: \"roleName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CreateUserViewModel = {\n serializedName: \"CreateUserViewModel\",\n type: {\n name: \"Composite\",\n className: \"CreateUserViewModel\",\n modelProperties: {\n userName: {\n required: true,\n serializedName: \"userName\",\n type: {\n name: \"String\"\n }\n },\n password: {\n required: true,\n serializedName: \"password\",\n type: {\n name: \"String\"\n }\n },\n firstName: {\n required: true,\n serializedName: \"firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n required: true,\n serializedName: \"lastName\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"String\"\n }\n },\n is2FA: {\n serializedName: \"is2FA\",\n type: {\n name: \"Boolean\"\n }\n },\n deliveryType2FA: {\n serializedName: \"deliveryType2FA\",\n type: {\n name: \"String\"\n }\n },\n roles: {\n serializedName: \"roles\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const UpdateUserViewModel = {\n serializedName: \"UpdateUserViewModel\",\n type: {\n name: \"Composite\",\n className: \"UpdateUserViewModel\",\n modelProperties: {\n firstName: {\n serializedName: \"firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n serializedName: \"lastName\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"String\"\n }\n },\n is2FA: {\n serializedName: \"is2FA\",\n type: {\n name: \"Boolean\"\n }\n },\n deliveryType2FA: {\n serializedName: \"deliveryType2FA\",\n type: {\n name: \"String\"\n }\n },\n roles: {\n serializedName: \"roles\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AddSiteCreationUserViewModel = {\n serializedName: \"AddSiteCreationUserViewModel\",\n type: {\n name: \"Composite\",\n className: \"AddSiteCreationUserViewModel\",\n modelProperties: {\n userName: {\n required: true,\n serializedName: \"userName\",\n type: {\n name: \"String\"\n }\n },\n password: {\n required: true,\n serializedName: \"password\",\n type: {\n name: \"String\"\n }\n },\n firstName: {\n required: true,\n serializedName: \"firstName\",\n type: {\n name: \"String\"\n }\n },\n lastName: {\n required: true,\n serializedName: \"lastName\",\n type: {\n name: \"String\"\n }\n },\n phoneNumber: {\n serializedName: \"phoneNumber\",\n type: {\n name: \"String\"\n }\n },\n notes: {\n serializedName: \"notes\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ChangePasswordViewModel = {\n serializedName: \"ChangePasswordViewModel\",\n type: {\n name: \"Composite\",\n className: \"ChangePasswordViewModel\",\n modelProperties: {\n oldPassword: {\n serializedName: \"oldPassword\",\n type: {\n name: \"String\"\n }\n },\n newPassword: {\n serializedName: \"newPassword\",\n type: {\n name: \"String\"\n }\n },\n confirmPassword: {\n serializedName: \"confirmPassword\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPITemplateCreateOptionalParams = {\n serializedName: \"TemplateCreateOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPITemplateCreateOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"CreateTemplateModelRequest\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPITemplateUpdateOptionalParams = {\n serializedName: \"TemplateUpdateOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPITemplateUpdateOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"UpdateTemplateModelRequest\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIGetSitesOptionalParams = {\n serializedName: \"GetSitesOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIGetSitesOptionalParams\",\n modelProperties: {\n searchIn: {\n serializedName: \"SearchIn\",\n type: {\n name: \"String\"\n }\n },\n searchFor: {\n serializedName: \"SearchFor\",\n type: {\n name: \"String\"\n }\n },\n pageSize: {\n serializedName: \"PageSize\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"Page\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISitesGetSiteByIdsOptionalParams = {\n serializedName: \"SitesGetSiteByIdsOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISitesGetSiteByIdsOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BranderoAPIGetJobsContentListOptionalParams = {\n serializedName: \"GetJobsContentListOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIGetJobsContentListOptionalParams\",\n modelProperties: {\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n },\n status: {\n serializedName: \"status\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIGetJobsListOptionalParams = {\n serializedName: \"GetJobsListOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIGetJobsListOptionalParams\",\n modelProperties: {\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n },\n status: {\n serializedName: \"status\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIJobAdsGetJAEOptionalParams = {\n serializedName: \"JobAdsGetJAEOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIJobAdsGetJAEOptionalParams\",\n modelProperties: {\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIGetJobAdsFilteredOptionalParams = {\n serializedName: \"GetJobAdsFilteredOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIGetJobAdsFilteredOptionalParams\",\n modelProperties: {\n pageSize: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n },\n page: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n },\n status: {\n serializedName: \"status\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n },\n sortField: {\n serializedName: \"sortField\",\n defaultValue: 'createDate',\n type: {\n name: \"String\"\n }\n },\n sortOrder: {\n serializedName: \"sortOrder\",\n defaultValue: 'DESC',\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIPartnerUsersFindBySiteIdOptionalParams = {\n serializedName: \"PartnerUsersFindBySiteIdOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIPartnerUsersFindBySiteIdOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"EncryptedData\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIRolesCreateRoleOptionalParams = {\n serializedName: \"RolesCreateRoleOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIRolesCreateRoleOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"CreateRoleViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersGetUsersAsyncOptionalParams = {\n serializedName: \"UsersGetUsersAsyncOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersGetUsersAsyncOptionalParams\",\n modelProperties: {\n searchIn: {\n serializedName: \"SearchIn\",\n type: {\n name: \"String\"\n }\n },\n searchFor: {\n serializedName: \"SearchFor\",\n type: {\n name: \"String\"\n }\n },\n includeRoles: {\n serializedName: \"IncludeRoles\",\n type: {\n name: \"Boolean\"\n }\n },\n includePassword: {\n serializedName: \"IncludePassword\",\n type: {\n name: \"Boolean\"\n }\n },\n page: {\n serializedName: \"Page\",\n type: {\n name: \"Number\"\n }\n },\n pageSize: {\n serializedName: \"PageSize\",\n type: {\n name: \"Number\"\n }\n },\n siteId: {\n serializedName: \"SiteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersGetUserAsyncOptionalParams = {\n serializedName: \"UsersGetUserAsyncOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersGetUserAsyncOptionalParams\",\n modelProperties: {\n includeRoles: {\n serializedName: \"IncludeRoles\",\n type: {\n name: \"Boolean\"\n }\n },\n siteId: {\n serializedName: \"SiteId\",\n type: {\n name: \"Uuid\"\n }\n },\n includePassword: {\n serializedName: \"IncludePassword\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersGetUserAsync1OptionalParams = {\n serializedName: \"UsersGetUserAsync1Options\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersGetUserAsync1OptionalParams\",\n modelProperties: {\n includeRoles: {\n serializedName: \"IncludeRoles\",\n type: {\n name: \"Boolean\"\n }\n },\n siteId: {\n serializedName: \"SiteId\",\n type: {\n name: \"Uuid\"\n }\n },\n includePassword: {\n serializedName: \"IncludePassword\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersFindUsersOptionalParams = {\n serializedName: \"UsersFindUsersOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersFindUsersOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"SearchParams\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUpdateUserByCustomerToolOptionalParams = {\n serializedName: \"UpdateUserByCustomerToolOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUpdateUserByCustomerToolOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"UpdateUserViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersCreateUserOptionalParams = {\n serializedName: \"UsersCreateUserOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersCreateUserOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"CreateUserViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIEntryStatisticSummationByEntryIdOptionalParams = {\n serializedName: \"EntryStatisticSummationByEntryIdOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIEntryStatisticSummationByEntryIdOptionalParams\",\n modelProperties: {\n startDate: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n },\n endDate: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams = {\n serializedName: \"EntryStatisticGetStatisticsByEntryIdOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams\",\n modelProperties: {\n startDate: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n },\n endDate: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams = {\n serializedName: \"SocialMediaStatisticTotalByEntryIDOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams\",\n modelProperties: {\n startDate: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n },\n endDate: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISocialMediaStatisticByEntryIDOptionalParams = {\n serializedName: \"SocialMediaStatisticByEntryIDOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISocialMediaStatisticByEntryIDOptionalParams\",\n modelProperties: {\n startDate: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n },\n endDate: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPICandidateCreateFromApplicationFormOptionalParams = {\n serializedName: \"CandidateCreateFromApplicationFormOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPICandidateCreateFromApplicationFormOptionalParams\",\n modelProperties: {\n phone: {\n serializedName: \"Phone\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"Description\",\n type: {\n name: \"String\"\n }\n },\n education: {\n serializedName: \"Education\",\n type: {\n name: \"String\"\n }\n },\n previousPosition: {\n serializedName: \"PreviousPosition\",\n type: {\n name: \"String\"\n }\n },\n experience: {\n serializedName: \"Experience\",\n type: {\n name: \"Number\"\n }\n },\n urls: {\n serializedName: \"Urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n files: {\n serializedName: \"Files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BranderoAPICandidatePatchNoteOptionalParams = {\n serializedName: \"CandidatePatchNoteOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPICandidatePatchNoteOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPICandidatePatchEmailAddOptionalParams = {\n serializedName: \"CandidatePatchEmailAddOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPICandidatePatchEmailAddOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"PatchDataCandidateEmailRequest\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPICreateSiteOptionalParams = {\n serializedName: \"CreateSiteOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPICreateSiteOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"PostSiteViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUpdateSiteOptionalParams = {\n serializedName: \"UpdateSiteOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUpdateSiteOptionalParams\",\n modelProperties: {\n isValidateHost: {\n serializedName: \"isValidateHost\",\n defaultValue: true,\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISitesMergeSiteOptionalParams = {\n serializedName: \"SitesMergeSiteOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISitesMergeSiteOptionalParams\",\n modelProperties: {\n targetSiteId: {\n serializedName: \"targetSiteId\",\n type: {\n name: \"Uuid\"\n }\n },\n targetCompanyId: {\n serializedName: \"targetCompanyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIMoveTempImageToSiteFolderOptionalParams = {\n serializedName: \"MoveTempImageToSiteFolderOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIMoveTempImageToSiteFolderOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"PutImageViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISendTemplateEmailWithFilesOptionalParams = {\n serializedName: \"SendTemplateEmailWithFilesOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISendTemplateEmailWithFilesOptionalParams\",\n modelProperties: {\n replyTo: {\n serializedName: \"ReplyTo\",\n type: {\n name: \"String\"\n }\n },\n body: {\n serializedName: \"Body\",\n type: {\n name: \"String\"\n }\n },\n templateName: {\n serializedName: \"TemplateName\",\n type: {\n name: \"String\"\n }\n },\n files: {\n serializedName: \"Files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n },\n templateReplaceItems: {\n serializedName: \"TemplateReplaceItems\",\n type: {\n name: \"String\"\n }\n },\n additionalTemplateReplaceItem: {\n serializedName: \"AdditionalTemplateReplaceItem\",\n type: {\n name: \"String\"\n }\n },\n externalId: {\n serializedName: \"ExternalId\",\n type: {\n name: \"String\"\n }\n },\n emailType: {\n serializedName: \"EmailType\",\n type: {\n name: \"Number\"\n }\n },\n senderName: {\n serializedName: \"SenderName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISendTemplateEmailWithFileRefsOptionalParams = {\n serializedName: \"SendTemplateEmailWithFileRefsOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISendTemplateEmailWithFileRefsOptionalParams\",\n modelProperties: {\n replyTo: {\n serializedName: \"ReplyTo\",\n type: {\n name: \"String\"\n }\n },\n body: {\n serializedName: \"Body\",\n type: {\n name: \"String\"\n }\n },\n templateName: {\n serializedName: \"TemplateName\",\n type: {\n name: \"String\"\n }\n },\n files: {\n serializedName: \"Files\",\n type: {\n name: \"String\"\n }\n },\n templateReplaceItems: {\n serializedName: \"TemplateReplaceItems\",\n type: {\n name: \"String\"\n }\n },\n additionalTemplateReplaceItem: {\n serializedName: \"AdditionalTemplateReplaceItem\",\n type: {\n name: \"String\"\n }\n },\n externalId: {\n serializedName: \"ExternalId\",\n type: {\n name: \"String\"\n }\n },\n emailType: {\n serializedName: \"EmailType\",\n type: {\n name: \"Number\"\n }\n },\n senderName: {\n serializedName: \"SenderName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISendGDPRDataAgreementOptionalParams = {\n serializedName: \"SendGDPRDataAgreementOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISendGDPRDataAgreementOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"GdprDataAgreementEmailRequestModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPICssGeneratorGenerateCssAsyncOptionalParams = {\n serializedName: \"CssGeneratorGenerateCssAsyncOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPICssGeneratorGenerateCssAsyncOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"CssGeneratingRequestModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIJobAdPatchDescription1OptionalParams = {\n serializedName: \"JobAdPatchDescription1Options\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIJobAdPatchDescription1OptionalParams\",\n modelProperties: {\n jobadid: {\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPICreatePartnerJobAdOptionalParams = {\n serializedName: \"CreatePartnerJobAdOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPICreatePartnerJobAdOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"EncryptedData\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIPasswordResetUserPasswordOptionalParams = {\n serializedName: \"PasswordResetUserPasswordOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIPasswordResetUserPasswordOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"ResetPasswordViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIPasswordSetNewPasswordOptionalParams = {\n serializedName: \"PasswordSetNewPasswordOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIPasswordSetNewPasswordOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"NewPasswordViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISharedRolesCreateGlobalRoleOptionalParams = {\n serializedName: \"SharedRolesCreateGlobalRoleOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISharedRolesCreateGlobalRoleOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"CreateRoleViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISharedUsersCreateGlobalUserOptionalParams = {\n serializedName: \"SharedUsersCreateGlobalUserOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISharedUsersCreateGlobalUserOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"CreateUserViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPISharedUsersUpdateGlobalUserOptionalParams = {\n serializedName: \"SharedUsersUpdateGlobalUserOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPISharedUsersUpdateGlobalUserOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"UpdateUserViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersInitUserForNewSiteOptionalParams = {\n serializedName: \"UsersInitUserForNewSiteOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersInitUserForNewSiteOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"AddSiteCreationUserViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersChangeUserPasswordOptionalParams = {\n serializedName: \"UsersChangeUserPasswordOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersChangeUserPasswordOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"ChangePasswordViewModel\"\n }\n }\n }\n }\n};\n\nexport const BranderoAPIUsersUpdateUserOptionalParams = {\n serializedName: \"UsersUpdateUserOptions\",\n type: {\n name: \"Composite\",\n className: \"BranderoAPIUsersUpdateUserOptionalParams\",\n modelProperties: {\n body: {\n serializedName: \"body\",\n type: {\n name: \"Composite\",\n className: \"UpdateUserViewModel\"\n }\n }\n }\n }\n};\n","/*\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"ms-rest-js\";\n\nconst packageName = \"\";\nconst packageVersion = \"\";\n\nexport class BranderoAPIContext extends msRest.ServiceClient {\n credentials: msRest.ServiceClientCredentials;\n baseUri: string;\n\n /**\n * @class\n * Initializes a new instance of the BranderoAPIContext class.\n * @constructor\n *\n * @param {msRest.ServiceClientCredentials} credentials - Subscription credentials which uniquely identify client subscription.\n *\n * @param {string} [baseUri] - The base URI of the service.\n *\n * @param {object} [options] - The parameter options\n *\n * @param {Array} [options.filters] - Filters to be added to the request pipeline\n *\n * @param {object} [options.requestOptions] - The request options. Detailed info can be found at\n * {@link https://github.github.io/fetch/#Request Options doc}\n *\n * @param {boolean} [options.noRetryPolicy] - If set to true, turn off default retry policy\n *\n */\n constructor(credentials: msRest.ServiceClientCredentials, baseUri?: string, options?: msRest.ServiceClientOptions) {\n if (credentials === null || credentials === undefined) {\n throw new Error('\\'credentials\\' cannot be null.');\n }\n\n if (!options) {\n options = {};\n }\n\n super(credentials, options);\n\n this.baseUri = baseUri as string;\n if (!this.baseUri) {\n this.baseUri = \"http://localhost\";\n }\n this.credentials = credentials;\n\n this.addUserAgentInfo(`${packageName}/${packageVersion}`);\n }\n}\n","/*\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is\n * regenerated.\n */\n\nimport * as msRest from \"ms-rest-js\";\nimport * as Models from \"./models\";\nimport * as Mappers from \"./models/mappers\";\nimport { BranderoAPIContext } from \"./branderoAPIContext\";\nconst WebResource = msRest.WebResource;\n\nclass BranderoAPI extends BranderoAPIContext {\n serializer = new msRest.Serializer(Mappers);\n\n /**\n * @class\n * Initializes a new instance of the BranderoAPI class.\n * @constructor\n *\n * @param {string} [baseUri] - The base URI of the service.\n *\n * @param {object} [options] - The parameter options\n *\n * @param {Array} [options.filters] - Filters to be added to the request pipeline\n *\n * @param {object} [options.requestOptions] - The request options. Detailed info can be found at\n * {@link https://github.github.io/fetch/#Request Options doc}\n *\n * @param {boolean} [options.noRetryPolicy] - If set to true, turn off default retry policy\n *\n */\n constructor(credentials: msRest.ServiceClientCredentials, baseUri?: string, options?: msRest.ServiceClientOptions) {\n super(credentials, baseUri, options);\n }\n // methods on the client.\n\n /**\n * @param {string} searchText\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async searchCustomerWithHttpOperationResponse(searchText: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n searchText\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/{searchText}\",\n urlParameters: [\n {\n parameterPath: \"searchText\",\n mapper: {\n required: true,\n serializedName: \"searchText\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CustomerModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CustomerModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} pNumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCustomerExistsWithHttpOperationResponse(pNumber: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n pNumber\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/exists/{pNumber}\",\n urlParameters: [\n {\n parameterPath: \"pNumber\",\n mapper: {\n required: true,\n serializedName: \"pNumber\",\n defaultValue: '',\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Boolean\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Boolean\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} pNumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCustomerByPnumberWithHttpOperationResponse(pNumber: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n pNumber\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/bypnumber/{pNumber}\",\n urlParameters: [\n {\n parameterPath: \"pNumber\",\n mapper: {\n required: true,\n serializedName: \"pNumber\",\n defaultValue: '',\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CustomerModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCustomerWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/byid/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CustomerModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} cvr\n *\n * @param {string} pnumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCustomersByCvrAndPnumberWithHttpOperationResponse(cvr: string, pnumber: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n cvr,\n pnumber\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/bycvrandpnumber/{cvr}\",\n urlParameters: [\n {\n parameterPath: \"cvr\",\n mapper: {\n required: true,\n serializedName: \"cvr\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"pnumber\",\n mapper: {\n required: true,\n serializedName: \"pnumber\",\n defaultValue: '',\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CustomerModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CustomerModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} cvr\n *\n * @param {string} pnumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCustomersByCvrAndPnumber1WithHttpOperationResponse(cvr: string, pnumber: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n cvr,\n pnumber\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/bycvrandpnumber/{cvr}/{pnumber}\",\n urlParameters: [\n {\n parameterPath: \"cvr\",\n mapper: {\n required: true,\n serializedName: \"cvr\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"pnumber\",\n mapper: {\n required: true,\n serializedName: \"pnumber\",\n defaultValue: '',\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CustomerModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"CustomerModelElementType\",\n type: {\n name: \"Composite\",\n className: \"CustomerModel\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getNextCustomerIdWithHttpOperationResponse(options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments({}, options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/nextcustomerid\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Number\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Number\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {number} customerid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCustomerByCustomerIdWithHttpOperationResponse(customerid: number, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n customerid\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SearchCustomer/bycustomerid/{customerid}\",\n urlParameters: [\n {\n parameterPath: \"customerid\",\n mapper: {\n required: true,\n serializedName: \"customerid\",\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.CustomerModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CustomerModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {CandidateListRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCandidatesWithHttpOperationResponse(siteId: string, companyId: string, body: Models.CandidateListRequestModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.CandidateListRequestModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.CandidateListShortModelCandidateListResult\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CandidateListShortModelCandidateListResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} jobId\n *\n * @param {string} companyId\n *\n * @param {CandidateListRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCandidatesByJobIdWithHttpOperationResponse(siteId: string, jobId: string, companyId: string, body: Models.CandidateListRequestModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n jobId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/jobs/{jobId}/candidates\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"jobId\",\n mapper: {\n required: true,\n serializedName: \"jobId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.CandidateListRequestModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.CandidateListShortModelCandidateListResult\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CandidateListShortModelCandidateListResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getCandidateByIdWithHttpOperationResponse(siteId: string, companyId: string, candidateId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n candidateId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companyId/{companyId}/candidates/{candidateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.CandidateListFullModelCandidateListResult\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CandidateListFullModelCandidateListResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getEmailFrequencySettingsWithHttpOperationResponse(siteId: string, companyId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/emails/frequency\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.EmailSettingsModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.EmailSettingsModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async checkSendEveryDayWithHttpOperationResponse(siteId: string, companyId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/emails/checksendeveryday\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getEmailTemplateWithHttpOperationResponse(siteId: string, templateId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n templateId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/emails/sites/{siteId}/templates/{templateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"templateId\",\n mapper: {\n required: true,\n serializedName: \"templateId\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.EmailResultTemplateContent\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.EmailResultTemplateContent;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Get main list of templates\n *\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getTemplatesWithHttpOperationResponse(siteId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/templates\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.ListTemplateShortModelResponse\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ListTemplateShortModelResponse;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Create new template\n *\n * @param {string} siteId\n *\n * @param {BranderoAPITemplateCreateOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async templateCreateWithHttpOperationResponse(siteId: string, options?: Models.BranderoAPITemplateCreateOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/templates\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.CreateTemplateModelRequest\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Get specific template\n *\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getTemplateWithHttpOperationResponse(siteId: string, templateId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n templateId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/templates/{templateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"templateId\",\n mapper: {\n required: true,\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.TemplateModelResponse\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.TemplateModelResponse;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Update existing template\n *\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {BranderoAPITemplateUpdateOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async templateUpdateWithHttpOperationResponse(siteId: string, templateId: string, options?: Models.BranderoAPITemplateUpdateOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n templateId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/templates/{templateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"templateId\",\n mapper: {\n required: true,\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.UpdateTemplateModelRequest\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Delete specified template\n *\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async templateDeleteWithHttpOperationResponse(siteId: string, templateId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n templateId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/templates/{templateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"templateId\",\n mapper: {\n required: true,\n serializedName: \"templateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPIGetSitesOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getSitesWithHttpOperationResponse(options?: Models.BranderoAPIGetSitesOptionalParams): Promise> {\n let searchIn = (options && options.searchIn !== undefined) ? options.searchIn : undefined;\n let searchFor = (options && options.searchFor !== undefined) ? options.searchFor : undefined;\n let pageSize = (options && options.pageSize !== undefined) ? options.pageSize : undefined;\n let page = (options && options.page !== undefined) ? options.page : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n searchIn,\n searchFor,\n pageSize,\n page\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites\",\n queryParameters: [\n {\n parameterPath: \"searchIn\",\n mapper: {\n serializedName: \"SearchIn\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"searchFor\",\n mapper: {\n serializedName: \"SearchFor\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"pageSize\",\n mapper: {\n serializedName: \"PageSize\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"page\",\n mapper: {\n serializedName: \"Page\",\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.IHaveSiteModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.IHaveSiteModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getSiteByIdWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/ById/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.SiteEntity\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.SiteEntity;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sitesGetSiteByCompanyIdWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/ByCompanyId/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.SiteEntity\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.SiteEntity;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPISitesGetSiteByIdsOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sitesGetSiteByIdsWithHttpOperationResponse(options?: Models.BranderoAPISitesGetSiteByIdsOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/ByIds\",\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n serializedName: \"body\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getEmailSiteByIdWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/ById/{id}/email\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.IHaveEmailSiteModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.IHaveEmailSiteModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} host\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getSiteByHostWithHttpOperationResponse(host: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n host\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/ByHost/{host}\",\n urlParameters: [\n {\n parameterPath: \"host\",\n mapper: {\n required: true,\n serializedName: \"host\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.IHaveSiteModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.IHaveSiteModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} host\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getSitesByHostWithHttpOperationResponse(host: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n host\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/ByList/ByHost/{host}\",\n urlParameters: [\n {\n parameterPath: \"host\",\n mapper: {\n required: true,\n serializedName: \"host\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.IHaveSiteModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.IHaveSiteModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPIGetJobsContentListOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getJobsContentListWithHttpOperationResponse(siteid: string, options?: Models.BranderoAPIGetJobsContentListOptionalParams): Promise> {\n let pageSize = (options && options.pageSize !== undefined) ? options.pageSize : undefined;\n let page = (options && options.page !== undefined) ? options.page : 1;\n let status = (options && options.status !== undefined) ? options.status : 1;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n pageSize,\n page,\n status\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/listcontent\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"pageSize\",\n mapper: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"page\",\n mapper: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"status\",\n mapper: {\n serializedName: \"status\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.JobAdListItemSearchResult\n },\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.JobAdListItemSearchResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPIGetJobsListOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getJobsListWithHttpOperationResponse(siteid: string, options?: Models.BranderoAPIGetJobsListOptionalParams): Promise> {\n let pageSize = (options && options.pageSize !== undefined) ? options.pageSize : undefined;\n let page = (options && options.page !== undefined) ? options.page : 1;\n let status = (options && options.status !== undefined) ? options.status : 1;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n pageSize,\n page,\n status\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"pageSize\",\n mapper: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"page\",\n mapper: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"status\",\n mapper: {\n serializedName: \"status\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.JobAdModelSearchResult\n },\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.JobAdModelSearchResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIJobAdsGetJAEOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdsGetJAEWithHttpOperationResponse(siteId: string, options?: Models.BranderoAPIJobAdsGetJAEOptionalParams): Promise> {\n let pageSize = (options && options.pageSize !== undefined) ? options.pageSize : undefined;\n let page = (options && options.page !== undefined) ? options.page : 1;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n pageSize,\n page\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/jobads/jaelist\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"pageSize\",\n mapper: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"page\",\n mapper: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} urlHash\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getJobAdByUrlHashWithHttpOperationResponse(siteid: string, urlHash: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n urlHash\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/byurl/{urlHash}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"urlHash\",\n mapper: {\n required: true,\n serializedName: \"urlHash\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.JobAdModel\n },\n 500: {},\n 404: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.JobAdModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getJobAdWithHttpOperationResponse(siteid: string, jobadid: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.JobAdModel\n },\n 500: {},\n 404: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.JobAdModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {ExtendedJobAdModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async createJobAdWithHttpOperationResponse(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.ExtendedJobAdModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 201: {\n bodyMapper: Mappers.ExtendedJobAdModel\n },\n 500: {},\n 400: {},\n 401: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 201) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ExtendedJobAdModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {ExtendedJobAdModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async updateJobAdWithHttpOperationResponse(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.ExtendedJobAdModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 202: {\n bodyMapper: Mappers.ExtendedJobAdModel\n },\n 401: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 202) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ExtendedJobAdModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdDeleteWithHttpOperationResponse(siteid: string, jobadid: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 202: {\n bodyMapper: Mappers.JobAdResponce\n },\n 500: {},\n 400: {},\n 401: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 202) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.JobAdResponce;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPIGetJobAdsFilteredOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async getJobAdsFilteredWithHttpOperationResponse(siteid: string, options?: Models.BranderoAPIGetJobAdsFilteredOptionalParams): Promise> {\n let pageSize = (options && options.pageSize !== undefined) ? options.pageSize : undefined;\n let page = (options && options.page !== undefined) ? options.page : 1;\n let status = (options && options.status !== undefined) ? options.status : 1;\n let sortField = (options && options.sortField !== undefined) ? options.sortField : 'createDate';\n let sortOrder = (options && options.sortOrder !== undefined) ? options.sortOrder : 'DESC';\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n pageSize,\n page,\n status,\n sortField,\n sortOrder\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobadsfiltered\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"pageSize\",\n mapper: {\n serializedName: \"pageSize\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"page\",\n mapper: {\n serializedName: \"page\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"status\",\n mapper: {\n serializedName: \"status\",\n defaultValue: 1,\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"sortField\",\n mapper: {\n serializedName: \"sortField\",\n defaultValue: 'createDate',\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"sortOrder\",\n mapper: {\n serializedName: \"sortOrder\",\n defaultValue: 'DESC',\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: Mappers.JobAdModelSearchResult\n },\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.JobAdModelSearchResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPIPartnerUsersFindBySiteIdOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async partnerUsersFindBySiteIdWithHttpOperationResponse(options?: Models.BranderoAPIPartnerUsersFindBySiteIdOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/partner/users/bysiteid\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.EncryptedData\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} userName\n *\n * @param {string} token\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async passwordsValidateResetPasswordTokenAsyncWithHttpOperationResponse(userName: string, token: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n userName,\n token\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/users/by-name/{userName}/password/validate-token/{token}\",\n urlParameters: [\n {\n parameterPath: \"userName\",\n mapper: {\n required: true,\n serializedName: \"userName\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"token\",\n mapper: {\n required: true,\n serializedName: \"token\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async rolesGetRolesAsyncWithHttpOperationResponse(siteId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/roles\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIRolesCreateRoleOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async rolesCreateRoleWithHttpOperationResponse(siteId: string, options?: Models.BranderoAPIRolesCreateRoleOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/roles\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.CreateRoleViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPIUsersGetUsersAsyncOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersGetUsersAsyncWithHttpOperationResponse(options?: Models.BranderoAPIUsersGetUsersAsyncOptionalParams): Promise> {\n let searchIn = (options && options.searchIn !== undefined) ? options.searchIn : undefined;\n let searchFor = (options && options.searchFor !== undefined) ? options.searchFor : undefined;\n let includeRoles = (options && options.includeRoles !== undefined) ? options.includeRoles : undefined;\n let includePassword = (options && options.includePassword !== undefined) ? options.includePassword : undefined;\n let page = (options && options.page !== undefined) ? options.page : undefined;\n let pageSize = (options && options.pageSize !== undefined) ? options.pageSize : undefined;\n let siteId = (options && options.siteId !== undefined) ? options.siteId : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n searchIn,\n searchFor,\n includeRoles,\n includePassword,\n page,\n pageSize,\n siteId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/Users\",\n queryParameters: [\n {\n parameterPath: \"searchIn\",\n mapper: {\n serializedName: \"SearchIn\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"searchFor\",\n mapper: {\n serializedName: \"SearchFor\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"includeRoles\",\n mapper: {\n serializedName: \"IncludeRoles\",\n type: {\n name: \"Boolean\"\n }\n }\n },\n {\n parameterPath: \"includePassword\",\n mapper: {\n serializedName: \"IncludePassword\",\n type: {\n name: \"Boolean\"\n }\n }\n },\n {\n parameterPath: \"page\",\n mapper: {\n serializedName: \"Page\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"pageSize\",\n mapper: {\n serializedName: \"PageSize\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"siteId\",\n mapper: {\n serializedName: \"SiteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {BranderoAPIUsersGetUserAsyncOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersGetUserAsyncWithHttpOperationResponse(id: string, options?: Models.BranderoAPIUsersGetUserAsyncOptionalParams): Promise> {\n let includeRoles = (options && options.includeRoles !== undefined) ? options.includeRoles : undefined;\n let siteId = (options && options.siteId !== undefined) ? options.siteId : undefined;\n let includePassword = (options && options.includePassword !== undefined) ? options.includePassword : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id,\n includeRoles,\n siteId,\n includePassword\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/Users/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"includeRoles\",\n mapper: {\n serializedName: \"IncludeRoles\",\n type: {\n name: \"Boolean\"\n }\n }\n },\n {\n parameterPath: \"siteId\",\n mapper: {\n serializedName: \"SiteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"includePassword\",\n mapper: {\n serializedName: \"IncludePassword\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} username\n *\n * @param {BranderoAPIUsersGetUserAsync1OptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersGetUserAsync1WithHttpOperationResponse(username: string, options?: Models.BranderoAPIUsersGetUserAsync1OptionalParams): Promise> {\n let includeRoles = (options && options.includeRoles !== undefined) ? options.includeRoles : undefined;\n let siteId = (options && options.siteId !== undefined) ? options.siteId : undefined;\n let includePassword = (options && options.includePassword !== undefined) ? options.includePassword : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n username,\n includeRoles,\n siteId,\n includePassword\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/Users/ByName/{username}\",\n urlParameters: [\n {\n parameterPath: \"username\",\n mapper: {\n required: true,\n serializedName: \"username\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"includeRoles\",\n mapper: {\n serializedName: \"IncludeRoles\",\n type: {\n name: \"Boolean\"\n }\n }\n },\n {\n parameterPath: \"siteId\",\n mapper: {\n serializedName: \"SiteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"includePassword\",\n mapper: {\n serializedName: \"IncludePassword\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPIUsersFindUsersOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersFindUsersWithHttpOperationResponse(options?: Models.BranderoAPIUsersFindUsersOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/users/by-parameters\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.SearchParams\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersFindUserByIdWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/user/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {BranderoAPIUpdateUserByCustomerToolOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async updateUserByCustomerToolWithHttpOperationResponse(id: string, options?: Models.BranderoAPIUpdateUserByCustomerToolOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/user/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.UpdateUserViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersFindUserBySiteIdWithHttpOperationResponse(siteId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/users\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIUsersCreateUserOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersCreateUserWithHttpOperationResponse(siteId: string, options?: Models.BranderoAPIUsersCreateUserOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/users\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.CreateUserViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async variableUsersGetUserAsyncWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/users/{id}/email\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async entryStatisticSummationWithHttpOperationResponse(options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments({}, options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/EntryStatistic/Summation\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async entryStatisticSummationByFeedNameWithHttpOperationResponse(feedName: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n feedName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/EntryStatistic/Summation/ByFeedName/{feedName}\",\n urlParameters: [\n {\n parameterPath: \"feedName\",\n mapper: {\n required: true,\n serializedName: \"feedName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} entryId\n *\n * @param {BranderoAPIEntryStatisticSummationByEntryIdOptionalParams} [options] Optional\n * Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async entryStatisticSummationByEntryIdWithHttpOperationResponse(entryId: string, options?: Models.BranderoAPIEntryStatisticSummationByEntryIdOptionalParams): Promise> {\n let startDate = (options && options.startDate !== undefined) ? options.startDate : undefined;\n let endDate = (options && options.endDate !== undefined) ? options.endDate : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n entryId,\n startDate,\n endDate\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/EntryStatistic/Summation/ByEntryId/{entryId}\",\n urlParameters: [\n {\n parameterPath: \"entryId\",\n mapper: {\n required: true,\n serializedName: \"entryId\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"startDate\",\n mapper: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"endDate\",\n mapper: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async entryStatisticGetAllWithHttpOperationResponse(options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments({}, options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/EntryStatistic\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} entryId\n *\n * @param {BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams} [options] Optional\n * Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async entryStatisticGetStatisticsByEntryIdWithHttpOperationResponse(entryId: string, options?: Models.BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams): Promise> {\n let startDate = (options && options.startDate !== undefined) ? options.startDate : undefined;\n let endDate = (options && options.endDate !== undefined) ? options.endDate : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n entryId,\n startDate,\n endDate\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/EntryStatistic/ByEntryId/{entryId}\",\n urlParameters: [\n {\n parameterPath: \"entryId\",\n mapper: {\n required: true,\n serializedName: \"entryId\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"startDate\",\n mapper: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"endDate\",\n mapper: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async entryStatisticGetStatisticsByFeedNameWithHttpOperationResponse(feedName: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n feedName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/EntryStatistic/ByFeedName/{feedName}\",\n urlParameters: [\n {\n parameterPath: \"feedName\",\n mapper: {\n required: true,\n serializedName: \"feedName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticTotalWithHttpOperationResponse(options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments({}, options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/Total\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticTotalByFeedNameWithHttpOperationResponse(feedName: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n feedName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/Total/{feedName}\",\n urlParameters: [\n {\n parameterPath: \"feedName\",\n mapper: {\n required: true,\n serializedName: \"feedName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticSummationWithHttpOperationResponse(options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments({}, options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/Summation\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticSummationByFeedNameWithHttpOperationResponse(feedName: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n feedName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/Summation/{feedName}\",\n urlParameters: [\n {\n parameterPath: \"feedName\",\n mapper: {\n required: true,\n serializedName: \"feedName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticGetAllWithHttpOperationResponse(options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments({}, options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticGetStatisticsByFeedNameWithHttpOperationResponse(feedName: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n feedName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/{feedName}\",\n urlParameters: [\n {\n parameterPath: \"feedName\",\n mapper: {\n required: true,\n serializedName: \"feedName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} entryID\n *\n * @param {BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams} [options] Optional\n * Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticTotalByEntryIDWithHttpOperationResponse(entryID: string, options?: Models.BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams): Promise> {\n let startDate = (options && options.startDate !== undefined) ? options.startDate : undefined;\n let endDate = (options && options.endDate !== undefined) ? options.endDate : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n entryID,\n startDate,\n endDate\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/Total/ByEntryId/{entryID}\",\n urlParameters: [\n {\n parameterPath: \"entryID\",\n mapper: {\n required: true,\n serializedName: \"entryID\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"startDate\",\n mapper: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"endDate\",\n mapper: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} entryID\n *\n * @param {BranderoAPISocialMediaStatisticByEntryIDOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async socialMediaStatisticByEntryIDWithHttpOperationResponse(entryID: string, options?: Models.BranderoAPISocialMediaStatisticByEntryIDOptionalParams): Promise> {\n let startDate = (options && options.startDate !== undefined) ? options.startDate : undefined;\n let endDate = (options && options.endDate !== undefined) ? options.endDate : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n entryID,\n startDate,\n endDate\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/SocialMediaStatistic/ByEntryId/{entryID}\",\n urlParameters: [\n {\n parameterPath: \"entryID\",\n mapper: {\n required: true,\n serializedName: \"entryID\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"startDate\",\n mapper: {\n serializedName: \"startDate\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"endDate\",\n mapper: {\n serializedName: \"endDate\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async imageLibraryGetImagesBySiteAsyncWithHttpOperationResponse(siteId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/imageslibrary\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary UploadNewImageLibrary\n *\n * @param {string} siteId\n *\n * @param {any[]} images\n *\n * @param {string} imageType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async uploadNewImageLibraryWithHttpOperationResponse(siteId: string, images: any[], imageType: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n images,\n imageType\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/imageslibrary\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"images\",\n mapper: {\n required: true,\n serializedName: \"Images\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n {\n parameterPath: \"imageType\",\n mapper: {\n required: true,\n serializedName: \"ImageType\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 200: {\n bodyMapper: Mappers.ResultLibraryViewModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ResultLibraryViewModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} imageId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async imageLibraryGetImageByIdAsyncWithHttpOperationResponse(siteId: string, imageId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n imageId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"GET\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/imageslibrary/{imageId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"imageId\",\n mapper: {\n required: true,\n serializedName: \"imageId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary UpdateLibraryImage\n *\n * @param {string} siteId\n *\n * @param {string} imageId\n *\n * @param {ImageLibraryPatchModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async updateLibraryImageWithHttpOperationResponse(siteId: string, imageId: string, body: Models.ImageLibraryPatchModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n imageId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/imageslibrary/{imageId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"imageId\",\n mapper: {\n required: true,\n serializedName: \"imageId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.ImageLibraryPatchModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.ImageLibraryPatchModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ImageLibraryPatchModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Creates a new Candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} jobadId\n *\n * @param {CreateCandidateModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateCreateWithHttpOperationResponse(siteId: string, companyId: string, jobadId: string, body: Models.CreateCandidateModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n jobadId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/jobads/{jobadId}/candidates\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"jobadId\",\n mapper: {\n required: true,\n serializedName: \"jobadId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.CreateCandidateModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 201: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 201) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Creates a new candidate from application form\n *\n * @param {string} jobid\n *\n * @param {string} fullName\n *\n * @param {string} email\n *\n * @param {BranderoAPICandidateCreateFromApplicationFormOptionalParams} [options] Optional\n * Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateCreateFromApplicationFormWithHttpOperationResponse(jobid: string, fullName: string, email: string, options?: Models.BranderoAPICandidateCreateFromApplicationFormOptionalParams): Promise> {\n let phone = (options && options.phone !== undefined) ? options.phone : undefined;\n let description = (options && options.description !== undefined) ? options.description : undefined;\n let education = (options && options.education !== undefined) ? options.education : undefined;\n let previousPosition = (options && options.previousPosition !== undefined) ? options.previousPosition : undefined;\n let experience = (options && options.experience !== undefined) ? options.experience : undefined;\n let urls = (options && options.urls !== undefined) ? options.urls : undefined;\n let files = (options && options.files !== undefined) ? options.files : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n jobid,\n fullName,\n email,\n phone,\n description,\n education,\n previousPosition,\n experience,\n urls,\n files\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/{jobid}/candidates\",\n urlParameters: [\n {\n parameterPath: \"jobid\",\n mapper: {\n required: true,\n serializedName: \"jobid\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"fullName\",\n mapper: {\n required: true,\n serializedName: \"FullName\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"email\",\n mapper: {\n required: true,\n serializedName: \"Email\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"phone\",\n mapper: {\n serializedName: \"Phone\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"description\",\n mapper: {\n serializedName: \"Description\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"education\",\n mapper: {\n serializedName: \"Education\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"previousPosition\",\n mapper: {\n serializedName: \"PreviousPosition\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"experience\",\n mapper: {\n serializedName: \"Experience\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"urls\",\n mapper: {\n serializedName: \"Urls\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n },\n {\n parameterPath: \"files\",\n mapper: {\n serializedName: \"Files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 201: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 201) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Update exist Candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {UpdateCandidateModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateUpdateWithHttpOperationResponse(siteId: string, companyId: string, candidateId: string, body: Models.UpdateCandidateModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n candidateId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/{candidateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.UpdateCandidateModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Delete exist Candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateDeleteWithHttpOperationResponse(siteId: string, companyId: string, candidateId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n candidateId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/{candidateId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 202: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 202) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Delete existing candidate by id\n *\n * @param {string} jobid\n *\n * @param {string} candidateid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateDeleteByIdWithHttpOperationResponse(jobid: string, candidateid: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n jobid,\n candidateid\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/{jobid}/candidates/{candidateid}\",\n urlParameters: [\n {\n parameterPath: \"jobid\",\n mapper: {\n required: true,\n serializedName: \"jobid\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateid\",\n mapper: {\n required: true,\n serializedName: \"candidateid\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 202: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 202) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Object\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Update email\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {PatchCandidateDetailsModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateDetailsUpdateWithHttpOperationResponse(siteId: string, companyId: string, body: Models.PatchCandidateDetailsModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/detailsupdate\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.PatchCandidateDetailsModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Change status(es) of candidate(s)\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidatePatchStatusWithHttpOperationResponse(siteId: string, companyId: string, body: Models.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/statusupdate\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Change note(s) of candidate(s)\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {BranderoAPICandidatePatchNoteOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidatePatchNoteWithHttpOperationResponse(siteId: string, companyId: string, options?: Models.BranderoAPICandidatePatchNoteOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/notesupdate\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Add email to candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {BranderoAPICandidatePatchEmailAddOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidatePatchEmailAddWithHttpOperationResponse(siteId: string, companyId: string, candidateId: string, options?: Models.BranderoAPICandidatePatchEmailAddOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n candidateId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/{candidateId}/emails\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.PatchDataCandidateEmailRequest\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Delete email of candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {string} emailId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidatePatchEmailDeleteWithHttpOperationResponse(siteId: string, companyId: string, candidateId: string, emailId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n candidateId,\n emailId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/candidates/{candidateId}/emails/{emailId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"emailId\",\n mapper: {\n required: true,\n serializedName: \"emailId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Add note for candidate\n *\n * @param {string} siteId\n *\n * @param {string} candidateId\n *\n * @param {CreateNoteModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateAddNoteWithHttpOperationResponse(siteId: string, candidateId: string, body: Models.CreateNoteModelRequest, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n candidateId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/candidates/{candidateId}/notes\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.CreateNoteModelRequest,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.NoteModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.NoteModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Update note for candidate\n *\n * @param {string} siteId\n *\n * @param {string} candidateId\n *\n * @param {string} noteId\n *\n * @param {UpdateNoteModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateUpdateNoteWithHttpOperationResponse(siteId: string, candidateId: string, noteId: string, body: Models.UpdateNoteModelRequest, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n candidateId,\n noteId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/candidates/{candidateId}/notes/{noteId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"noteId\",\n mapper: {\n required: true,\n serializedName: \"noteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.UpdateNoteModelRequest,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.NoteModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.NoteModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Delete note for candidate\n *\n * @param {string} siteId\n *\n * @param {string} candidateId\n *\n * @param {string} noteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async candidateDeleteNoteWithHttpOperationResponse(siteId: string, candidateId: string, noteId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n candidateId,\n noteId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/candidates/{candidateId}/notes/{noteId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"candidateId\",\n mapper: {\n required: true,\n serializedName: \"candidateId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"noteId\",\n mapper: {\n required: true,\n serializedName: \"noteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Uuid\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary Uploads multiple file\n *\n * @param {string} siteId\n *\n * @param {string} type\n *\n * @param {string[]} files\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async uploadMultipleFilesWithHttpOperationResponse(siteId: string, type: string, files: string[], options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n type,\n files\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/type/{type}/files/multiple\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"type\",\n mapper: {\n required: true,\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"files\",\n mapper: {\n required: true,\n serializedName: \"Files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"IFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"IFileModel\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"IFileModelElementType\",\n type: {\n name: \"Composite\",\n className: \"IFileModel\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPICreateSiteOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async createSiteWithHttpOperationResponse(options?: Models.BranderoAPICreateSiteOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/Sites\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.PostSiteViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Uuid\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {PutSiteViewModel} body\n *\n * @param {BranderoAPIUpdateSiteOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async updateSiteWithHttpOperationResponse(id: string, body: Models.PutSiteViewModel, options?: Models.BranderoAPIUpdateSiteOptionalParams): Promise> {\n let isValidateHost = (options && options.isValidateHost !== undefined) ? options.isValidateHost : true;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id,\n isValidateHost,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/Sites/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"isValidateHost\",\n mapper: {\n serializedName: \"isValidateHost\",\n defaultValue: true,\n type: {\n name: \"Boolean\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.PutSiteViewModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Uuid\"\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sitesDeleteSiteWithHttpOperationResponse(siteid: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/Sites/{siteid}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPISitesMergeSiteOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sitesMergeSiteWithHttpOperationResponse(siteid: string, options?: Models.BranderoAPISitesMergeSiteOptionalParams): Promise> {\n let targetSiteId = (options && options.targetSiteId !== undefined) ? options.targetSiteId : undefined;\n let targetCompanyId = (options && options.targetCompanyId !== undefined) ? options.targetCompanyId : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n targetSiteId,\n targetCompanyId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/Sites/{siteid}/merge\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"targetSiteId\",\n mapper: {\n serializedName: \"targetSiteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"targetCompanyId\",\n mapper: {\n serializedName: \"targetCompanyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary UploadNewImageOnlyForSiteCreation\n *\n * @param {string} siteId\n *\n * @param {any[]} images\n *\n * @param {string} imageType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async uploadNewImageOnlyForSiteCreationWithHttpOperationResponse(siteId: string, images: any[], imageType: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n images,\n imageType\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/imagesonlyforsitescreation\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"images\",\n mapper: {\n required: true,\n serializedName: \"Images\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n {\n parameterPath: \"imageType\",\n mapper: {\n required: true,\n serializedName: \"ImageType\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 200: {\n bodyMapper: Mappers.ResultViewModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ResultViewModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary UploadNewImage\n *\n * @param {string} siteId\n *\n * @param {any[]} images\n *\n * @param {string} imageType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async uploadNewImageWithHttpOperationResponse(siteId: string, images: any[], imageType: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n images,\n imageType\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/images\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"images\",\n mapper: {\n required: true,\n serializedName: \"Images\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n {\n parameterPath: \"imageType\",\n mapper: {\n required: true,\n serializedName: \"ImageType\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 200: {\n bodyMapper: Mappers.ResultViewModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ResultViewModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} imageId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async imagesDeleteImageLibraryAsyncWithHttpOperationResponse(siteId: string, imageId: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n imageId\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/imagesLibrary/{imageId}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"imageId\",\n mapper: {\n required: true,\n serializedName: \"imageId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary UploadTempImage\n *\n * @param {PostImageViewModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async uploadTempImageWithHttpOperationResponse(body: Models.PostImageViewModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/images\",\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.PostImageViewModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Success\",\n \"ErrorInUpload\",\n \"FileWidthDoesNotSatisfyMinimumSize\",\n \"LandscapeRequired\",\n \"PortraitRequired\",\n \"SquareRequired\",\n \"ZeroFileLength\",\n \"OptimizationServiceNotificationError\",\n \"ValueIsNotValid\",\n \"FileToMoveIsNotFound\",\n \"FileIsNotValid\"\n ]\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Success\",\n \"ErrorInUpload\",\n \"FileWidthDoesNotSatisfyMinimumSize\",\n \"LandscapeRequired\",\n \"PortraitRequired\",\n \"SquareRequired\",\n \"ZeroFileLength\",\n \"OptimizationServiceNotificationError\",\n \"ValueIsNotValid\",\n \"FileToMoveIsNotFound\",\n \"FileIsNotValid\"\n ]\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary MoveTempImageToSiteFolder\n *\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {BranderoAPIMoveTempImageToSiteFolderOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async moveTempImageToSiteFolderWithHttpOperationResponse(siteId: string, id: string, options?: Models.BranderoAPIMoveTempImageToSiteFolderOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n id,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/images/{id}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.PutImageViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Success\",\n \"ErrorInUpload\",\n \"FileWidthDoesNotSatisfyMinimumSize\",\n \"LandscapeRequired\",\n \"PortraitRequired\",\n \"SquareRequired\",\n \"ZeroFileLength\",\n \"OptimizationServiceNotificationError\",\n \"ValueIsNotValid\",\n \"FileToMoveIsNotFound\",\n \"FileIsNotValid\"\n ]\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"Success\",\n \"ErrorInUpload\",\n \"FileWidthDoesNotSatisfyMinimumSize\",\n \"LandscapeRequired\",\n \"PortraitRequired\",\n \"SquareRequired\",\n \"ZeroFileLength\",\n \"OptimizationServiceNotificationError\",\n \"ValueIsNotValid\",\n \"FileToMoveIsNotFound\",\n \"FileIsNotValid\"\n ]\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {TemplateUserEmailRequestModel[]} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async emailsSendTemplateEmailsToUsersAsyncWithHttpOperationResponse(body: Models.TemplateUserEmailRequestModel[], options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/emails/send/users\",\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n required: true,\n serializedName: \"body\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateUserEmailRequestModelElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateUserEmailRequestModel\"\n }\n }\n }\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n 422: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n if (statusCode === 422) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError1 = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError1.request = msRest.stripRequest(httpRequest);\n deserializationError1.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError1);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {TemplateEmailRequestModel[]} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sendTEmplateEmailWithHttpOperationResponse(siteId: string, companyId: string, body: Models.TemplateEmailRequestModel[], options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/emails/send\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n required: true,\n serializedName: \"body\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"TemplateEmailRequestModelElementType\",\n type: {\n name: \"Composite\",\n className: \"TemplateEmailRequestModel\"\n }\n }\n }\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n 422: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n if (statusCode === 422) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError1 = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError1.request = msRest.stripRequest(httpRequest);\n deserializationError1.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError1);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} email\n *\n * @param {string} subject\n *\n * @param {BranderoAPISendTemplateEmailWithFilesOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sendTemplateEmailWithFilesWithHttpOperationResponse(siteId: string, companyId: string, email: string, subject: string, options?: Models.BranderoAPISendTemplateEmailWithFilesOptionalParams): Promise> {\n let replyTo = (options && options.replyTo !== undefined) ? options.replyTo : undefined;\n let body = (options && options.body !== undefined) ? options.body : undefined;\n let templateName = (options && options.templateName !== undefined) ? options.templateName : undefined;\n let files = (options && options.files !== undefined) ? options.files : undefined;\n let templateReplaceItems = (options && options.templateReplaceItems !== undefined) ? options.templateReplaceItems : undefined;\n let additionalTemplateReplaceItem = (options && options.additionalTemplateReplaceItem !== undefined) ? options.additionalTemplateReplaceItem : undefined;\n let externalId = (options && options.externalId !== undefined) ? options.externalId : undefined;\n let emailType = (options && options.emailType !== undefined) ? options.emailType : undefined;\n let senderName = (options && options.senderName !== undefined) ? options.senderName : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n email,\n replyTo,\n subject,\n body,\n templateName,\n files,\n templateReplaceItems,\n additionalTemplateReplaceItem,\n externalId,\n emailType,\n senderName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/emailwithfiles/send\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"email\",\n mapper: {\n required: true,\n serializedName: \"Email\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"replyTo\",\n mapper: {\n serializedName: \"ReplyTo\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"subject\",\n mapper: {\n required: true,\n serializedName: \"Subject\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"body\",\n mapper: {\n serializedName: \"Body\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"templateName\",\n mapper: {\n serializedName: \"TemplateName\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"files\",\n mapper: {\n serializedName: \"Files\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"stringElementType\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n },\n {\n parameterPath: \"templateReplaceItems\",\n mapper: {\n serializedName: \"TemplateReplaceItems\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"additionalTemplateReplaceItem\",\n mapper: {\n serializedName: \"AdditionalTemplateReplaceItem\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"externalId\",\n mapper: {\n serializedName: \"ExternalId\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"emailType\",\n mapper: {\n serializedName: \"EmailType\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"senderName\",\n mapper: {\n serializedName: \"SenderName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 200: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n 422: {\n bodyMapper: {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n }\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n if (statusCode === 422) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = {\n serializedName: \"parsedResponse\",\n type: {\n name: \"Sequence\",\n element: {\n serializedName: \"ObjectElementType\",\n type: {\n name: \"Object\"\n }\n }\n }\n };\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError1 = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError1.request = msRest.stripRequest(httpRequest);\n deserializationError1.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError1);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} email\n *\n * @param {string} subject\n *\n * @param {BranderoAPISendTemplateEmailWithFileRefsOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sendTemplateEmailWithFileRefsWithHttpOperationResponse(siteId: string, companyId: string, email: string, subject: string, options?: Models.BranderoAPISendTemplateEmailWithFileRefsOptionalParams): Promise> {\n let replyTo = (options && options.replyTo !== undefined) ? options.replyTo : undefined;\n let body = (options && options.body !== undefined) ? options.body : undefined;\n let templateName = (options && options.templateName !== undefined) ? options.templateName : undefined;\n let files = (options && options.files !== undefined) ? options.files : undefined;\n let templateReplaceItems = (options && options.templateReplaceItems !== undefined) ? options.templateReplaceItems : undefined;\n let additionalTemplateReplaceItem = (options && options.additionalTemplateReplaceItem !== undefined) ? options.additionalTemplateReplaceItem : undefined;\n let externalId = (options && options.externalId !== undefined) ? options.externalId : undefined;\n let emailType = (options && options.emailType !== undefined) ? options.emailType : undefined;\n let senderName = (options && options.senderName !== undefined) ? options.senderName : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n email,\n replyTo,\n subject,\n body,\n templateName,\n files,\n templateReplaceItems,\n additionalTemplateReplaceItem,\n externalId,\n emailType,\n senderName\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/emailwithfilerefs/send\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n formDataParameters: [\n {\n parameterPath: \"email\",\n mapper: {\n required: true,\n serializedName: \"Email\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"replyTo\",\n mapper: {\n serializedName: \"ReplyTo\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"subject\",\n mapper: {\n required: true,\n serializedName: \"Subject\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"body\",\n mapper: {\n serializedName: \"Body\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"templateName\",\n mapper: {\n serializedName: \"TemplateName\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"files\",\n mapper: {\n serializedName: \"Files\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"templateReplaceItems\",\n mapper: {\n serializedName: \"TemplateReplaceItems\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"additionalTemplateReplaceItem\",\n mapper: {\n serializedName: \"AdditionalTemplateReplaceItem\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"externalId\",\n mapper: {\n serializedName: \"ExternalId\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"emailType\",\n mapper: {\n serializedName: \"EmailType\",\n type: {\n name: \"Number\"\n }\n }\n },\n {\n parameterPath: \"senderName\",\n mapper: {\n serializedName: \"SenderName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n contentType: \"multipart/form-data\",\n responses: {\n 200: {},\n 422: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPISendGDPRDataAgreementOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sendGDPRDataAgreementWithHttpOperationResponse(options?: Models.BranderoAPISendGDPRDataAgreementOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/emails/gdpr/dpa\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.GdprDataAgreementEmailRequestModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {EmailSettingsRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async setEmailFrequencyWithHttpOperationResponse(siteId: string, companyId: string, body: Models.EmailSettingsRequestModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n companyId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/companies/{companyId}/emailsettings/frequency\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"companyId\",\n mapper: {\n required: true,\n serializedName: \"companyId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.EmailSettingsRequestModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 202: {},\n 401: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {PersistingCssRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async generateCssAndSaveItToSharedFolderWithHttpOperationResponse(siteId: string, body: Models.PersistingCssRequestModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/css\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.PersistingCssRequestModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.CssGeneratingResponseModel\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.CssGeneratingResponseModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPICssGeneratorGenerateCssAsyncOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async cssGeneratorGenerateCssAsyncWithHttpOperationResponse(options?: Models.BranderoAPICssGeneratorGenerateCssAsyncOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/css\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.CssGeneratingRequestModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {InternalSiteCreationRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async internalSiteCreationV2WithHttpOperationResponse(body: Models.InternalSiteCreationRequest, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/new\",\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.InternalSiteCreationRequest,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.SiteCreateResult\n },\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.SiteCreateResult;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {MsgJobAd} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async setSuperAdminDeleteStatusWithHttpOperationResponse(siteid: string, jobadid: string, body: Models.MsgJobAd, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}/setsuperadmindeletestatus\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.MsgJobAd,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {\n bodyMapper: Mappers.SetSuperAdminDeleteStatusResponce\n },\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 200) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.SetSuperAdminDeleteStatusResponce;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {ExtendedJobAdModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdUpdateStatusWithHttpOperationResponse(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}/updatestatus\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.ExtendedJobAdModel,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 202: {\n bodyMapper: Mappers.ExtendedJobAdModel\n },\n 500: {},\n 401: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 202) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.ExtendedJobAdModel;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {MsgJobAd} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdUpdateStatusForJqueryWithHttpOperationResponse(siteid: string, jobadid: string, body: Models.MsgJobAd, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}/updatestatusforjquery\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.MsgJobAd,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 202: {\n bodyMapper: Mappers.UpdateStatusResponce\n },\n 500: {},\n 400: {},\n 401: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 202) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.UpdateStatusResponce;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {PatchProductModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdPatchProductsWithHttpOperationResponse(siteid: string, jobadid: string, body: Models.PatchProductModelRequest, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}/products\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: {\n ...Mappers.PatchProductModelRequest,\n required: true\n }\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n 400: {},\n 401: {},\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary PatchDescription\n *\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {number} siteType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdPatchDescriptionWithHttpOperationResponse(siteid: string, jobadid: string, siteType: number, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n siteType\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/jobads/{jobadid}/resendDescription/{siteType}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"jobadid\",\n mapper: {\n required: true,\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"siteType\",\n mapper: {\n required: true,\n serializedName: \"siteType\",\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n 400: {},\n 401: {},\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @summary PatchDescription\n *\n * @param {string} siteid\n *\n * @param {number} siteType\n *\n * @param {BranderoAPIJobAdPatchDescription1OptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async jobAdPatchDescription1WithHttpOperationResponse(siteid: string, siteType: number, options?: Models.BranderoAPIJobAdPatchDescription1OptionalParams): Promise> {\n let jobadid = (options && options.jobadid !== undefined) ? options.jobadid : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n jobadid,\n siteType\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteid}/resendDescription/{siteType}\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n },\n {\n parameterPath: \"siteType\",\n mapper: {\n required: true,\n serializedName: \"siteType\",\n type: {\n name: \"Number\"\n }\n }\n }\n ],\n queryParameters: [\n {\n parameterPath: \"jobadid\",\n mapper: {\n serializedName: \"jobadid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n 400: {},\n 401: {},\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPICreatePartnerJobAdOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async createPartnerJobAdWithHttpOperationResponse(siteid: string, options?: Models.BranderoAPICreatePartnerJobAdOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteid,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/partner/sites/{siteid}/jobads\",\n urlParameters: [\n {\n parameterPath: \"siteid\",\n mapper: {\n required: true,\n serializedName: \"siteid\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.EncryptedData\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 201: {\n bodyMapper: Mappers.PartnerJobAdResponce\n },\n 400: {},\n 401: {},\n 500: {},\n default: {}\n },\n serializer: this.serializer\n });\n // Deserialize Response\n let statusCode = operationRes.status;\n if (statusCode === 201) {\n let parsedResponse = operationRes.parsedBody as { [key: string]: any };\n try {\n if (parsedResponse != undefined) {\n const resultMapper = Mappers.PartnerJobAdResponce;\n operationRes.parsedBody = this.serializer.deserialize(resultMapper, parsedResponse, 'operationRes.parsedBody');\n }\n } catch (error) {\n let deserializationError = new msRest.RestError(`Error ${error} occurred in deserializing the responseBody - ${operationRes.bodyAsText}`);\n deserializationError.request = msRest.stripRequest(httpRequest);\n deserializationError.response = msRest.stripResponse(operationRes);\n return Promise.reject(deserializationError);\n }\n }\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} userName\n *\n * @param {BranderoAPIPasswordResetUserPasswordOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async passwordResetUserPasswordWithHttpOperationResponse(userName: string, options?: Models.BranderoAPIPasswordResetUserPasswordOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n userName,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/users/by-name/{userName}/password/reset\",\n urlParameters: [\n {\n parameterPath: \"userName\",\n mapper: {\n required: true,\n serializedName: \"userName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.ResetPasswordViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} userName\n *\n * @param {BranderoAPIPasswordSetNewPasswordOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async passwordSetNewPasswordWithHttpOperationResponse(userName: string, options?: Models.BranderoAPIPasswordSetNewPasswordOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n userName,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PATCH\",\n baseUrl: this.baseUri,\n path: \"api/users/by-name/{userName}/password/new\",\n urlParameters: [\n {\n parameterPath: \"userName\",\n mapper: {\n required: true,\n serializedName: \"userName\",\n type: {\n name: \"String\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.NewPasswordViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPISharedRolesCreateGlobalRoleOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sharedRolesCreateGlobalRoleWithHttpOperationResponse(options?: Models.BranderoAPISharedRolesCreateGlobalRoleOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/roles\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.CreateRoleViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {BranderoAPISharedUsersCreateGlobalUserOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sharedUsersCreateGlobalUserWithHttpOperationResponse(options?: Models.BranderoAPISharedUsersCreateGlobalUserOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/users\",\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.CreateUserViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {BranderoAPISharedUsersUpdateGlobalUserOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sharedUsersUpdateGlobalUserWithHttpOperationResponse(id: string, options?: Models.BranderoAPISharedUsersUpdateGlobalUserOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/users/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.UpdateUserViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async sharedUsersDeleteGlobalUserWithHttpOperationResponse(id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/users/{id}\",\n urlParameters: [\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIUsersInitUserForNewSiteOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersInitUserForNewSiteWithHttpOperationResponse(siteId: string, options?: Models.BranderoAPIUsersInitUserForNewSiteOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"POST\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/users/init\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.AddSiteCreationUserViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {BranderoAPIUsersChangeUserPasswordOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersChangeUserPasswordWithHttpOperationResponse(siteId: string, id: string, options?: Models.BranderoAPIUsersChangeUserPasswordOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n id,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/users/{id}/changepassword\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.ChangePasswordViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {BranderoAPIUsersUpdateUserOptionalParams} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersUpdateUserWithHttpOperationResponse(siteId: string, id: string, options?: Models.BranderoAPIUsersUpdateUserOptionalParams): Promise> {\n let body = (options && options.body !== undefined) ? options.body : undefined;\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n id,\n body\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"PUT\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/users/{id}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n requestBody: {\n parameterPath: \"body\",\n mapper: Mappers.UpdateUserViewModel\n },\n contentType: \"application/json-patch+json; charset=utf-8\",\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n // methods on the client.\n\n /**\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @returns {Promise} A promise is returned\n *\n * @resolve {HttpOperationResponse} The deserialized result object.\n *\n * @reject {Error|ServiceError} The error object.\n */\n async usersDeleteUserWithHttpOperationResponse(siteId: string, id: string, options?: msRest.RequestOptionsBase): Promise> {\n\n // Create HTTP transport objects\n const httpRequest = new WebResource();\n let operationRes: msRest.HttpOperationResponse;\n try {\n const operationArguments: msRest.OperationArguments = msRest.createOperationArguments(\n {\n siteId,\n id\n },\n options);\n operationRes = await this.sendOperationRequest(\n httpRequest,\n operationArguments,\n {\n httpMethod: \"DELETE\",\n baseUrl: this.baseUri,\n path: \"api/sites/{siteId}/users/{id}\",\n urlParameters: [\n {\n parameterPath: \"siteId\",\n mapper: {\n required: true,\n serializedName: \"siteId\",\n type: {\n name: \"Uuid\"\n }\n }\n },\n {\n parameterPath: \"id\",\n mapper: {\n required: true,\n serializedName: \"id\",\n type: {\n name: \"Uuid\"\n }\n }\n }\n ],\n responses: {\n 200: {},\n default: {}\n },\n serializer: this.serializer\n });\n } catch (err) {\n return Promise.reject(err);\n }\n return Promise.resolve(operationRes);\n }\n\n /**\n * @param {string} searchText\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CustomerModel[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n searchCustomer(searchText: string): Promise;\n searchCustomer(searchText: string, options: msRest.RequestOptionsBase): Promise;\n searchCustomer(searchText: string, callback: msRest.ServiceCallback): void;\n searchCustomer(searchText: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n searchCustomer(searchText: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.searchCustomerWithHttpOperationResponse(searchText, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CustomerModel[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.searchCustomerWithHttpOperationResponse(searchText, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CustomerModel[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} pNumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {boolean} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCustomerExists(pNumber: string): Promise;\n getCustomerExists(pNumber: string, options: msRest.RequestOptionsBase): Promise;\n getCustomerExists(pNumber: string, callback: msRest.ServiceCallback): void;\n getCustomerExists(pNumber: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCustomerExists(pNumber: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCustomerExistsWithHttpOperationResponse(pNumber, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as boolean);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCustomerExistsWithHttpOperationResponse(pNumber, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as boolean;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} pNumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CustomerModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CustomerModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCustomerByPnumber(pNumber: string): Promise;\n getCustomerByPnumber(pNumber: string, options: msRest.RequestOptionsBase): Promise;\n getCustomerByPnumber(pNumber: string, callback: msRest.ServiceCallback): void;\n getCustomerByPnumber(pNumber: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCustomerByPnumber(pNumber: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCustomerByPnumberWithHttpOperationResponse(pNumber, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CustomerModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCustomerByPnumberWithHttpOperationResponse(pNumber, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CustomerModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CustomerModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CustomerModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCustomer(id: string): Promise;\n getCustomer(id: string, options: msRest.RequestOptionsBase): Promise;\n getCustomer(id: string, callback: msRest.ServiceCallback): void;\n getCustomer(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCustomer(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCustomerWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CustomerModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCustomerWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CustomerModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} cvr\n *\n * @param {string} pnumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CustomerModel[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCustomersByCvrAndPnumber(cvr: string, pnumber: string): Promise;\n getCustomersByCvrAndPnumber(cvr: string, pnumber: string, options: msRest.RequestOptionsBase): Promise;\n getCustomersByCvrAndPnumber(cvr: string, pnumber: string, callback: msRest.ServiceCallback): void;\n getCustomersByCvrAndPnumber(cvr: string, pnumber: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCustomersByCvrAndPnumber(cvr: string, pnumber: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCustomersByCvrAndPnumberWithHttpOperationResponse(cvr, pnumber, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CustomerModel[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCustomersByCvrAndPnumberWithHttpOperationResponse(cvr, pnumber, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CustomerModel[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} cvr\n *\n * @param {string} pnumber\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CustomerModel[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCustomersByCvrAndPnumber1(cvr: string, pnumber: string): Promise;\n getCustomersByCvrAndPnumber1(cvr: string, pnumber: string, options: msRest.RequestOptionsBase): Promise;\n getCustomersByCvrAndPnumber1(cvr: string, pnumber: string, callback: msRest.ServiceCallback): void;\n getCustomersByCvrAndPnumber1(cvr: string, pnumber: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCustomersByCvrAndPnumber1(cvr: string, pnumber: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCustomersByCvrAndPnumber1WithHttpOperationResponse(cvr, pnumber, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CustomerModel[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCustomersByCvrAndPnumber1WithHttpOperationResponse(cvr, pnumber, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CustomerModel[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {number} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getNextCustomerId(): Promise;\n getNextCustomerId(options: msRest.RequestOptionsBase): Promise;\n getNextCustomerId(callback: msRest.ServiceCallback): void;\n getNextCustomerId(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getNextCustomerId(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getNextCustomerIdWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as number);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getNextCustomerIdWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as number;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {number} customerid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CustomerModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CustomerModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCustomerByCustomerId(customerid: number): Promise;\n getCustomerByCustomerId(customerid: number, options: msRest.RequestOptionsBase): Promise;\n getCustomerByCustomerId(customerid: number, callback: msRest.ServiceCallback): void;\n getCustomerByCustomerId(customerid: number, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCustomerByCustomerId(customerid: number, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCustomerByCustomerIdWithHttpOperationResponse(customerid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CustomerModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCustomerByCustomerIdWithHttpOperationResponse(customerid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CustomerModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {CandidateListRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CandidateListShortModelCandidateListResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CandidateListShortModelCandidateListResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCandidates(siteId: string, companyId: string, body: Models.CandidateListRequestModel): Promise;\n getCandidates(siteId: string, companyId: string, body: Models.CandidateListRequestModel, options: msRest.RequestOptionsBase): Promise;\n getCandidates(siteId: string, companyId: string, body: Models.CandidateListRequestModel, callback: msRest.ServiceCallback): void;\n getCandidates(siteId: string, companyId: string, body: Models.CandidateListRequestModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCandidates(siteId: string, companyId: string, body: Models.CandidateListRequestModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCandidatesWithHttpOperationResponse(siteId, companyId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CandidateListShortModelCandidateListResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCandidatesWithHttpOperationResponse(siteId, companyId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CandidateListShortModelCandidateListResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} jobId\n *\n * @param {string} companyId\n *\n * @param {CandidateListRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CandidateListShortModelCandidateListResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CandidateListShortModelCandidateListResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCandidatesByJobId(siteId: string, jobId: string, companyId: string, body: Models.CandidateListRequestModel): Promise;\n getCandidatesByJobId(siteId: string, jobId: string, companyId: string, body: Models.CandidateListRequestModel, options: msRest.RequestOptionsBase): Promise;\n getCandidatesByJobId(siteId: string, jobId: string, companyId: string, body: Models.CandidateListRequestModel, callback: msRest.ServiceCallback): void;\n getCandidatesByJobId(siteId: string, jobId: string, companyId: string, body: Models.CandidateListRequestModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCandidatesByJobId(siteId: string, jobId: string, companyId: string, body: Models.CandidateListRequestModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCandidatesByJobIdWithHttpOperationResponse(siteId, jobId, companyId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CandidateListShortModelCandidateListResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCandidatesByJobIdWithHttpOperationResponse(siteId, jobId, companyId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CandidateListShortModelCandidateListResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CandidateListFullModelCandidateListResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CandidateListFullModelCandidateListResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getCandidateById(siteId: string, companyId: string, candidateId: string): Promise;\n getCandidateById(siteId: string, companyId: string, candidateId: string, options: msRest.RequestOptionsBase): Promise;\n getCandidateById(siteId: string, companyId: string, candidateId: string, callback: msRest.ServiceCallback): void;\n getCandidateById(siteId: string, companyId: string, candidateId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getCandidateById(siteId: string, companyId: string, candidateId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getCandidateByIdWithHttpOperationResponse(siteId, companyId, candidateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CandidateListFullModelCandidateListResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getCandidateByIdWithHttpOperationResponse(siteId, companyId, candidateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CandidateListFullModelCandidateListResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.EmailSettingsModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.EmailSettingsModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getEmailFrequencySettings(siteId: string, companyId: string): Promise;\n getEmailFrequencySettings(siteId: string, companyId: string, options: msRest.RequestOptionsBase): Promise;\n getEmailFrequencySettings(siteId: string, companyId: string, callback: msRest.ServiceCallback): void;\n getEmailFrequencySettings(siteId: string, companyId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getEmailFrequencySettings(siteId: string, companyId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getEmailFrequencySettingsWithHttpOperationResponse(siteId, companyId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.EmailSettingsModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getEmailFrequencySettingsWithHttpOperationResponse(siteId, companyId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.EmailSettingsModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n checkSendEveryDay(siteId: string, companyId: string): Promise;\n checkSendEveryDay(siteId: string, companyId: string, options: msRest.RequestOptionsBase): Promise;\n checkSendEveryDay(siteId: string, companyId: string, callback: msRest.ServiceCallback): void;\n checkSendEveryDay(siteId: string, companyId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n checkSendEveryDay(siteId: string, companyId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.checkSendEveryDayWithHttpOperationResponse(siteId, companyId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.checkSendEveryDayWithHttpOperationResponse(siteId, companyId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.EmailResultTemplateContent} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.EmailResultTemplateContent} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getEmailTemplate(siteId: string, templateId: string): Promise;\n getEmailTemplate(siteId: string, templateId: string, options: msRest.RequestOptionsBase): Promise;\n getEmailTemplate(siteId: string, templateId: string, callback: msRest.ServiceCallback): void;\n getEmailTemplate(siteId: string, templateId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getEmailTemplate(siteId: string, templateId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getEmailTemplateWithHttpOperationResponse(siteId, templateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.EmailResultTemplateContent);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getEmailTemplateWithHttpOperationResponse(siteId, templateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.EmailResultTemplateContent;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Get main list of templates\n *\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ListTemplateShortModelResponse} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ListTemplateShortModelResponse} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getTemplates(siteId: string): Promise;\n getTemplates(siteId: string, options: msRest.RequestOptionsBase): Promise;\n getTemplates(siteId: string, callback: msRest.ServiceCallback): void;\n getTemplates(siteId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getTemplates(siteId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getTemplatesWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ListTemplateShortModelResponse);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getTemplatesWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ListTemplateShortModelResponse;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Create new template\n *\n * @param {string} siteId\n *\n * @param {BranderoAPITemplateCreateOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n templateCreate(siteId: string): Promise;\n templateCreate(siteId: string, options: Models.BranderoAPITemplateCreateOptionalParams): Promise;\n templateCreate(siteId: string, callback: msRest.ServiceCallback): void;\n templateCreate(siteId: string, options: Models.BranderoAPITemplateCreateOptionalParams, callback: msRest.ServiceCallback): void;\n templateCreate(siteId: string, options?: Models.BranderoAPITemplateCreateOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.templateCreateWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.templateCreateWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Get specific template\n *\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.TemplateModelResponse} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.TemplateModelResponse} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getTemplate(siteId: string, templateId: string): Promise;\n getTemplate(siteId: string, templateId: string, options: msRest.RequestOptionsBase): Promise;\n getTemplate(siteId: string, templateId: string, callback: msRest.ServiceCallback): void;\n getTemplate(siteId: string, templateId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getTemplate(siteId: string, templateId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getTemplateWithHttpOperationResponse(siteId, templateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.TemplateModelResponse);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getTemplateWithHttpOperationResponse(siteId, templateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.TemplateModelResponse;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Update existing template\n *\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {BranderoAPITemplateUpdateOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n templateUpdate(siteId: string, templateId: string): Promise;\n templateUpdate(siteId: string, templateId: string, options: Models.BranderoAPITemplateUpdateOptionalParams): Promise;\n templateUpdate(siteId: string, templateId: string, callback: msRest.ServiceCallback): void;\n templateUpdate(siteId: string, templateId: string, options: Models.BranderoAPITemplateUpdateOptionalParams, callback: msRest.ServiceCallback): void;\n templateUpdate(siteId: string, templateId: string, options?: Models.BranderoAPITemplateUpdateOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.templateUpdateWithHttpOperationResponse(siteId, templateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.templateUpdateWithHttpOperationResponse(siteId, templateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Delete specified template\n *\n * @param {string} siteId\n *\n * @param {string} templateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n templateDelete(siteId: string, templateId: string): Promise;\n templateDelete(siteId: string, templateId: string, options: msRest.RequestOptionsBase): Promise;\n templateDelete(siteId: string, templateId: string, callback: msRest.ServiceCallback): void;\n templateDelete(siteId: string, templateId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n templateDelete(siteId: string, templateId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.templateDeleteWithHttpOperationResponse(siteId, templateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.templateDeleteWithHttpOperationResponse(siteId, templateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPIGetSitesOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.IHaveSiteModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.IHaveSiteModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getSites(): Promise;\n getSites(options: Models.BranderoAPIGetSitesOptionalParams): Promise;\n getSites(callback: msRest.ServiceCallback): void;\n getSites(options: Models.BranderoAPIGetSitesOptionalParams, callback: msRest.ServiceCallback): void;\n getSites(options?: Models.BranderoAPIGetSitesOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getSitesWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.IHaveSiteModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getSitesWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.IHaveSiteModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.SiteEntity} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.SiteEntity} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getSiteById(id: string): Promise;\n getSiteById(id: string, options: msRest.RequestOptionsBase): Promise;\n getSiteById(id: string, callback: msRest.ServiceCallback): void;\n getSiteById(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getSiteById(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getSiteByIdWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.SiteEntity);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getSiteByIdWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.SiteEntity;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.SiteEntity} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.SiteEntity} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sitesGetSiteByCompanyId(id: string): Promise;\n sitesGetSiteByCompanyId(id: string, options: msRest.RequestOptionsBase): Promise;\n sitesGetSiteByCompanyId(id: string, callback: msRest.ServiceCallback): void;\n sitesGetSiteByCompanyId(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n sitesGetSiteByCompanyId(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sitesGetSiteByCompanyIdWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.SiteEntity);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sitesGetSiteByCompanyIdWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.SiteEntity;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPISitesGetSiteByIdsOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sitesGetSiteByIds(): Promise;\n sitesGetSiteByIds(options: Models.BranderoAPISitesGetSiteByIdsOptionalParams): Promise;\n sitesGetSiteByIds(callback: msRest.ServiceCallback): void;\n sitesGetSiteByIds(options: Models.BranderoAPISitesGetSiteByIdsOptionalParams, callback: msRest.ServiceCallback): void;\n sitesGetSiteByIds(options?: Models.BranderoAPISitesGetSiteByIdsOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sitesGetSiteByIdsWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sitesGetSiteByIdsWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.IHaveEmailSiteModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.IHaveEmailSiteModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getEmailSiteById(id: string): Promise;\n getEmailSiteById(id: string, options: msRest.RequestOptionsBase): Promise;\n getEmailSiteById(id: string, callback: msRest.ServiceCallback): void;\n getEmailSiteById(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getEmailSiteById(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getEmailSiteByIdWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.IHaveEmailSiteModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getEmailSiteByIdWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.IHaveEmailSiteModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} host\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.IHaveSiteModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.IHaveSiteModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getSiteByHost(host: string): Promise;\n getSiteByHost(host: string, options: msRest.RequestOptionsBase): Promise;\n getSiteByHost(host: string, callback: msRest.ServiceCallback): void;\n getSiteByHost(host: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getSiteByHost(host: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getSiteByHostWithHttpOperationResponse(host, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.IHaveSiteModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getSiteByHostWithHttpOperationResponse(host, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.IHaveSiteModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} host\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.IHaveSiteModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.IHaveSiteModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getSitesByHost(host: string): Promise;\n getSitesByHost(host: string, options: msRest.RequestOptionsBase): Promise;\n getSitesByHost(host: string, callback: msRest.ServiceCallback): void;\n getSitesByHost(host: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getSitesByHost(host: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getSitesByHostWithHttpOperationResponse(host, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.IHaveSiteModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getSitesByHostWithHttpOperationResponse(host, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.IHaveSiteModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPIGetJobsContentListOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.JobAdListItemSearchResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.JobAdListItemSearchResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getJobsContentList(siteid: string): Promise;\n getJobsContentList(siteid: string, options: Models.BranderoAPIGetJobsContentListOptionalParams): Promise;\n getJobsContentList(siteid: string, callback: msRest.ServiceCallback): void;\n getJobsContentList(siteid: string, options: Models.BranderoAPIGetJobsContentListOptionalParams, callback: msRest.ServiceCallback): void;\n getJobsContentList(siteid: string, options?: Models.BranderoAPIGetJobsContentListOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getJobsContentListWithHttpOperationResponse(siteid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.JobAdListItemSearchResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getJobsContentListWithHttpOperationResponse(siteid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.JobAdListItemSearchResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPIGetJobsListOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.JobAdModelSearchResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.JobAdModelSearchResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getJobsList(siteid: string): Promise;\n getJobsList(siteid: string, options: Models.BranderoAPIGetJobsListOptionalParams): Promise;\n getJobsList(siteid: string, callback: msRest.ServiceCallback): void;\n getJobsList(siteid: string, options: Models.BranderoAPIGetJobsListOptionalParams, callback: msRest.ServiceCallback): void;\n getJobsList(siteid: string, options?: Models.BranderoAPIGetJobsListOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getJobsListWithHttpOperationResponse(siteid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.JobAdModelSearchResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getJobsListWithHttpOperationResponse(siteid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.JobAdModelSearchResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIJobAdsGetJAEOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdsGetJAE(siteId: string): Promise;\n jobAdsGetJAE(siteId: string, options: Models.BranderoAPIJobAdsGetJAEOptionalParams): Promise;\n jobAdsGetJAE(siteId: string, callback: msRest.ServiceCallback): void;\n jobAdsGetJAE(siteId: string, options: Models.BranderoAPIJobAdsGetJAEOptionalParams, callback: msRest.ServiceCallback): void;\n jobAdsGetJAE(siteId: string, options?: Models.BranderoAPIJobAdsGetJAEOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdsGetJAEWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdsGetJAEWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} urlHash\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.JobAdModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.JobAdModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getJobAdByUrlHash(siteid: string, urlHash: string): Promise;\n getJobAdByUrlHash(siteid: string, urlHash: string, options: msRest.RequestOptionsBase): Promise;\n getJobAdByUrlHash(siteid: string, urlHash: string, callback: msRest.ServiceCallback): void;\n getJobAdByUrlHash(siteid: string, urlHash: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getJobAdByUrlHash(siteid: string, urlHash: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getJobAdByUrlHashWithHttpOperationResponse(siteid, urlHash, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.JobAdModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getJobAdByUrlHashWithHttpOperationResponse(siteid, urlHash, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.JobAdModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.JobAdModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.JobAdModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getJobAd(siteid: string, jobadid: string): Promise;\n getJobAd(siteid: string, jobadid: string, options: msRest.RequestOptionsBase): Promise;\n getJobAd(siteid: string, jobadid: string, callback: msRest.ServiceCallback): void;\n getJobAd(siteid: string, jobadid: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n getJobAd(siteid: string, jobadid: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getJobAdWithHttpOperationResponse(siteid, jobadid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.JobAdModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getJobAdWithHttpOperationResponse(siteid, jobadid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.JobAdModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {ExtendedJobAdModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ExtendedJobAdModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ExtendedJobAdModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n createJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel): Promise;\n createJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options: msRest.RequestOptionsBase): Promise;\n createJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, callback: msRest.ServiceCallback): void;\n createJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n createJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.createJobAdWithHttpOperationResponse(siteid, jobadid, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ExtendedJobAdModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.createJobAdWithHttpOperationResponse(siteid, jobadid, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ExtendedJobAdModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {ExtendedJobAdModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ExtendedJobAdModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ExtendedJobAdModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n updateJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel): Promise;\n updateJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options: msRest.RequestOptionsBase): Promise;\n updateJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, callback: msRest.ServiceCallback): void;\n updateJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n updateJobAd(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.updateJobAdWithHttpOperationResponse(siteid, jobadid, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ExtendedJobAdModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.updateJobAdWithHttpOperationResponse(siteid, jobadid, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ExtendedJobAdModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.JobAdResponce} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.JobAdResponce} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdDelete(siteid: string, jobadid: string): Promise;\n jobAdDelete(siteid: string, jobadid: string, options: msRest.RequestOptionsBase): Promise;\n jobAdDelete(siteid: string, jobadid: string, callback: msRest.ServiceCallback): void;\n jobAdDelete(siteid: string, jobadid: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n jobAdDelete(siteid: string, jobadid: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdDeleteWithHttpOperationResponse(siteid, jobadid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.JobAdResponce);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdDeleteWithHttpOperationResponse(siteid, jobadid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.JobAdResponce;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPIGetJobAdsFilteredOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.JobAdModelSearchResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.JobAdModelSearchResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n getJobAdsFiltered(siteid: string): Promise;\n getJobAdsFiltered(siteid: string, options: Models.BranderoAPIGetJobAdsFilteredOptionalParams): Promise;\n getJobAdsFiltered(siteid: string, callback: msRest.ServiceCallback): void;\n getJobAdsFiltered(siteid: string, options: Models.BranderoAPIGetJobAdsFilteredOptionalParams, callback: msRest.ServiceCallback): void;\n getJobAdsFiltered(siteid: string, options?: Models.BranderoAPIGetJobAdsFilteredOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.getJobAdsFilteredWithHttpOperationResponse(siteid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.JobAdModelSearchResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.getJobAdsFilteredWithHttpOperationResponse(siteid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.JobAdModelSearchResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPIPartnerUsersFindBySiteIdOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n partnerUsersFindBySiteId(): Promise;\n partnerUsersFindBySiteId(options: Models.BranderoAPIPartnerUsersFindBySiteIdOptionalParams): Promise;\n partnerUsersFindBySiteId(callback: msRest.ServiceCallback): void;\n partnerUsersFindBySiteId(options: Models.BranderoAPIPartnerUsersFindBySiteIdOptionalParams, callback: msRest.ServiceCallback): void;\n partnerUsersFindBySiteId(options?: Models.BranderoAPIPartnerUsersFindBySiteIdOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.partnerUsersFindBySiteIdWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.partnerUsersFindBySiteIdWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} userName\n *\n * @param {string} token\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n passwordsValidateResetPasswordTokenAsync(userName: string, token: string): Promise;\n passwordsValidateResetPasswordTokenAsync(userName: string, token: string, options: msRest.RequestOptionsBase): Promise;\n passwordsValidateResetPasswordTokenAsync(userName: string, token: string, callback: msRest.ServiceCallback): void;\n passwordsValidateResetPasswordTokenAsync(userName: string, token: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n passwordsValidateResetPasswordTokenAsync(userName: string, token: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.passwordsValidateResetPasswordTokenAsyncWithHttpOperationResponse(userName, token, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.passwordsValidateResetPasswordTokenAsyncWithHttpOperationResponse(userName, token, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n rolesGetRolesAsync(siteId: string): Promise;\n rolesGetRolesAsync(siteId: string, options: msRest.RequestOptionsBase): Promise;\n rolesGetRolesAsync(siteId: string, callback: msRest.ServiceCallback): void;\n rolesGetRolesAsync(siteId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n rolesGetRolesAsync(siteId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.rolesGetRolesAsyncWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.rolesGetRolesAsyncWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIRolesCreateRoleOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n rolesCreateRole(siteId: string): Promise;\n rolesCreateRole(siteId: string, options: Models.BranderoAPIRolesCreateRoleOptionalParams): Promise;\n rolesCreateRole(siteId: string, callback: msRest.ServiceCallback): void;\n rolesCreateRole(siteId: string, options: Models.BranderoAPIRolesCreateRoleOptionalParams, callback: msRest.ServiceCallback): void;\n rolesCreateRole(siteId: string, options?: Models.BranderoAPIRolesCreateRoleOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.rolesCreateRoleWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.rolesCreateRoleWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPIUsersGetUsersAsyncOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersGetUsersAsync(): Promise;\n usersGetUsersAsync(options: Models.BranderoAPIUsersGetUsersAsyncOptionalParams): Promise;\n usersGetUsersAsync(callback: msRest.ServiceCallback): void;\n usersGetUsersAsync(options: Models.BranderoAPIUsersGetUsersAsyncOptionalParams, callback: msRest.ServiceCallback): void;\n usersGetUsersAsync(options?: Models.BranderoAPIUsersGetUsersAsyncOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersGetUsersAsyncWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersGetUsersAsyncWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {BranderoAPIUsersGetUserAsyncOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersGetUserAsync(id: string): Promise;\n usersGetUserAsync(id: string, options: Models.BranderoAPIUsersGetUserAsyncOptionalParams): Promise;\n usersGetUserAsync(id: string, callback: msRest.ServiceCallback): void;\n usersGetUserAsync(id: string, options: Models.BranderoAPIUsersGetUserAsyncOptionalParams, callback: msRest.ServiceCallback): void;\n usersGetUserAsync(id: string, options?: Models.BranderoAPIUsersGetUserAsyncOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersGetUserAsyncWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersGetUserAsyncWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} username\n *\n * @param {BranderoAPIUsersGetUserAsync1OptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersGetUserAsync1(username: string): Promise;\n usersGetUserAsync1(username: string, options: Models.BranderoAPIUsersGetUserAsync1OptionalParams): Promise;\n usersGetUserAsync1(username: string, callback: msRest.ServiceCallback): void;\n usersGetUserAsync1(username: string, options: Models.BranderoAPIUsersGetUserAsync1OptionalParams, callback: msRest.ServiceCallback): void;\n usersGetUserAsync1(username: string, options?: Models.BranderoAPIUsersGetUserAsync1OptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersGetUserAsync1WithHttpOperationResponse(username, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersGetUserAsync1WithHttpOperationResponse(username, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPIUsersFindUsersOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersFindUsers(): Promise;\n usersFindUsers(options: Models.BranderoAPIUsersFindUsersOptionalParams): Promise;\n usersFindUsers(callback: msRest.ServiceCallback): void;\n usersFindUsers(options: Models.BranderoAPIUsersFindUsersOptionalParams, callback: msRest.ServiceCallback): void;\n usersFindUsers(options?: Models.BranderoAPIUsersFindUsersOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersFindUsersWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersFindUsersWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersFindUserById(id: string): Promise;\n usersFindUserById(id: string, options: msRest.RequestOptionsBase): Promise;\n usersFindUserById(id: string, callback: msRest.ServiceCallback): void;\n usersFindUserById(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n usersFindUserById(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersFindUserByIdWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersFindUserByIdWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {BranderoAPIUpdateUserByCustomerToolOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n updateUserByCustomerTool(id: string): Promise;\n updateUserByCustomerTool(id: string, options: Models.BranderoAPIUpdateUserByCustomerToolOptionalParams): Promise;\n updateUserByCustomerTool(id: string, callback: msRest.ServiceCallback): void;\n updateUserByCustomerTool(id: string, options: Models.BranderoAPIUpdateUserByCustomerToolOptionalParams, callback: msRest.ServiceCallback): void;\n updateUserByCustomerTool(id: string, options?: Models.BranderoAPIUpdateUserByCustomerToolOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.updateUserByCustomerToolWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.updateUserByCustomerToolWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersFindUserBySiteId(siteId: string): Promise;\n usersFindUserBySiteId(siteId: string, options: msRest.RequestOptionsBase): Promise;\n usersFindUserBySiteId(siteId: string, callback: msRest.ServiceCallback): void;\n usersFindUserBySiteId(siteId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n usersFindUserBySiteId(siteId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersFindUserBySiteIdWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersFindUserBySiteIdWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIUsersCreateUserOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersCreateUser(siteId: string): Promise;\n usersCreateUser(siteId: string, options: Models.BranderoAPIUsersCreateUserOptionalParams): Promise;\n usersCreateUser(siteId: string, callback: msRest.ServiceCallback): void;\n usersCreateUser(siteId: string, options: Models.BranderoAPIUsersCreateUserOptionalParams, callback: msRest.ServiceCallback): void;\n usersCreateUser(siteId: string, options?: Models.BranderoAPIUsersCreateUserOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersCreateUserWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersCreateUserWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n variableUsersGetUserAsync(id: string): Promise;\n variableUsersGetUserAsync(id: string, options: msRest.RequestOptionsBase): Promise;\n variableUsersGetUserAsync(id: string, callback: msRest.ServiceCallback): void;\n variableUsersGetUserAsync(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n variableUsersGetUserAsync(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.variableUsersGetUserAsyncWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.variableUsersGetUserAsyncWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n entryStatisticSummation(): Promise;\n entryStatisticSummation(options: msRest.RequestOptionsBase): Promise;\n entryStatisticSummation(callback: msRest.ServiceCallback): void;\n entryStatisticSummation(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n entryStatisticSummation(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.entryStatisticSummationWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.entryStatisticSummationWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n entryStatisticSummationByFeedName(feedName: string): Promise;\n entryStatisticSummationByFeedName(feedName: string, options: msRest.RequestOptionsBase): Promise;\n entryStatisticSummationByFeedName(feedName: string, callback: msRest.ServiceCallback): void;\n entryStatisticSummationByFeedName(feedName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n entryStatisticSummationByFeedName(feedName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.entryStatisticSummationByFeedNameWithHttpOperationResponse(feedName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.entryStatisticSummationByFeedNameWithHttpOperationResponse(feedName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} entryId\n *\n * @param {BranderoAPIEntryStatisticSummationByEntryIdOptionalParams} [options] Optional\n * Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n entryStatisticSummationByEntryId(entryId: string): Promise;\n entryStatisticSummationByEntryId(entryId: string, options: Models.BranderoAPIEntryStatisticSummationByEntryIdOptionalParams): Promise;\n entryStatisticSummationByEntryId(entryId: string, callback: msRest.ServiceCallback): void;\n entryStatisticSummationByEntryId(entryId: string, options: Models.BranderoAPIEntryStatisticSummationByEntryIdOptionalParams, callback: msRest.ServiceCallback): void;\n entryStatisticSummationByEntryId(entryId: string, options?: Models.BranderoAPIEntryStatisticSummationByEntryIdOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.entryStatisticSummationByEntryIdWithHttpOperationResponse(entryId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.entryStatisticSummationByEntryIdWithHttpOperationResponse(entryId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n entryStatisticGetAll(): Promise;\n entryStatisticGetAll(options: msRest.RequestOptionsBase): Promise;\n entryStatisticGetAll(callback: msRest.ServiceCallback): void;\n entryStatisticGetAll(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n entryStatisticGetAll(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.entryStatisticGetAllWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.entryStatisticGetAllWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} entryId\n *\n * @param {BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams} [options] Optional\n * Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n entryStatisticGetStatisticsByEntryId(entryId: string): Promise;\n entryStatisticGetStatisticsByEntryId(entryId: string, options: Models.BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams): Promise;\n entryStatisticGetStatisticsByEntryId(entryId: string, callback: msRest.ServiceCallback): void;\n entryStatisticGetStatisticsByEntryId(entryId: string, options: Models.BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams, callback: msRest.ServiceCallback): void;\n entryStatisticGetStatisticsByEntryId(entryId: string, options?: Models.BranderoAPIEntryStatisticGetStatisticsByEntryIdOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.entryStatisticGetStatisticsByEntryIdWithHttpOperationResponse(entryId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.entryStatisticGetStatisticsByEntryIdWithHttpOperationResponse(entryId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n entryStatisticGetStatisticsByFeedName(feedName: string): Promise;\n entryStatisticGetStatisticsByFeedName(feedName: string, options: msRest.RequestOptionsBase): Promise;\n entryStatisticGetStatisticsByFeedName(feedName: string, callback: msRest.ServiceCallback): void;\n entryStatisticGetStatisticsByFeedName(feedName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n entryStatisticGetStatisticsByFeedName(feedName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.entryStatisticGetStatisticsByFeedNameWithHttpOperationResponse(feedName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.entryStatisticGetStatisticsByFeedNameWithHttpOperationResponse(feedName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticTotal(): Promise;\n socialMediaStatisticTotal(options: msRest.RequestOptionsBase): Promise;\n socialMediaStatisticTotal(callback: msRest.ServiceCallback): void;\n socialMediaStatisticTotal(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n socialMediaStatisticTotal(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticTotalWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticTotalWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticTotalByFeedName(feedName: string): Promise;\n socialMediaStatisticTotalByFeedName(feedName: string, options: msRest.RequestOptionsBase): Promise;\n socialMediaStatisticTotalByFeedName(feedName: string, callback: msRest.ServiceCallback): void;\n socialMediaStatisticTotalByFeedName(feedName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n socialMediaStatisticTotalByFeedName(feedName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticTotalByFeedNameWithHttpOperationResponse(feedName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticTotalByFeedNameWithHttpOperationResponse(feedName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticSummation(): Promise;\n socialMediaStatisticSummation(options: msRest.RequestOptionsBase): Promise;\n socialMediaStatisticSummation(callback: msRest.ServiceCallback): void;\n socialMediaStatisticSummation(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n socialMediaStatisticSummation(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticSummationWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticSummationWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticSummationByFeedName(feedName: string): Promise;\n socialMediaStatisticSummationByFeedName(feedName: string, options: msRest.RequestOptionsBase): Promise;\n socialMediaStatisticSummationByFeedName(feedName: string, callback: msRest.ServiceCallback): void;\n socialMediaStatisticSummationByFeedName(feedName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n socialMediaStatisticSummationByFeedName(feedName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticSummationByFeedNameWithHttpOperationResponse(feedName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticSummationByFeedNameWithHttpOperationResponse(feedName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticGetAll(): Promise;\n socialMediaStatisticGetAll(options: msRest.RequestOptionsBase): Promise;\n socialMediaStatisticGetAll(callback: msRest.ServiceCallback): void;\n socialMediaStatisticGetAll(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n socialMediaStatisticGetAll(options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticGetAllWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticGetAllWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} feedName\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticGetStatisticsByFeedName(feedName: string): Promise;\n socialMediaStatisticGetStatisticsByFeedName(feedName: string, options: msRest.RequestOptionsBase): Promise;\n socialMediaStatisticGetStatisticsByFeedName(feedName: string, callback: msRest.ServiceCallback): void;\n socialMediaStatisticGetStatisticsByFeedName(feedName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n socialMediaStatisticGetStatisticsByFeedName(feedName: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticGetStatisticsByFeedNameWithHttpOperationResponse(feedName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticGetStatisticsByFeedNameWithHttpOperationResponse(feedName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} entryID\n *\n * @param {BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams} [options] Optional\n * Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticTotalByEntryID(entryID: string): Promise;\n socialMediaStatisticTotalByEntryID(entryID: string, options: Models.BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams): Promise;\n socialMediaStatisticTotalByEntryID(entryID: string, callback: msRest.ServiceCallback): void;\n socialMediaStatisticTotalByEntryID(entryID: string, options: Models.BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams, callback: msRest.ServiceCallback): void;\n socialMediaStatisticTotalByEntryID(entryID: string, options?: Models.BranderoAPISocialMediaStatisticTotalByEntryIDOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticTotalByEntryIDWithHttpOperationResponse(entryID, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticTotalByEntryIDWithHttpOperationResponse(entryID, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} entryID\n *\n * @param {BranderoAPISocialMediaStatisticByEntryIDOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n socialMediaStatisticByEntryID(entryID: string): Promise;\n socialMediaStatisticByEntryID(entryID: string, options: Models.BranderoAPISocialMediaStatisticByEntryIDOptionalParams): Promise;\n socialMediaStatisticByEntryID(entryID: string, callback: msRest.ServiceCallback): void;\n socialMediaStatisticByEntryID(entryID: string, options: Models.BranderoAPISocialMediaStatisticByEntryIDOptionalParams, callback: msRest.ServiceCallback): void;\n socialMediaStatisticByEntryID(entryID: string, options?: Models.BranderoAPISocialMediaStatisticByEntryIDOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.socialMediaStatisticByEntryIDWithHttpOperationResponse(entryID, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.socialMediaStatisticByEntryIDWithHttpOperationResponse(entryID, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n imageLibraryGetImagesBySiteAsync(siteId: string): Promise;\n imageLibraryGetImagesBySiteAsync(siteId: string, options: msRest.RequestOptionsBase): Promise;\n imageLibraryGetImagesBySiteAsync(siteId: string, callback: msRest.ServiceCallback): void;\n imageLibraryGetImagesBySiteAsync(siteId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n imageLibraryGetImagesBySiteAsync(siteId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.imageLibraryGetImagesBySiteAsyncWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.imageLibraryGetImagesBySiteAsyncWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary UploadNewImageLibrary\n *\n * @param {string} siteId\n *\n * @param {any[]} images\n *\n * @param {string} imageType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ResultLibraryViewModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ResultLibraryViewModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n uploadNewImageLibrary(siteId: string, images: any[], imageType: string): Promise;\n uploadNewImageLibrary(siteId: string, images: any[], imageType: string, options: msRest.RequestOptionsBase): Promise;\n uploadNewImageLibrary(siteId: string, images: any[], imageType: string, callback: msRest.ServiceCallback): void;\n uploadNewImageLibrary(siteId: string, images: any[], imageType: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n uploadNewImageLibrary(siteId: string, images: any[], imageType: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.uploadNewImageLibraryWithHttpOperationResponse(siteId, images, imageType, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ResultLibraryViewModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.uploadNewImageLibraryWithHttpOperationResponse(siteId, images, imageType, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ResultLibraryViewModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} imageId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n imageLibraryGetImageByIdAsync(siteId: string, imageId: string): Promise;\n imageLibraryGetImageByIdAsync(siteId: string, imageId: string, options: msRest.RequestOptionsBase): Promise;\n imageLibraryGetImageByIdAsync(siteId: string, imageId: string, callback: msRest.ServiceCallback): void;\n imageLibraryGetImageByIdAsync(siteId: string, imageId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n imageLibraryGetImageByIdAsync(siteId: string, imageId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.imageLibraryGetImageByIdAsyncWithHttpOperationResponse(siteId, imageId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.imageLibraryGetImageByIdAsyncWithHttpOperationResponse(siteId, imageId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary UpdateLibraryImage\n *\n * @param {string} siteId\n *\n * @param {string} imageId\n *\n * @param {ImageLibraryPatchModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ImageLibraryPatchModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ImageLibraryPatchModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n updateLibraryImage(siteId: string, imageId: string, body: Models.ImageLibraryPatchModel): Promise;\n updateLibraryImage(siteId: string, imageId: string, body: Models.ImageLibraryPatchModel, options: msRest.RequestOptionsBase): Promise;\n updateLibraryImage(siteId: string, imageId: string, body: Models.ImageLibraryPatchModel, callback: msRest.ServiceCallback): void;\n updateLibraryImage(siteId: string, imageId: string, body: Models.ImageLibraryPatchModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n updateLibraryImage(siteId: string, imageId: string, body: Models.ImageLibraryPatchModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.updateLibraryImageWithHttpOperationResponse(siteId, imageId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ImageLibraryPatchModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.updateLibraryImageWithHttpOperationResponse(siteId, imageId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ImageLibraryPatchModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Creates a new Candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} jobadId\n *\n * @param {CreateCandidateModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateCreate(siteId: string, companyId: string, jobadId: string, body: Models.CreateCandidateModel): Promise;\n candidateCreate(siteId: string, companyId: string, jobadId: string, body: Models.CreateCandidateModel, options: msRest.RequestOptionsBase): Promise;\n candidateCreate(siteId: string, companyId: string, jobadId: string, body: Models.CreateCandidateModel, callback: msRest.ServiceCallback): void;\n candidateCreate(siteId: string, companyId: string, jobadId: string, body: Models.CreateCandidateModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateCreate(siteId: string, companyId: string, jobadId: string, body: Models.CreateCandidateModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateCreateWithHttpOperationResponse(siteId, companyId, jobadId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateCreateWithHttpOperationResponse(siteId, companyId, jobadId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Creates a new candidate from application form\n *\n * @param {string} jobid\n *\n * @param {string} fullName\n *\n * @param {string} email\n *\n * @param {BranderoAPICandidateCreateFromApplicationFormOptionalParams} [options] Optional\n * Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateCreateFromApplicationForm(jobid: string, fullName: string, email: string): Promise;\n candidateCreateFromApplicationForm(jobid: string, fullName: string, email: string, options: Models.BranderoAPICandidateCreateFromApplicationFormOptionalParams): Promise;\n candidateCreateFromApplicationForm(jobid: string, fullName: string, email: string, callback: msRest.ServiceCallback): void;\n candidateCreateFromApplicationForm(jobid: string, fullName: string, email: string, options: Models.BranderoAPICandidateCreateFromApplicationFormOptionalParams, callback: msRest.ServiceCallback): void;\n candidateCreateFromApplicationForm(jobid: string, fullName: string, email: string, options?: Models.BranderoAPICandidateCreateFromApplicationFormOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateCreateFromApplicationFormWithHttpOperationResponse(jobid, fullName, email, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateCreateFromApplicationFormWithHttpOperationResponse(jobid, fullName, email, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Update exist Candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {UpdateCandidateModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateUpdate(siteId: string, companyId: string, candidateId: string, body: Models.UpdateCandidateModel): Promise;\n candidateUpdate(siteId: string, companyId: string, candidateId: string, body: Models.UpdateCandidateModel, options: msRest.RequestOptionsBase): Promise;\n candidateUpdate(siteId: string, companyId: string, candidateId: string, body: Models.UpdateCandidateModel, callback: msRest.ServiceCallback): void;\n candidateUpdate(siteId: string, companyId: string, candidateId: string, body: Models.UpdateCandidateModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateUpdate(siteId: string, companyId: string, candidateId: string, body: Models.UpdateCandidateModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateUpdateWithHttpOperationResponse(siteId, companyId, candidateId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateUpdateWithHttpOperationResponse(siteId, companyId, candidateId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Delete exist Candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateDelete(siteId: string, companyId: string, candidateId: string): Promise;\n candidateDelete(siteId: string, companyId: string, candidateId: string, options: msRest.RequestOptionsBase): Promise;\n candidateDelete(siteId: string, companyId: string, candidateId: string, callback: msRest.ServiceCallback): void;\n candidateDelete(siteId: string, companyId: string, candidateId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateDelete(siteId: string, companyId: string, candidateId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateDeleteWithHttpOperationResponse(siteId, companyId, candidateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateDeleteWithHttpOperationResponse(siteId, companyId, candidateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Delete existing candidate by id\n *\n * @param {string} jobid\n *\n * @param {string} candidateid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateDeleteById(jobid: string, candidateid: string): Promise;\n candidateDeleteById(jobid: string, candidateid: string, options: msRest.RequestOptionsBase): Promise;\n candidateDeleteById(jobid: string, candidateid: string, callback: msRest.ServiceCallback): void;\n candidateDeleteById(jobid: string, candidateid: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateDeleteById(jobid: string, candidateid: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateDeleteByIdWithHttpOperationResponse(jobid, candidateid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateDeleteByIdWithHttpOperationResponse(jobid, candidateid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Update email\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {PatchCandidateDetailsModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateDetailsUpdate(siteId: string, companyId: string, body: Models.PatchCandidateDetailsModel): Promise;\n candidateDetailsUpdate(siteId: string, companyId: string, body: Models.PatchCandidateDetailsModel, options: msRest.RequestOptionsBase): Promise;\n candidateDetailsUpdate(siteId: string, companyId: string, body: Models.PatchCandidateDetailsModel, callback: msRest.ServiceCallback): void;\n candidateDetailsUpdate(siteId: string, companyId: string, body: Models.PatchCandidateDetailsModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateDetailsUpdate(siteId: string, companyId: string, body: Models.PatchCandidateDetailsModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateDetailsUpdateWithHttpOperationResponse(siteId, companyId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateDetailsUpdateWithHttpOperationResponse(siteId, companyId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Change status(es) of candidate(s)\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidatePatchStatus(siteId: string, companyId: string, body: Models.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest): Promise;\n candidatePatchStatus(siteId: string, companyId: string, body: Models.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest, options: msRest.RequestOptionsBase): Promise;\n candidatePatchStatus(siteId: string, companyId: string, body: Models.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest, callback: msRest.ServiceCallback): void;\n candidatePatchStatus(siteId: string, companyId: string, body: Models.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidatePatchStatus(siteId: string, companyId: string, body: Models.PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidatePatchStatusWithHttpOperationResponse(siteId, companyId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidatePatchStatusWithHttpOperationResponse(siteId, companyId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Change note(s) of candidate(s)\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {BranderoAPICandidatePatchNoteOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidatePatchNote(siteId: string, companyId: string): Promise;\n candidatePatchNote(siteId: string, companyId: string, options: Models.BranderoAPICandidatePatchNoteOptionalParams): Promise;\n candidatePatchNote(siteId: string, companyId: string, callback: msRest.ServiceCallback): void;\n candidatePatchNote(siteId: string, companyId: string, options: Models.BranderoAPICandidatePatchNoteOptionalParams, callback: msRest.ServiceCallback): void;\n candidatePatchNote(siteId: string, companyId: string, options?: Models.BranderoAPICandidatePatchNoteOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidatePatchNoteWithHttpOperationResponse(siteId, companyId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidatePatchNoteWithHttpOperationResponse(siteId, companyId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Add email to candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {BranderoAPICandidatePatchEmailAddOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidatePatchEmailAdd(siteId: string, companyId: string, candidateId: string): Promise;\n candidatePatchEmailAdd(siteId: string, companyId: string, candidateId: string, options: Models.BranderoAPICandidatePatchEmailAddOptionalParams): Promise;\n candidatePatchEmailAdd(siteId: string, companyId: string, candidateId: string, callback: msRest.ServiceCallback): void;\n candidatePatchEmailAdd(siteId: string, companyId: string, candidateId: string, options: Models.BranderoAPICandidatePatchEmailAddOptionalParams, callback: msRest.ServiceCallback): void;\n candidatePatchEmailAdd(siteId: string, companyId: string, candidateId: string, options?: Models.BranderoAPICandidatePatchEmailAddOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidatePatchEmailAddWithHttpOperationResponse(siteId, companyId, candidateId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidatePatchEmailAddWithHttpOperationResponse(siteId, companyId, candidateId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Delete email of candidate\n *\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} candidateId\n *\n * @param {string} emailId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidatePatchEmailDelete(siteId: string, companyId: string, candidateId: string, emailId: string): Promise;\n candidatePatchEmailDelete(siteId: string, companyId: string, candidateId: string, emailId: string, options: msRest.RequestOptionsBase): Promise;\n candidatePatchEmailDelete(siteId: string, companyId: string, candidateId: string, emailId: string, callback: msRest.ServiceCallback): void;\n candidatePatchEmailDelete(siteId: string, companyId: string, candidateId: string, emailId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidatePatchEmailDelete(siteId: string, companyId: string, candidateId: string, emailId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidatePatchEmailDeleteWithHttpOperationResponse(siteId, companyId, candidateId, emailId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidatePatchEmailDeleteWithHttpOperationResponse(siteId, companyId, candidateId, emailId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Add note for candidate\n *\n * @param {string} siteId\n *\n * @param {string} candidateId\n *\n * @param {CreateNoteModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.NoteModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.NoteModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateAddNote(siteId: string, candidateId: string, body: Models.CreateNoteModelRequest): Promise;\n candidateAddNote(siteId: string, candidateId: string, body: Models.CreateNoteModelRequest, options: msRest.RequestOptionsBase): Promise;\n candidateAddNote(siteId: string, candidateId: string, body: Models.CreateNoteModelRequest, callback: msRest.ServiceCallback): void;\n candidateAddNote(siteId: string, candidateId: string, body: Models.CreateNoteModelRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateAddNote(siteId: string, candidateId: string, body: Models.CreateNoteModelRequest, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateAddNoteWithHttpOperationResponse(siteId, candidateId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.NoteModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateAddNoteWithHttpOperationResponse(siteId, candidateId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.NoteModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Update note for candidate\n *\n * @param {string} siteId\n *\n * @param {string} candidateId\n *\n * @param {string} noteId\n *\n * @param {UpdateNoteModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.NoteModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.NoteModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateUpdateNote(siteId: string, candidateId: string, noteId: string, body: Models.UpdateNoteModelRequest): Promise;\n candidateUpdateNote(siteId: string, candidateId: string, noteId: string, body: Models.UpdateNoteModelRequest, options: msRest.RequestOptionsBase): Promise;\n candidateUpdateNote(siteId: string, candidateId: string, noteId: string, body: Models.UpdateNoteModelRequest, callback: msRest.ServiceCallback): void;\n candidateUpdateNote(siteId: string, candidateId: string, noteId: string, body: Models.UpdateNoteModelRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateUpdateNote(siteId: string, candidateId: string, noteId: string, body: Models.UpdateNoteModelRequest, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateUpdateNoteWithHttpOperationResponse(siteId, candidateId, noteId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.NoteModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateUpdateNoteWithHttpOperationResponse(siteId, candidateId, noteId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.NoteModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Delete note for candidate\n *\n * @param {string} siteId\n *\n * @param {string} candidateId\n *\n * @param {string} noteId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {string} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n candidateDeleteNote(siteId: string, candidateId: string, noteId: string): Promise;\n candidateDeleteNote(siteId: string, candidateId: string, noteId: string, options: msRest.RequestOptionsBase): Promise;\n candidateDeleteNote(siteId: string, candidateId: string, noteId: string, callback: msRest.ServiceCallback): void;\n candidateDeleteNote(siteId: string, candidateId: string, noteId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n candidateDeleteNote(siteId: string, candidateId: string, noteId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.candidateDeleteNoteWithHttpOperationResponse(siteId, candidateId, noteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as string);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.candidateDeleteNoteWithHttpOperationResponse(siteId, candidateId, noteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as string;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary Uploads multiple file\n *\n * @param {string} siteId\n *\n * @param {string} type\n *\n * @param {string[]} files\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.IFileModel[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n uploadMultipleFiles(siteId: string, type: string, files: string[]): Promise;\n uploadMultipleFiles(siteId: string, type: string, files: string[], options: msRest.RequestOptionsBase): Promise;\n uploadMultipleFiles(siteId: string, type: string, files: string[], callback: msRest.ServiceCallback): void;\n uploadMultipleFiles(siteId: string, type: string, files: string[], options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n uploadMultipleFiles(siteId: string, type: string, files: string[], options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.uploadMultipleFilesWithHttpOperationResponse(siteId, type, files, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.IFileModel[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.uploadMultipleFilesWithHttpOperationResponse(siteId, type, files, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.IFileModel[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPICreateSiteOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {string} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n createSite(): Promise;\n createSite(options: Models.BranderoAPICreateSiteOptionalParams): Promise;\n createSite(callback: msRest.ServiceCallback): void;\n createSite(options: Models.BranderoAPICreateSiteOptionalParams, callback: msRest.ServiceCallback): void;\n createSite(options?: Models.BranderoAPICreateSiteOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.createSiteWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as string);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.createSiteWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as string;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {PutSiteViewModel} body\n *\n * @param {BranderoAPIUpdateSiteOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {string} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n updateSite(id: string, body: Models.PutSiteViewModel): Promise;\n updateSite(id: string, body: Models.PutSiteViewModel, options: Models.BranderoAPIUpdateSiteOptionalParams): Promise;\n updateSite(id: string, body: Models.PutSiteViewModel, callback: msRest.ServiceCallback): void;\n updateSite(id: string, body: Models.PutSiteViewModel, options: Models.BranderoAPIUpdateSiteOptionalParams, callback: msRest.ServiceCallback): void;\n updateSite(id: string, body: Models.PutSiteViewModel, options?: Models.BranderoAPIUpdateSiteOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.updateSiteWithHttpOperationResponse(id, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as string);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.updateSiteWithHttpOperationResponse(id, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as string;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sitesDeleteSite(siteid: string): Promise;\n sitesDeleteSite(siteid: string, options: msRest.RequestOptionsBase): Promise;\n sitesDeleteSite(siteid: string, callback: msRest.ServiceCallback): void;\n sitesDeleteSite(siteid: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n sitesDeleteSite(siteid: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sitesDeleteSiteWithHttpOperationResponse(siteid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sitesDeleteSiteWithHttpOperationResponse(siteid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPISitesMergeSiteOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sitesMergeSite(siteid: string): Promise;\n sitesMergeSite(siteid: string, options: Models.BranderoAPISitesMergeSiteOptionalParams): Promise;\n sitesMergeSite(siteid: string, callback: msRest.ServiceCallback): void;\n sitesMergeSite(siteid: string, options: Models.BranderoAPISitesMergeSiteOptionalParams, callback: msRest.ServiceCallback): void;\n sitesMergeSite(siteid: string, options?: Models.BranderoAPISitesMergeSiteOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sitesMergeSiteWithHttpOperationResponse(siteid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sitesMergeSiteWithHttpOperationResponse(siteid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary UploadNewImageOnlyForSiteCreation\n *\n * @param {string} siteId\n *\n * @param {any[]} images\n *\n * @param {string} imageType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ResultViewModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ResultViewModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n uploadNewImageOnlyForSiteCreation(siteId: string, images: any[], imageType: string): Promise;\n uploadNewImageOnlyForSiteCreation(siteId: string, images: any[], imageType: string, options: msRest.RequestOptionsBase): Promise;\n uploadNewImageOnlyForSiteCreation(siteId: string, images: any[], imageType: string, callback: msRest.ServiceCallback): void;\n uploadNewImageOnlyForSiteCreation(siteId: string, images: any[], imageType: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n uploadNewImageOnlyForSiteCreation(siteId: string, images: any[], imageType: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.uploadNewImageOnlyForSiteCreationWithHttpOperationResponse(siteId, images, imageType, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ResultViewModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.uploadNewImageOnlyForSiteCreationWithHttpOperationResponse(siteId, images, imageType, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ResultViewModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary UploadNewImage\n *\n * @param {string} siteId\n *\n * @param {any[]} images\n *\n * @param {string} imageType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ResultViewModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ResultViewModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n uploadNewImage(siteId: string, images: any[], imageType: string): Promise;\n uploadNewImage(siteId: string, images: any[], imageType: string, options: msRest.RequestOptionsBase): Promise;\n uploadNewImage(siteId: string, images: any[], imageType: string, callback: msRest.ServiceCallback): void;\n uploadNewImage(siteId: string, images: any[], imageType: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n uploadNewImage(siteId: string, images: any[], imageType: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.uploadNewImageWithHttpOperationResponse(siteId, images, imageType, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ResultViewModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.uploadNewImageWithHttpOperationResponse(siteId, images, imageType, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ResultViewModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} imageId\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n imagesDeleteImageLibraryAsync(siteId: string, imageId: string): Promise;\n imagesDeleteImageLibraryAsync(siteId: string, imageId: string, options: msRest.RequestOptionsBase): Promise;\n imagesDeleteImageLibraryAsync(siteId: string, imageId: string, callback: msRest.ServiceCallback): void;\n imagesDeleteImageLibraryAsync(siteId: string, imageId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n imagesDeleteImageLibraryAsync(siteId: string, imageId: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.imagesDeleteImageLibraryAsyncWithHttpOperationResponse(siteId, imageId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.imagesDeleteImageLibraryAsyncWithHttpOperationResponse(siteId, imageId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary UploadTempImage\n *\n * @param {PostImageViewModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.UploadingResultCode} [result] - The deserialized result object if an error did not occur.\n * Possible values for result are - Success, ErrorInUpload, FileWidthDoesNotSatisfyMinimumSize, LandscapeRequired, PortraitRequired, SquareRequired, ZeroFileLength, OptimizationServiceNotificationError, ValueIsNotValid, FileToMoveIsNotFound, FileIsNotValid.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n uploadTempImage(body: Models.PostImageViewModel): Promise;\n uploadTempImage(body: Models.PostImageViewModel, options: msRest.RequestOptionsBase): Promise;\n uploadTempImage(body: Models.PostImageViewModel, callback: msRest.ServiceCallback): void;\n uploadTempImage(body: Models.PostImageViewModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n uploadTempImage(body: Models.PostImageViewModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.uploadTempImageWithHttpOperationResponse(body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.UploadingResultCode);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.uploadTempImageWithHttpOperationResponse(body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.UploadingResultCode;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary MoveTempImageToSiteFolder\n *\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {BranderoAPIMoveTempImageToSiteFolderOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.UploadingResultCode} [result] - The deserialized result object if an error did not occur.\n * Possible values for result are - Success, ErrorInUpload, FileWidthDoesNotSatisfyMinimumSize, LandscapeRequired, PortraitRequired, SquareRequired, ZeroFileLength, OptimizationServiceNotificationError, ValueIsNotValid, FileToMoveIsNotFound, FileIsNotValid.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n moveTempImageToSiteFolder(siteId: string, id: string): Promise;\n moveTempImageToSiteFolder(siteId: string, id: string, options: Models.BranderoAPIMoveTempImageToSiteFolderOptionalParams): Promise;\n moveTempImageToSiteFolder(siteId: string, id: string, callback: msRest.ServiceCallback): void;\n moveTempImageToSiteFolder(siteId: string, id: string, options: Models.BranderoAPIMoveTempImageToSiteFolderOptionalParams, callback: msRest.ServiceCallback): void;\n moveTempImageToSiteFolder(siteId: string, id: string, options?: Models.BranderoAPIMoveTempImageToSiteFolderOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.moveTempImageToSiteFolderWithHttpOperationResponse(siteId, id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.UploadingResultCode);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.moveTempImageToSiteFolderWithHttpOperationResponse(siteId, id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.UploadingResultCode;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {TemplateUserEmailRequestModel[]} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n emailsSendTemplateEmailsToUsersAsync(body: Models.TemplateUserEmailRequestModel[]): Promise;\n emailsSendTemplateEmailsToUsersAsync(body: Models.TemplateUserEmailRequestModel[], options: msRest.RequestOptionsBase): Promise;\n emailsSendTemplateEmailsToUsersAsync(body: Models.TemplateUserEmailRequestModel[], callback: msRest.ServiceCallback): void;\n emailsSendTemplateEmailsToUsersAsync(body: Models.TemplateUserEmailRequestModel[], options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n emailsSendTemplateEmailsToUsersAsync(body: Models.TemplateUserEmailRequestModel[], options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.emailsSendTemplateEmailsToUsersAsyncWithHttpOperationResponse(body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.emailsSendTemplateEmailsToUsersAsyncWithHttpOperationResponse(body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {TemplateEmailRequestModel[]} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sendTEmplateEmail(siteId: string, companyId: string, body: Models.TemplateEmailRequestModel[]): Promise;\n sendTEmplateEmail(siteId: string, companyId: string, body: Models.TemplateEmailRequestModel[], options: msRest.RequestOptionsBase): Promise;\n sendTEmplateEmail(siteId: string, companyId: string, body: Models.TemplateEmailRequestModel[], callback: msRest.ServiceCallback): void;\n sendTEmplateEmail(siteId: string, companyId: string, body: Models.TemplateEmailRequestModel[], options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n sendTEmplateEmail(siteId: string, companyId: string, body: Models.TemplateEmailRequestModel[], options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sendTEmplateEmailWithHttpOperationResponse(siteId, companyId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sendTEmplateEmailWithHttpOperationResponse(siteId, companyId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} email\n *\n * @param {string} subject\n *\n * @param {BranderoAPISendTemplateEmailWithFilesOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {any[]} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sendTemplateEmailWithFiles(siteId: string, companyId: string, email: string, subject: string): Promise;\n sendTemplateEmailWithFiles(siteId: string, companyId: string, email: string, subject: string, options: Models.BranderoAPISendTemplateEmailWithFilesOptionalParams): Promise;\n sendTemplateEmailWithFiles(siteId: string, companyId: string, email: string, subject: string, callback: msRest.ServiceCallback): void;\n sendTemplateEmailWithFiles(siteId: string, companyId: string, email: string, subject: string, options: Models.BranderoAPISendTemplateEmailWithFilesOptionalParams, callback: msRest.ServiceCallback): void;\n sendTemplateEmailWithFiles(siteId: string, companyId: string, email: string, subject: string, options?: Models.BranderoAPISendTemplateEmailWithFilesOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sendTemplateEmailWithFilesWithHttpOperationResponse(siteId, companyId, email, subject, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as any[]);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sendTemplateEmailWithFilesWithHttpOperationResponse(siteId, companyId, email, subject, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as any[];\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {string} email\n *\n * @param {string} subject\n *\n * @param {BranderoAPISendTemplateEmailWithFileRefsOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sendTemplateEmailWithFileRefs(siteId: string, companyId: string, email: string, subject: string): Promise;\n sendTemplateEmailWithFileRefs(siteId: string, companyId: string, email: string, subject: string, options: Models.BranderoAPISendTemplateEmailWithFileRefsOptionalParams): Promise;\n sendTemplateEmailWithFileRefs(siteId: string, companyId: string, email: string, subject: string, callback: msRest.ServiceCallback): void;\n sendTemplateEmailWithFileRefs(siteId: string, companyId: string, email: string, subject: string, options: Models.BranderoAPISendTemplateEmailWithFileRefsOptionalParams, callback: msRest.ServiceCallback): void;\n sendTemplateEmailWithFileRefs(siteId: string, companyId: string, email: string, subject: string, options?: Models.BranderoAPISendTemplateEmailWithFileRefsOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sendTemplateEmailWithFileRefsWithHttpOperationResponse(siteId, companyId, email, subject, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sendTemplateEmailWithFileRefsWithHttpOperationResponse(siteId, companyId, email, subject, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPISendGDPRDataAgreementOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sendGDPRDataAgreement(): Promise;\n sendGDPRDataAgreement(options: Models.BranderoAPISendGDPRDataAgreementOptionalParams): Promise;\n sendGDPRDataAgreement(callback: msRest.ServiceCallback): void;\n sendGDPRDataAgreement(options: Models.BranderoAPISendGDPRDataAgreementOptionalParams, callback: msRest.ServiceCallback): void;\n sendGDPRDataAgreement(options?: Models.BranderoAPISendGDPRDataAgreementOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sendGDPRDataAgreementWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sendGDPRDataAgreementWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} companyId\n *\n * @param {EmailSettingsRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n setEmailFrequency(siteId: string, companyId: string, body: Models.EmailSettingsRequestModel): Promise;\n setEmailFrequency(siteId: string, companyId: string, body: Models.EmailSettingsRequestModel, options: msRest.RequestOptionsBase): Promise;\n setEmailFrequency(siteId: string, companyId: string, body: Models.EmailSettingsRequestModel, callback: msRest.ServiceCallback): void;\n setEmailFrequency(siteId: string, companyId: string, body: Models.EmailSettingsRequestModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n setEmailFrequency(siteId: string, companyId: string, body: Models.EmailSettingsRequestModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.setEmailFrequencyWithHttpOperationResponse(siteId, companyId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.setEmailFrequencyWithHttpOperationResponse(siteId, companyId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {PersistingCssRequestModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.CssGeneratingResponseModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.CssGeneratingResponseModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n generateCssAndSaveItToSharedFolder(siteId: string, body: Models.PersistingCssRequestModel): Promise;\n generateCssAndSaveItToSharedFolder(siteId: string, body: Models.PersistingCssRequestModel, options: msRest.RequestOptionsBase): Promise;\n generateCssAndSaveItToSharedFolder(siteId: string, body: Models.PersistingCssRequestModel, callback: msRest.ServiceCallback): void;\n generateCssAndSaveItToSharedFolder(siteId: string, body: Models.PersistingCssRequestModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n generateCssAndSaveItToSharedFolder(siteId: string, body: Models.PersistingCssRequestModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.generateCssAndSaveItToSharedFolderWithHttpOperationResponse(siteId, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.CssGeneratingResponseModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.generateCssAndSaveItToSharedFolderWithHttpOperationResponse(siteId, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.CssGeneratingResponseModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPICssGeneratorGenerateCssAsyncOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n cssGeneratorGenerateCssAsync(): Promise;\n cssGeneratorGenerateCssAsync(options: Models.BranderoAPICssGeneratorGenerateCssAsyncOptionalParams): Promise;\n cssGeneratorGenerateCssAsync(callback: msRest.ServiceCallback): void;\n cssGeneratorGenerateCssAsync(options: Models.BranderoAPICssGeneratorGenerateCssAsyncOptionalParams, callback: msRest.ServiceCallback): void;\n cssGeneratorGenerateCssAsync(options?: Models.BranderoAPICssGeneratorGenerateCssAsyncOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.cssGeneratorGenerateCssAsyncWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.cssGeneratorGenerateCssAsyncWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {InternalSiteCreationRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.SiteCreateResult} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.SiteCreateResult} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n internalSiteCreationV2(body: Models.InternalSiteCreationRequest): Promise;\n internalSiteCreationV2(body: Models.InternalSiteCreationRequest, options: msRest.RequestOptionsBase): Promise;\n internalSiteCreationV2(body: Models.InternalSiteCreationRequest, callback: msRest.ServiceCallback): void;\n internalSiteCreationV2(body: Models.InternalSiteCreationRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n internalSiteCreationV2(body: Models.InternalSiteCreationRequest, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.internalSiteCreationV2WithHttpOperationResponse(body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.SiteCreateResult);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.internalSiteCreationV2WithHttpOperationResponse(body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.SiteCreateResult;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {MsgJobAd} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.SetSuperAdminDeleteStatusResponce} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.SetSuperAdminDeleteStatusResponce} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n setSuperAdminDeleteStatus(siteid: string, jobadid: string, body: Models.MsgJobAd): Promise;\n setSuperAdminDeleteStatus(siteid: string, jobadid: string, body: Models.MsgJobAd, options: msRest.RequestOptionsBase): Promise;\n setSuperAdminDeleteStatus(siteid: string, jobadid: string, body: Models.MsgJobAd, callback: msRest.ServiceCallback): void;\n setSuperAdminDeleteStatus(siteid: string, jobadid: string, body: Models.MsgJobAd, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n setSuperAdminDeleteStatus(siteid: string, jobadid: string, body: Models.MsgJobAd, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.setSuperAdminDeleteStatusWithHttpOperationResponse(siteid, jobadid, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.SetSuperAdminDeleteStatusResponce);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.setSuperAdminDeleteStatusWithHttpOperationResponse(siteid, jobadid, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.SetSuperAdminDeleteStatusResponce;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {ExtendedJobAdModel} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.ExtendedJobAdModel} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.ExtendedJobAdModel} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdUpdateStatus(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel): Promise;\n jobAdUpdateStatus(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options: msRest.RequestOptionsBase): Promise;\n jobAdUpdateStatus(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, callback: msRest.ServiceCallback): void;\n jobAdUpdateStatus(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n jobAdUpdateStatus(siteid: string, jobadid: string, body: Models.ExtendedJobAdModel, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdUpdateStatusWithHttpOperationResponse(siteid, jobadid, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.ExtendedJobAdModel);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdUpdateStatusWithHttpOperationResponse(siteid, jobadid, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.ExtendedJobAdModel;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {MsgJobAd} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.UpdateStatusResponce} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.UpdateStatusResponce} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdUpdateStatusForJquery(siteid: string, jobadid: string, body: Models.MsgJobAd): Promise;\n jobAdUpdateStatusForJquery(siteid: string, jobadid: string, body: Models.MsgJobAd, options: msRest.RequestOptionsBase): Promise;\n jobAdUpdateStatusForJquery(siteid: string, jobadid: string, body: Models.MsgJobAd, callback: msRest.ServiceCallback): void;\n jobAdUpdateStatusForJquery(siteid: string, jobadid: string, body: Models.MsgJobAd, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n jobAdUpdateStatusForJquery(siteid: string, jobadid: string, body: Models.MsgJobAd, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdUpdateStatusForJqueryWithHttpOperationResponse(siteid, jobadid, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.UpdateStatusResponce);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdUpdateStatusForJqueryWithHttpOperationResponse(siteid, jobadid, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.UpdateStatusResponce;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {PatchProductModelRequest} body\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdPatchProducts(siteid: string, jobadid: string, body: Models.PatchProductModelRequest): Promise;\n jobAdPatchProducts(siteid: string, jobadid: string, body: Models.PatchProductModelRequest, options: msRest.RequestOptionsBase): Promise;\n jobAdPatchProducts(siteid: string, jobadid: string, body: Models.PatchProductModelRequest, callback: msRest.ServiceCallback): void;\n jobAdPatchProducts(siteid: string, jobadid: string, body: Models.PatchProductModelRequest, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n jobAdPatchProducts(siteid: string, jobadid: string, body: Models.PatchProductModelRequest, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdPatchProductsWithHttpOperationResponse(siteid, jobadid, body, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdPatchProductsWithHttpOperationResponse(siteid, jobadid, body, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary PatchDescription\n *\n * @param {string} siteid\n *\n * @param {string} jobadid\n *\n * @param {number} siteType\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdPatchDescription(siteid: string, jobadid: string, siteType: number): Promise;\n jobAdPatchDescription(siteid: string, jobadid: string, siteType: number, options: msRest.RequestOptionsBase): Promise;\n jobAdPatchDescription(siteid: string, jobadid: string, siteType: number, callback: msRest.ServiceCallback): void;\n jobAdPatchDescription(siteid: string, jobadid: string, siteType: number, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n jobAdPatchDescription(siteid: string, jobadid: string, siteType: number, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdPatchDescriptionWithHttpOperationResponse(siteid, jobadid, siteType, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdPatchDescriptionWithHttpOperationResponse(siteid, jobadid, siteType, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @summary PatchDescription\n *\n * @param {string} siteid\n *\n * @param {number} siteType\n *\n * @param {BranderoAPIJobAdPatchDescription1OptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n jobAdPatchDescription1(siteid: string, siteType: number): Promise;\n jobAdPatchDescription1(siteid: string, siteType: number, options: Models.BranderoAPIJobAdPatchDescription1OptionalParams): Promise;\n jobAdPatchDescription1(siteid: string, siteType: number, callback: msRest.ServiceCallback): void;\n jobAdPatchDescription1(siteid: string, siteType: number, options: Models.BranderoAPIJobAdPatchDescription1OptionalParams, callback: msRest.ServiceCallback): void;\n jobAdPatchDescription1(siteid: string, siteType: number, options?: Models.BranderoAPIJobAdPatchDescription1OptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.jobAdPatchDescription1WithHttpOperationResponse(siteid, siteType, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.jobAdPatchDescription1WithHttpOperationResponse(siteid, siteType, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteid\n *\n * @param {BranderoAPICreatePartnerJobAdOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {Models.PartnerJobAdResponce} [result] - The deserialized result object if an error did not occur.\n * See {@link Models.PartnerJobAdResponce} for more information.\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n createPartnerJobAd(siteid: string): Promise;\n createPartnerJobAd(siteid: string, options: Models.BranderoAPICreatePartnerJobAdOptionalParams): Promise;\n createPartnerJobAd(siteid: string, callback: msRest.ServiceCallback): void;\n createPartnerJobAd(siteid: string, options: Models.BranderoAPICreatePartnerJobAdOptionalParams, callback: msRest.ServiceCallback): void;\n createPartnerJobAd(siteid: string, options?: Models.BranderoAPICreatePartnerJobAdOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.createPartnerJobAdWithHttpOperationResponse(siteid, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as Models.PartnerJobAdResponce);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.createPartnerJobAdWithHttpOperationResponse(siteid, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as Models.PartnerJobAdResponce;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} userName\n *\n * @param {BranderoAPIPasswordResetUserPasswordOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n passwordResetUserPassword(userName: string): Promise;\n passwordResetUserPassword(userName: string, options: Models.BranderoAPIPasswordResetUserPasswordOptionalParams): Promise;\n passwordResetUserPassword(userName: string, callback: msRest.ServiceCallback): void;\n passwordResetUserPassword(userName: string, options: Models.BranderoAPIPasswordResetUserPasswordOptionalParams, callback: msRest.ServiceCallback): void;\n passwordResetUserPassword(userName: string, options?: Models.BranderoAPIPasswordResetUserPasswordOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.passwordResetUserPasswordWithHttpOperationResponse(userName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.passwordResetUserPasswordWithHttpOperationResponse(userName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} userName\n *\n * @param {BranderoAPIPasswordSetNewPasswordOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n passwordSetNewPassword(userName: string): Promise;\n passwordSetNewPassword(userName: string, options: Models.BranderoAPIPasswordSetNewPasswordOptionalParams): Promise;\n passwordSetNewPassword(userName: string, callback: msRest.ServiceCallback): void;\n passwordSetNewPassword(userName: string, options: Models.BranderoAPIPasswordSetNewPasswordOptionalParams, callback: msRest.ServiceCallback): void;\n passwordSetNewPassword(userName: string, options?: Models.BranderoAPIPasswordSetNewPasswordOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.passwordSetNewPasswordWithHttpOperationResponse(userName, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.passwordSetNewPasswordWithHttpOperationResponse(userName, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPISharedRolesCreateGlobalRoleOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sharedRolesCreateGlobalRole(): Promise;\n sharedRolesCreateGlobalRole(options: Models.BranderoAPISharedRolesCreateGlobalRoleOptionalParams): Promise;\n sharedRolesCreateGlobalRole(callback: msRest.ServiceCallback): void;\n sharedRolesCreateGlobalRole(options: Models.BranderoAPISharedRolesCreateGlobalRoleOptionalParams, callback: msRest.ServiceCallback): void;\n sharedRolesCreateGlobalRole(options?: Models.BranderoAPISharedRolesCreateGlobalRoleOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sharedRolesCreateGlobalRoleWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sharedRolesCreateGlobalRoleWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {BranderoAPISharedUsersCreateGlobalUserOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sharedUsersCreateGlobalUser(): Promise;\n sharedUsersCreateGlobalUser(options: Models.BranderoAPISharedUsersCreateGlobalUserOptionalParams): Promise;\n sharedUsersCreateGlobalUser(callback: msRest.ServiceCallback): void;\n sharedUsersCreateGlobalUser(options: Models.BranderoAPISharedUsersCreateGlobalUserOptionalParams, callback: msRest.ServiceCallback): void;\n sharedUsersCreateGlobalUser(options?: Models.BranderoAPISharedUsersCreateGlobalUserOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sharedUsersCreateGlobalUserWithHttpOperationResponse(options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sharedUsersCreateGlobalUserWithHttpOperationResponse(options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {BranderoAPISharedUsersUpdateGlobalUserOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sharedUsersUpdateGlobalUser(id: string): Promise;\n sharedUsersUpdateGlobalUser(id: string, options: Models.BranderoAPISharedUsersUpdateGlobalUserOptionalParams): Promise;\n sharedUsersUpdateGlobalUser(id: string, callback: msRest.ServiceCallback): void;\n sharedUsersUpdateGlobalUser(id: string, options: Models.BranderoAPISharedUsersUpdateGlobalUserOptionalParams, callback: msRest.ServiceCallback): void;\n sharedUsersUpdateGlobalUser(id: string, options?: Models.BranderoAPISharedUsersUpdateGlobalUserOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sharedUsersUpdateGlobalUserWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sharedUsersUpdateGlobalUserWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n sharedUsersDeleteGlobalUser(id: string): Promise;\n sharedUsersDeleteGlobalUser(id: string, options: msRest.RequestOptionsBase): Promise;\n sharedUsersDeleteGlobalUser(id: string, callback: msRest.ServiceCallback): void;\n sharedUsersDeleteGlobalUser(id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n sharedUsersDeleteGlobalUser(id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.sharedUsersDeleteGlobalUserWithHttpOperationResponse(id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.sharedUsersDeleteGlobalUserWithHttpOperationResponse(id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {BranderoAPIUsersInitUserForNewSiteOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersInitUserForNewSite(siteId: string): Promise;\n usersInitUserForNewSite(siteId: string, options: Models.BranderoAPIUsersInitUserForNewSiteOptionalParams): Promise;\n usersInitUserForNewSite(siteId: string, callback: msRest.ServiceCallback): void;\n usersInitUserForNewSite(siteId: string, options: Models.BranderoAPIUsersInitUserForNewSiteOptionalParams, callback: msRest.ServiceCallback): void;\n usersInitUserForNewSite(siteId: string, options?: Models.BranderoAPIUsersInitUserForNewSiteOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersInitUserForNewSiteWithHttpOperationResponse(siteId, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersInitUserForNewSiteWithHttpOperationResponse(siteId, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {BranderoAPIUsersChangeUserPasswordOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersChangeUserPassword(siteId: string, id: string): Promise;\n usersChangeUserPassword(siteId: string, id: string, options: Models.BranderoAPIUsersChangeUserPasswordOptionalParams): Promise;\n usersChangeUserPassword(siteId: string, id: string, callback: msRest.ServiceCallback): void;\n usersChangeUserPassword(siteId: string, id: string, options: Models.BranderoAPIUsersChangeUserPasswordOptionalParams, callback: msRest.ServiceCallback): void;\n usersChangeUserPassword(siteId: string, id: string, options?: Models.BranderoAPIUsersChangeUserPasswordOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersChangeUserPasswordWithHttpOperationResponse(siteId, id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersChangeUserPasswordWithHttpOperationResponse(siteId, id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {BranderoAPIUsersUpdateUserOptionalParams} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersUpdateUser(siteId: string, id: string): Promise;\n usersUpdateUser(siteId: string, id: string, options: Models.BranderoAPIUsersUpdateUserOptionalParams): Promise;\n usersUpdateUser(siteId: string, id: string, callback: msRest.ServiceCallback): void;\n usersUpdateUser(siteId: string, id: string, options: Models.BranderoAPIUsersUpdateUserOptionalParams, callback: msRest.ServiceCallback): void;\n usersUpdateUser(siteId: string, id: string, options?: Models.BranderoAPIUsersUpdateUserOptionalParams, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersUpdateUserWithHttpOperationResponse(siteId, id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersUpdateUserWithHttpOperationResponse(siteId, id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n\n /**\n * @param {string} siteId\n *\n * @param {string} id\n *\n * @param {RequestOptionsBase} [options] Optional Parameters.\n *\n * @param {ServiceCallback} callback The callback.\n *\n * @returns {ServiceCallback} callback(err, result, request, operationRes)\n * {Error|ServiceError} err - The Error object if an error occurred, null otherwise.\n * {void} [result] - The deserialized result object if an error did not occur.\n *\n * {WebResource} [request] - The HTTP Request object if an error did not occur.\n * {HttpOperationResponse} [response] - The HTTP Response stream if an error did not occur.\n */\n usersDeleteUser(siteId: string, id: string): Promise;\n usersDeleteUser(siteId: string, id: string, options: msRest.RequestOptionsBase): Promise;\n usersDeleteUser(siteId: string, id: string, callback: msRest.ServiceCallback): void;\n usersDeleteUser(siteId: string, id: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void;\n usersDeleteUser(siteId: string, id: string, options?: msRest.RequestOptionsBase, callback?: msRest.ServiceCallback): any {\n if (!callback && typeof options === 'function') {\n callback = options;\n options = undefined;\n }\n let cb = callback as msRest.ServiceCallback;\n if (!callback) {\n return this.usersDeleteUserWithHttpOperationResponse(siteId, id, options).then((operationRes: msRest.HttpOperationResponse) => {\n return Promise.resolve(operationRes.parsedBody as void);\n }).catch((err: Error) => {\n return Promise.reject(err);\n });\n } else {\n msRest.promiseToCallback(this.usersDeleteUserWithHttpOperationResponse(siteId, id, options))((err: Error, data: msRest.HttpOperationResponse) => {\n if (err) {\n return cb(err);\n }\n let result = data.parsedBody as void;\n return cb(err, result, data.request, data);\n });\n }\n }\n}\n\nexport { BranderoAPI, Models as BranderoAPIModels, Mappers as BranderoAPIMappers };\n","import { BranderoAPI } from './autorest/branderoAPI';\r\nimport { getAuthToken } from '../cms/common/apiConstants';\r\n\r\nimport { ServiceClientCredentials, WebResource } from 'ms-rest-js';\r\n\r\nclass Credentials implements ServiceClientCredentials {\r\n public async signRequest(webResource: WebResource): Promise {\r\n const oauth = getAuthToken();\r\n webResource.headers.set('Authorization', 'Bearer ' + oauth);\r\n webResource.headers.set('pragma', 'no-cache');\r\n webResource.headers.set('cache-control', 'no-cache');\r\n return webResource;\r\n }\r\n}\r\n\r\nexport class Api extends BranderoAPI {\r\n constructor(url: string) {\r\n const credentials = new Credentials();\r\n super(credentials, url);\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Spin, Icon } from 'antd';\r\nimport classNames from 'classnames';\r\n\r\nimport './Loader.scss';\r\n\r\nexport default function Loader({ loading, size = 24, className, text }: { loading: boolean; size?: number; className?: string; text?: string }) {\r\n const loaderClass = classNames('loader', {\r\n [className]: !!className\r\n });\r\n\r\n if (!loading) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n } />\r\n {text &&
    {text}
    }\r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport Dropzone from 'react-dropzone';\r\nimport apiConstants from '../../../common/apiConstants';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { Api } from '../../../../services/api';\r\nimport { ImageType } from '../../../../services/autorest/models';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\n\r\nimport './assets/DropZoneHelper.scss';\r\nimport Loader from '../Loader/Loader';\r\n\r\ndeclare var SITE_ID: string;\r\n\r\ninterface Props {\r\n imageProps?: {\r\n imageType: ImageType;\r\n };\r\n type?: string;\r\n acceptedExtensions?: string[];\r\n callback(fileNames: string[], data: any[]);\r\n label?: string;\r\n className?: string;\r\n maxSizeKB?: number;\r\n styles?: React.CSSProperties;\r\n onDropRejected?(): void;\r\n}\r\n\r\nexport default class DropZoneHelper extends React.Component{\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n this.state = {\r\n id: '',\r\n files: [],\r\n isLoading: false,\r\n errorFilles: [], \r\n };\r\n }\r\n\r\n private getImageDimensions(file: any) {\r\n return new Promise((resolved, rejected) => {\r\n const i = new Image();\r\n i.onload = () => {\r\n resolved({ w: i.naturalWidth, h: i.naturalHeight, size: file.size });\r\n };\r\n i.onerror = (e) => {\r\n rejected(e);\r\n };\r\n i.src = window.URL.createObjectURL(file);\r\n });\r\n }\r\n\r\n private onDrop = async (files: any[], rejected: any[], e: any) => {\r\n const { imageProps, acceptedExtensions, type } = this.props;\r\n this.setState({ isLoading: true });\r\n if (rejected) this.setState({errorFilles: [...rejected]})\r\n if (files && files.length) {\r\n try {\r\n if (acceptedExtensions) {\r\n const fileExt = files[0].name.split('.').pop();\r\n if (acceptedExtensions.indexOf(fileExt) == -1) {\r\n throw new Error('extension not accepted');\r\n }\r\n }\r\n if (imageProps) {\r\n const r = (await new Api(apiConstants.siteOptions.imageCommands).uploadNewImage(SITE_ID, files, imageProps.imageType as any)) as any;\r\n this.props.callback([r?.newFileName], [r]);\r\n } else {\r\n const fileNames = [];\r\n for (let i = 0; i < files.length; i++) {\r\n const f = files[i];\r\n const formData = new FormData();\r\n formData.append('Content', f);\r\n formData.append('Type', this.props.type || 'Content');\r\n\r\n const headers = {\r\n method: 'POST',\r\n headers: apiConstants.headerForFile,\r\n body: formData\r\n };\r\n const resp = await fetch(Utils.stringFormat(apiConstants.siteOptions.fileStore, SITE_ID), headers);\r\n const data = await resp.json();\r\n\r\n fileNames.push(data.fileName);\r\n }\r\n\r\n this.props.callback(fileNames, files);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n } finally {\r\n this.setState({ isLoading: false });\r\n }\r\n } else {\r\n this.setState({ isLoading: false });\r\n }\r\n };\r\n\r\n private onDropRejected = () => {\r\n const { onDropRejected } = this.props;\r\n\r\n if (onDropRejected) {\r\n onDropRejected();\r\n }\r\n };\r\n\r\n public render() {\r\n const { label, className, maxSizeKB } = this.props;\r\n const { isLoading } = this.state;\r\n const maxSize = (maxSizeKB ? maxSizeKB : 10000) * 1024;\r\n const acceptedFiles = \"image/*,.docx,.odt,.doc,.txt,.xls,.pdf,.ppsx,.ppt,.pptm,.pptx\"\r\n return (\r\n
    \r\n
    \r\n \r\n {({getRootProps, getInputProps}) => (\r\n <>\r\n {/* { !this.props.children && ( */}\r\n \r\n {!isLoading && (\r\n <>\r\n \r\n {this.props.children ? this.props.children : (\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n {/* )} */}\r\n {/* {this.props.children && {this.props.children}} */}\r\n \r\n )}\r\n \r\n
    \r\n {this.state?.errorFilles?.map((file, i: number)=>(
    \r\n {file.size > 10000*1024 ? i18n.t(\"JOBAD_APPLICATION_MAXFILESIZE_ERROR\") : `${i18n.t(\"IS_NOT_SUPPORTED\")} (${file.name})`}\r\n
    ))}\r\n
    \r\n );\r\n }\r\n}\r\n","import { createSelector } from 'reselect';\r\nimport { PageItemInfo } from '../../../store/PageItemInfoStore';\r\n\r\nconst rootStateSelector = (state: any) => state.root;\r\nconst pageItemStateSelector = (state: any) => state.pageItems;\r\nconst pageItemInfoStateSelector = (state: any) => state.pageItemsInfo;\r\nconst htmlItemsStateSelector = (state: any) => state.htmlItems;\r\nconst propertyItemsStateSelector = (state: any) => state.propertyItems;\r\nconst companyDataStateSelector = (state: any) => state.companyData;\r\nconst jobAdsStateSelector = (state: any) => state.jobAds;\r\nconst localizationsStateSelector = (state: any) => state.localizations;\r\nconst currentId = (state: any, id: string) => id;\r\nconst getPageItem = (root, pageItems, pageItemsInfo, htmlItems, propertyItems, id) => {\r\n let pageItem: PageItemModel = pageItems.pageItems[id];\r\n let _htmlItems: HtmlItemModel[] = [];\r\n let _propertyItems: PropertyItemModel[] = [];\r\n let _pageItemInfo: PageItemInfo = pageItemsInfo.pageItemInfo[id];\r\n\r\n pageItem.htmlItems.forEach((x) => {\r\n let htmlItem: HtmlItemModel = htmlItems.htmlItems[x];\r\n _htmlItems.push(htmlItem);\r\n\r\n if (htmlItem.htmlItems) {\r\n htmlItem.htmlItems.forEach((x) => {\r\n _htmlItems.push(htmlItems.htmlItems[x]);\r\n });\r\n }\r\n if (htmlItem.propertyItems) {\r\n htmlItem.propertyItems.forEach((x) => {\r\n _propertyItems.push(propertyItems.propertyItems[x]);\r\n });\r\n }\r\n });\r\n pageItem.propertyItems.forEach((x) => {\r\n _propertyItems.push(propertyItems.propertyItems[x]);\r\n });\r\n return {\r\n root,\r\n pageItem,\r\n pageItemsInfo: _pageItemInfo,\r\n htmlItems: _htmlItems,\r\n propertyItems: _propertyItems\r\n };\r\n};\r\n\r\nconst getPageItemAndCompanyData = (root, pageItems, pageItemsInfo, htmlItems, propertyItems, companyData, jobAds, localizations, id) => {\r\n let pageItem: PageItemModel = pageItems.pageItems[id];\r\n let _htmlItems: HtmlItemModel[] = [];\r\n let _propertyItems: PropertyItemModel[] = [];\r\n let _pageItemInfo: PageItemInfo = pageItemsInfo.pageItemInfo[id];\r\n\r\n pageItem.htmlItems.forEach((x) => {\r\n const htmlItem: HtmlItemModel = htmlItems.htmlItems[x];\r\n _htmlItems.push(htmlItem);\r\n\r\n if (htmlItem.htmlItems) {\r\n htmlItem.htmlItems.forEach((x) => {\r\n _htmlItems.push(htmlItems.htmlItems[x]);\r\n });\r\n }\r\n if (htmlItem.propertyItems) {\r\n htmlItem.propertyItems.forEach((x) => {\r\n _propertyItems.push(propertyItems.propertyItems[x]);\r\n });\r\n }\r\n });\r\n pageItem.propertyItems.forEach((x) => {\r\n _propertyItems.push(propertyItems.propertyItems[x]);\r\n });\r\n return {\r\n root,\r\n pageItem,\r\n pageItemInfo: _pageItemInfo,\r\n htmlItems: _htmlItems,\r\n propertyItems: _propertyItems,\r\n companyData: companyData.companyData,\r\n jobAds: jobAds,\r\n texts: localizations.texts\r\n };\r\n};\r\n\r\nexport const getItemState = createSelector(\r\n rootStateSelector,\r\n pageItemStateSelector,\r\n pageItemInfoStateSelector,\r\n htmlItemsStateSelector,\r\n propertyItemsStateSelector,\r\n currentId,\r\n getPageItem\r\n);\r\n\r\n// TODO: REFACTOR - NOT SOLID!\r\nexport const getItemAndCompanyDataState = createSelector(\r\n rootStateSelector,\r\n pageItemStateSelector,\r\n pageItemInfoStateSelector,\r\n htmlItemsStateSelector,\r\n propertyItemsStateSelector,\r\n companyDataStateSelector,\r\n jobAdsStateSelector,\r\n localizationsStateSelector,\r\n currentId,\r\n getPageItemAndCompanyData\r\n);\r\n\r\nexport const getUnsolicitedApplicationStatus = createSelector(pageItemStateSelector, pageItemInfoStateSelector, (pageItemsSelector, pageItemsInfoSelector) => {\r\n const pageItems = Object.keys(pageItemsSelector.pageItems).map((key) => {\r\n return pageItemsSelector.pageItems[key];\r\n });\r\n // const pageItems: PageItemModel[] = _values(pageItemsSelector.pageItems);\r\n const unsolicitedApp: PageItemModel = pageItems.find((x) => x.pageItemType === 'UNSOLICITEDAPPLICATION');\r\n if (unsolicitedApp) {\r\n const pageItemInfo: PageItemInfo = pageItemsInfoSelector.pageItemInfo[unsolicitedApp.id];\r\n return pageItemInfo.status;\r\n }\r\n\r\n return null;\r\n});\r\n\r\nexport type PropertyItemType = 'STRING' | 'INT' | 'LONG' | 'GUID' | 'FONTAWESOME';\r\n\r\nexport type PageItemTypes =\r\n | 'SLIDER'\r\n | 'ABOUT_US'\r\n | 'SOCIALMEDIA'\r\n | 'PRESENTATION'\r\n | 'BENEFITS'\r\n | 'UNSOLICITEDAPPLICATION'\r\n | 'TESTIMONIALSLIDER'\r\n | 'JOBLIST'\r\n | 'JOBLIST_CUSTOM'\r\n | 'UNSOLICITEDAPPLICATION';\r\n\r\nexport interface ItemModel {\r\n id: string;\r\n parentId: string;\r\n name: string;\r\n properties?: { [key: string]: string };\r\n htmlItems?: string[];\r\n propertyItems?: string[];\r\n}\r\n\r\nexport interface PageItemModel extends ItemModel {\r\n templateId?: number;\r\n order: number;\r\n pageItemType: PageItemTypes;\r\n isPublishedByDefault: boolean;\r\n}\r\n\r\nexport interface HtmlItemModel extends ItemModel {\r\n tagName: string;\r\n properties?: { [key: string]: string };\r\n HtmlItems?: string[];\r\n propertyItems?: string[];\r\n}\r\n\r\nexport interface PropertyItemModel extends ItemModel {\r\n value: string;\r\n valueType: PropertyItemType;\r\n}\r\n\r\nexport interface BaseItemModel {\r\n pageItem: PageItemModel;\r\n htmlItems?: { [key: string]: HtmlItemModel };\r\n propertyItems?: { [key: string]: PropertyItemModel };\r\n}\r\n\r\nexport class BaseItem implements BaseItemModel {\r\n public pageItem: PageItemModel;\r\n public htmlItems?: { [key: string]: HtmlItemModel };\r\n public propertyItems?: { [key: string]: PropertyItemModel };\r\n\r\n constructor(\r\n pageItemModel: { [key: string]: PageItemModel },\r\n htmlItemModels: { [key: string]: HtmlItemModel },\r\n propertyItemModels: { [key: string]: PropertyItemModel }\r\n ) {\r\n this.pageItem = pageItemModel[Object.keys(pageItemModel)[0]];\r\n this.htmlItems = htmlItemModels;\r\n this.propertyItems = propertyItemModels;\r\n }\r\n\r\n public updatePageItemId(id: string) {\r\n this.pageItem.id = id;\r\n this.updateParentId();\r\n }\r\n\r\n public isHtmlItem(item: HtmlItemModel | PropertyItemModel): boolean {\r\n if (item['tagName']) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public isPropertyItem(item: any): boolean {\r\n if (item.ValueType) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public add(source: HtmlItemModel | PropertyItemModel | { htmlItems: HtmlItemModel[]; propertyItems: PropertyItemModel[] }, parentId?: string) {\r\n if (source.htmlItems !== undefined) {\r\n (source.htmlItems as HtmlItemModel[]).forEach((item) => {\r\n this.htmlItems[item.id] = item;\r\n });\r\n }\r\n if (this.propertyItems !== undefined) {\r\n (source.propertyItems as PropertyItemModel[]).forEach((item) => {\r\n this.propertyItems[item.id] = item;\r\n });\r\n }\r\n if (this.isPropertyItem(source)) {\r\n this.propertyItems[(source as PropertyItemModel).id] = source as PropertyItemModel;\r\n } else {\r\n this.isHtmlItem[(source as HtmlItemModel).id] = source as HtmlItemModel;\r\n }\r\n }\r\n\r\n private updateParentId() {\r\n Object.keys(this.htmlItems).forEach((key) => {\r\n this.htmlItems[key].parentId = this.pageItem.id;\r\n });\r\n Object.keys(this.propertyItems).forEach((key) => {\r\n this.propertyItems[key].parentId = this.pageItem.id;\r\n });\r\n }\r\n}\r\n","import i18n from '../../../../resources/i18n';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { ImageType } from '../../../../services/autorest/models';\r\n\r\nexport const getFormData = (fileStoreCDN, state, companyData, emailTo, siteUrl, siteId, logoPath) => {\r\n const logoFileName = Utils.getImageNameFromScreenSize(ImageType.Logo, logoPath);\r\n return [\r\n {\r\n Name: 'CLOGOURL',\r\n Content: fileStoreCDN + '/' + siteId + '/Logo/' + logoFileName\r\n },\r\n {\r\n Name: 'AFNAME',\r\n Content: state.ANAME\r\n },\r\n {\r\n Name: 'ALNAME',\r\n Content: ''\r\n },\r\n {\r\n Name: 'ADHEADING',\r\n Content: ''\r\n },\r\n {\r\n Name: 'APPLICATIONTEXT',\r\n Content: state.APPLICATIONTEXT\r\n },\r\n {\r\n Name: 'AEDUCATION',\r\n Content: state.AEDUCATION\r\n },\r\n {\r\n Name: 'ACATEGORY',\r\n Content: state.ACATEGORY\r\n },\r\n {\r\n Name: 'APOSITION',\r\n Content: state.APOSITION\r\n },\r\n {\r\n Name: 'ADURATION',\r\n Content: state.ADURATION\r\n },\r\n {\r\n Name: 'AADDRESS',\r\n Content: ''\r\n },\r\n {\r\n Name: 'APOSTALCODE',\r\n Content: ''\r\n },\r\n {\r\n Name: 'ATOWN',\r\n Content: ''\r\n },\r\n {\r\n Name: 'AEMAIL',\r\n Content: state.AEMAIL\r\n },\r\n {\r\n Name: 'ALINK',\r\n Content: state.ALINK\r\n },\r\n {\r\n Name: 'ATELEPHONE',\r\n Content: state.ATELEPHONE\r\n },\r\n {\r\n Name: 'CNAME',\r\n Content: companyData.name\r\n },\r\n {\r\n Name: 'CADDRESS',\r\n Content: companyData.address\r\n },\r\n {\r\n Name: 'VATNO',\r\n Content: companyData.vatnumber\r\n },\r\n {\r\n Name: 'CPOSTALCODE',\r\n Content: companyData.zipCode\r\n },\r\n {\r\n Name: 'CWEBADDRESS',\r\n Content: companyData.websiteUrl\r\n },\r\n {\r\n Name: 'CTELEPHONE',\r\n Content: companyData.phone\r\n },\r\n {\r\n Name: 'CEMAIL',\r\n Content: companyData.email\r\n },\r\n {\r\n Name: 'CCITY',\r\n Content: companyData.city\r\n },\r\n {\r\n Name: 'CAREERSITE',\r\n Content: siteUrl.replace('/Account/Login', '')\r\n },\r\n {\r\n Name: 'CAREERSITELOGIN',\r\n Content: siteUrl\r\n }\r\n ];\r\n};\r\nexport const ACATEGORYLIST = [\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_ECONOMY'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_ECONOMY')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_MANAGMENT'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_MANAGMENT')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_SALES'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_SALES')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_ADMIN'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_ADMIN')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_IT'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_IT')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_LOGISTIC'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_LOGISTIC')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_RETAIL'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_RETAIL')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_EDUCATION'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_EDUCATION')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_HEALTH'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_HEALTH')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_FORM_CATEGORY_OTHER'),\r\n value: i18n.t('UNSOLICITED_FORM_CATEGORY_OTHER')\r\n }\r\n];\r\nexport const AEDUCATIONLIST = [\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_PUBLIC_SCHOOL'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_PUBLIC_SCHOOL')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_VOCATIONAL_EDUCATION'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_VOCATIONAL_EDUCATION')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_HIGH_SCHOOL'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_HIGH_SCHOOL')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_SECONDARY_EDUCATION'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_SECONDARY_EDUCATION')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_FURTHER_EDUCATION'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_FURTHER_EDUCATION')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_HIGHER_EDUCATION'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_HIGHER_EDUCATION')\r\n },\r\n {\r\n label: i18n.t('UNSOLICITED_EDUCATION_POSTGRADUATE'),\r\n value: i18n.t('UNSOLICITED_EDUCATION_POSTGRADUATE')\r\n }\r\n];\r\n","import * as React from 'react';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nexport default function TextBox({\r\n type,\r\n id,\r\n onChange,\r\n onKeyPress,\r\n onPaste,\r\n resourceString,\r\n errorResourceString,\r\n displayError,\r\n value,\r\n autoComplete,\r\n required\r\n}: {\r\n type: string;\r\n id: string;\r\n onChange(e: any);\r\n onKeyPress?(e: any);\r\n onPaste?(e: any);\r\n resourceString: string;\r\n errorResourceString?: string;\r\n displayError?: boolean;\r\n value: string;\r\n autoComplete?: string;\r\n required?: boolean;\r\n}) {\r\n return (\r\n
    \r\n \r\n \r\n {errorResourceString && displayError && (\r\n \r\n {i18n.t(errorResourceString)}\r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTimesCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nconst style = {\r\n wrap: {\r\n border: '1px solid #fff',\r\n borderRadius: '3px'\r\n },\r\n input: {\r\n borderColor: 'transparent'\r\n },\r\n tag: {\r\n display: 'block',\r\n margin: '3px 6px',\r\n fontSize: '14px',\r\n border: '1px solid #fff',\r\n borderRadius: '3px',\r\n backgroundColor: 'transparent',\r\n textAlign: 'left' as any\r\n },\r\n tagIcon: {\r\n display: 'inline-block',\r\n marginLeft: '3px',\r\n fontSize: '12px',\r\n color: '#847777',\r\n cursor: 'pointer'\r\n },\r\n labelActive: {\r\n top: '-20px',\r\n left: '15px',\r\n fontSize: '12px'\r\n }\r\n};\r\n\r\nexport default function LinkInput({\r\n id,\r\n onChange,\r\n resourceString\r\n}: {\r\n id: string;\r\n onChange(e: any): void;\r\n\r\n resourceString: string;\r\n}) {\r\n const [links, setLinks] = React.useState([]);\r\n const [localValue, setLocalValue] = React.useState('');\r\n const labelIsActive = links.length;\r\n\r\n const saveValue = (linksToSave: string[]) => {\r\n onChange(linksToSave.join('\\n'));\r\n };\r\n\r\n const handleValueChange = (e) => {\r\n setLocalValue(e.target.value);\r\n };\r\n\r\n const handleKeyUp = (e) => {\r\n if (e.key === 'Enter') {\r\n e.preventDefault();\r\n\r\n addLink();\r\n }\r\n };\r\n\r\n const addLink = () => {\r\n const valueIndex = links.indexOf(localValue);\r\n\r\n if (localValue && valueIndex === -1) {\r\n const newLinks = [...links];\r\n\r\n newLinks.push(localValue);\r\n\r\n setLocalValue('');\r\n setLinks(newLinks);\r\n\r\n saveValue(newLinks);\r\n }\r\n };\r\n\r\n const renderLinks = () => {\r\n return links.map((item, index) => {\r\n const removeLink = () => {\r\n const newLinks = links.filter((link) => link !== item);\r\n\r\n setLinks(newLinks);\r\n\r\n saveValue(newLinks);\r\n };\r\n\r\n return (\r\n \r\n {item}\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {renderLinks()}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nexport default function PrivacyText({\r\n className,\r\n resourceString,\r\n resourceStringLink,\r\n link\r\n}: {\r\n className: string;\r\n resourceString: string;\r\n resourceStringLink: string;\r\n link: string;\r\n}) {\r\n return (\r\n
    \r\n ${i18n.t(\r\n resourceStringLink\r\n )}`\r\n )\r\n .replace('.', '.
    ')\r\n }}\r\n />\r\n
    \r\n );\r\n}\r\n","export type Action

    = {\r\n type: string;\r\n payload: P;\r\n};\r\n\r\ninterface IActionCreator

    {\r\n type: string;\r\n (payload?: P): Action

    ;\r\n}\r\n\r\nexport function actionCreator

    (type: string): IActionCreator

    {\r\n return Object.assign((payload: P) => ({ type, payload }), {\r\n type\r\n });\r\n}\r\nexport function isType

    (action: Action, creator: IActionCreator

    ): action is Action

    {\r\n return action.type === creator.type;\r\n}\r\n","import { actionCreator, Action, isType } from './Action';\r\n\r\nexport const LOADING_STATES_NAMES = {\r\n COMPANY_SAVING: 'companySaving',\r\n COMPANY_LOADING: 'companyLoading'\r\n};\r\n\r\nexport interface LoadingState {\r\n jaePackages: boolean;\r\n jobPublishing: boolean;\r\n jobUpdating: boolean;\r\n jobCreation: boolean;\r\n discountCheckout: boolean;\r\n jobSaving: boolean;\r\n jobsLoading: boolean;\r\n changePassword: boolean;\r\n companySaving: boolean;\r\n companyLoading: boolean;\r\n copyingJob: boolean;\r\n candidateDeletion: boolean;\r\n discardEnable: boolean;\r\n acceptTradeConditions: boolean;\r\n}\r\n\r\nconst defaultState = {\r\n jaePackages: false,\r\n jobPublishing: false,\r\n jobUpdating: false,\r\n jobCreation: false,\r\n discountCheckout: false,\r\n jobSaving: false,\r\n jobsLoading: false,\r\n changePassword: false,\r\n companySaving: false,\r\n companyLoading: false,\r\n copyingJob: false,\r\n candidateDeletion: false,\r\n discardEnable: false,\r\n acceptTradeConditions: false\r\n};\r\n\r\nconst actions = {\r\n updateLoading: actionCreator<{ name: string, value: boolean }>('UPDATE_LOADING')\r\n};\r\n\r\nexport function reducer(state: LoadingState = defaultState, action: Action): LoadingState {\r\n if (isType(action, actions.updateLoading)) {\r\n return {\r\n ...state,\r\n [action.payload.name]: action.payload.value\r\n };\r\n }\r\n\r\n return state;\r\n}\r\n\r\nexport function updateLoadingState(name: keyof LoadingState, value: boolean) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.updateLoading({ name, value }));\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { notification } from 'antd';\r\nimport { actionCreator, Action, isType } from './Action';\r\n\r\nconst alertConfig = {\r\n duration: null,\r\n};\r\n\r\nexport interface ISnack { }\r\n\r\nexport interface MetadataModelState { }\r\n\r\nconst actions = {};\r\n\r\nexport function reducer(state: MetadataModelState = { snacks: [] }, action: Action): MetadataModelState {\r\n return state;\r\n}\r\n\r\nexport const actionCreators = {};\r\n\r\nexport function showSuccessSnak(text: string, description?: string | React.ReactNode, duration?: number, onClose?: () => void) {\r\n return () => {\r\n notification.success({\r\n ...alertConfig,\r\n duration: duration === undefined ? alertConfig.duration : duration,\r\n message: text,\r\n description,\r\n onClose,\r\n className: 'alert-success'\r\n });\r\n };\r\n}\r\n\r\nexport function showErrorSnak(text: string, description?: string | React.ReactNode, duration?: number, onClose?: () => void) {\r\n return () => {\r\n notification.error({\r\n ...alertConfig,\r\n duration: duration === undefined ? alertConfig.duration : duration,\r\n message: text,\r\n description,\r\n onClose,\r\n className: 'alert-error'\r\n });\r\n };\r\n}\r\n\r\nexport function showWarningSnak(text: string, description?: string | React.ReactNode, onClose?: () => void) {\r\n return () => {\r\n notification.warning({\r\n ...alertConfig,\r\n message: text,\r\n description,\r\n onClose,\r\n className: 'alert-warning'\r\n });\r\n };\r\n}\r\n","import { fetch, addTask } from 'domain-task';\r\nimport { Reducer } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport Api from '../cms/common/apiConstants';\r\nimport { Utils } from './../Utils/Utils';\r\nimport { ApiService } from '../services/apiService';\r\nimport { isFuture, isPast } from 'date-fns';\r\nimport { updateLoadingState } from './LoadingStore';\r\nimport { showErrorSnak, showSuccessSnak } from './MetadataStore';\r\nimport i18n from '../resources/i18n';\r\n\r\nexport enum JobAdStatuses {\r\n Draft = 0,\r\n Active = 1,\r\n Expired = 2,\r\n Deactivated = 3,\r\n Delete = 4,\r\n Future = 5,\r\n Archived = 6,\r\n AdminDelete = 7\r\n}\r\n\r\nexport interface IJobsListState {\r\n total: number;\r\n page: number;\r\n pageSize: number;\r\n count: number;\r\n results: IJob[];\r\n expanded: string[];\r\n modalShow: boolean;\r\n modalType: string;\r\n modalProps: any;\r\n joblistLoadedFirstTime: boolean;\r\n}\r\n\r\nexport interface IJob {\r\n backgroundImage: string;\r\n title: string;\r\n createDate: string;\r\n expiryDate: string;\r\n id: string;\r\n externalID: string;\r\n externalSource: string;\r\n category: string;\r\n jobType: string;\r\n position: string;\r\n condition: string;\r\n salaryFrom: number;\r\n salaryTo: number;\r\n salaryType: string;\r\n salaryCurrency: string;\r\n descriptions: string;\r\n contactName: string;\r\n contactPhone: string;\r\n contactEmail: string;\r\n locationAddress: string;\r\n locationZipCode: string;\r\n locationCity: string;\r\n locationCounty: string;\r\n locationCountry: string;\r\n internalReference: string;\r\n applicationMethod: number[];\r\n exportOptions: string[];\r\n companyID: string;\r\n companyName: string;\r\n companyAddress: string;\r\n companyCity: string;\r\n companyZipCode: string;\r\n companyCounty: string;\r\n companyCountry: string;\r\n companyEmail: string;\r\n companyPhone: string;\r\n companyWWW: string;\r\n siteId: string;\r\n status: number;\r\n url: string;\r\n urlHash: string;\r\n applicationUrl: string;\r\n companyVATIdentifier: string;\r\n productionUnitIdentifier: string;\r\n requestedPackageId: string;\r\n requestedPackageName: string;\r\n countryCode: string;\r\n activationDate: string;\r\n updateFlag: number;\r\n correlationId: string;\r\n candidateCount: number;\r\n locations: object[];\r\n isPublished?: boolean;\r\n}\r\n\r\ninterface IDeleteJobResponse {\r\n id: string;\r\n siteId: string;\r\n}\r\n\r\ninterface IDeactivateJobResponse {\r\n id: string;\r\n siteId: string;\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n\r\ninterface IReceiveJobsListAction {\r\n type: 'RECEIVE_JOBS_LIST';\r\n total: number;\r\n page: number;\r\n pageSize: number;\r\n count: number;\r\n results: IJob[];\r\n expanded: string[];\r\n}\r\n\r\ninterface ISetJobExpandState {\r\n type: 'SET_JOB_EXPAND_STATE';\r\n expanded: string[];\r\n}\r\n\r\ninterface IDeleteJob {\r\n type: 'DELETE_JOB';\r\n total: number;\r\n results: IJob[];\r\n}\r\n\r\ninterface IDeactivateJob {\r\n type: 'DEACTIVATE_JOB';\r\n results: IJob[];\r\n}\r\n\r\ninterface IActivateJob {\r\n type: 'ACTIVATE_JOB';\r\n results: IJob[];\r\n}\r\n\r\ninterface IToggleModal {\r\n type: 'TOGGLE_MODAL';\r\n modalType: string;\r\n modalProps: any;\r\n modalShow: boolean;\r\n}\r\n\r\ninterface IUpdateStatusJob {\r\n type: 'UPDATE_JOB_STATUS';\r\n results: IJob[];\r\n}\r\n\r\nconst SITE_ID = Api.siteId;\r\nconst SUBSCRIBER = '6a7e2428-004a-443a-a833-e2c4439dee8f';\r\n\r\ntype KnownAction =\r\n | IReceiveJobsListAction\r\n | ISetJobExpandState\r\n | IDeleteJob\r\n | IUpdateStatusJob\r\n | IActivateJob\r\n | IDeactivateJob\r\n | IToggleModal;\r\n\r\nexport const actionCreators = {\r\n requestJobsList: (props: {\r\n page: number, \r\n pagesize: number, \r\n status: JobAdStatuses, \r\n isMobile?: boolean, \r\n sortField?: string, \r\n sortOrder?: string}\r\n ) => async (dispatch: Function, getState: any) => {\r\n\r\n const {page, pagesize,status,isMobile, sortField,sortOrder} = props\r\n dispatch(updateLoadingState('jobsLoading', true));\r\n\r\n const state = getState();\r\n const jobsResponse = await ApiService.getJobs(page, pagesize, status, sortField, sortOrder);\r\n const loadedJobs = jobsResponse.results.filter((x) => x.status != 7);\r\n let jobsItems: IJob[];\r\n\r\n if (isMobile) {\r\n jobsItems = [\r\n ...state.jobsList.results,\r\n ...loadedJobs\r\n ];\r\n\r\n } else {\r\n jobsItems = loadedJobs;\r\n }\r\n\r\n dispatch({\r\n type: 'RECEIVE_JOBS_LIST',\r\n results: jobsItems,\r\n total: jobsResponse.total,\r\n page: jobsResponse.page,\r\n pageSize: jobsResponse.pageSize,\r\n count: jobsResponse.count,\r\n expanded: []\r\n });\r\n\r\n dispatch(updateLoadingState('jobsLoading', false));\r\n },\r\n\r\n updateJobStatus: (job: IJob, status: number): AppThunkAction => async (dispatch, getState) => {\r\n const currentJobs = getState().jobsList.results;\r\n const updatedJob = { ...job, status: status };\r\n await ApiService.updateJobStatus(updatedJob);\r\n const updatedJobs = currentJobs.map((j) => {\r\n if (j.id === job.id) {\r\n job.status = status;\r\n }\r\n return j;\r\n });\r\n dispatch({ type: 'UPDATE_JOB_STATUS', results: updatedJobs });\r\n },\r\n setSuperAdminDeleteStatus: (job: IJob): AppThunkAction => async (dispatch: (e)=>void, getState) => {\r\n let currentJobs = getState().jobsList.results;\r\n const updatedJob = { ...job, status: JobAdStatuses.AdminDelete };\r\n try {\r\n await ApiService.setSuperAdminDeleteStatus(updatedJob as any);\r\n currentJobs = currentJobs.filter((j) => {\r\n if (j.id !== job.id) {\r\n return j;\r\n }\r\n });\r\n dispatch({ type: 'UPDATE_JOB_STATUS', results: [...currentJobs] });\r\n //dispatch(showSuccessSnak(i18n.t(\"SUCCESS_MESSAGE_REQUEST_JAE_DELETE\")))\r\n } catch (error) {\r\n //dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_DELETE\")))\r\n }\r\n },\r\n setExpandState: (id: string): AppThunkAction => (dispatch, getState) => {\r\n const state = getState();\r\n const expanded = state.jobsList.expanded;\r\n let newExpanded;\r\n if (expanded.indexOf(id) > -1) {\r\n newExpanded = expanded.filter((i) => i !== id);\r\n } else {\r\n newExpanded = expanded.concat(id);\r\n }\r\n dispatch({ type: 'SET_JOB_EXPAND_STATE', expanded: newExpanded });\r\n },\r\n\r\n deleteJob: (job: IJob): AppThunkAction => (dispatch, getState) => {\r\n const currentResults = getState().jobsList.results;\r\n const headers = {\r\n method: 'DELETE',\r\n headers: Api.headerWithToken,\r\n body: JSON.stringify(job)\r\n };\r\n\r\n const headersOfir = {\r\n method: 'PUT'\r\n };\r\n\r\n if (job.status == 1) {\r\n const deleteJobOfir = fetch(Api.siteOptions.jobAdOfirCommands + '/depublish/' + job.id + '?subscriber=' + SUBSCRIBER, headersOfir);\r\n const deleteJob = fetch(Utils.stringFormat(Api.siteOptions.jobAdCommands, SITE_ID) + '/' + job.id, headers);\r\n\r\n return Promise.all([deleteJob, deleteJobOfir]).then((data) => {\r\n data[0].json().then((data) => {\r\n const newResults = currentResults.filter((i) => {\r\n return i.id != data.id;\r\n });\r\n const newTotal = getState().jobsList.total - 1;\r\n dispatch({ type: 'DELETE_JOB', results: newResults, total: newTotal });\r\n });\r\n });\r\n } else {\r\n const deleteJob = fetch(Utils.stringFormat(Api.siteOptions.jobAdCommands, SITE_ID) + '/' + job.id, headers);\r\n\r\n return Promise.all([deleteJob]).then((data) => {\r\n data[0].json().then((data) => {\r\n const newResults = currentResults.filter((i) => {\r\n return i.id != data.id;\r\n });\r\n const newTotal = getState().jobsList.total - 1;\r\n dispatch({ type: 'DELETE_JOB', results: newResults, total: newTotal });\r\n });\r\n });\r\n }\r\n },\r\n\r\n activateJob: (job: IJob): AppThunkAction => (dispatch: (e)=> void, getState) => {\r\n const currentResults = getState().jobsList.results;\r\n let activateJob;\r\n let activateJobOfir;\r\n\r\n if (isFuture(job.activationDate)) {\r\n job.status = JobAdStatuses.Future;\r\n } else if (isPast(job.expiryDate)) {\r\n job.status = JobAdStatuses.Expired;\r\n } else if (isPast(job.activationDate) && isFuture(job.expiryDate)) {\r\n job.status = JobAdStatuses.Active;\r\n } else {\r\n job.status = JobAdStatuses.Deactivated;\r\n }\r\n\r\n const headers = {\r\n method: 'PATCH',\r\n headers: Api.headerWithToken,\r\n body: JSON.stringify(job)\r\n };\r\n\r\n const headersOfir = {\r\n method: 'PUT'\r\n };\r\n\r\n activateJob = fetch(Utils.stringFormat(Api.siteOptions.jobAdCommands, SITE_ID) + '/' + job.id + '/updatestatus', headers);\r\n activateJobOfir = fetch(Api.siteOptions.jobAdOfirCommands + '/publish/' + job.id + '?subscriber=' + SUBSCRIBER, headersOfir);\r\n try { \r\n return Promise.all([activateJob, activateJobOfir]).then((data) => {\r\n data[0].json().then((data) => {\r\n const newResults = currentResults.map((i) => {\r\n if (i.id == data.id) {\r\n i.status = job.status;\r\n }\r\n return i;\r\n });\r\n dispatch({ type: 'ACTIVATE_JOB', results: newResults });\r\n dispatch(showSuccessSnak(i18n.t(\"SUCCESS_MESSAGE_REQUEST_JAE_ACTIVATE\")))\r\n });\r\n });\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_ACTIVATE\")))\r\n }\r\n },\r\n\r\n deactivateJob: (job: IJob): AppThunkAction => (dispatch: (e) => void, getState) => {\r\n const currentResults = getState().jobsList.results;\r\n let deactivateJob;\r\n let deactivateJobOfir;\r\n\r\n job.status = 3;\r\n\r\n const headers = {\r\n method: 'PATCH',\r\n headers: Api.headerWithToken,\r\n body: JSON.stringify(job)\r\n };\r\n\r\n const headersOfir = {\r\n method: 'PUT'\r\n };\r\n\r\n deactivateJob = fetch(Utils.stringFormat(Api.siteOptions.jobAdCommands, SITE_ID) + '/' + job.id + '/updatestatus', headers);\r\n deactivateJobOfir = fetch(Api.siteOptions.jobAdOfirCommands + '/depublish/' + job.id + '?subscriber=' + SUBSCRIBER, headersOfir);\r\n try {\r\n return Promise.all([deactivateJob, deactivateJobOfir]).then((data) => {\r\n data[0].json().then((data) => {\r\n const newResults = currentResults.map((i) => {\r\n if (i.id == data.id) {\r\n i.status = 3;\r\n }\r\n return i;\r\n });\r\n dispatch({ type: 'DEACTIVATE_JOB', results: newResults });\r\n dispatch(showSuccessSnak(i18n.t(\"SUCCESS_MESSAGE_REQUEST_JAE_DEACTIVATE\")))\r\n });\r\n });\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_DEACTIVATE\")))\r\n }\r\n },\r\n\r\n toggleModal: (show: boolean, modalType?: string, modalProps?: any): AppThunkAction => (dispatch, getState) => {\r\n const state = getState().jobsList;\r\n let props;\r\n let type;\r\n modalType ? (type = modalType) : (type = state.modalType);\r\n modalProps ? (props = modalProps) : (props = state.modalProps);\r\n dispatch({ type: 'TOGGLE_MODAL', modalType: type, modalProps: props, modalShow: show });\r\n }\r\n};\r\n\r\nconst unloadedState: IJobsListState = {\r\n results: [],\r\n total: 0,\r\n page: 0,\r\n pageSize: 0,\r\n count: 0,\r\n expanded: [],\r\n modalShow: false,\r\n modalProps: [],\r\n modalType: '',\r\n joblistLoadedFirstTime: false\r\n};\r\n\r\nexport const reducer: Reducer = (state: IJobsListState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'RECEIVE_JOBS_LIST':\r\n return {\r\n ...state,\r\n results: action.results,\r\n total: action.total,\r\n page: action.page,\r\n pageSize: action.pageSize,\r\n count: action.count,\r\n joblistLoadedFirstTime: true\r\n };\r\n case 'SET_JOB_EXPAND_STATE':\r\n return { ...state, expanded: action.expanded };\r\n case 'DEACTIVATE_JOB':\r\n return { ...state, results: action.results };\r\n case 'ACTIVATE_JOB':\r\n return { ...state, results: action.results };\r\n case 'UPDATE_JOB_STATUS':\r\n return { ...state, results: action.results };\r\n case 'DELETE_JOB':\r\n return { ...state, results: action.results, total: action.total };\r\n case 'TOGGLE_MODAL':\r\n return { ...state, modalShow: action.modalShow, modalType: action.modalType, modalProps: action.modalProps };\r\n\r\n default:\r\n // The following line guarantees that every action in the KnownAction union has been covered by a case above\r\n const exhaustiveCheck: never = action;\r\n }\r\n\r\n return state || unloadedState;\r\n};\r\n","enum PropertyNames {\r\n JOB_LIST_CUSTOM_FEED = 'JobListCustomFeed',\r\n JOB_LIST_HEADER_TEXT = 'JobListHeaderText',\r\n JOB_LIST_HEADER_TEXT_NO_JOBS = 'JobListHeaderTextNoJobs',\r\n JOB_LIST_CUSTOM_HEADER_TEXT = 'JobListCustomHeaderText',\r\n JOB_LIST_CUSTOM_HEADER_TEXT_NO_JOBS = 'JobListCustomHeaderTextNoJobs',\r\n JOB_LIST_CUSTOM_HEADER_ADDITIONAL_TEXT_NO_JOBS = 'JobListCustomHeaderAdditionalTextNoJobs',\r\n\r\n UNSOLICITED_FORM_BUTTON_TEXT = 'UnsolicitedFormButtonText'\r\n}\r\n\r\nexport { PropertyNames };\r\n","import moment from 'moment';\r\nimport { JobAdStatuses, IJob } from '../store/JobsListStore';\r\nimport { Utils } from './Utils';\r\nimport { OFIR_PROD_LINK, OFIR_TEST_LINK } from '../cms/common/constants';\r\nimport { ProductsData, ProductEntity } from '../cms/models/job/package';\r\nimport { ExtendedJobAdModel } from '../services/autorest/models';\r\nimport { JobAdModalEx } from '../cms/models/modelExtentions/JobAdModelEx';\r\nimport { ApiService } from '../services/apiService';\r\nimport i18n from '../resources/i18n';\r\nimport ApiConstants from '../cms/common/apiConstants';\r\n\r\nconst { Active, Future } = JobAdStatuses;\r\n\r\nexport class UtilsJob {\r\n public static async buildPublishJobAdModel(\r\n jobData: JobAdModalEx,\r\n props?: {\r\n logoFileName?: string,\r\n useEAN?: boolean,\r\n couponCode?: string,\r\n publishToOfir?: boolean\r\n }\r\n ): Promise {\r\n const w = window as any;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const initialData = w.initialize;\r\n const company = initialData.company;\r\n const companyLogoFileName = w.companyLogoFilename;\r\n const siteUrlOrigin = w.location.origin;\r\n const logoFile = jobData.logoId && await ApiService.getMediaLibraryImageById(jobData.logoId);\r\n const siteLanguage = w.SITE_CULTURE_CODE;\r\n const regionCode = company.countryCode;\r\n const linkToOriginalSite = window.location.origin;\r\n const pref = w.PREF;\r\n //const descriptionAddition = isOfirAdvertiser ? `Source: Ofir advertiser` : `\r\n const descriptionAddition = isOfirAdvertiser ? `` : `\r\n

    \r\n
    \r\n

    ${i18n.t('JAE_JOBAD_ADDED_TEXT_TO_DESCRIPTION')} ${linkToOriginalSite}${pref}

    \r\n
    \r\n `;\r\n\r\n if (!!!jobData.applicationUrl)\r\n delete jobData.applicationUrl;\r\n\r\n if (!!!jobData.companyPhone)\r\n delete jobData.companyPhone;\r\n\r\n if (!!!jobData.globalLocationNumber)\r\n delete jobData.globalLocationNumber;\r\n const publishJobAdModelRequest: ExtendedJobAdModel = {\r\n ...jobData,\r\n regionCode,\r\n customerRelationshipManagementId: company.externalId,\r\n companyVatNumber: company.vatnumber,\r\n fullDescription: `${jobData.description} ${descriptionAddition}`,\r\n customerType: isOfirAdvertiser ? \"OfirAdvertiser\" : \"CareerSite\",\r\n logoUrl: !!props?.logoFileName || !!logoFile?.id\r\n ? `${Utils.getCDNUrl()}${Utils.getSiteID()}/imagelibrary/${props?.logoFileName ? props?.logoFileName : logoFile.fileName}`\r\n : `${ApiConstants.siteOptions.fileStoreCDN}/${jobData.siteId}/Logo/${companyLogoFileName}`,\r\n originalSource: `${siteUrlOrigin}/job/${jobData.url}`,\r\n siteURL: siteUrlOrigin,\r\n siteLanguage,\r\n couponCode: props?.couponCode,\r\n useEAN: props.useEAN,\r\n username: Utils.getLogedInUserFullName(),\r\n userEmail: Utils.getLogedInUserEmail(),\r\n applicationMethod: [jobData.applicationMethodLocal],\r\n position: [jobData.positionLocal],\r\n applyMethod: parseInt(jobData.applyMethodLocal),\r\n numberOfVacancies: parseInt(jobData.numberOfVacanciesLocal) || jobData.numberOfVacancies,\r\n productionUnitIdentifier: jobData.pNumber,\r\n oldStatus: jobData.status,\r\n applicationMethodLocal: jobData.applicationMethodLocal,\r\n requestedPackageOverridePrice: jobData.requestedPackageOverridePrice,\r\n requestedPackageOverrideProducts: jobData.requestedPackageOverrideProducts,\r\n customerName: jobData.customerName,\r\n orderReference: jobData.orderReference,\r\n ogImageWidth: jobData.ogImageSize?.ogImageWidth,\r\n ogImageHeight: jobData.ogImageSize?.ogImageHeight,\r\n publishToOfir: props?.publishToOfir\r\n } as ExtendedJobAdModel;\r\n\r\n if (!!!jobData.logoId)\r\n delete publishJobAdModelRequest.logoId\r\n\r\n return publishJobAdModelRequest;\r\n }\r\n\r\n public static getPublishingJobStatus(activationDate: Date): number {\r\n const isFutureDate: boolean = moment(activationDate).isAfter(moment(), 'day');\r\n\r\n if (isFutureDate) {\r\n return Future;\r\n } else {\r\n return Active;\r\n }\r\n }\r\n\r\n public static getJobActivationDateWithCorrectTime(date: Date): Date {\r\n const now = moment();\r\n const activationDate = moment(date);\r\n const isFutureActivation = activationDate.isAfter(now, 'days');\r\n\r\n if (isFutureActivation) {\r\n return activationDate.startOf('day').toDate();\r\n }\r\n\r\n activationDate.set({\r\n hour: now.get('hour'),\r\n minute: now.get('minute'),\r\n second: now.get('second')\r\n });\r\n\r\n return activationDate.toDate();\r\n }\r\n\r\n public static getHandledJobDescription(description: string): string {\r\n return description.replace(/

    <\\/div>/gi, '
    ');\r\n }\r\n\r\n public static getJobPreviewLink(job: IJob, editMode?: boolean, syndication?: string): string {\r\n const w = window as any;\r\n const env = w.ENV;\r\n const pref = w.PREF;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n\r\n if ( editMode ) {\r\n return `${pref}/job/preview/${job.id}`;\r\n }\r\n\r\n if (syndication || isOfirAdvertiser) {\r\n\r\n const ofirBase = env === 'Production' ? OFIR_PROD_LINK : OFIR_TEST_LINK;\r\n const advertiserLink = `${ofirBase}/resultat/jobad.aspx?syndicationid=${syndication || job.externalID}`;\r\n\r\n return advertiserLink;\r\n }\r\n return `${pref}/job/${job.status == 1 ? job.url : 'preview/' + job.id}`;\r\n }\r\n\r\n public static isJobExtendExpired(date: string): boolean {\r\n const now = moment();\r\n const expiredDate = moment(date);\r\n const monthsDiff = now.diff(expiredDate, 'months');\r\n\r\n if (monthsDiff >= 3) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n public static isJobminTwoDays(date: string): boolean {\r\n const now = moment();\r\n const expiredDate = moment(date);\r\n const monthsDiff = now.diff(expiredDate, 'day');\r\n if (monthsDiff >= -14) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public static getDiscountProductData(data: ProductsData): ProductEntity {\r\n const { Recommendations } = data;\r\n const recomendationsData = Recommendations.Recommendation;\r\n const packageData = Array.isArray(recomendationsData) ? recomendationsData[0] : recomendationsData;\r\n const packageProducts = packageData.Products.Id;\r\n const lastProductId = packageProducts[packageProducts.length - 1];\r\n const products = Recommendations.Products.Product;\r\n\r\n return products.find((item: ProductEntity) => {\r\n return item.Item['@id'] === lastProductId;\r\n });\r\n }\r\n}\r\n","export const OFIR_PROD_LINK = 'https://www.ofir.dk';\r\nexport const OFIR_TEST_LINK = 'https://supernova.ofir.dk';\r\n","import { Api } from './api';\r\nimport ApiConstants, {createHeader, getAuthToken} from '../cms/common/apiConstants';\r\nimport {\r\n CandidateListFullModel,\r\n BranderoAPICandidatePatchNoteOptionalParams,\r\n Status,\r\n CandidateListShortModelCandidateListResult,\r\n CandidateListFullModelCandidateListResult,\r\n BranderoAPITemplateCreateOptionalParams,\r\n IFileModel,\r\n OriginalNameFileModel,\r\n BranderoAPISendTemplateEmailWithFilesOptionalParams,\r\n CssGeneratingResponseModel,\r\n ImageType,\r\n ResultViewModel,\r\n PutSiteViewModel,\r\n SiteCreateResult,\r\n IHaveSiteModel,\r\n BranderoAPISendTemplateEmailWithFileRefsOptionalParams,\r\n EmailSettingsFrequency,\r\n JobAdModel,\r\n MsgJobAd,\r\n PatchCandidateDetailsModel,\r\n InternalSiteCreationRequest,\r\n CandidateListShortModel,\r\n CreateCandidateModel,\r\n ChangePasswordViewModel,\r\n UpdateUserViewModel,\r\n CreateUserViewModel,\r\n BranderoAPIUpdateSiteOptionalParams,\r\n CreateNoteModelRequest,\r\n UpdateNoteModelRequest,\r\n NoteModel,\r\n ExtendedJobAdModel,\r\r\n GdprDataAgreementEmailRequestModel\n} from './autorest/models';\r\nimport { Utils } from '../Utils/Utils';\r\nimport { CompanyData } from '../cms/models/companyData';\r\nimport { IJob, IJobsListState, JobAdStatuses } from '../store/JobsListStore';\r\nimport { SiteData } from '../cms/models/siteData';\r\nimport { JobAdModalEx } from '../cms/models/modelExtentions/JobAdModelEx';\r\nimport { HandledHttpResponse } from '../cms/models/http';\r\nimport { UserListItem, UserRole } from '../cms/models/user/user';\r\nimport { JobSuggestionRequestData } from '../cms/models/job/jobAd';\r\nimport axios from \"axios\"\r\nimport i18n from '../resources/i18n';\r\nimport { UtilsJob } from '../Utils/UtilsJob';\r\nconst SITE_ID = typeof window == 'undefined' ? undefined : window['SITE_ID'];\r\n// TODO: Replace with actual subscriber id;\r\nconst SUBSCRIBER_ID = '6a7e2428-004a-443a-a833-e2c4439dee8f';\r\n\r\nconst companyData: CompanyData[] = [];\r\nconst siteData: SiteData[] = [];\r\ntype TUser = {\r\n firstName: string\r\n hashedPassword: string \r\n lastName: string\r\n notes: string\r\n phone: string\r\n roles: any[]\r\n userId: string\r\n userName: string\r\n}\r\n\r\nexport class ApiService {\r\n public static async getCompanyBySite(id?: string) {\r\n if (companyData.filter((x) => x.siteId == id).length > 0) {\r\n return companyData.filter((x) => x.siteId == id)[0];\r\n }\r\n const headers = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n try {\r\n const cd = (await (await fetch(Utils.stringFormat(ApiConstants.siteOptions.companyQueriesSingle, id ? id : SITE_ID), headers)).json()) as CompanyData;\r\n companyData.push(cd);\r\n return cd;\r\n } catch (error) {\r\n console.log(`company with site ${id} doesn't find`);\r\n }\r\n }\r\n public static async sendImageToSave(image:any){\r\n const siteId = Utils.getSiteID()\r\n const formData = new FormData();\r\n formData.append(\"Images\", image[0])\r\n formData.append(\"ImageType\", \"ImageLibrary\")\r\n const options = {\r\n method: 'POST',\r\n headers: {\r\n Authorization: 'Bearer ' + getAuthToken(),\r\n 'Access-Control-Allow-Origin': '*'\r\n },\r\n body: formData,\r\n \r\n };\r\n const url = `${ApiConstants.siteOptions.imagesCommands.replace(\"{0}\", siteId)}`;\r\n const cd = (await (await fetch(url, options)).json()) as any;\r\n return cd;\r\n }\r\n public static async updateImageDataToServer(image: any) {\r\n let cd = undefined;\r\n\r\n if (image.id) {\r\n const siteId = Utils.getSiteID()\r\n const options = {\r\n method: 'PATCH',\r\n headers: ApiConstants.headerWithToken,\r\n body: JSON.stringify(image)\r\n };\r\n const url = `${ApiConstants.siteOptions.imagesCommands.replace(\"{0}\", siteId)}/${image.id}`;\r\n cd = (await (await fetch(url, options)).json()) as any;\r\n }\r\n \r\n return cd;\r\n }\r\n public static async deleteImageDataFromServer(image:any){\r\n const siteId = Utils.getSiteID()\r\n const options = {\r\n method: 'DELETE',\r\n headers: ApiConstants.headerWithToken,\r\n };\r\n const url = `${ApiConstants.siteOptions.imagesCommands.replace(\"{0}\", siteId)}/${image.id}`;\r\n const cd = await fetch(url, options) as any;\r\n return cd;\r\n }\r\n public static async getImagesForJobAd(){\r\n const siteId = Utils.getSiteID()\r\n const headers = {\r\n method: 'GET',\r\n headers: {...ApiConstants.headerWithToken, \r\n 'Pragma': 'no-cache',\r\n 'Cache-Control': 'no-cache'\r\n },\r\n };\r\n const cd = (await (await fetch(Utils.stringFormat(ApiConstants.siteOptions.imagesQueries, siteId), headers)).json()) as any;\r\n return cd;\r\n }\r\n /*JOB STATISTIC START*/\r\n public static async getEntryIdForJobFromPhenix(id: string) {\r\n const url = `${ApiConstants.siteOptions.jobAdOfirCommands}/status/${id}?&subscriber=${SUBSCRIBER_ID}`;\r\n const cd = (await (await axios(url)).data);\r\n if (!cd) throw new Error(`Does not exist user ${id}`)\r\n return cd.Status.EntryId;\r\n }\r\n \r\n public static async getJobStatisticDetails(entryId: string) {\r\n const rv = await (await axios(ApiConstants.siteOptions.jobAdOfirCommands.replace(\"jobad\", `jobad/entryInfo/${entryId}?subscriber=${SUBSCRIBER_ID}`))).data;\r\n return rv;\r\n }\r\n public static async getEntryStatisticTotal(id: string, startDate?:string, endDate?:string) {\r\n const data = await new Api(`${ApiConstants.siteOptions.analiticQuery}/EntryStatistic`).entryStatisticSummationByEntryId(id, {startDate, endDate}); \r\n return data;\r\n }\r\n public static async getEntryStatistic(id: string, startDate?:string, endDate?:string) {\r\n const data = await new Api(`${ApiConstants.siteOptions.analiticQuery}/EntryStatistic`).entryStatisticGetStatisticsByEntryId(id, {startDate, endDate}); \r\n return data;\r\n }\r\n public static async getSocialStatisticTotal(id: string, startDate?:string, endDate?:string) {\r\n const data = await new Api(`${ApiConstants.siteOptions.analiticQuery}/SocialMediaStatistic/Total`).socialMediaStatisticTotalByEntryID(id, {startDate, endDate}); \r\n return data;\r\n }\r\n public static async getSocialStatistic(id: string, startDate?:string, endDate?:string) {\r\n const data = await new Api(`${ApiConstants.siteOptions.analiticQuery}/SocialMediaStatistic`).socialMediaStatisticByEntryID(id, {startDate, endDate}); \r\n return data;\r\n }\r\n /*JOB STATISTIC END*/\r\n public static async getSitesCollection(userId?: string): Promise {\r\n const myUserId= Utils.getLogedInUserData().userId;\r\n const guids = (await(await fetch(Utils.stringFormat(ApiConstants.siteOptions.auth, userId ? userId : myUserId), {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken,\r\n })).json());\r\n const response = (await(await fetch(`${ApiConstants.siteOptions.siteQueries}/ByIds`, {\r\n method: 'POST',\r\n body: JSON.stringify(guids),\r\n headers: ApiConstants.headerWithToken,\r\n })).json());\r\n\r\n return response;\r\n };\r\n public static async getCvrData( pNumber: string | number, country: \"dk\" | \"no\" = \"dk\"){\r\n const svrUrl = window.location.host.split(\".\")[1] == \"ofir\" ? \"https://api.ofir.dk/Endpoints/DK\" : \"https://stageapi.ofir.dk/Endpoints/DK\";\r\n try {\r\n const rv = await fetch(`${svrUrl}?search=${pNumber}`, {\r\n method: \"GET\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n })\r\n return await rv.json()\r\n } catch (error) {\r\n return false;\r\n } \r\n }\r\n public static async getSiteById(id: string) {\r\n const headers = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n const sd = (await (await fetch(`${ApiConstants.siteOptions.siteQueries}/byid/${id}`, headers)).json()) as SiteData;\r\n siteData.push(sd);\r\n return sd;\r\n }\r\n public static async getUserByEmail(email: string): Promise {\r\n const siteId = Utils.getSiteID();\r\n try {\r\n const data = await new Api(ApiConstants.siteOptions.userQueries).usersGetUsersAsync({searchIn: \"email\", searchFor: email, siteId }) as any; \r\n return data[0]\r\n } catch (error) {\r\n return undefined\r\n }\r\n }\r\n public static async getUserByName(email: string): Promise {\r\n const headers = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n \r\n try {\r\n return (await (await fetch(`${ApiConstants.siteOptions.userQueries}/ByName/${email}`, headers)).json()) as TUser;\r\n } catch (error) {\r\n }\r\n }\r\n\r\n public static async updateJobStatus(job: IJob) {\r\n const headers = {\r\n method: 'PATCH',\r\n headers: ApiConstants.headerWithToken,\r\n body: JSON.stringify(job)\r\n };\r\n return (await (await fetch(`${Utils.stringFormat(ApiConstants.siteOptions.jobAdCommands, SITE_ID)}/${job.id}/updatestatus`, headers)).json()) as IJob;\r\n }\r\n\r\n public static async setSuperAdminDeleteStatus(jobad: MsgJobAd) {\r\n return new Api(ApiConstants.siteOptions.jobAdCommands).setSuperAdminDeleteStatus(SITE_ID, jobad.id, jobad);\r\n }\r\n\r\n public static async getEmailFrequencySettings(companyId: string) {\r\n return new Api(ApiConstants.siteOptions.emailQueryFrequency).getEmailFrequencySettings(SITE_ID, companyId);\r\n }\r\n\r\n public static async setEmailFrequencySettings(companyId: string, frequency: EmailSettingsFrequency) {\r\n return new Api(ApiConstants.siteOptions.emailCommandFrequency).setEmailFrequency(SITE_ID, companyId, { frequency });\r\n }\r\n\r\n public static async getCandidateTemplate(templateId: string) {\r\n return new Api(ApiConstants.siteOptions.emailQueries).getEmailTemplate(SITE_ID, templateId);\r\n }\r\n\r\n public static async getUserTemplate(templateId: string) {\r\n return new Api(ApiConstants.siteOptions.emailTemplatesQueries).getTemplate(SITE_ID, templateId);\r\n }\r\n\r\n public static async addUserTemplate(model: any) {\r\n return new Api(ApiConstants.siteOptions.emailTemplatesCommands).templateCreate(SITE_ID, { body: model } as BranderoAPITemplateCreateOptionalParams);\r\n }\r\n\r\n public static async updateUserTemplate(model: any, templateId: string) {\r\n return new Api(ApiConstants.siteOptions.emailTemplatesCommands).templateUpdate(SITE_ID, templateId, { body: model } as BranderoAPITemplateCreateOptionalParams);\r\n }\r\n\r\n public static async deleteUserTemplate(templateId: string) {\r\n return new Api(ApiConstants.siteOptions.emailTemplatesCommands).templateDelete(SITE_ID, templateId);\r\n }\r\n\r\n public static async getEmailTemplatesList() {\r\n return new Api(ApiConstants.siteOptions.emailTemplatesQueries).getTemplates(SITE_ID);\r\n }\r\n\r\n public static async addUnsolicitedCandidate(\r\n name: string,\r\n description: string,\r\n educationLevel: string,\r\n email: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n urls: string[],\r\n wantedJobTitle: string,\r\n files: IFileModel[]\r\n ): Promise {\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n const orgFiles = files.map((x) => {\r\n return { fileGuid: x.filename, originalName: x.originalFilename } as OriginalNameFileModel;\r\n });\r\n const response = await new Api(ApiConstants.siteOptions.candidateListCommands).candidateCreate(\r\n SITE_ID,\r\n company.id,\r\n '00000000-0000-0000-0000-000000000000',\r\n {\r\n name,\r\n companyId: company.id,\r\n description,\r\n educationLevel,\r\n email,\r\n experienceYears,\r\n siteId: SITE_ID,\r\n files: orgFiles,\r\n jobId: '00000000-0000-0000-0000-000000000000',\r\n latestJobTitle,\r\n phoneNumber,\r\n urls,\r\n wantedJobTitle,\r\n status: Status.New,\r\n tags: []\r\n }\r\n );\r\n\r\n return response;\r\n }\r\n\r\n public static async sendEmailWithFilesTemplate(\r\n email: string,\r\n subject: string,\r\n replyTo: string,\r\n templateName: string,\r\n files: any[],\r\n templateReplaceItems: string\r\n ) {\r\n const companyId = (await ApiService.getCompanyBySite(SITE_ID)).id;\r\n\r\n const response = await new Api(ApiConstants.siteOptions.emailCommandWithFiles).sendTemplateEmailWithFiles(SITE_ID, companyId, email, subject, {\r\n replyTo,\r\n templateName,\r\n files,\r\n templateReplaceItems\r\n } as BranderoAPISendTemplateEmailWithFilesOptionalParams);\r\n }\r\n\r\n public static async SendTemplateEmailWithFileRefs(\r\n email: string,\r\n subject: string,\r\n replyTo: string,\r\n templateName: string,\r\n files: string,\r\n templateReplaceItems: string,\r\n senderName: string\r\n ) {\r\n const companyId = (await ApiService.getCompanyBySite(SITE_ID)).id;\r\n const response = await new Api(ApiConstants.siteOptions.emailCommandWithFileRefs).sendTemplateEmailWithFileRefs(SITE_ID, companyId, email, subject, {\r\n replyTo,\r\n templateName,\r\n files,\r\n templateReplaceItems,\r\n senderName\r\n } as BranderoAPISendTemplateEmailWithFileRefsOptionalParams);\r\n }\r\n\r\n public static sendGDPRDataAgreement = async (body: GdprDataAgreementEmailRequestModel) => {\r\n return await new Api(ApiConstants.siteOptions.emailCommands).sendGDPRDataAgreementWithHttpOperationResponse({ body });\r\n }\r\n\r\n public static async getCandidatesByJobId(\r\n jobid: string,\r\n searchValue: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: any,\r\n sortField: string,\r\n sortOrder: string,\r\n page: number,\r\n pageSize: number\r\n ): Promise {\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n const response = await new Api(ApiConstants.siteOptions.candidateListQueries).getCandidatesByJobId(SITE_ID, jobid, company.id, {\r\n status: statusFilterValue,\r\n searchValue,\r\n sortField,\r\n sortOrder: sortOrder === 'DESC' ? 1 : 0,\r\n pageSize,\r\n page,\r\n excludeDeleted: !includeDeletedStatus\r\n });\r\n\r\n const itemsCount = (response as CandidateListShortModelCandidateListResult).total;\r\n const candidateList = (response as CandidateListShortModelCandidateListResult).candidateList;\r\n\r\n return { candidateList, total: +itemsCount };\r\n }\r\n\r\n public static async sendEmailCandidateList(headers: RequestInit) {\r\n await fetch(ApiConstants.siteOptions.emailCommands, headers); //.then(() => this.setState({ isDone: true, isWaiting: false }));\r\n }\r\n\r\n public static async sendCandidateEmails(emails: any[]): Promise {\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n return new Api(ApiConstants.siteOptions.emailCommands).sendTEmplateEmail(SITE_ID, company.id, emails);\r\n }\r\n\r\n public static async candidateDetailsUpdate(patchCandidateEmailModel: PatchCandidateDetailsModel): Promise {\r\n try {\r\n await new Api(ApiConstants.siteOptions.candidateListCommands).candidateDetailsUpdate(\r\n SITE_ID,\r\n patchCandidateEmailModel.companyId,\r\n patchCandidateEmailModel\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n public static async updateCandidateStatus(selectedStatus: string, items: CandidateListFullModel[], jobId?: string): Promise {\r\n try {\r\n const changes = items.map((x) => {\r\n return { candidateId: x.id, status: Status[selectedStatus], jobId };\r\n });\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n\r\n await new Api(ApiConstants.siteOptions.candidateListCommands).candidatePatchStatus(SITE_ID, company.id, {\r\n changes\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n public static async addCandidateNote(candidateId: string, createNoteModel: CreateNoteModelRequest): Promise {\r\n return await new Api(ApiConstants.siteOptions.candidateListCommands).candidateAddNote(SITE_ID, candidateId, createNoteModel);\r\n }\r\n\r\n public static async updateCandidateNote(candidateId: string, noteId: string, updateNoteModel: UpdateNoteModelRequest): Promise {\r\n return await new Api(ApiConstants.siteOptions.candidateListCommands).candidateUpdateNote(SITE_ID, candidateId, noteId, updateNoteModel);\r\n }\r\n\r\n public static async deleteCandidateNote(candidateId: string, noteId: string): Promise {\r\n try {\r\n return await new Api(ApiConstants.siteOptions.candidateListCommands).candidateDeleteNote(SITE_ID, candidateId, noteId);\r\n } catch (error) {\r\n return undefined;\r\n }\r\n }\r\n\r\n public static async uploadImage(files: any[], type: ImageType): Promise {\r\n return new Api(ApiConstants.siteOptions.imageCommands).uploadNewImage(SITE_ID, files, type as any);\r\n }\r\n\r\n public static async updateSite(model: PutSiteViewModel, isValidateHost: boolean = true): Promise {\r\n const options: BranderoAPIUpdateSiteOptionalParams = {\r\n isValidateHost: isValidateHost\r\n };\r\n\r\n return new Api(ApiConstants.siteOptions.siteCommands).updateSite(SITE_ID, model, options);\r\n }\r\n\r\n public static async getCustomerByCustomerId(customerId: number) {\r\n return new Api(ApiConstants.siteOptions.customerQuery).getCustomerByCustomerId(customerId);\r\n }\r\n\r\n public static async getCandidateById(companyId: string, candidateId: string): Promise {\r\n const response = await new Api(ApiConstants.siteOptions.candidateListQueries).getCandidateById(SITE_ID, companyId, candidateId);\r\n\r\n const itemsCount = (response as CandidateListFullModelCandidateListResult).total;\r\n const candidateList = (response as CandidateListFullModelCandidateListResult).candidateList;\r\n return { candidateList, total: +itemsCount };\r\n }\r\n public static async getJobPackagesForUpdate(jae: any, couponCode: string){\r\n const w = window as any;\r\n const initialData = w.initialize;\r\n const company = initialData.company; \r\n try {\r\n const rv = await axios(ApiConstants.siteOptions.jobAdOfirCommands.replace(\"jobad\", `commerce/upgraderecommendations/${company.externalId}?subscriber=${SUBSCRIBER_ID}&externalId=${jae.id}&customerType=${Utils.isUserOfirAdvertiser() ? \"OfirAdvertiser\" : \"CareerSite\"}${couponCode ? `&couponCode=${couponCode}` : \"\"}${Utils.isSuperAdmin() ? `&allowDowngrade=true` : \"\"}`), {\r\n method: \"GET\",\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n const data = await rv.data;\r\n return data\r\n } catch (error) {}\r\n }\r\n public static async generateCssAndSaveItToSharedFolder(\r\n bodyFont: string,\r\n color: string,\r\n cssFileName: string,\r\n newSiteId: string\r\n ): Promise {\r\n return new Api(ApiConstants.siteOptions.cssCommands).generateCssAndSaveItToSharedFolder(newSiteId, {\r\n bodyFont,\r\n color,\r\n cssFileName\r\n });\r\n }\r\n\r\n public static async uploadImageFileOnlyForSiteCreation(newSiteId: string, images: any[], imageType: ImageType): Promise {\r\n const r = await new Api(ApiConstants.siteOptions.imageCommands).uploadNewImageOnlyForSiteCreation(newSiteId, images, imageType);\r\n return r;\r\n }\r\n\r\n public static async CreateSite(site: InternalSiteCreationRequest): Promise {\r\n const r = await new Api(ApiConstants.siteOptions.siteCreation).internalSiteCreationV2(site);\r\n return r;\r\n }\r\n\r\n public static async getSiteByHost(host: string): Promise {\r\n const r = await new Api(ApiConstants.siteOptions.siteQueries).getSiteByHost(host);\r\n return r;\r\n }\r\n\r\n public static async deleteCandidateById(candidateId: string) {\r\n try {\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n // const result = await new Api(ApiConstants.siteOptions.candidateListCommands).candidateStatusUpdate(SITE_ID, company.id, candidateId);\r\n // TODO: Fix method\r\n // return result.json();\r\n return {};\r\n } catch (error) {\r\n return error;\r\n }\r\n }\r\n\r\n public static async getJobById(id: string) {\r\n const headers = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n return (await (await fetch(`${Utils.stringFormat(ApiConstants.siteOptions.jobAdQueries, SITE_ID)}/${id}`, headers)).json()) as JobAdModel;\r\n }\r\n public static async getMediaLibraryImageById(id: string) {\r\n const options = {\r\n method: 'GET',\r\n headers: {\r\n Authorization: 'Bearer ' + getAuthToken(),\r\n 'Access-Control-Allow-Origin': '*'\r\n },\r\n };\r\n const url = `${ApiConstants.siteOptions.imagesQueries.replace(\"{0}\", SITE_ID)}/${id}`;\r\n try {\r\n const response = await fetch(url, options);\r\n\r\n if (response.ok) {\r\n const cd = await response.json();\r\n return cd;\r\n }\r\n } catch {\r\n \r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static async setJobStatus(job: JobAdModalEx | ExtendedJobAdModel, status: number) {\r\n const jobStatusRequestData = {\r\n ...job,\r\n status\r\n } as ExtendedJobAdModel;\r\n var result = await new Api(ApiConstants.siteOptions.jobAdCommands).jobAdUpdateStatus(SITE_ID, jobStatusRequestData.id, jobStatusRequestData);\r\n return result;\r\n }\r\n public static async findJobTitles(value: string, limit?: number){\r\n const rv = await (await fetch(ApiConstants.siteOptions.jobAdOfirCommands.replace(\"jobad\", `autoCompleteJobtitles?q=${value}&subscriber=${SUBSCRIBER_ID}${limit ? `&max=${limit}` : \"\"}`))).json()\r\n return rv; \r\n }\r\n public static async findJobCategory(){\r\n const rv = await (await fetch(ApiConstants.siteOptions.jobAdOfirCommands.replace(\"jobad\", `JobCategories?&subscriber=${SUBSCRIBER_ID}`))).json()\r\n return rv; \r\n }\r\n\r\n public static async findAreaLocation() {\r\n const rv = await (await fetch(ApiConstants.siteOptions.jobAdOfirQueriesAreaLocation.replace(\"{0}\", SUBSCRIBER_ID))).json();\r\n return rv;\r\n }\r\n\r\n public static async saveJob(data: JobAdModalEx, publishChanges?: boolean, newId?: string) {\r\n const requestData = { ...data };\r\n requestData.applicationMethod = [data.applicationMethodLocal || 0];\r\n requestData.position = [data.positionLocal || ''];\r\n requestData.applyMethod = parseInt(data.applyMethodLocal) || 0;\r\n requestData.numberOfVacancies = parseInt(data.numberOfVacanciesLocal) || 0;\r\n requestData.productionUnitIdentifier = data.pNumber;\r\n if (!!!data.logoId){\r\n delete requestData.logoId\r\n }\r\n if (!requestData.id) {\r\n const jobId = (newId) ? newId : Utils.generateGuid();\r\n requestData.id = jobId;\r\n requestData.siteId = SITE_ID;\r\n\r\n return await new Api(ApiConstants.siteOptions.jobAdCommands).createJobAd(SITE_ID, jobId, requestData as any);\r\n }\r\n\r\n const updateJobAdModel = await UtilsJob.buildPublishJobAdModel(data, { publishToOfir: publishChanges, useEAN: data.useEAN });\r\n return await ApiService.updateActiveJobAd(updateJobAdModel);\r\n }\r\n public static async updateActiveJobAd(job: JobAdModalEx | ExtendedJobAdModel) {\r\n var result = await new Api(ApiConstants.siteOptions.jobAdCommands).updateJobAd(job.siteId, job.id, job as ExtendedJobAdModel);\r\n return result;\r\n }\r\n public static async getPackagesRecomendationByName(recName: string){\r\n const url = `${ApiConstants.siteOptions.jobAdOfirQueries}/default?subscriber=${SUBSCRIBER_ID}&jobtitle=${recName}`;\r\n\r\n const response = (await (await fetch(url, {\r\n method: \"GET\",\r\n headers: {\r\n Authorization: 'Bearer ' + getAuthToken() || '',\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n })).json())\r\n return response;\r\n }\r\n public static async getJobPackages(data: JobAdModalEx, couponCode: string) {\r\n const w = window as any;\r\n const initialData = w.initialize;\r\n const company = initialData.company;\r\n const position = data.positionLocal || '';\r\n const requestData = {\r\n PostalCode: data.locationZipCode,\r\n JobTitle: position,\r\n Title: data.title,\r\n JobCategories: data.category.toString(),\r\n CustomerRelationshipManagementId: company.externalId,\r\n CouponCode: couponCode,\r\n CustomerType: Utils.isUserOfirAdvertiser() ? \"OfirAdvertiser\" : \"CareerSite\",\r\n Description: data.description\r\n };\r\n const headers = createHeader(true); \r\n const url = `${ApiConstants.siteOptions.jobAdOfirQueries}?subscriber=${SUBSCRIBER_ID}`;\r\n const response = (await (await fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Authorization: 'Bearer ' + getAuthToken() || '',\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(requestData)\r\n })).json())\r\n return response\r\n }\r\n\r\n public static async checkCouponCode(couponCode: string) {\r\n const requestData = {\r\n CouponCode: couponCode,\r\n CustomerType: Utils.isUserOfirAdvertiser() ? \"OfirAdvertiser\" : \"CareerSite\"\r\n };\r\n const headers = createHeader(true);\r\n const url = `${ApiConstants.siteOptions.jobAdOfirQueries}?subscriber=${SUBSCRIBER_ID}`;\r\n const response = (await (await fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Authorization: 'Bearer ' + getAuthToken() || '',\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(requestData)\r\n })).json())\r\n return response\r\n }\r\n\r\n public static async publishJob(jobData: JobAdModalEx, couponCode: string, useEAN?: boolean, update?: boolean, logoFileName?: string) {\r\n const w = window as any;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const initialData = w.initialize;\r\n const company = initialData.company;\r\n const companyLogoFileName = w.companyLogoFilename;\r\n const siteUrlOrigin = w.location.origin;\r\n const requestTerms = jobData.jobType.concat(jobData.condition);\r\n const logoFile = jobData.logoId && await ApiService.getMediaLibraryImageById(jobData.logoId);\r\n const loggedUserData = Utils.getLogedInUserData();\r\n const siteLanguage = w.SITE_CULTURE_CODE;\r\n const applicationType = Utils.getApplicationTypeByMethod(jobData.applicationMethodLocal);\r\n const regionCode = company.countryCode;\r\n // TODO: Add dynamic data\r\n const callingCode = '+45';\r\n const linkToOriginalSite = window.location.origin;\r\n //const descriptionAddition = isOfirAdvertiser ? `Source: Ofir advertiser` : `\r\n const descriptionAddition = isOfirAdvertiser ? `` : `\r\n
    \r\n
    \r\n

    ${i18n.t('JAE_JOBAD_ADDED_TEXT_TO_DESCRIPTION')} ${linkToOriginalSite}

    \r\n
    \r\n `;\r\n const applicationMethodEmail = isOfirAdvertiser && +jobData.applicationMethodLocal == 0 || +jobData.applicationMethodLocal == 4 ? {\r\n Name: jobData.companyContactPerson,\r\n EmailAddress: jobData.companyEmail\r\n } : null;\r\n //const applicationMethodLinkAddress = `${siteUrlOrigin}/job/${jobData.url}#${applicationType}`;\r\n // isOfirAdvertiser ? jobData.applicationUrl : `${siteUrlOrigin}/job/${jobData.url}#${applicationType}`;\r\n\r\n const applicationMetodLinkAddress = jobData.applicationMethodLocal === 1 ? jobData.applicationUrl : `${siteUrlOrigin}/job/${jobData.url}#${applicationType}`;\r\n const applicationMethodLink = { Title: jobData.title, Address: applicationMetodLinkAddress };\r\n\r\n // isOfirAdvertiser && +jobData.applicationMethodLocal != 1 ? null : {\r\n // Title: jobData.title,\r\n // Address: `${applicationMethodLinkAddress}`\r\n // };\r\n const applicationMethodPostalName = isOfirAdvertiser && +jobData.applicationMethodLocal == 3 ? jobData.companyName : \"\";\r\n const applicationMethodPostalAttention =isOfirAdvertiser && +jobData.applicationMethodLocal == 3 ? jobData.contactName : \"\";\r\n const pNumberData = isOfirAdvertiser && !jobData.pNumber ? null : {\r\n TwoLetterIsoRegionName: regionCode,\r\n Value: jobData.pNumber\r\n };\r\n\r\n const requestBody = {\r\n ExternalId: jobData.id,\r\n PackageId: jobData.requestedPackageId,\r\n CustomerRelationshipManagementId: company.externalId,\r\n ValueAddedTaxIdentificationNumber: {\r\n TwoLetterIsoRegionName: regionCode,\r\n Value: company.vatnumber\r\n },\r\n Title: jobData.title,\r\n Description: `${jobData.description} ${descriptionAddition}`,\r\n Author: {\r\n Title: '',\r\n PhoneNumbers: [\r\n {\r\n CallingCode: callingCode,\r\n Value: jobData.contactPhone,\r\n Type: 'Voice'\r\n }\r\n ],\r\n Name: jobData.contactName,\r\n EmailAddress: jobData.contactEmail\r\n },\r\n OverridePrice: jobData.requestedPackageOverridePrice,\r\n OverrideProducts: jobData.requestedPackageOverrideProducts,\r\n OrderConfirmationContact: {\r\n Name: Utils.getLogedInUserFullName(),\r\n EmailAddress: loggedUserData.email\r\n },\r\n CustomerType: Utils.isUserOfirAdvertiser() ? \"OfirAdvertiser\" : \"CareerSite\",\r\n CommercialContact: {\r\n Title: '',\r\n PhoneNumbers: [\r\n {\r\n CallingCode: callingCode,\r\n Value: '',\r\n Type: 'Voice'\r\n }\r\n ],\r\n Name: jobData.commercialContactName,\r\n EmailAddress: jobData.commercialContact\r\n },\r\n GlobalLocationNumber: {\r\n TwoLetterIsoRegionName: regionCode,\r\n Value: jobData.globalLocationNumber\r\n },\r\n AccountingCustomer: {\r\n CustomerRelationshipManagementId: jobData.companyCommercialExternalId,\r\n GlobalLocationNumber: {\r\n TwoLetterIsoRegionName: regionCode,\r\n Value: jobData.globalLocationNumber\r\n },\r\n ValueAddedTaxIdentificationNumber: {\r\n TwoLetterIsoRegionName: regionCode,\r\n Value: jobData.companyCommercialVatNumber\r\n },\r\n CompanyName: jobData.companyName,\r\n Contact: {\r\n Name: jobData.companyCommercialContactName,\r\n EmailAddress: jobData.companyCommercialContact\r\n } \r\n },\r\n PublicationDate: jobData.activationDate,\r\n PublicationExpirationDate: jobData.expiryDate,\r\n JobTitle: jobData.positionLocal,\r\n JobCategories: jobData.category.join(', '),\r\n TermsOfEmployments: requestTerms.join(', '),\r\n AdvertiserName: jobData.companyName,\r\n AdvertiserAddress: {\r\n Street: jobData.locationAddress,\r\n PostalCode: jobData.locationZipCode,\r\n PostalCity: jobData.locationCity,\r\n TwoLetterIsoRegionName: regionCode\r\n },\r\n NumberOfVacancies: jobData.numberOfVacanciesLocal,\r\n ProductionUnitIdentifier: pNumberData,\r\n ApplicationMethodLink: applicationMethodLink,\r\n \r\n ApplicationMethodPostalAddress: {\r\n TwoLetterIsoRegionName: regionCode,\r\n Street: jobData.companyAddress,\r\n PostalCode: jobData.companyZipCode,\r\n PostalCity: jobData.companyCity\r\n },\r\n ApplicationMethodPostalName: `${applicationMethodPostalName}`,\r\n ApplicationMethodPostalAttention: `${applicationMethodPostalAttention}`,\r\n OrderComment: '',\r\n LogoUrl: !!logoFileName || !!logoFile?.id ?\r\n `${Utils.getCDNUrl()}customer/${Utils.getSiteID()}/imagelibrary/${logoFileName ? logoFileName : logoFile.fileName}` :\r\n `${ApiConstants.siteOptions.fileStoreCDN}/${jobData.siteId}/Logo/${companyLogoFileName}`,\r\n OriginalSource: `${siteUrlOrigin}/job/${jobData.url}`,\r\n SiteURL: siteUrlOrigin,\r\n SiteLanguage: siteLanguage,\r\n ApplicationForm: jobData.applyMethodLocal,\r\n ApplicationMethodEmail: applicationMethodEmail,\r\n CouponCode: couponCode,\r\n UserHostAddress: '0.0.0.0',\r\n SuperUserId: Utils.getLogedInUserEmail()\r\n };\r\n\r\n if (!Utils.isSuperAdmin) {\r\n delete requestBody.SuperUserId;\r\n }\r\n\r\n if (!useEAN) {\r\n delete requestBody.GlobalLocationNumber;\r\n delete requestBody.AccountingCustomer.GlobalLocationNumber;\r\n }\r\n\r\n\r\n if (useEAN && !jobData.companyCommercialExternalId &&\r\n !jobData.companyCommercialContactName &&\r\n !jobData.companyCommercialContact ) {\r\n \r\n delete requestBody.AccountingCustomer\r\n }\r\n\r\n if(\r\n !jobData.companyCommercialExternalId &&\r\n !jobData.globalLocationNumber &&\r\n !jobData.companyCommercialContactName &&\r\n !jobData.companyCommercialContact \r\n ){\r\n\r\n delete requestBody.AccountingCustomer\r\n }\r\n\r\n\r\n const requestOptions = {\r\n method: update ? 'PUT' : 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(requestBody)\r\n };\r\n\r\n const url = `${ApiConstants.siteOptions.jobAdOfirCommands}?subscriber=${SUBSCRIBER_ID}`;\r\n\r\n const response = await fetch(url, requestOptions);\r\n\r\n return response.json();\r\n }\r\n\r\n public static async updatePublishedJobInOfir(jobAdExternalId: string) {\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n\r\n const url = `${ApiConstants.siteOptions.jobAdOfirCommands}/removerelation/${jobAdExternalId}?subscriber=${SUBSCRIBER_ID}`;\r\n\r\n const response = await fetch(url, requestOptions);\r\n return response.ok;\r\n }\r\n\r\n public static async getJobOrderData(jobId: string) {\r\n // const url = ApiConstants.siteOptions.jobAdOfirQueriesOrder.replace('{0}', jobId).replace('{1}', SUBSCRIBER_ID);\r\n // const response = await (await fetch(url)).json();\r\n const urlHistory = `${ApiConstants.siteOptions.jobAdOfirQueriesOrder.replace('{0}', jobId).replace('?subscriber={1}', \"\")}/history?subscriber=${SUBSCRIBER_ID}`;\r\n const responseHistory = await (await fetch(urlHistory)).json();\r\n return responseHistory;\r\n }\r\n\r\n public static async getActiveJobs(): Promise {\r\n const url = `${ApiConstants.siteOptions.jobAdQueryFiltered.replace('{0}', SITE_ID)}?page=1&pagesize=25&status=1`;\r\n const response = await fetch(url);\r\n const result = await response.json();\r\n\r\n return result;\r\n }\r\n\r\n public static async getJobs(page: number, pagesize: number, status: JobAdStatuses, sortField?: string, sortOrder?:string): Promise {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n const sortedQuery = sortField && sortOrder ? `&sortField=${sortField}&sortOrder=${sortOrder}` : \"\"\r\n const url = `${Utils.stringFormat(ApiConstants.siteOptions.jobAdQueryFiltered, SITE_ID)}?page=${page}&pagesize=${pagesize}&status=${status}${sortedQuery}`;\r\n const response = await fetch(url, requestOptions);\r\n const result = await response.json();\r\n\r\n return result;\r\n }\r\n\r\n public static async checkCvrNumber(cvrNumber: string): Promise> {\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n };\r\n let responseBody: HandledHttpResponse;\r\n\r\n const url = `https://stageapi.ofir.dk/Endpoints/DK?search=${cvrNumber}`;\r\n\r\n const response = await fetch(url, requestOptions);\r\n const result = await response.json();\r\n\r\n if (!result.valueAddedTaxId) {\r\n responseBody = {\r\n success: true,\r\n message: '',\r\n data: result\r\n };\r\n } else {\r\n responseBody = {\r\n success: false,\r\n message: 'Company already exists',\r\n data: undefined\r\n };\r\n }\r\n\r\n return responseBody;\r\n }\r\n\r\n public static async changeUserPassword(data: ChangePasswordViewModel, userId: string): Promise {\r\n const requestData = {\r\n body: data\r\n };\r\n\r\n try {\r\n return await new Api(ApiConstants.siteOptions.userCommands).usersChangeUserPassword(SITE_ID, userId, requestData);\r\n } catch (e) {\r\n return 'COMMON_MESSAGE_ERROR';\r\n }\r\n }\r\n\r\n public static async changeLanguage(langCode: string, pref: string) {\r\n const formData = new FormData();\r\n\r\n formData.append('lang', langCode);\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n body: formData\r\n };\r\n\r\n const url = `${pref}/admin/Home/ChangeCulture`;\r\n\r\n await fetch(url, requestOptions);\r\n\r\n return true;\r\n }\r\n\r\n public static async getUsers() {\r\n const params = {\r\n siteId: SITE_ID\r\n };\r\n\r\n const result = await new Api(ApiConstants.siteOptions.userQueries).usersGetUsersAsync(params);\r\n\r\n return result;\r\n }\r\n\r\n public static async deleteUser(userId: string) {\r\n const result = await new Api(ApiConstants.siteOptions.userCommands).usersDeleteUser(SITE_ID, userId);\r\n\r\n return result;\r\n }\r\n\r\n public static async getUserById(userId: string): Promise {\r\n const result = await new Api(ApiConstants.siteOptions.userQueries).usersGetUserAsync(userId) as any;\r\n\r\n return result;\r\n }\r\n\r\n public static async updateUser(userId: string, data: UpdateUserViewModel) {\r\n const requestData = { body: data };\r\n\r\n const result = await new Api(ApiConstants.siteOptions.userCommands).usersUpdateUser(SITE_ID, userId, requestData) as any;\r\n\r\n return result;\r\n }\r\n\r\n public static async getUserRoles(): Promise {\r\n const result = await new Api(ApiConstants.siteOptions.userQueries).rolesGetRolesAsync(SITE_ID) as any;\r\n\r\n return result;\r\n }\r\n\r\n public static async createUser(data: CreateUserViewModel, siteId?: string) {\r\n const requestData = {\r\n body: data\r\n };\r\n const userSiteid = siteId || SITE_ID;\r\n\r\n const result = await new Api(ApiConstants.siteOptions.userCommands).usersCreateUser(userSiteid, requestData) as any;\r\n\r\n return result;\r\n }\r\n\r\n public static async getJobSuggestions(data: JobSuggestionRequestData) {\r\n const requestBody = { ...data };\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(requestBody)\r\n };\r\n\r\n const url = ApiConstants.siteOptions.jobAdOfirCommands.replace(\"jobad\", `textparsingjobtitlesandjobcategories?subscriber=${SUBSCRIBER_ID}`);\r\n\r\n const response = await fetch(url, requestOptions);\r\n\r\n return response.json();\r\n }\r\n\r\n public static async createCandidate(data: CreateCandidateModel) {\r\n const { siteId, companyId, jobId } = data;\r\n\r\n try {\r\n const response = await new Api(ApiConstants.siteOptions.candidateListCommands).candidateCreate(siteId, companyId, jobId, data);\r\n\r\n if (!response.siteid) {\r\n return {\r\n success: false,\r\n message: response\r\n };\r\n }\r\n\r\n return {\r\n success: true,\r\n data: response\r\n };\r\n } catch (error) {\r\n return {\r\n success: false\r\n };\r\n }\r\n }\r\n\r\n public static async sendConfirmationToCandidate(candidateData: CandidateListFullModel, subject: string, emailData: BranderoAPISendTemplateEmailWithFileRefsOptionalParams) {\r\n try {\r\n const { siteId, email, companyId } = candidateData;\r\n const response = await new Api(ApiConstants.siteOptions.emailCommands).sendTemplateEmailWithFileRefs(siteId, companyId, email, subject, emailData);\r\n\r\n return {\r\n success: true,\r\n data: response\r\n };\r\n } catch (error) {\r\n return {\r\n success: false\r\n };\r\n }\r\n }\r\n\r\n public static async sendForwardCandidate(candidateData: CandidateListFullModel, email: string, subject: string, emailData: BranderoAPISendTemplateEmailWithFileRefsOptionalParams) {\r\n try {\r\n const { siteId, companyId } = candidateData;\r\n const response = await new Api(ApiConstants.siteOptions.emailCommands).sendTemplateEmailWithFileRefs(siteId, companyId, email, subject, emailData);\r\n return {\r\n success: true,\r\n data: response\r\n };\r\n } catch (error) {\r\n return {\r\n success: false\r\n };\r\n }\r\n }\r\n}\r\n","import { actionCreator, Action, isType } from './Action';\r\nimport { AppThunkAction } from '.';\r\nimport { ApiService } from '../services/apiService';\r\nconst jsPDF = require('jspdf');\r\nimport 'jspdf-autotable';\r\nimport { Utils } from '../Utils/Utils';\r\nimport moment from 'moment';\r\nimport {PDFDocument} from \"pdf-lib\"\r\nimport i18n from '../resources/i18n';\r\n\r\nexport interface UnsolicitedApplicationState {\r\n isFetching?: boolean;\r\n isUnsolicitedAppOpened?: boolean;\r\n}\r\nconst actions = {\r\n isFetching: actionCreator<{ isFetching: boolean }>('UNSOLISITED_IS_FETCHING'),\r\n toggleUnsolicitedAppCollapse: actionCreator<{}>('TOGGLE_UNSOLICITED_APP_COLLAPSE')\r\n};\r\n\r\nexport function reducer(\r\n state: UnsolicitedApplicationState = { isFetching: false, isUnsolicitedAppOpened: false },\r\n action: Action\r\n): UnsolicitedApplicationState {\r\n if (isType(action, actions.isFetching)) {\r\n return { ...state, isFetching: action.payload.isFetching };\r\n } else if (isType(action, actions.toggleUnsolicitedAppCollapse)) {\r\n return { ...state, isUnsolicitedAppOpened: !state.isUnsolicitedAppOpened };\r\n }\r\n return state;\r\n}\r\n\r\nexport function toggleUnsolicitedAppCollapse() {\r\n return actions.toggleUnsolicitedAppCollapse();\r\n}\r\n\r\nexport function sendUnsolisitedEmail(\r\n email: string,\r\n subject: string,\r\n replyTo: string,\r\n templateName: string,\r\n files: string,\r\n templateReplaceItems: string,\r\n senderName: string\r\n): AppThunkAction> {\r\n return async (dispatch, getState) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n await ApiService.SendTemplateEmailWithFileRefs(email, subject, replyTo, templateName, files, templateReplaceItems, senderName);\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\ntype TDownloadPDf = {\r\n email: string,\r\n subject: string,\r\n externalApplyEmail: any,\r\n companyName: string,\r\n templateCompany: any,\r\n subjectCompany: any,\r\n sendFilesCompany: any[],\r\n templateApplicant: any,\r\n userData: {\r\n name:string,\r\n appText:string,\r\n education:string,\r\n duration:string,\r\n position:string,\r\n phone:string,\r\n links:string,\r\n category:string\r\n\r\n }\r\n}\r\nexport function downloadUnsolisitedData(\r\n data: TDownloadPDf\r\n): AppThunkAction> {\r\n return async (dispatch, getState) => {\r\n const doc = new jsPDF(); \r\n const currentLanguage = Utils.getLanguage();\r\n const dateFormat = currentLanguage === 'en-GB' ? 'YYYY/MM/DD' : 'DD/MM/YYYY';\r\n const today = new Date()\r\n const nameDate = moment(today).format(dateFormat)\r\n let columns = [\"\", \"\"];\r\n const pdfDoc = await PDFDocument.create();\r\n const { companyName, userData:{\r\n appText,\r\n category,\r\n duration,\r\n education,\r\n links,\r\n name,\r\n phone,\r\n position\r\n }, email,externalApplyEmail,sendFilesCompany,subject,subjectCompany} = data \r\n for (const file of sendFilesCompany){\r\n const response = await fetch(file.preview);\r\n const buffer = await response.arrayBuffer();\r\n const existingPdfDocBytes = new Uint8Array(buffer);\r\n await pdfDoc.attach(existingPdfDocBytes, file.name, {\r\n mimeType: file.type, \r\n creationDate:new Date(file.lastModified),\r\n modificationDate:new Date(file.lastModified),\r\n })\r\n }\r\n const headStyles = { halign: 'center', fontStyle: 'bold', fontSize: 12 };\r\n const subjectApplicant = i18n.t('APPLY_ORDER_APPLICATION_FORM_APPLICATION_HEADLINE').replace(\"{company}\", companyName).replace(\"{JobAdHeadline}\", i18n.t(\"CANDIDATE_LIST_UNSOLICITED_TITLE\"));\r\n const tableCells = [\r\n [{ content: subjectApplicant || '', colSpan: 2, styles: headStyles }],\r\n [{ content: '', colSpan: 2 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_APPLICATION_DATE')}:`, { content: moment(new Date()).format(dateFormat) || \"\", colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_FULL_NAME')}:`, { content: name || \"\", colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_EMAIL')}:`, { content: email || '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_PHONE_NUMBER')}:`, { content: phone || '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_SOCIAL_LINK')}:`, { content: links || '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_ADD_NOTE_BODY')}:`, { content: appText || '', colSpan: 1 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_EDUCATION_LVL')}:`, { content: education || '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_PREFERRED_POSITION')}:`, { content: category || '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_FORM_LATEST_POSITION')}:`, { content: position || '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('APPLY_ORDER_APPLICATION_EXPERIENCE_TITLE')}:`, { content: duration || '', colSpan: 1, cellWidth: 50 }],\r\n ]; \r\n\r\n doc.autoTable({\r\n body: tableCells,\r\n columnStyles: { 0: { cellWidth: 50 } }\r\n });\r\n doc.save(`file_${nameDate}.pdf`);\r\n };\r\n}\r\n\r\n\r\nexport function addUnsolicitedCandidate(\r\n name: string,\r\n description: string,\r\n educationLevel: string,\r\n email: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n urls: string[],\r\n wantedJobTitle: string,\r\n files: any[]\r\n): AppThunkAction> {\r\n return async (dispatch, getState) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n\r\n await ApiService.addUnsolicitedCandidate(\r\n name,\r\n description,\r\n educationLevel,\r\n email,\r\n experienceYears,\r\n latestJobTitle,\r\n phoneNumber,\r\n urls,\r\n wantedJobTitle,\r\n files\r\n );\r\n\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n","import * as React from 'react';\r\n\r\nimport DropZoneHelper from '../../_shared/DropZoneHelper/DropZoneHelper';\r\nimport { CompanyData } from '../../../models/companyData';\r\nimport { connect } from 'react-redux';\r\nimport { Modal } from 'antd';\r\nimport { getItemAndCompanyDataState, PageItemModel, HtmlItemModel, PropertyItemModel } from '../../pageItems/pageItemModel';\r\nimport * as ApplicationState from '../../../../store/index';\r\nimport { getFormData, AEDUCATIONLIST } from './dataModels';\r\nimport ApiConstants from '../../../../cms/common/apiConstants';\r\nimport TextBox from '../../unsolicitedApplication/TextBox/TextBox';\r\nimport LinkInput from '../../unsolicitedApplication/LinkInput/LinkInput';\r\nimport PrivacyText from '../../unsolicitedApplication/PrivacyText/PrivacyText';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { addUnsolicitedCandidate, sendUnsolisitedEmail, toggleUnsolicitedAppCollapse, downloadUnsolisitedData } from '../../../../store/UnsolicitedApplicationStore';\r\nimport { IFileModel, DomainFileType } from '../../../../services/autorest/models';\r\nimport { PropertyItemHelper } from '../../../helpers';\r\nimport { PropertyNames } from '../../../common/itemsConstants';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { showConfirmModal } from '../../_shared/CommonModal/CommonModalUtils';\r\n\r\nconst SITE_ID = typeof window == 'undefined' ? undefined : window['SITE_ID'];\r\n\r\ntype InternalState = {\r\n isSend: boolean;\r\n confirmDialogOpen: boolean;\r\n isShwoDownloadModal: boolean;\r\n isNameInvalid: boolean;\r\n isEmailInvalid: boolean;\r\n isCategoryInvalid: boolean;\r\n isADURATIONInvalid: boolean;\r\n urls: [];\r\n files: IFileModel[];\r\n ANAME: string;\r\n defaultLoadFiles: any[],\r\n AEMAIL: string;\r\n ATELEPHONE: string;\r\n APOSITION: string;\r\n ALINK: string;\r\n ACATEGORY: string;\r\n AEDUCATION: string;\r\n ADURATION: string;\r\n APPLICATIONTEXT: string;\r\n isSending: boolean;\r\n hasSendError: boolean;\r\n uploadErrors: string[];\r\n location: any;\r\n pref: string;\r\n sizeError: boolean;\r\n totalSize: number;\r\n};\r\n\r\nconst fileListCSS: any = {\r\n display: 'inline-block',\r\n marginRight: '10px',\r\n marginBottom: '10px',\r\n padding: '2px 5px',\r\n borderRadius: '3px',\r\n backgroundColor: 'rgba(255,255,255,0.4)',\r\n fontSize: '12px',\r\n fontWeight: 'bold'\r\n};\r\n\r\nconst fileListDeleteCSS = {\r\n marginLeft: '10px',\r\n cursor: 'pointer'\r\n};\r\n\r\ntype UnsolicitedApplicationProps = {\r\n siteId: string;\r\n pageItemId: string;\r\n pageItem: PageItemModel;\r\n htmlItems: HtmlItemModel[];\r\n propertyItems: PropertyItemModel[];\r\n companyData: CompanyData;\r\n fileStoreCdn: string;\r\n cultureCode: string;\r\n emailCommands: string;\r\n isFetching: boolean;\r\n isUnsolicitedFormOpened: boolean;\r\n location: any;\r\n siteTipe: boolean;\r\n};\r\nconst uploadButtonCSS = {\r\n position: 'static' as 'static',\r\n display: 'block',\r\n transform: 'none',\r\n lineHeight: 'inherit',\r\n padding: '10px 16px',\r\n cursor: 'pointer'\r\n};\r\n\r\n\r\ntype UnsolicitedApplicationProps2 = ApplicationState.ApplicationState & UnsolicitedApplicationProps & any;\r\n\r\nclass UnsolicitedApplication extends React.Component {\r\n private scrollRef: React.RefObject;\r\n\r\n constructor(props: UnsolicitedApplicationProps2) {\r\n super(props);\r\n this.state = {\r\n isSend: false,\r\n confirmDialogOpen: false,\r\n isShwoDownloadModal: false,\r\n isNameInvalid: false,\r\n isEmailInvalid: false,\r\n isCategoryInvalid: false,\r\n isADURATIONInvalid: false,\r\n defaultLoadFiles:[],\r\n urls: [],\r\n files: [],\r\n ANAME: '',\r\n AEMAIL: '',\r\n ATELEPHONE: '',\r\n ALINK: '',\r\n ACATEGORY: '',\r\n AEDUCATION: '',\r\n ADURATION: '',\r\n APPLICATIONTEXT: '',\r\n uploadErrors: [],\r\n APOSITION: '',\r\n isSending: false,\r\n hasSendError: false,\r\n location: {},\r\n pref: '',\r\n sizeError: false,\r\n totalSize: 0\r\n };\r\n this.scrollRef = React.createRef();\r\n this.handleShowDownloadModal= this.handleShowDownloadModal.bind(this);\r\n\r\n }\r\n componentDidMount(){\r\n const w = window as any\r\n\r\n if (w){\r\n i18n.changeLanguage(w[\"SITE_CULTURE_CODE\"])\r\n this.setState({ location: { ...w.location } })\r\n this.setState({pref: w.PREF})\r\n }\r\n };\r\n private isNumber(evt: any) {\r\n const charCode = evt.which ? evt.which : evt.keyCode;\r\n if (charCode == 44 || charCode == 46) {\r\n return true;\r\n }\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n evt.preventDefault();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private scrollToRef() {\r\n window.scrollTo(0, this.scrollRef.current.offsetTop - 100);\r\n }\r\n\r\n private hideConfirmationModal = () => {\r\n this.setState({ confirmDialogOpen: false });\r\n };\r\n\r\n private handleLinksChange = (value: string) => {\r\n this.setState({ ALINK: value });\r\n };\r\n private handleShowDownloadModal(){\r\n this.setState({isShwoDownloadModal: !this.state.isShwoDownloadModal})\r\n }\r\n \r\n public render() {\r\n const { files } = this.state;\r\n // tslint:disable-next-line:variable-name\r\n const useEmail = 1;\r\n const useCandidateList = 3;\r\n let {host, hostname, port, protocol} = this.state.location\r\n if (hostname === \"localhost\"){\r\n hostname = \"testmatchworkcareersite\";\r\n } else {\r\n hostname = hostname?.split(\".\")[1]\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n {!this.state.isSend && !this.props.isUnsolicitedFormOpened && (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.props.companyData.externalApplyMethod == useEmail ||\r\n this.props.companyData.externalApplyMethod == useCandidateList ? (\r\n {\r\n this.showBlock(e);\r\n }}\r\n >\r\n {PropertyItemHelper.getPropertyItemValue(this.props, PropertyNames.UNSOLICITED_FORM_BUTTON_TEXT) ||\r\n i18n.t('UNSOLICITED_FORM_OPEN_FORM_BTN')}\r\n \r\n ) : (\r\n \r\n {PropertyItemHelper.getPropertyItemValue(this.props, PropertyNames.UNSOLICITED_FORM_BUTTON_TEXT) ||\r\n i18n.t('UNSOLICITED_FORM_OPEN_FORM_BTN')}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n {this.props.isUnsolicitedFormOpened && (\r\n \r\n
    \r\n {this.state.isSend && (\r\n \r\n \r\n \r\n
    \r\n )}\r\n\r\n {!this.state.isSend && (\r\n
    \r\n

    {i18n.t('UNSOLICITED_FORM_TITLE')}

    \r\n \r\n \r\n
    \r\n
    \r\n this.setState({ ANAME: e.target.value, isNameInvalid: false })}\r\n resourceString=\"UNSOLICITED_FORM_FULL_NAME\"\r\n errorResourceString=\"UNSOLICITED_FORM_VALIDATION_NAME\"\r\n displayError={this.state.isNameInvalid}\r\n required={true}\r\n autoComplete=\"on\"\r\n />\r\n\r\n this.setState({ AEMAIL: e.target.value?.toLocaleLowerCase(), isEmailInvalid: false })}\r\n resourceString=\"UNSOLICITED_FORM_EMAIL\"\r\n errorResourceString=\"UNSOLICITED_FORM_VALIDATION_EMAIL\"\r\n displayError={this.state.isEmailInvalid}\r\n required={true}\r\n autoComplete=\"off\"\r\n />\r\n
    \r\n
    \r\n this.setState({ ATELEPHONE: e.target.value })}\r\n resourceString=\"UNSOLICITED_FORM_PHONE_NUMBER\"\r\n autoComplete=\"off\"\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state[\"sizeError\"] && (
    \r\n {i18n.t(\"JOBAD_APPLICATION_MAXFILES_SIZE_ERROR\")}\r\n
    )}\r\n {this.state.uploadErrors.length > 0 && (\r\n \r\n {this.state.uploadErrors.map((x, i) => {\r\n return
    {x}
    ;\r\n })}\r\n
    \r\n )}\r\n
    \r\n {files.map((item) => (\r\n \r\n {item.originalFilename}\r\n this.onDelete(item)}\r\n className=\"fa fa-window-close\"\r\n style={fileListDeleteCSS}\r\n />\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n {i18n.t('UNSOLICITED_FORM_ATTACH_FILE_HELP_TEXT')}\r\n \r\n {/* \r\n {i18n.t('UNSOLICITED_FORM_ATTACH_FILE_FILESIZE_TEXT')}\r\n */}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n this.setState({ APPLICATIONTEXT: e.target.value })}\r\n placeholder={i18n.t('APPLY_FORM_ADD_NOTE_BODY')}\r\n autoComplete=\"on\"\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n this.setState({ ACATEGORY: e.target.value, isCategoryInvalid: false })}\r\n resourceString=\"UNSOLICITED_FORM_CATEGORY_TITLE\"\r\n errorResourceString=\"UNSOLICITED_FORM_VALIDATION_CATEGORY\"\r\n displayError={this.state.isCategoryInvalid}\r\n required={true}\r\n autoComplete=\"on\"\r\n />\r\n
    \r\n this.setState({ AEDUCATION: e.target.value })}\r\n >\r\n {AEDUCATIONLIST.map((item, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n this.setState({ APOSITION: e.target.value })}\r\n value={this.state.APOSITION}\r\n type=\"text\"\r\n resourceString=\"UNSOLICITED_FORM_LATEST_POSITION\"\r\n autoComplete=\"on\"\r\n />\r\n {\r\n e.preventDefault();\r\n const isinteger =\r\n e.clipboardData.getData('text') === e.clipboardData.getData('text').replace(/\\D/g, '');\r\n if (isinteger) {\r\n const ADURATION = e.clipboardData.getData('text');\r\n this.setState({ ADURATION });\r\n }\r\n this.setState({ isADURATIONInvalid: !isinteger });\r\n }}\r\n value={this.state.ADURATION}\r\n onKeyPress={(evt) => this.isNumber(evt.which ? evt.which : evt.keyCode)}\r\n id=\"ADURATION\"\r\n onChange={(e) => this.setState({ ADURATION: e.target.value })}\r\n type=\"number\"\r\n resourceString=\"UNSOLICITED_EXPERIENCE_TITLE\"\r\n errorResourceString=\"UNSOLICITED_EXPERIENCE_TITLE_ERROR\"\r\n displayError={this.state.isADURATIONInvalid}\r\n autoComplete=\"off\"\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n this.showConfirmModal(e)}\r\n >\r\n \r\n {i18n.t('UNSOLICITED_FORM_APPLY_BTN')}\r\n \r\n
    \r\n {this.state.hasSendError && (\r\n \r\n {i18n.t('UNSOLICITED_FORM_ERROR_SENDING')}\r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n this.hideBlock(e)}>\r\n \r\n {i18n.t('UNSOLICITED_FORM_CLOSE_BTN')}\r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {i18n.t('DOWNLOAD_APPLICATION_PDF_AFTER_SEND_HEADLINE')}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {this.state.files?.map((f, i: number) => {\r\n let url = `${protocol}//cdn.${hostname}.com/customer/${f?.siteId}/CV/${f?.filename}`\r\n let type = f?.filename?.split('.')?.pop()?.toLowerCase(); \r\n let isImage = type == \"jpg\" || type == \"png\" || type == \"bmp\" || type == \"svg\" || type == \"jpeg\" || type == \"pdf\" || type == \"txt\";\r\n return (\r\n \r\n )})}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {i18n.t('APPLY_FORM_CONFIRM_MODAL_HEADLINE')}\r\n
    \r\n {i18n.t('APPLY_FORM_CONFIRM_MODAL_SUBHEADLINE')}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {i18n.t('UNSOLICITED_FORM_EMAIL')}\r\n
    \r\n
    \r\n {this.state.AEMAIL && this.state.AEMAIL}\r\n {!this.state.AEMAIL && {i18n.t('APPLY_FORM_CONFIRM_MODAL_FIELD_NOT_FILLED_OUT')}}\r\n
    \r\n
    \r\n {i18n.t('UNSOLICITED_FORM_PHONE_NUMBER')}\r\n
    \r\n
    \r\n {this.state.ATELEPHONE && this.state.ATELEPHONE}\r\n {!this.state.ATELEPHONE && {i18n.t('APPLY_FORM_CONFIRM_MODAL_FIELD_NOT_FILLED_OUT')}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {i18n.t('APPLY_FORM_CONFIRM_MODAL_BACK')}\r\n \r\n
    \r\n
    \r\n {\r\n this.sendApplication();\r\n this.hideConfirmationModal();\r\n }}\r\n style={{\r\n textTransform: 'none',\r\n margin: '0px',\r\n fontSize: '14px',\r\n color: '#fff',\r\n backgroundColor: '#5cb85c',\r\n borderColor: '#4cae4c'\r\n }}\r\n >\r\n {i18n.t('APPLY_FORM_CONFIRM_MODAL_CONTINUE')}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n private showBlock(e: React.MouseEvent) {\r\n e.preventDefault();\r\n this.props.toggleUnsolicitedAppCollapse();\r\n this.setState({ isSend: false });\r\n }\r\n\r\n private hideBlock(e: React.MouseEvent) {\r\n e.preventDefault();\r\n this.props.toggleUnsolicitedAppCollapse();\r\n this.setState({ isSend: false });\r\n }\r\n\r\n private onFilesUpload = async (fileNames: string[], data: File[]) => {\r\n let totalSize = this.state['totalSize'];\r\n totalSize += data[0].size;\r\n this.setState({ totalSize: totalSize });\r\n if (totalSize > 20000000) {\r\n totalSize -= data[0].size;\r\n this.setState({ totalSize: totalSize });\r\n this.setState({ sizeError: true });\r\n return;\r\n }\r\n\r\n const { files } = this.state;\r\n const updatedFiles = [...files];\r\n for (let i = 0; i < fileNames.length; i++) {\r\n updatedFiles.push({\r\n filename: fileNames[i],\r\n originalFilename: data[i].name,\r\n siteId: SITE_ID,\r\n contentType: DomainFileType.CV,\r\n relativePath: DomainFileType.CV\r\n });\r\n }\r\n // console.log({updatedFiles, data});\r\n \r\n this.setState({defaultLoadFiles: data})\r\n this.setState({ files: updatedFiles });\r\n };\r\n\r\n private onDelete(f: IFileModel) {\r\n const files = this.state.files.filter((x) => x.originalFilename != f.originalFilename);\r\n\r\n this.setState({ files });\r\n }\r\n\r\n private showConfirmModal(e: React.MouseEvent) {\r\n e.preventDefault();\r\n\r\n this.setState({ confirmDialogOpen: true });\r\n }\r\n private downloadData(){\r\n const { companyData, downloadPDF } = this.props;\r\n const { ANAME, AEDUCATION, AEMAIL, ADURATION, APPLICATIONTEXT, APOSITION, ATELEPHONE, ALINK, ACATEGORY, files, defaultLoadFiles } = this.state;\r\n const useCandidateList = 3;\r\n const lang = Utils.getLanguage(true).toLocaleLowerCase() == 'da-dk' ? 'dk' : 'uk';\r\n const siteType = Utils.isUserOfirAdvertiser() ? \"_ad\" : \"\";\r\n const isCandidatelist = companyData.externalApplyMethod == useCandidateList;\r\n const templateCompany = isCandidatelist ? 'send_unsolicited_candidatelist_company_' + lang + siteType : 'send_unsolicited_application_company_' + lang + siteType;\r\n const subjectCompany = i18n.t('SEND_UNSOLICITED_CANDIDATELIST_COMPANY');\r\n const subjectApplicant = i18n.t('SEND_UNSOLICITED_CANDIDATELIST_APPLICANT').replace('{0}', companyData.name);\r\n \r\n\r\n\r\n downloadPDF({\r\n email: AEMAIL,\r\n subject: subjectApplicant,\r\n externalApplyEmail: companyData.externalApplyEmail,\r\n companyName: companyData.name,\r\n templateCompany,\r\n sendFilesCompany: defaultLoadFiles,\r\n subjectCompany,\r\n userData: {name: ANAME, appText: APPLICATIONTEXT, education: AEDUCATION, duration:ADURATION, position: APOSITION, phone:ATELEPHONE, links:ALINK, category:ACATEGORY, }\r\n });\r\n }\r\n \r\n private sendApplication() {\r\n try {\r\n const emailTo: string = this.props.companyData.externalApplyEmail == '' ? this.props.companyData.email : this.props.companyData.externalApplyEmail;\r\n const { companyData, sendEmail } = this.props;\r\n let emailTemplateNumber = '0';\r\n let hasError = false;\r\n const validateEmail = (email)=> {\r\n const re = /^(([^<>()[\\]\\\\.,;:\\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,}))$/;\r\n return re.test(email);\r\n }\r\n if (this.state.ANAME.trim() == '') {\r\n this.setState({ isNameInvalid: true });\r\n hasError = true;\r\n }\r\n\r\n if (this.state.AEMAIL.trim() == '' || !validateEmail(this.state.AEMAIL.trim())) {\r\n this.setState({ isEmailInvalid: true });\r\n hasError = true;\r\n }\r\n\r\n if (this.state.ACATEGORY.trim() == '') {\r\n this.setState({ isCategoryInvalid: true });\r\n hasError = true;\r\n }\r\n\r\n if (!Number.isInteger(+this.state.ADURATION.trim())) {\r\n this.setState({ isADURATIONInvalid: true });\r\n hasError = true;\r\n } else {\r\n this.setState({ isADURATIONInvalid: false });\r\n }\r\n\r\n if (!hasError) {\r\n this.setState({ isSending: true });\r\n\r\n const { ANAME, AEDUCATION, AEMAIL, ADURATION, APPLICATIONTEXT, APOSITION, ATELEPHONE, ALINK, ACATEGORY, files } = this.state;\r\n const useCandidateList = 3;\r\n const templateReplaceItems = [];\r\n let siteUrl = '';\r\n\r\n if (this.props.companyData.externalApplyMethod == useCandidateList) {\r\n let links = ALINK.split('\\n');\r\n emailTemplateNumber = '5';\r\n\r\n if (links == [''] || links[0] == '') {\r\n links = [];\r\n }\r\n\r\n this.props.addUnsolicitedCandidate(ANAME, APPLICATIONTEXT, AEDUCATION, AEMAIL, +ADURATION, APOSITION, ATELEPHONE, links, ACATEGORY, files);\r\n }\r\n\r\n try {\r\n //serverrendering\r\n siteUrl = window.location.origin + this.state['pref'].slice(0,-1) + '/Account/Login';\r\n } catch (e) {}\r\n\r\n const data = getFormData(\r\n ApiConstants.siteOptions.fileStoreCDN,\r\n this.state,\r\n this.props.companyData,\r\n emailTo,\r\n siteUrl,\r\n this.props.siteId,\r\n this.props.siteData.logoFileName\r\n );\r\n\r\n data.push({ Name: \"PREF\", Content: this.state['pref'].slice(0,-1) });\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n const newObj = { key: data[i].Name, value: data[i].Content };\r\n templateReplaceItems.push(newObj);\r\n }\r\n\r\n this.setState({ isSend: true });\r\n\r\n const lang = Utils.getLanguage(true).toLocaleLowerCase() == 'da-dk' ? 'dk' : 'uk';\r\n const siteType = Utils.isUserOfirAdvertiser() ? \"_ad\" : \"\";\r\n\r\n const isCandidatelist = companyData.externalApplyMethod == useCandidateList;\r\n const templateCompany = isCandidatelist ? 'send_unsolicited_candidatelist_company_' + lang + siteType : 'send_unsolicited_application_company_' + lang + siteType;\r\n const templateApplicant = isCandidatelist\r\n ? 'send_unsolicited_candidatelist_applicant_' + lang + siteType\r\n : 'send_unsolicited_application_applicant_' + lang + siteType;\r\n const sendFilesCompany = isCandidatelist ? '[]' : JSON.stringify(this.state.files);\r\n const subjectCompany = i18n.t('SEND_UNSOLICITED_CANDIDATELIST_COMPANY');\r\n const subjectApplicant = i18n.t('SEND_UNSOLICITED_CANDIDATELIST_APPLICANT').replace('{0}', companyData.name);\r\n // email\r\n sendEmail(companyData.externalApplyEmail, subjectCompany, AEMAIL, templateCompany, sendFilesCompany, JSON.stringify(templateReplaceItems), '');\r\n\r\n sendEmail(\r\n AEMAIL,\r\n subjectApplicant,\r\n companyData.externalApplyEmail,\r\n templateApplicant,\r\n JSON.stringify(this.state.files),\r\n JSON.stringify(templateReplaceItems),\r\n companyData.name\r\n );\r\n }\r\n } catch (e) {\r\n this.setState({ hasSendError: true });\r\n }\r\n }\r\n\r\n}\r\ntype TDownloadPDf = {\r\n email: string,\r\n subject: string,\r\n externalApplyEmail: any,\r\n companyName: string,\r\n templateCompany: any,\r\n subjectCompany: any,\r\n sendFilesCompany: any,\r\n templateApplicant: any,\r\n userData: {\r\n name:string,\r\n appText:string,\r\n education:string,\r\n duration:string,\r\n position:string,\r\n phone:string,\r\n links:string,\r\n category:string\r\n\r\n }\r\n}\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return {\r\n addUnsolicitedCandidate: (\r\n name: string,\r\n description: string,\r\n educationLevel: string,\r\n email: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n urls: string[],\r\n wantedJobTitle: string,\r\n files: any[]\r\n ) => {\r\n dispatch(\r\n addUnsolicitedCandidate(name, description, educationLevel, email, experienceYears, latestJobTitle, phoneNumber, urls, wantedJobTitle, files)\r\n );\r\n },\r\n sendEmail: (email: string, subject: string, replyTo: string, templateName: string, files: string, templateReplaceItems: string, senderName: string) => {\r\n dispatch(sendUnsolisitedEmail(email, subject, replyTo, templateName, files, templateReplaceItems, senderName));\r\n },\r\n downloadPDF: (data: TDownloadPDf) =>{\r\n dispatch(downloadUnsolisitedData(data))\r\n },\r\n toggleUnsolicitedAppCollapse: () => dispatch(toggleUnsolicitedAppCollapse())\r\n };\r\n};\r\nconst mapStateToProps = (state: ApplicationState.ApplicationState, ownProps: UnsolicitedApplicationProps2): UnsolicitedApplicationProps2 => {\r\n return { ...getItemAndCompanyDataState(state, ownProps.pageItemId), isFetching: state.unsolicitedApplication.isFetching, siteData: state.siteData };\r\n};\r\n// Wire up the React component to the Redux stores\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UnsolicitedApplication as any);\r\n","export default class DateTime {\r\n public static stringToLocalDate(date : Date, cultureCode: string, options? : object) : string {\r\n try {\r\n return date.toLocaleDateString(cultureCode, options ? options : defaultOptions );\r\n } catch (error) {\r\n return error\r\n }\r\n }\r\n}\r\n\r\nlet defaultOptions = {\r\n day: 'numeric',\r\n month: 'long',\r\n year: 'numeric'\r\n }","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport DateTime from '../../common/dateTime';\r\nimport { PropertyItemModel, PageItemModel, getUnsolicitedApplicationStatus } from '../pageItems/pageItemModel';\r\nimport { PageItemStatus } from '../../../store/PageItemInfoStore';\r\nimport * as ApplicationState from '../../../store/index';\r\nimport i18n from '../../../resources/i18n';\r\nimport { PropertyItemHelper } from '../../helpers';\r\nimport { JobAdModel } from 'src/services/autorest/models';\r\n\r\ntype JobListProps = {\r\n jobAds: JobAdModel[];\r\n texts: { [key: string]: string };\r\n cultureCode: string;\r\n unsolicitedAppStatus: number;\r\n propertyItems: PropertyItemModel[];\r\n pageItem: PageItemModel;\r\n};\r\n\r\ntype JobListRendererProps = ApplicationState.ApplicationState & any;\r\n\r\nclass JobList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n pref: \"\",\r\n }\r\n }\r\n\r\n public componentDidMount() {\r\n if (typeof window !== \"undefined\") {\r\n this.setState({ pref: window['PREF'] });\r\n }\r\n }\r\n\r\n public render() {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {this.props.jobAds.length === 0 ? this.renderText() : this.renderCounter()}\r\n
    \r\n {this.props.jobAds.map((job, index) => {\r\n return this.renderJob(job, index);\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderText() {\r\n return (\r\n
    \r\n \r\n {this.props.unsolicitedAppStatus && this.props.unsolicitedAppStatus !== PageItemStatus.UNPUBLISHED && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private renderCounter() {\r\n return (\r\n
    \r\n \r\n \r\n {this.props.jobAds ? this.props.jobAds.length : 0}{' '}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderJob(job: JobAdModel, index: number) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {job.title}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    {job.locationCity}
    \r\n
    \r\n
    \r\n {i18n.t('JOBAD_CREATED_DATE')}: {DateTime.stringToLocalDate(new Date(job.activationDate), this.props.cultureCode)}\r\n
    \r\n\r\n
    \r\n {job.jobType.map((jobtype, index) => {\r\n return
    {jobtype}
    ;\r\n })}\r\n
    \r\n \"\"\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect((state: ApplicationState.ApplicationState) => ({\r\n unsolicitedAppStatus: getUnsolicitedApplicationStatus(state)\r\n}))(JobList);\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { JobAdCustom } from '../../models/jobAdCustom';\r\nimport DateTime from '../../common/dateTime';\r\nimport Fetch from '../../common/fetchRetry';\r\nimport { getUnsolicitedApplicationStatus, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport { PageItemStatus } from '../../../store/PageItemInfoStore';\r\nimport * as ApplicationState from '../../../store/index';\r\nimport { PropertyItemHelper } from '../../helpers';\r\nimport { PropertyNames } from '../../common/itemsConstants';\r\nimport i18n from '../../../resources/i18n';\r\n\r\ntype JobListProps = {\r\n texts: { [key: string]: string };\r\n cultureCode: string;\r\n pageItemId: string;\r\n propertyItems: PropertyItemModel[];\r\n unsolicitedAppStatus: number;\r\n};\r\n\r\ntype Jobs = {\r\n jobAds: JobAdCustom[];\r\n};\r\ntype JobListCustomRendererProps = ApplicationState.ApplicationState & JobListProps & Jobs & any;\r\n\r\nclass JobListCustom extends React.Component {\r\n constructor(props: JobListProps) {\r\n super(props);\r\n }\r\n\r\n public componentWillMount() {\r\n this.setState({ jobAds: [] as JobAdCustom[] });\r\n this.getJobsList();\r\n }\r\n\r\n private getJobsList() {\r\n const url = PropertyItemHelper.getPropertyItemValue(this.props, PropertyNames.JOB_LIST_CUSTOM_FEED);\r\n if (url) {\r\n const headers = {\r\n method: 'GET'\r\n };\r\n const fetch = Fetch.fetchRetry(url, headers)\r\n .then((response) => response.json() as any)\r\n .then((data) => {\r\n this.setState({ jobAds: data.item });\r\n })\r\n .catch((error) => console.error(`Error: ${error}`));\r\n }\r\n return false;\r\n }\r\n\r\n private renderText() {\r\n return (\r\n
    \r\n \r\n {this.props.unsolicitedAppStatus &&\r\n this.props.unsolicitedAppStatus !== PageItemStatus.UNPUBLISHED && (\r\n

    \r\n {PropertyItemHelper.getPropertyItemValue(this.props, PropertyNames.JOB_LIST_CUSTOM_HEADER_ADDITIONAL_TEXT_NO_JOBS) ||\r\n i18n.t('HOMEPAGE_JOBADS_NO_JOBS_TEXT')}\r\n

    \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private renderCounter() {\r\n return (\r\n
    \r\n \r\n \r\n {this.state.jobAds ? this.state.jobAds.length : 0}{' '}\r\n \r\n \r\n
    \r\n

    {i18n.t('HOMEPAGE_JOBADS_HEADER_CURRENT_JOBS')}

    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderJob(job: JobAdCustom, index: number) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {job.title}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    {job.postalCity}
    \r\n
    \r\n
    \r\n {i18n.t('JOBAD_LAST_DATE')}: {DateTime.stringToLocalDate(new Date(job.deadline), this.props.cultureCode)}\r\n
    \r\n\r\n
    \r\n {job.jobCategory.map((jobtype, index) => {\r\n return
    {jobtype.value}
    ;\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n public render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {this.state.jobAds.length === 0 ? this.renderText() : this.renderCounter()}\r\n\r\n
    \r\n {this.state.jobAds.map((job, index) => {\r\n return this.renderJob(job, index);\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect((state: ApplicationState.ApplicationState) => ({\r\n unsolicitedAppStatus: getUnsolicitedApplicationStatus(state)\r\n}))(JobListCustom);\r\n","import * as React from 'react';\r\nimport Slider from './Slider';\r\nimport Presentation from './Presentation';\r\nimport SocialMedia from './SocialMedia';\r\nimport AboutUs from './AboutUs';\r\nimport Benefits from './Benefits';\r\nimport TestimonialSlider from './Testimonial';\r\nimport UnsolicitedApplication from './UnsolicitedApplication/UnsolicitedApplication';\r\nimport JobList from './JobList';\r\nimport JobListCustom from './JobListCustom';\r\n\r\nexport const PageItemTypes = {\r\n slider: Slider,\r\n presentation: Presentation,\r\n socialMedia: SocialMedia,\r\n aboutUs: AboutUs,\r\n benefits: Benefits,\r\n unsolicitedApplication: UnsolicitedApplication,\r\n jobList: JobList,\r\n jobListCustom: JobListCustom,\r\n testimonialSlider: TestimonialSlider\r\n};\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as ApplicationState from '../../store/index';\r\nimport * as PageItemsList from '../components/pageItems/index';\r\nimport Api from '../../cms/common/apiConstants';\r\nimport { getItemAndCompanyDataState } from './pageItems/pageItemModel';\r\n\r\ntype PageRendererHomeProps = ApplicationState.ApplicationState & OwnProps & any;\r\n\r\ntype OwnProps = {\r\n pageItemId: string;\r\n //TODO: should be Jobad interface\r\n jobAds: any;\r\n};\r\n\r\nclass PageItemRendererHome extends React.Component {\r\n public render() {\r\n switch (this.props.pageItem.pageItemType) {\r\n case 'ABOUT_US': {\r\n return (\r\n \r\n );\r\n }\r\n case 'BENEFITS': {\r\n return (\r\n \r\n );\r\n }\r\n case 'SLIDER': {\r\n return (\r\n \r\n );\r\n }\r\n case 'JOBLIST': {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n case 'JOBLIST_CUSTOM': {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n case 'PRESENTATION': {\r\n return (\r\n \r\n );\r\n }\r\n case 'SOCIALMEDIA': {\r\n return (\r\n \r\n );\r\n }\r\n case 'TESTIMONIALSLIDER': {\r\n return (\r\n \r\n );\r\n }\r\n case 'UNSOLICITEDAPPLICATION': {\r\n return (\r\n \r\n );\r\n }\r\n default:\r\n return

    Not implemented: {this.props.pageItem.pageItemType}

    ;\r\n }\r\n }\r\n}\r\n\r\n// Wire up the React component to the Redux store\r\nexport default connect((state: ApplicationState.ApplicationState, ownProps: OwnProps) => {\r\n return {\r\n ...getItemAndCompanyDataState(state, ownProps.pageItemId),\r\n ...{\r\n isUnsolicitedFormOpened: state.unsolicitedApplication.isUnsolicitedAppOpened\r\n }\r\n };\r\n})(PageItemRendererHome);\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as ApplicationState from '../store/index';\r\nimport * as Application from '../store/Application';\r\nimport PageItemRendererHome from '../cms/components/PageItemRendererHome';\r\n\r\ntype HomeProps = ApplicationState.ApplicationState & typeof Application.actionCreators & { dbPageItem: any };\r\n\r\nclass Home extends React.Component {\r\n public componentWillMount() {\r\n\r\n this.props.initPublicPage(this.props.root.id, this.props.dbPageItem);\r\n }\r\n\r\n public render() {\r\n if (this.props.root.isLoading) {\r\n return (\r\n
    \r\n \r\n Loading...!\r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n {this.getOrderOfPageItems().map((key) => {\r\n return ;\r\n })}\r\n
    \r\n );\r\n }\r\n }\r\n\r\n private getOrderOfPageItems(): string[] {\r\n const orderedList: string[] = [];\r\n Object.keys(this.props.pageItems.pageItems).forEach((key) => {\r\n const pageItem: any = this.props.pageItems.pageItems[key];\r\n orderedList[pageItem.order] = key;\r\n });\r\n return orderedList;\r\n }\r\n}\r\n\r\n// Wire up the React component to the Redux store\r\nexport default connect(\r\n (state: ApplicationState.ApplicationState) => state, // Selects which state properties are merged into the component's props\r\n Application.actionCreators\r\n)(Home as any);\r\n","import { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { HtmlItem } from '../cms/models/htmlItem';\r\n\r\n// -----------------\r\n// STATE - This defines the type of data maintained in the Redux store.\r\nexport interface HtmlItemsState {\r\n htmlItems: { [key: string]: HtmlItem };\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n\r\ninterface ReceiveHtmlItemsAction {\r\n type: 'RECEIVE_HTML_ITEMS';\r\n htmlItems: { [key: string]: HtmlItem };\r\n}\r\n\r\ninterface UpdateHtmlItemsAction {\r\n type: 'UPDATE_HTML_ITEMS';\r\n htmlItems: { [key: string]: HtmlItem };\r\n}\r\n\r\ninterface DeleteHtmlItemAction {\r\n type: 'DELETE_HTML_ITEM';\r\n id: string;\r\n}\r\n\r\n// Declare a 'discriminated union' type. This guarantees that all references to 'type' properties contain one of the\r\n// declared type strings (and not any other arbitrary string).\r\n//TODO: HACK\r\ntype KnownAction = ReceiveHtmlItemsAction | UpdateHtmlItemsAction | DeleteHtmlItemAction | any;\r\n\r\n// ----------------\r\n// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition.\r\n// They don't directly mutate state, but they can have external side-effects (such as loading data).\r\nexport const actionCreators = {\r\n setHtmlItems: (htmlItems: { [key: string]: HtmlItem }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'RECEIVE_HTML_ITEMS', htmlItems: htmlItems });\r\n },\r\n updateHtmlItems: (htmlItems: { [key: string]: HtmlItem }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'UPDATE_HTML_ITEMS', htmlItems: htmlItems });\r\n },\r\n deleteHtmlItem: (id: string): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'DELETE_HTML_ITEM', id: id });\r\n }\r\n};\r\n\r\n// ----------------\r\n// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state.\r\n\r\nconst unloadedState: HtmlItemsState = { htmlItems: {} };\r\n\r\nexport const reducer: Reducer = (state: HtmlItemsState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'RECEIVE_HTML_ITEMS':\r\n return {\r\n htmlItems: { ...state.htmlItems, ...action.htmlItems }\r\n };\r\n case 'UPDATE_HTML_ITEMS':\r\n return {\r\n htmlItems: { ...state.htmlItems, ...action.htmlItems }\r\n };\r\n case 'DELETE_HTML_ITEM':\r\n const items = { ...state.htmlItems };\r\n delete items[action.id];\r\n return {\r\n htmlItems: items\r\n };\r\n default:\r\n // The following line guarantees that every action in the KnownAction union has been covered by a case above\r\n //TODO: HACK\r\n //const exhaustiveCheck: never = action;\r\n }\r\n return state || unloadedState;\r\n};\r\n","import Api from './apiConstants';\r\nimport Fetch from './fetchRetry';\r\nimport { BaseItemModel } from '../components/pageItems/pageItemModel';\r\n\r\nexport interface IPageItemRepository {\r\n publishPageItem(id: string): Promise;\r\n savePageItem(baseItem: BaseItemModel): Promise;\r\n deletePageItem(id: string): Promise;\r\n}\r\n\r\nexport default class PageItemRepository implements IPageItemRepository {\r\n\r\n public savePageItem(baseItem: BaseItemModel): Promise {\r\n return new Promise((resolve, reject) => {\r\n const _data: any = { pageItems: null, htmlItems: null, propertyItems: null };\r\n const body: any = { parentId: null, name: null, url: null, data: null, order: null };\r\n\r\n _data.pageItems = { [baseItem.pageItem.id]: baseItem.pageItem };\r\n _data.htmlItems = baseItem.htmlItems;\r\n _data.propertyItems = baseItem.propertyItems;\r\n\r\n body.name = baseItem.pageItem.name;\r\n body.order = baseItem.pageItem.order;\r\n body.url = '/Home';\r\n body.data = JSON.stringify(_data);\r\n try {\r\n Fetch.fetchRetry(\r\n `${Api.siteOptions.itemDraftCommands}/${baseItem.pageItem.parentId}/PageItems/draft/${\r\n baseItem.pageItem.id\r\n }`,\r\n {\r\n headers: Api.headerWithToken,\r\n method: 'PUT',\r\n body: JSON.stringify(body)\r\n }\r\n )\r\n .then(response => response.json() as Promise)\r\n .then(data => {\r\n resolve(data);\r\n });\r\n } catch (e) {\r\n resolve(e);\r\n }\r\n });\r\n }\r\n\r\n public publishPageItem(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n Fetch.fetchRetry(`${Api.siteOptions.itemCommands}/${Api.siteId}/PageItems/${id}/publish`, {\r\n headers: Api.headerWithToken,\r\n method: 'POST'\r\n })\r\n .then(response => response.json() as Promise)\r\n .then(data => {\r\n resolve(data);\r\n });\r\n } catch (e) {\r\n resolve(e);\r\n }\r\n });\r\n }\r\n\r\n public unpublishPageItem(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n Fetch.fetchRetry(`${Api.siteOptions.itemCommands}/${Api.siteId}/PageItems/${id}/unpublish`, {\r\n headers: Api.headerWithToken,\r\n method: 'POST'\r\n })\r\n .then(response => response.json() as Promise)\r\n .then(data => {\r\n resolve(data);\r\n });\r\n } catch (e) {\r\n resolve(e);\r\n }\r\n });\r\n }\r\n\r\n public deletePageItem(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n Fetch.fetchRetry(`${Api.siteOptions.itemDraftCommands}/${Api.siteId}/PageItems/draft/${id}`, {\r\n headers: Api.headerWithToken,\r\n method: 'DELETE'\r\n })\r\n .then(response => response.json() as Promise)\r\n .then(data => {\r\n resolve(data);\r\n });\r\n } catch (e) {\r\n resolve(e);\r\n }\r\n });\r\n }\r\n}\r\n","import { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { BaseItemModel, PageItemModel } from '../cms/components/pageItems/pageItemModel';\r\nimport { HtmlItem } from '../cms/models/htmlItem';\r\nimport PageItemRepository from '../cms/common/pageItemRepository';\r\nimport { UpdatePageItemInfoAction, PageItemInfo, PageItemStatus, actionCreators as PageItemInfoActionCreators } from './PageItemInfoStore';\r\nimport { SiteStatus } from './RootItem';\r\n\r\nexport interface PageItemsState {\r\n saving: boolean;\r\n pageItems: { [key: string]: PageItemModel };\r\n}\r\n\r\ninterface UpdateSiteStatus {\r\n type: 'UPDATE_SITE_STATUS';\r\n siteStatus: SiteStatus;\r\n}\r\ninterface ReceivePageItemsAction {\r\n type: 'RECEIVE_PAGE_ITEMS';\r\n pageItems: { [key: string]: PageItemModel };\r\n}\r\n\r\ninterface UpdatePageItemsAction {\r\n type: 'UPDATE_PAGE_ITEMS';\r\n pageItems: { [key: string]: PageItemModel };\r\n}\r\n\r\ninterface UpdatePageItemHtmlItemsAction {\r\n type: 'UPDATE_PAGE_ITEM_HTML_ITEMS_ORDER';\r\n pageItems: { [key: string]: PageItemModel };\r\n pageItemId: string;\r\n}\r\n\r\ninterface CreateNewPageItemAction {\r\n type: 'CREATE_NEW_PAGE_ITEM';\r\n}\r\n\r\ninterface CreatePageItemDraftAction {\r\n type: 'CREATE_PAGE_ITEM_DRAFT';\r\n saving: boolean;\r\n}\r\n\r\ninterface SavePageItemAction {\r\n type: 'SAVE_PAGE_ITEM_DRAFT';\r\n saving: boolean;\r\n}\r\n\r\ninterface PublishPageItemAction {\r\n type: 'PUBLISH_PAGE_ITEM';\r\n saving: boolean;\r\n}\r\n\r\ninterface RemovePageItemAction {\r\n type: 'REMOVE_PAGE_ITEM';\r\n pageItemId: string;\r\n}\r\n\r\n//TODO: HACK\r\ntype KnownAction =\r\n | any\r\n | ReceivePageItemsAction\r\n | UpdatePageItemsAction\r\n | SavePageItemAction\r\n | PublishPageItemAction\r\n | CreatePageItemDraftAction\r\n | CreateNewPageItemAction\r\n | RemovePageItemAction\r\n | UpdatePageItemInfoAction\r\n | UpdateSiteStatus\r\n | UpdatePageItemHtmlItemsAction;\r\n\r\nexport const actionCreators: any = {\r\n setPageItems: (pageItems: { [key: string]: PageItemModel }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'RECEIVE_PAGE_ITEMS', pageItems: pageItems });\r\n },\r\n\r\n updatePageItem: (pageItems: { [key: string]: PageItemModel }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'UPDATE_PAGE_ITEMS', pageItems: pageItems });\r\n },\r\n\r\n updatePageItemHtmlItems: (pageItemId: string, htmlItems: string[]): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'UPDATE_PAGE_ITEM_HTML_ITEMS_ORDER', pageItemId, htmlItems });\r\n },\r\n\r\n savePageItem: (baseItem: BaseItemModel, pageItemInfo?: PageItemInfo): AppThunkAction => (dispatch, getState) => {\r\n const pageItemRepository: PageItemRepository = new PageItemRepository();\r\n\r\n return pageItemRepository.savePageItem(baseItem).then(() => {\r\n dispatch({ type: 'SAVE_PAGE_ITEM_DRAFT', saving: true });\r\n });\r\n },\r\n\r\n savePageItems: (baseItems: BaseItemModel[]): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'SITE_STATUS', creatingNewSite: false, siteStatus: SiteStatus.SavingNewSite });\r\n const pageItemRepository: PageItemRepository = new PageItemRepository();\r\n Promise.all(\r\n baseItems.map((item) => {\r\n return pageItemRepository.savePageItem(item);\r\n })\r\n ).then(() => {\r\n dispatch({ type: 'SITE_STATUS', creatingNewSite: false, siteStatus: SiteStatus.SavedNewSite });\r\n });\r\n },\r\n\r\n deletePageItem: (id: string): AppThunkAction => (dispatch, getState) => {\r\n const pageItemRepository: PageItemRepository = new PageItemRepository();\r\n\r\n return pageItemRepository.deletePageItem(id);\r\n },\r\n\r\n removePageItem: (id: string): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'REMOVE_PAGE_ITEM', id });\r\n },\r\n\r\n publishPageItems: (ids: string[]): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'SITE_STATUS', creatingNewSite: false, siteStatus: SiteStatus.PublishingNewSite });\r\n const pageItemRepository: PageItemRepository = new PageItemRepository();\r\n Promise.all(\r\n ids.map((id) => {\r\n return pageItemRepository.publishPageItem(id);\r\n })\r\n ).then(() => {\r\n dispatch({\r\n type: 'SITE_STATUS',\r\n creatingNewSite: false,\r\n siteStatus: SiteStatus.PublishedNewSite\r\n });\r\n });\r\n },\r\n\r\n publishPageItem: (id: string): AppThunkAction => (dispatch, getState) => {\r\n const pageItemRepository: PageItemRepository = new PageItemRepository();\r\n dispatch(\r\n PageItemInfoActionCreators.updatePageItemInfo({\r\n [id]: {\r\n id: id,\r\n status: PageItemStatus.PUBLISHED,\r\n hasChanges: false,\r\n isNew: false\r\n }\r\n })\r\n );\r\n\r\n return pageItemRepository.publishPageItem(id);\r\n },\r\n\r\n unpublishPageItem: (id: string): AppThunkAction => (dispatch, getState) => {\r\n const pageItemRepository: PageItemRepository = new PageItemRepository();\r\n\r\n return pageItemRepository.unpublishPageItem(id);\r\n }\r\n};\r\n\r\nconst unloadedState: PageItemsState = { pageItems: {}, saving: false };\r\n\r\nexport const reducer: Reducer = (state: PageItemsState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'CREATE_NEW_PAGE_ITEM':\r\n return {\r\n pageItems: state.pageItems,\r\n saving: false\r\n };\r\n case 'UPDATE_PAGE_ITEM_HTML_ITEMS_ORDER':\r\n return {\r\n pageItems: {\r\n ...state.pageItems,\r\n [action.pageItemId]: {\r\n ...state.pageItems[action.pageItemId],\r\n htmlItems: action.htmlItems\r\n }\r\n },\r\n saving: false\r\n };\r\n case 'RECEIVE_PAGE_ITEMS':\r\n return {\r\n pageItems: { ...state.pageItems, ...action.pageItems },\r\n saving: false\r\n };\r\n case 'UPDATE_PAGE_ITEMS':\r\n return {\r\n pageItems: { ...state.pageItems, ...action.pageItems },\r\n saving: false\r\n };\r\n case 'SAVE_PAGE_ITEM_DRAFT':\r\n return {\r\n pageItems: state.pageItems,\r\n saving: action.saving\r\n };\r\n case 'PUBLISH_PAGE_ITEM':\r\n return {\r\n pageItems: state.pageItems,\r\n saving: action.saving\r\n };\r\n case 'CREATE_PAGE_ITEM_DRAFT':\r\n return {\r\n pageItems: state.pageItems,\r\n saving: action.saving\r\n };\r\n case 'REMOVE_PAGE_ITEM':\r\n const items = { ...state.pageItems };\r\n delete items[action.id];\r\n return {\r\n pageItems: items,\r\n saving: false\r\n };\r\n default:\r\n //TODO: HACK:\r\n //const exhaustiveCheck: never = action;\r\n }\r\n\r\n return state || unloadedState;\r\n};\r\n","import { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { PropertyItem } from '../cms/models/propertyItem';\r\n\r\nimport { PropertyItemModel } from '../cms/components/pageItems/pageItemModel';\r\n\r\n// -----------------\r\n// STATE - This defines the type of data maintained in the Redux store.\r\nexport interface PropertyItemsState {\r\n propertyItems: { [key: string]: PropertyItem };\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n\r\ninterface ReceivePropertyItemsAction {\r\n type: 'RECEIVE_PROPERTY_ITEMS';\r\n propertyItems: { [key: string]: PropertyItem };\r\n}\r\n\r\ninterface UpdatePropertyItemAction {\r\n type: 'UPDATE_PROPERTY_ITEMS';\r\n propertyItems: { [key: string]: PropertyItem };\r\n}\r\n\r\ninterface DeletePropertyItemAction {\r\n type: 'DELETE_PROPERTY_ITEM';\r\n id: string;\r\n}\r\ninterface AddPropertyItemAction {\r\n type: 'ADD_PROPERTY_ITEM';\r\n propertyItems: { [key: string]: PropertyItem };\r\n}\r\n// Declare a 'discriminated union' type. This guarantees that all references to 'type' properties contain one of the\r\n// declared type strings (and not any other arbitrary string).\r\n//TODO: HACK\r\ntype KnownAction = any | ReceivePropertyItemsAction | UpdatePropertyItemAction | DeletePropertyItemAction | AddPropertyItemAction;\r\n\r\n// ----------------\r\n// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition.\r\n// They don't directly mutate state, but they can have external side-effects (such as loading data).\r\nexport const actionCreators = {\r\n setPropertyItems: (propertyItems: { [key: string]: PropertyItem }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'RECEIVE_PROPERTY_ITEMS', propertyItems: propertyItems });\r\n },\r\n updatePropertyItems: (propertyItems: { [key: string]: PropertyItem }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'UPDATE_PROPERTY_ITEMS', propertyItems: propertyItems });\r\n },\r\n deletePropertyItem: (id: string): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'DELETE_PROPERTY_ITEM', id: id });\r\n },\r\n addPropertyItem: (propertyItem: { [key: string]: PropertyItem }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'ADD_PROPERTY_ITEM', propertyItem: propertyItem })\r\n }\r\n};\r\n\r\n// ----------------\r\n// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state.\r\n\r\nconst unloadedState: PropertyItemsState = { propertyItems: {} };\r\n\r\nexport const reducer: Reducer = (state: PropertyItemsState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'RECEIVE_PROPERTY_ITEMS':\r\n return {\r\n propertyItems: { ...state.propertyItems, ...action.propertyItems }\r\n };\r\n case 'UPDATE_PROPERTY_ITEMS':\r\n return {\r\n propertyItems: { ...state.propertyItems, ...action.propertyItems }\r\n };\r\n case 'DELETE_PROPERTY_ITEM':\r\n const items = { ...state.propertyItems };\r\n delete items[action.id];\r\n return {\r\n propertyItems: items\r\n };\r\n case 'ADD_PROPERTY_ITEM':\r\n return {\r\n propertyItems: { ...state.propertyItems, ...action.propertyItem }\r\n };\r\n default:\r\n // The following line guarantees that every action in the KnownAction union has been covered by a case above\r\n //TODO: HAck\r\n //const exhaustiveCheck: never = action;\r\n }\r\n return state || unloadedState;\r\n};\r\n\r\n// HELPER METHODS\r\n","import React from 'react';\r\nimport { Tooltip } from 'antd';\r\nimport { TooltipPlacement } from 'antd/lib/tooltip';\r\n\r\nimport './assets/TooltipMessage.scss';\r\n\r\nexport default function TooltipMessage({\r\n children,\r\n text,\r\n placement = 'top',\r\n className,\r\n}: {\r\n children: React.ReactNode;\r\n text: string | React.ReactNode;\r\n placement?: TooltipPlacement;\r\n className?: string;\r\n}) {\r\n const tooltipClassName = `tooltip-message ${className || ''}`;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import TagManager from 'react-gtm-module';\r\nexport const initializeGTM = () => {\r\n TagManager.initialize({ gtmId: 'GTM-PTV544P' });\r\n};\r\nexport const registerEvent = (event: any) => {\r\n if (!(window as any).dataLayer) {\r\n console.warn('Tag manager might not be initialized');\r\n }\r\n const dl1 = {\r\n dataLayer: event\r\n };\r\n TagManager.dataLayer(dl1);\r\n};\r\n","import * as React from 'react';\r\nimport { Button } from 'antd';\r\nimport { TooltipPlacement } from 'antd/lib/tooltip';\r\nimport classNames from 'classnames';\r\nimport TooltipMessage from '../../TooltipMessage/TooltipMessage';\r\nimport { registerEvent } from '../../../../../googleTagManager';\r\nimport { Utils } from '../../../../../Utils/Utils';\r\n\r\nimport './assets/CommonButton.scss';\r\n\r\nexport default function CommonButton({\r\n title,\r\n htmlType = 'button',\r\n className,\r\n onClick,\r\n isLoading,\r\n glyphicon,\r\n disabled,\r\n disabledToolTip,\r\n icon,\r\n toolTip,\r\n toolTipPlacement,\r\n tooltipClass,\r\n gTMEventData,\r\n type = 'primary',\r\n color,\r\n size = 'normal',\r\n href,\r\n asLink,\r\n style\r\n}: {\r\n title?: string;\r\n htmlType?: 'button' | 'reset' | 'submit';\r\n className?: string;\r\n onClick?(e: any);\r\n isLoading?: boolean;\r\n disabled?: boolean;\r\n disabledToolTip?: string | React.ReactNode;\r\n icon?: JSX.Element;\r\n glyphicon?: string;\r\n toolTip?: string;\r\n gTMEventData?: any; //function are accepted,\r\n toolTipPlacement?: TooltipPlacement;\r\n tooltipClass?: string;\r\n type?: 'primary' | 'secondary';\r\n color?: string;\r\n size?: 'icon' | 'normal' | 'large' | 'round' | 'small';\r\n href?: string;\r\n asLink?: boolean;\r\n style?: React.CSSProperties;\r\n}) {\r\n const btnClassName = classNames(`common-btn common-btn--${type} common-btn--${size}`, {\r\n [className]: className,\r\n 'common-btn--link': asLink,\r\n 'common-btn--disabled': disabled\r\n });\r\n const tooltipMessage = disabled ? disabledToolTip : toolTip;\r\n \r\n const handleClick = (e: any) => {\r\n if (!disabled) {\r\n if (gTMEventData) {\r\n registerEvent(Utils.isFunction(gTMEventData) ? gTMEventData() : gTMEventData);\r\n }\r\n\r\n if (onClick) {\r\n onClick(e);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {(icon || glyphicon) && (\r\n \r\n {icon}\r\n {glyphicon && }\r\n \r\n )}\r\n {size != 'icon' && size != 'round' && title && {title}}\r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as PageItemStore from '../../../store/PageItemStore';\r\nimport * as PageItemInfoStore from '../../../store/PageItemInfoStore';\r\nimport * as ApplicationState from '../../../store/index';\r\nimport * as Application from '../../../store/Application';\r\nimport * as HtmlItemsStore from '../../../store/HtmlItemStore';\r\nimport * as PropertyItemStore from '../../../store/PropertyItemStore';\r\nimport { showSuccessSnak } from '../../../store/MetadataStore';\r\nimport { getItemState, PageItemModel, HtmlItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport i18n from '../../../resources/i18n';\r\nimport { Utils } from '../../../Utils/Utils';\r\nimport CommonButton from '../_shared/Controls/CommonButton/CommonButton';\r\n\r\nconst { PageItemStatus } = PageItemInfoStore;\r\n\r\ntype EditorProps = ApplicationState.ApplicationState &\r\n typeof PageItemStore.actionCreators &\r\n typeof PageItemInfoStore.actionCreators &\r\n typeof PropertyItemStore.actionCreators &\r\n typeof HtmlItemsStore.actionCreators &\r\n typeof Application.actionCreators &\r\n PageItemProps &\r\n OwnProps;\r\n\r\ntype PageItemProps = {\r\n pageItem: PageItemModel;\r\n htmlItems: HtmlItemModel[];\r\n propertyItems: PropertyItemModel[];\r\n pageItemsInfo: PageItemInfoStore.PageItemInfo;\r\n cultureCode: string;\r\n industryId: number;\r\n};\r\n\r\ntype OwnProps = {\r\n pageItemId: string;\r\n pageItemName: string;\r\n showModal(): void;\r\n showSuccessSnak?(text: string): void;\r\n};\r\n\r\nclass Editor extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const lang = Utils.getLanguageForAdmin();\r\n\r\n i18n.changeLanguage(lang);\r\n }\r\n\r\n private publishPageItem() {\r\n const newInfo = { ...this.props.pageItemsInfo, status: PageItemStatus.PUBLISHED };\r\n\r\n this.props.showSuccessSnak(`'${this.props.pageItemName}' ${i18n.t('TEMPLATE_EDIT_PUBLISH_NOTIFICATION_TEXT')}`);\r\n this.props.updatePageItemInfo({ [this.props.pageItemId]: newInfo });\r\n this.props.publishPageItem(this.props.pageItemId);\r\n }\r\n\r\n private unpublishPageItem() {\r\n const newInfo = { ...this.props.pageItemsInfo, status: PageItemStatus.UNPUBLISHED };\r\n\r\n this.props.showSuccessSnak(`'${this.props.pageItemName}' ${i18n.t('TEMPLATE_EDIT_UNPUBLISH_NOTIFICATION_TEXT')}`);\r\n this.props.updatePageItemInfo({ [this.props.pageItemId]: newInfo });\r\n this.props.unpublishPageItem(this.props.pageItemId);\r\n }\r\n\r\n public render() {\r\n return (\r\n <>\r\n {this.props.pageItemsInfo.status === PageItemStatus.UNPUBLISHED && (\r\n
    \r\n )}\r\n
    \r\n \r\n this.publishPageItem()} />\r\n this.unpublishPageItem()} />\r\n {this.props.pageItemsInfo.status === PageItemStatus.UNPUBLISHED && (\r\n \r\n {i18n.t('TEMPLATE_EDIT_LABEL_UNPUBLISHED_TEXT')}\r\n \r\n )}\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n (state: ApplicationState.ApplicationState, ownProps: OwnProps) => getItemState(state, ownProps.pageItemId),\r\n (dispatch: any) => {\r\n return bindActionCreators(\r\n {\r\n ...PageItemStore.actionCreators,\r\n ...HtmlItemsStore.actionCreators,\r\n ...PropertyItemStore.actionCreators,\r\n ...PageItemInfoStore.actionCreators,\r\n ...Application.actionCreators,\r\n showSuccessSnak\r\n },\r\n dispatch\r\n );\r\n }\r\n)(Editor);\r\n","import React from 'react';\r\nimport { Modal } from 'antd';\r\nimport i18n from '../../../../resources/i18n';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\n\r\ninterface OwnProps {\r\n pageItemId: string;\r\n dialogTitle: string;\r\n openState: boolean;\r\n handleClose(): void;\r\n handleSave(): void;\r\n}\r\n\r\nclass EditModal extends React.Component {\r\n public render() {\r\n return (\r\n \r\n
    \r\n
    {this.props.dialogTitle}
    \r\n
    {this.props.children}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModal;\r\n","import Api from '../cms/common/apiConstants';\r\nimport { Utils } from '../Utils/Utils';\r\nimport { ApiService } from './apiService';\r\nimport { CompanyData } from '../cms/models/companyData';\r\n\r\nconst SITE_ID = Utils.getSiteID();\r\n\r\nexport class CompanyServiceApi {\r\n public static async getCompanyData(initialData: any) {\r\n try {\r\n const headers = {\r\n method: 'GET',\r\n headers: Api.headerWithToken\r\n };\r\n\r\n const response = await fetch(Utils.stringFormat(Api.siteOptions.companyQueriesSingle, SITE_ID), headers);\r\n const responseData = await response.json();\r\n\r\n if (responseData.commercialContact == '') {\r\n responseData.commercialContact = initialData.commercialContact;\r\n }\r\n\r\n const fre = await ApiService.getEmailFrequencySettings(responseData.id);\r\n\r\n return {\r\n success: true,\r\n data: {\r\n ...responseData,\r\n emailFrequency: fre.frequency\r\n }\r\n };\r\n } catch (error) {\r\n return {\r\n success: false,\r\n error: error\r\n };\r\n }\r\n }\r\n\r\n public static async saveCompanyData(data: CompanyData) {\r\n try {\r\n const headers = {\r\n method: 'PUT',\r\n headers: Api.headerWithToken,\r\n body: JSON.stringify(data)\r\n };\r\n\r\n const response = await fetch(Utils.stringFormat(Api.siteOptions.companyCommands, SITE_ID, data.id), headers);\r\n\r\n return {\r\n success: true,\r\n data: response\r\n };\r\n } catch (error) {\r\n return {\r\n success: false,\r\n error: error\r\n };\r\n }\r\n }\r\n}\r\n","import { fetch } from 'domain-task';\r\nimport { Reducer } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { CompanyData } from '../cms/models/companyData';\r\nimport { ActionTypes } from './ActionTypes';\r\nimport Api from '../cms/common/apiConstants';\r\nimport { Utils } from './../Utils/Utils';\r\nimport { ApiService } from '../services/apiService';\r\nimport { EmailSettingsFrequency } from '../services/autorest/models';\r\nimport { CompanyServiceApi } from '../services/companyServiceApi';\r\nimport { showErrorSnak, showSuccessSnak } from './MetadataStore';\r\nimport i18n from '../resources/i18n';\r\nimport { updateLoadingState, LOADING_STATES_NAMES } from './LoadingStore';\r\n\r\ndeclare var USER: any;\r\n\r\nconst SITE_ID = Utils.getSiteID();\r\nlet newCompanyData;\r\n\r\nexport interface CompanyDataState {\r\n isFetched: boolean;\r\n isError: boolean;\r\n isSaving: boolean;\r\n response: object;\r\n companyData: CompanyData;\r\n}\r\n\r\ninterface SetCompanyDataAction {\r\n type: ActionTypes.RECEIVE_COMPANY_DATA;\r\n companyData: CompanyData;\r\n}\r\ninterface SetFieldCompanyDataAction {\r\n type: ActionTypes.SET_FIELD_COMPANY_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n companyData: CompanyData;\r\n}\r\ninterface RequestCompanyDataAction {\r\n type: ActionTypes.REQUEST_COMPANY_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n}\r\ninterface FetchCompanyDataAction {\r\n type: ActionTypes.FETCH_COMPANY_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n response: object;\r\n companyData: CompanyData;\r\n}\r\ninterface UpdateCompanyDataAction {\r\n type: ActionTypes.UPDATE_COMPANY_DATA;\r\n companyData: CompanyData;\r\n}\r\ninterface SavedCompanyDataAction {\r\n type: ActionTypes.SAVED_COMPANY_DATA;\r\n isFetched: boolean;\r\n isSaving: boolean;\r\n isError: boolean;\r\n response: object;\r\n companyData: CompanyData;\r\n}\r\ninterface SavingCompanyDataAction {\r\n type: ActionTypes.SAVING_COMPANY_DATA;\r\n companyData: CompanyData;\r\n isSaving: boolean;\r\n isFetched: boolean;\r\n}\r\n\r\ntype KnownAction =\r\n | any\r\n | SetCompanyDataAction\r\n | SetFieldCompanyDataAction\r\n | RequestCompanyDataAction\r\n | FetchCompanyDataAction\r\n | UpdateCompanyDataAction\r\n | SavedCompanyDataAction\r\n | SavingCompanyDataAction;\r\n\r\nexport const actionCreators = {\r\n setCompanyData: (companyData: CompanyData): AppThunkAction => (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.RECEIVE_COMPANY_DATA,\r\n companyData: companyData\r\n });\r\n },\r\n setFieldCompanyData: (fieldName: string, fieldValue: any): AppThunkAction => (dispatch, getState) => {\r\n let companyData = getState().companyData.companyData;\r\n companyData[fieldName] = fieldValue;\r\n dispatch({\r\n type: ActionTypes.SET_FIELD_COMPANY_DATA,\r\n companyData: companyData,\r\n isFetched: true,\r\n isError: false\r\n });\r\n },\r\n saveEmailFrequency: (companyId: string, frequency: EmailSettingsFrequency): AppThunkAction => {\r\n return async (dispatch, getState) => {\r\n await ApiService.setEmailFrequencySettings(companyId, frequency);\r\n };\r\n },\r\n updateEmailFrequency: (frequency: EmailSettingsFrequency): AppThunkAction => {\r\n return async (dispatch, getState) => {\r\n dispatch({ type: ActionTypes.SET_EMAIL_FREQUENCY, frequency });\r\n };\r\n },\r\n fetchCompanyData: (initialValues: any): AppThunkAction => async (dispatch, getState) => {\r\n const headers = {\r\n method: 'GET',\r\n headers: Api.headerWithToken\r\n };\r\n\r\n fetch(Utils.stringFormat(Api.siteOptions.companyQueriesSingle, SITE_ID), headers)\r\n .then((response) => response.json())\r\n .then(async (data) => {\r\n if (data.commercialContact == '') {\r\n data.commercialContact = initialValues.commercialContact;\r\n }\r\n const fre = await ApiService.getEmailFrequencySettings(data.id);\r\n data.emailFrequency = fre.frequency;\r\n dispatch({\r\n type: ActionTypes.FETCH_COMPANY_DATA,\r\n isFetched: true,\r\n isError: false,\r\n response: {},\r\n companyData: data\r\n });\r\n })\r\n .catch((error) =>\r\n dispatch({\r\n type: ActionTypes.FETCH_COMPANY_DATA,\r\n isFetched: false,\r\n isError: true,\r\n response: error,\r\n companyData: error\r\n })\r\n );\r\n dispatch({\r\n type: ActionTypes.REQUEST_COMPANY_DATA,\r\n isFetched: false,\r\n isError: false\r\n });\r\n },\r\n updateCompanyData: (companyData: CompanyData): AppThunkAction => (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.UPDATE_COMPANY_DATA,\r\n companyData: companyData\r\n });\r\n },\r\n saveCompanyData: (companyData: CompanyData): AppThunkAction => (dispatch, getState) => {\r\n let company = getState().companyData.companyData;\r\n let headers = {\r\n method: 'PUT',\r\n headers: Api.headerWithToken,\r\n body: JSON.stringify(company)\r\n };\r\n let fetchTask = fetch(Utils.stringFormat(Api.siteOptions.companyCommands, SITE_ID, company.id), headers)\r\n .then((response) => {\r\n setTimeout(() => {\r\n dispatch({\r\n type: ActionTypes.SAVED_COMPANY_DATA,\r\n isSaving: false,\r\n isError: false,\r\n isFetched: true,\r\n companyData: company,\r\n response: response\r\n });\r\n }, 2000);\r\n })\r\n .catch((error) =>\r\n dispatch({\r\n type: ActionTypes.SAVED_COMPANY_DATA,\r\n isSaving: false,\r\n isError: true,\r\n isFetched: true,\r\n companyData: company,\r\n response: error\r\n })\r\n );\r\n dispatch({\r\n type: ActionTypes.SAVING_COMPANY_DATA,\r\n companyData: company,\r\n isSaving: true,\r\n isFetched: true\r\n });\r\n }\r\n};\r\n\r\nconst unloadedState: CompanyDataState = { isFetched: false, isError: false, isSaving: false, response: {}, companyData: null as CompanyData };\r\n\r\nexport const reducer: Reducer = (state: CompanyDataState, action: KnownAction) => {\r\n switch (action.type) {\r\n case ActionTypes.SET_EMAIL_FREQUENCY:\r\n const s = { ...state };\r\n return { ...state, companyData: { ...state.companyData, emailFrequency: action.frequency } };\r\n case ActionTypes.REQUEST_COMPANY_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isSaving: state.isSaving,\r\n isError: action.isFetched,\r\n response: { ...state.response },\r\n companyData: newCompanyData\r\n };\r\n case ActionTypes.RECEIVE_COMPANY_DATA:\r\n return {\r\n isFetched: state.isFetched,\r\n isSaving: state.isSaving,\r\n isError: state.isFetched,\r\n response: { ...state.response },\r\n companyData: { ...action.companyData }\r\n };\r\n case ActionTypes.FETCH_COMPANY_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isSaving: state.isSaving,\r\n isError: action.isError,\r\n response: { ...action.response },\r\n companyData: { ...action.companyData }\r\n };\r\n case ActionTypes.UPDATE_COMPANY_DATA:\r\n return {\r\n isFetched: state.isFetched,\r\n isSaving: state.isSaving,\r\n isError: state.isFetched,\r\n response: { ...state.response },\r\n companyData: { ...action.companyData }\r\n };\r\n case ActionTypes.SET_FIELD_COMPANY_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isSaving: state.isSaving,\r\n isError: action.isError,\r\n response: { ...state.response },\r\n companyData: { ...action.companyData }\r\n };\r\n case ActionTypes.SAVED_COMPANY_DATA:\r\n return {\r\n isError: action.isError,\r\n isSaving: action.isSaving,\r\n isFetched: action.isFetched,\r\n response: { ...action.response },\r\n companyData: { ...action.companyData }\r\n };\r\n case ActionTypes.SAVING_COMPANY_DATA:\r\n return {\r\n isError: state.isError,\r\n isSaving: action.isSaving,\r\n isFetched: action.isFetched,\r\n response: { ...state.response },\r\n companyData: { ...action.companyData }\r\n };\r\n default:\r\n //const exhaustiveCheck: never = action;\r\n }\r\n return state || unloadedState;\r\n};\r\n\r\nexport function getCompanyData() {\r\n return async (dispatch: Function) => {\r\n dispatch(updateLoadingState(\"companyLoading\", true));\r\n const response = await CompanyServiceApi.getCompanyData(typeof USER === \"undefined\" ? {} : { commercialContact: USER.userName });\r\n if (response.success) {\r\n dispatch({\r\n type: ActionTypes.FETCH_COMPANY_DATA,\r\n companyData: response.data\r\n });\r\n } else {\r\n dispatch({\r\n type: ActionTypes.FETCH_COMPANY_DATA,\r\n companyData: response.error\r\n });\r\n }\r\n\r\n dispatch(updateLoadingState(\"companyLoading\", false));\r\n };\r\n}\r\n\r\nexport function setFieldCompanyData(fieldName: string, fieldValue: any) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const companyData = getState().companyData.companyData;\r\n\r\n companyData[fieldName] = fieldValue;\r\n\r\n dispatch({\r\n type: ActionTypes.SET_FIELD_COMPANY_DATA,\r\n companyData: companyData,\r\n isFetched: true,\r\n isError: false\r\n });\r\n };\r\n}\r\n\r\nexport function updateCompanyData(data: CompanyData) {\r\n return async (dispatch: Function) => {\r\n dispatch(updateLoadingState(\"companySaving\", true));\r\n\r\n const response = await CompanyServiceApi.saveCompanyData(data);\r\n if (response.success) {\r\n dispatch({\r\n type: ActionTypes.SAVED_COMPANY_DATA,\r\n companyData: data\r\n });\r\n dispatch(showSuccessSnak(i18n.t('COMPANYMANAGEMENT_SAVED_TEXT')));\r\n } else {\r\n dispatch({\r\n type: ActionTypes.SAVED_COMPANY_DATA,\r\n companyData: data\r\n });\r\n }\r\n\r\n dispatch(updateLoadingState(\"companySaving\", false));\r\n };\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { BaseItemModel, getItemState, PageItemModel, HtmlItemModel, PropertyItemModel } from '../../pageItems/pageItemModel';\r\nimport * as PageItemState from '../../../../store/PageItemStore';\r\nimport * as ApplicationState from '../../../../store/index';\r\nimport * as HtmlItemsStore from '../../../../store/HtmlItemStore';\r\nimport * as PropertyItemStore from '../../../../store/PropertyItemStore';\r\nimport * as CompanyDataStore from '../../../../store/CompanyDataStore';\r\nimport { Guid } from '../../../common/guid';\r\nimport { showSuccessSnak } from '../../../../store/MetadataStore';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\ntype PageItemProps = {\r\n pageItem: PageItemModel;\r\n htmlItems: HtmlItemModel[];\r\n propertyItems: PropertyItemModel[];\r\n};\r\ntype OwnProps = {\r\n pageItemId: string;\r\n showSuccessSnak(text: string): void;\r\n};\r\n\r\ninterface OwnState {\r\n open: boolean;\r\n}\r\n\r\nexport type EditPageItemProps = ApplicationState.ApplicationState &\r\n typeof PropertyItemStore.actionCreators &\r\n typeof HtmlItemsStore.actionCreators &\r\n typeof PageItemState.actionCreators &\r\n PageItemProps &\r\n OwnProps;\r\n\r\nexport default (WrappedComponent) => {\r\n class EditModalHocUnwrapped extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.saveItem = this.saveItem.bind(this);\r\n this.state = {\r\n open: false\r\n };\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n private handleChangeOrCreate = (propertyItem: PropertyItemModel, propertyItemName: string, e: any) => {\r\n const newItem: PropertyItemModel = propertyItem;\r\n if (propertyItem) {\r\n newItem.value = e.value;\r\n return this.props.updatePropertyItems({ [newItem.id]: newItem });\r\n }\r\n return this.addPropertyItem(propertyItemName, e.value);\r\n };\r\n\r\n private handleChange = (propertyItem: PropertyItemModel, e: any) => {\r\n const newItem: any = propertyItem;\r\n newItem.value = e.value;\r\n this.props.updatePropertyItems({ [newItem.id]: newItem });\r\n };\r\n\r\n private handleChangeSlider = (propertyItem: PropertyItemModel, value: any) => {\r\n const newItem: any = propertyItem;\r\n newItem.value = value;\r\n this.props.updatePropertyItems({ [newItem.id]: newItem });\r\n };\r\n\r\n private saveItem() {\r\n const baseItem: BaseItemModel = { pageItem: this.props.pageItem, htmlItems: {}, propertyItems: {} };\r\n this.props.htmlItems.forEach((item) => {\r\n baseItem.htmlItems[item.id] = item;\r\n });\r\n this.props.propertyItems.forEach((item) => {\r\n baseItem.propertyItems[item.id] = item;\r\n });\r\n this.props.savePageItem(baseItem);\r\n\r\n if (this.props.pageItem.pageItemType === 'SOCIALMEDIA') {\r\n this.props.saveCompanyData(this.props.companyData);\r\n }\r\n\r\n this.setState({ open: false }, () => this.props.showSuccessSnak(`'${this.props.pageItemName}' ${i18n.t('TEMPLATE_EDIT_SAVE_NOTIFICATION_TEXT')}`));\r\n }\r\n\r\n private handleModalClose = () => {\r\n this.setState({ open: false });\r\n };\r\n\r\n private handleModalOpen = () => {\r\n this.setState({ open: true });\r\n };\r\n\r\n private createPropertyItemModel(propertyItemName: string, value: string): PropertyItemModel {\r\n const newItem: PropertyItemModel = {\r\n id: Guid.newGuid(),\r\n parentId: this.props.pageItemId,\r\n name: propertyItemName,\r\n valueType: 'STRING',\r\n value\r\n };\r\n return newItem;\r\n }\r\n\r\n private addPropertyItem(propertyItemName: string, value: string) {\r\n const newItem: PropertyItemModel = this.createPropertyItemModel(propertyItemName, value);\r\n this.props.addPropertyItem({ [newItem.id]: newItem });\r\n const updatePageItem: PageItemModel = this.props.pageItem;\r\n updatePageItem.propertyItems.push(newItem.id);\r\n return this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n }\r\n }\r\n\r\n const EditModalHoc = connect(\r\n (state: ApplicationState.ApplicationState, ownProps: any) => getItemState(state, ownProps.pageItemId),\r\n (dispatch: any) =>\r\n bindActionCreators(\r\n {\r\n ...PageItemState.actionCreators,\r\n ...HtmlItemsStore.actionCreators,\r\n ...PropertyItemStore.actionCreators,\r\n ...CompanyDataStore.actionCreators,\r\n showSuccessSnak\r\n },\r\n dispatch\r\n )\r\n )(EditModalHocUnwrapped);\r\n\r\n return EditModalHoc;\r\n};\r\n","import React from 'react';\r\nimport { Modal } from 'antd';\r\n\r\nimport './assets/InfoModal.scss';\r\n\r\nexport default function InfoModal({\r\n children,\r\n visible,\r\n onSubmit,\r\n onCancel\r\n}: {\r\n children: React.ReactNode;\r\n visible: boolean;\r\n onSubmit(e: any): any;\r\n onCancel(e: any): any;\r\n}) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faQuestionCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport classNames from 'classnames';\r\nimport InfoModal from '../../InfoModal/InfoModal';\r\n\r\nimport './assets/ControlLabel.scss';\r\n\r\nexport default function ControlLabel({\r\n children,\r\n required,\r\n bold,\r\n infoMessage,\r\n className,\r\n error\r\n}: {\r\n children: React.ReactNode;\r\n required?: boolean;\r\n bold?: boolean;\r\n infoMessage?: string;\r\n className?: string;\r\n error?: boolean\r\n}) {\r\n const [infoMessageIsVisible, setInfoMessageState] = React.useState(false);\r\n\r\n const labelClassName = classNames('control-label', [\r\n {\r\n 'control-label--required': required,\r\n 'control-label--bold': bold,\r\n [className]: !!className\r\n }\r\n ]);\r\n\r\n const handleMessageOpen = () => {\r\n setInfoMessageState(true);\r\n };\r\n\r\n const handleMessageClose = () => {\r\n setInfoMessageState(false);\r\n };\r\n\r\n if (!children) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n {children}\r\n {infoMessage && (\r\n \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\nimport './assets/ControlError.scss';\r\n\r\nexport default function ConrolError({ message }: { message?: string }) {\r\n if (!message) {\r\n return null;\r\n }\r\n\r\n return
    {message}
    ;\r\n}\r\n","import * as React from 'react';\r\nimport { Input } from 'antd';\r\nimport classNames from 'classnames';\r\nimport ControlLabel from '../ControlLabel/ControlLabel';\r\nimport ConrolError from '../ConrolError/ControlError';\r\n\r\nimport './assets/CommonInput.scss';\r\nexport type TCommonInput = {\r\n className?: string;\r\n title?: string;\r\n name?: string;\r\n id?: string;\r\n value: string;\r\n onChange(e: any): void;\r\n onBlur?(e: any): void;\r\n onFocus?(e: any): void;\r\n required?: boolean;\r\n type?: string;\r\n error?: string;\r\n tip?: string;\r\n placeholder?: string;\r\n readonly?: boolean;\r\n disabled?: boolean;\r\n asTextArea?: boolean;\r\n autocomplete?: string;\r\n addonBefore?: string;\r\n maxLength?: number;\r\n}\r\nexport default function CommonInput({\r\n className,\r\n title,\r\n name,\r\n id,\r\n onChange,\r\n onBlur,\r\n onFocus,\r\n value,\r\n required,\r\n type,\r\n error,\r\n tip,\r\n placeholder,\r\n readonly,\r\n autocomplete,\r\n disabled,\r\n asTextArea,\r\n addonBefore,\r\n maxLength\r\n}:TCommonInput ) {\r\n const wrapClassName = classNames('common-input', className);\r\n const fieldClassName = classNames('common-input__field', [\r\n {\r\n 'common-input__field--error': error,\r\n 'common-input__field--textarea': asTextArea,\r\n 'control-error': error\r\n }\r\n ]);\r\n\r\n const [localValue, setLocalValue] = React.useState(value || '');\r\n\r\n React.useEffect(() => {\r\n setLocalValue(value || '');\r\n }, [value]);\r\n\r\n const handleChange = (e: React.ChangeEvent) => {\r\n if (name) {\r\n const emailFields = [\r\n 'commercialContact',\r\n 'companyCommercialContact',\r\n 'commercialContactExtended',\r\n ];\r\n\r\n if (name.toLowerCase().includes('email') || emailFields.includes(name))\r\n e.target.value = e.target.value.trim();\r\n }\r\n\r\n setLocalValue(e.target.value);\r\n onChange(e);\r\n };\r\n\r\n const handleKeyPress = (e: React.KeyboardEvent) => {\r\n if (type === 'number') {\r\n if ((e.which != 8 && e.which != 0 && e.which < 48) || e.which > 57) {\r\n e.preventDefault();\r\n }\r\n }\r\n };\r\n\r\n const commonProps = {\r\n className: fieldClassName,\r\n onChange: handleChange,\r\n onBlur: onBlur,\r\n onFocus: onFocus,\r\n name: name,\r\n id: id,\r\n value: localValue,\r\n placeholder: placeholder,\r\n readOnly: readonly,\r\n autoComplete: autocomplete,\r\n disabled: disabled\r\n };\r\n \r\n return (\r\n
    \r\n \r\n {title}\r\n \r\n {asTextArea ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { Slider as AntdSlider } from 'antd';\r\nimport { SliderValue } from 'antd/lib/slider';\r\nimport classNames from 'classnames';\r\n\r\nimport './assets/Slider.scss';\r\n\r\nexport default function Slider({\r\n max,\r\n min,\r\n step,\r\n value,\r\n onChange,\r\n tipFormatter,\r\n className\r\n}: {\r\n max: number;\r\n min: number;\r\n step: number | null;\r\n value: SliderValue;\r\n onChange(value: SliderValue): void;\r\n className?: string;\r\n tipFormatter?(value: number): React.ReactNode;\r\n}) {\r\n const sliderClass = classNames('slider', {\r\n [className]: !!className\r\n });\r\n\r\n return ;\r\n}\r\n","import * as React from 'react';\r\nimport { Tabs as AntTabs } from 'antd';\r\nimport classNames from 'classnames';\r\n\r\nimport './assets/Tabs.scss';\r\n\r\nexport const TabPane = ({\r\n children,\r\n tab,\r\n key,\r\n disabled,\r\n ...restProps\r\n}: {\r\n children: React.ReactNode;\r\n tab: string | React.ReactNode;\r\n key: string;\r\n disabled?: boolean;\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default function Tabs({\r\n children,\r\n activeTab,\r\n onTabClick,\r\n tabsAlignment = 'left'\r\n}: {\r\n children: React.ReactNode;\r\n activeTab: number;\r\n onTabClick?(tabKey: number): void;\r\n tabsAlignment?: 'center' | 'left' | 'right';\r\n}) {\r\n const tabsClass = classNames('tabs', {\r\n 'tabs--center': tabsAlignment === 'center',\r\n 'tabs--right': tabsAlignment === 'right'\r\n });\r\n\r\n const handleTabClick = (tabKey: string) => {\r\n if (onTabClick) {\r\n onTabClick(parseInt(tabKey));\r\n }\r\n };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPlusCircle, faMinusCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { PageItemModel, HtmlItemModel, PropertyItemModel } from '../../pageItems/pageItemModel';\r\nimport { Guid } from '../../../common/guid';\r\nimport DropZoneHelper from '../../_shared/DropZoneHelper/DropZoneHelper';\r\nimport Editor from '../Editor';\r\nimport EditModal from '../modalComponents/EditModal';\r\nimport EditModalHoc, { EditPageItemProps } from '../modalComponents/EditModalHoc';\r\nimport { TemplateUtility } from '../../../common/template';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { ImageType } from '../../../../services/autorest/models';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport Slider from '../../_shared/Slider/Slider';\r\nimport Tabs, { TabPane } from '../../_shared/Tabs/Tabs';\r\n\r\nimport './assets/EditSlider.scss';\r\n\r\ninterface OwnState {\r\n tab: number;\r\n}\r\n\r\ninterface OwnProps {\r\n siteId: string;\r\n cultureCode: string;\r\n fileStoreCdn: string;\r\n}\r\n\r\ntype EditSliderProps = EditPageItemProps & OwnProps;\r\n\r\nclass EditSlider extends Component {\r\n constructor(EditSliderProps) {\r\n super(EditSliderProps);\r\n\r\n this.state = {\r\n tab: 0\r\n };\r\n\r\n if (!this.props.propertyItems.find((x) => x.name == 'SliderBackgroundTint')) {\r\n this.createPropertyItem('SliderBackgroundTint', '0');\r\n }\r\n }\r\n\r\n private handleChangeTab = (tab: number) => {\r\n this.setState({ tab });\r\n };\r\n\r\n private renderSlider(tintValue: number) {\r\n return (\r\n
    \r\n `${i18n.t('TEMPLATE_EDIT_SLIDER_TINT_LABEL')}: ${Math.trunc(value * 100)}%`}\r\n onChange={(value) =>\r\n this.props.handleChangeSlider(\r\n this.props.propertyItems.find((x) => x.name == 'SliderBackgroundTint'),\r\n value\r\n )\r\n }\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private renderImageUpload() {\r\n const tintValue = this.props.propertyItems.find((x) => x.name == 'SliderBackgroundTint')\r\n ? +(this.props.propertyItems.find((x) => x.name == 'SliderBackgroundTint').value)\r\n : 0;\r\n\r\n return (\r\n <>\r\n {TemplateUtility.getContentImageUri(this.props, 'SliderBackground', true) && (\r\n
    \r\n
    \r\n
    \r\n \"Uploaded\r\n
    {this.renderSlider(tintValue)}
    \r\n
    \r\n
    \r\n )}\r\n this.storeFileName(filename[0])}\r\n label={i18n.t('TEMPLATE_EDIT_SLIDER_DROPZONE_TEXT')}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderTextFields() {\r\n return (\r\n
    \r\n x.name == 'SliderHeader').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'SliderHeader'),\r\n e.target\r\n )\r\n }\r\n />\r\n x.name == 'SliderMore').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'SliderMore'),\r\n e.target\r\n )\r\n }\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private renderTabs() {\r\n return (\r\n
    \r\n \r\n {this.createStackedTabs()}\r\n \r\n
    \r\n );\r\n }\r\n\r\n private createStackedTabs() {\r\n return this.props.htmlItems.map((item, index) => {\r\n const label = `Slider ${index + 1}`;\r\n\r\n return (\r\n \r\n
    \r\n {item.propertyItems.map((key) => {\r\n const propertyItem: PropertyItemModel = this.props.propertyItems.find((x) => x.id == key);\r\n const labelItem = i18n.t(`TEMPLATE_EDIT_SLIDER_${propertyItem.name}`)\r\n ? i18n.t(`TEMPLATE_EDIT_SLIDER_${propertyItem.name}`)\r\n : propertyItem.name;\r\n\r\n return (\r\n this.props.handleChange(propertyItem, e.target)}\r\n />\r\n );\r\n })}\r\n
    \r\n }\r\n size=\"small\"\r\n onClick={this.addSliderItem}\r\n />\r\n }\r\n onClick={(e) => this.deleteHtmlItem(item.id)}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n });\r\n }\r\n\r\n private storeFileName(filename: string) {\r\n const item = this.props.propertyItems.find((x) => x.name == 'SliderBackground');\r\n item.value = filename;\r\n this.props.updatePropertyItems({ [item.id]: item });\r\n\r\n const pageItem: PageItemModel = this.props.pageItem;\r\n pageItem.properties['backgroundFromTemplate'] = 'false';\r\n this.props.updatePageItem({ [pageItem.id]: pageItem });\r\n }\r\n\r\n //TODO: MAKE SOLID\r\n private addSliderItem = (e) => {\r\n const newSliderItem = this.createNewSliderItem(this.props.pageItemId);\r\n this.props.updateHtmlItems({ [newSliderItem.htmlItem.id]: newSliderItem.htmlItem });\r\n newSliderItem.propertyItems.map((item) => {\r\n this.props.updatePropertyItems({ [item.id]: item });\r\n });\r\n const updatePageItem = this.props.pageItem;\r\n updatePageItem.htmlItems.push(newSliderItem.htmlItem.id);\r\n this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n };\r\n\r\n private deleteHtmlItem = (id: string) => {\r\n if (this.props.htmlItems.length > 1) {\r\n const updatePageItem = this.props.pageItem;\r\n updatePageItem.htmlItems = updatePageItem.htmlItems.filter((key) => key != id);\r\n this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n this.props.htmlItems\r\n .find((x) => x.id == id)\r\n .propertyItems.forEach((key) => {\r\n this.props.deletePropertyItem(key);\r\n });\r\n this.props.deleteHtmlItem(id);\r\n }\r\n this.setState({ tab: 0 });\r\n };\r\n\r\n private createNewSliderItem = (parentId: string) => {\r\n const parentGuid = Guid.newGuid();\r\n const propGuid = Guid.newGuid();\r\n const propGuid2 = Guid.newGuid();\r\n const htmlItem: HtmlItemModel = {\r\n id: parentGuid,\r\n parentId: parentId,\r\n tagName: 'div',\r\n name: 'SliderItem',\r\n properties: {\r\n active: ''\r\n },\r\n propertyItems: [propGuid, propGuid2]\r\n };\r\n const propertyItems: PropertyItemModel[] = [\r\n {\r\n id: propGuid,\r\n parentId: parentGuid,\r\n name: 'SliderItemTextTop',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid2,\r\n parentId: parentGuid,\r\n name: 'SliderItemTextBottom',\r\n value: '',\r\n valueType: 'STRING'\r\n }\r\n ];\r\n\r\n return { htmlItem, propertyItems };\r\n };\r\n\r\n private createPropertyItem(name: string, value: string): PropertyItemModel {\r\n const newItem: PropertyItemModel = {\r\n id: Guid.newGuid(),\r\n parentId: this.props.pageItemId,\r\n valueType: 'STRING',\r\n name,\r\n value\r\n };\r\n this.props.addPropertyItem({ [newItem.id]: newItem });\r\n const updatePageItem: PageItemModel = this.props.pageItem;\r\n updatePageItem.propertyItems.push(newItem.id);\r\n return this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n }\r\n\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n {this.renderImageUpload()}\r\n {this.renderTextFields()}\r\n {this.renderTabs()}\r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditSlider);\r\n","import React, { Component} from 'react';\r\nimport Editor from './Editor';\r\nimport EditModal from './modalComponents/EditModal';\r\nimport EditModalHoc, { EditPageItemProps } from './modalComponents/EditModalHoc';\r\nimport i18n from '../../../resources/i18n';\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\n\r\ninterface OwnState {\r\n editorText: any;\r\n}\r\n\r\nclass EditPresentation extends Component {\r\n public render() {\r\n return (\r\n
    \r\n \r\n \r\n x.name == 'PresentationItemText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'PresentationItemText'),\r\n e.target\r\n )\r\n }\r\n />\r\n\r\n
    \r\n
    x.name == 'PresentationItemText').value }} />\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditPresentation);\r\n","import React, { Component } from 'react';\r\nimport { PageItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport { Guid } from '../../common/guid';\r\nimport DropZoneHelper from '../_shared/DropZoneHelper/DropZoneHelper';\r\nimport EditModal from './modalComponents/EditModal';\r\nimport Editor from './Editor';\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\nimport Slider from '../_shared/Slider/Slider';\r\nimport EditModalHoc, { EditPageItemProps } from './modalComponents/EditModalHoc';\r\nimport { TemplateUtility } from '../../common/template';\r\nimport i18n from '../../../resources/i18n';\r\n\r\nimport { ImageType } from '../../../services/autorest/models';\r\n\r\ntype OwnProps = {\r\n siteId: string;\r\n cultureCode: string;\r\n fileStoreCdn: string;\r\n};\r\ntype EditAboutUsProps = EditPageItemProps & OwnProps;\r\n\r\nconst styles = {\r\n dropzone: {\r\n width: '60.3%',\r\n transform: 'translate(33%,0)',\r\n marginBottom: '10px',\r\n marginTop: '10px'\r\n },\r\n slider: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '60.3%',\r\n height: '100%',\r\n transform: 'translate(33%,0)',\r\n zIndex: 10\r\n } as React.CSSProperties\r\n};\r\n\r\nclass EditAboutUs extends Component {\r\n constructor(EditSliderProps) {\r\n super(EditSliderProps);\r\n this.state = {\r\n tab: 0,\r\n tint: 0\r\n };\r\n if (!this.props.propertyItems.find((x) => x.name == 'AboutUsBackgroundTint')) {\r\n this.createPropertyItem('AboutUsBackgroundTint', '0');\r\n }\r\n }\r\n\r\n private renderImageUpload() {\r\n const tintValue = this.props.propertyItems.find((x) => x.name == 'AboutUsBackgroundTint')\r\n ? this.props.propertyItems.find((x) => x.name == 'AboutUsBackgroundTint').value\r\n : 0;\r\n\r\n return (\r\n <>\r\n {TemplateUtility.getContentImageUri(this.props, 'AboutUsBackground', true) && (\r\n
    \r\n
    \r\n
    \r\n \r\n
    {this.renderSlider(tintValue)}
    \r\n
    \r\n
    \r\n )}\r\n this.storeFileName(filename[0])}\r\n acceptedExtensions={['png', 'jpeg', 'jpg']}\r\n label={i18n.t('TEMPLATE_EDIT_SLIDER_DROPZONE_TEXT')}\r\n styles={styles.dropzone}\r\n />\r\n \r\n );\r\n }\r\n\r\n private renderSlider(tintValue: number) {\r\n return (\r\n
    \r\n {\r\n this.props.handleChangeSlider(\r\n this.props.propertyItems.find((x) => x.name == 'AboutUsBackgroundTint'),\r\n value\r\n );\r\n }}\r\n tipFormatter={(value) => `${i18n.t('TEMPLATE_EDIT_SLIDER_TINT_LABEL')}: ${Math.trunc(value * 100)}%`}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private renderTextFields() {\r\n return (\r\n
    \r\n x.name == 'AboutUsHeaderText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'AboutUsHeaderText'),\r\n e.target\r\n )\r\n }\r\n />\r\n x.name == 'AboutUsBodyText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'AboutUsBodyText'),\r\n e.target\r\n )\r\n }\r\n />\r\n
    \r\n );\r\n }\r\n\r\n private createPropertyItem(name: string, value: string): PropertyItemModel {\r\n const newItem: PropertyItemModel = {\r\n id: Guid.newGuid(),\r\n parentId: this.props.pageItemId,\r\n valueType: 'STRING',\r\n name,\r\n value\r\n };\r\n this.props.addPropertyItem({ [newItem.id]: newItem });\r\n const updatePageItem: PageItemModel = this.props.pageItem;\r\n updatePageItem.propertyItems.push(newItem.id);\r\n return this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n }\r\n\r\n private storeFileName(filename: string) {\r\n const item = this.props.propertyItems.find((x) => x.name == 'AboutUsBackground');\r\n item.value = filename;\r\n this.props.updatePropertyItems({ [item.id]: item });\r\n\r\n const pageItem: PageItemModel = this.props.pageItem;\r\n pageItem.properties['backgroundFromTemplate'] = 'false';\r\n this.props.updatePageItem({ [pageItem.id]: pageItem });\r\n }\r\n\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n {this.renderImageUpload()}\r\n {this.renderTextFields()}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditAboutUs);\r\n","import * as React from 'react';\r\nimport { Row as AntRow, Col as AntCol } from 'antd';\r\nimport { RowProps } from 'antd/lib/row';\r\nimport { ColProps } from 'antd/lib/col';\r\n\r\nexport const Row = (props: RowProps) => {\r\n const { gutter } = props;\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport const Col = (props: ColProps) => {\r\n return {props.children};\r\n};\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { CompanyData } from '../../models/companyData';\r\nimport { getItemAndCompanyDataState, PageItemModel, HtmlItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport * as ApplicationState from '../../../store';\r\nimport * as Application from '../../../store/Application';\r\nimport * as CompanyDataStore from '../../../store/CompanyDataStore';\r\nimport * as PageItemState from '../../../store/PageItemStore';\r\nimport * as PropertyItemStore from '../../../store/PropertyItemStore';\r\nimport i18n from '../../../resources/i18n';\r\nimport Editor from './Editor';\r\nimport EditModal from './modalComponents/EditModal';\r\nimport EditModalHoc from './modalComponents/EditModalHoc';\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\nimport { Row, Col } from '../_shared/Grid/Grid';\r\n\r\ntype PageItemProps = {\r\n pageItem: PageItemModel;\r\n htmlItems: HtmlItemModel[];\r\n propertyItems: PropertyItemModel[];\r\n companyData: CompanyData;\r\n};\r\n\r\ntype EditPageItemProps = ApplicationState.ApplicationState &\r\n typeof PropertyItemStore.actionCreators &\r\n typeof PageItemState.actionCreators &\r\n typeof CompanyDataStore.actionCreators &\r\n PageItemProps &\r\n OwnProps;\r\n\r\ntype OwnProps = {\r\n pageItemId: string;\r\n};\r\n\r\nclass EditSocialMedia extends React.Component {\r\n private handleCompanyDataChange = (key: string, e: any) => {\r\n const newCompanyData: CompanyData = this.props.companyData;\r\n newCompanyData[key] = e.value;\r\n this.props.updateCompanyData(newCompanyData);\r\n };\r\n\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n <>\r\n x.name == 'SocialMediaItemText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'SocialMediaItemText'),\r\n e.target\r\n )\r\n }\r\n />\r\n\r\n {\r\n \r\n \r\n \r\n \r\n \r\n this.handleCompanyDataChange('facebookUrl', e.currentTarget)}\r\n />\r\n \r\n \r\n }\r\n {\r\n \r\n \r\n \r\n \r\n \r\n this.handleCompanyDataChange('twitterUrl', e.currentTarget)}\r\n />\r\n \r\n \r\n }\r\n {\r\n \r\n \r\n \r\n \r\n \r\n this.handleCompanyDataChange('linkedInUrl', e.currentTarget)}\r\n />\r\n \r\n \r\n }\r\n {\r\n \r\n \r\n \r\n \r\n \r\n this.handleCompanyDataChange('youtubeUrl', e.currentTarget)}\r\n />\r\n \r\n \r\n }\r\n {\r\n \r\n \r\n \r\n \r\n \r\n this.handleCompanyDataChange('instagramUrl', e.currentTarget)}\r\n />\r\n \r\n \r\n }\r\n {\r\n \r\n \r\n \r\n \r\n \r\n this.handleCompanyDataChange('otherUrl', e.currentTarget)}\r\n />\r\n \r\n \r\n }\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(\r\n connect(\r\n (state: ApplicationState.ApplicationState, ownProps: OwnProps) => getItemAndCompanyDataState(state, ownProps.pageItemId),\r\n (dispatch: any) => {\r\n return bindActionCreators(\r\n {\r\n ...PageItemState.actionCreators,\r\n ...PropertyItemStore.actionCreators,\r\n ...CompanyDataStore.actionCreators,\r\n ...Application.actionCreators\r\n },\r\n dispatch\r\n );\r\n }\r\n )(EditSocialMedia)\r\n);\r\n","import * as React from 'react';\r\nimport { PropertyItem } from '../../../models/propertyItem';\r\n\r\nimport './assets/IconSelector.scss';\r\n\r\nconst fontAwesomeList: string[] = [\r\n 'fa-clock-o',\r\n 'fa-mobile',\r\n 'fa-refresh',\r\n 'fa-futbol-o',\r\n 'fa-bicycle',\r\n 'fa-cutlery',\r\n 'fa-beer',\r\n 'fa-birthday-cake',\r\n 'fa-handshake-o',\r\n 'fa-music',\r\n 'fa-certificate',\r\n 'fa-coffee',\r\n 'fa-tint',\r\n 'fa-subway',\r\n 'fa-heart',\r\n 'fa-heart-o',\r\n 'fa-heartbeat',\r\n 'fa-plus-square',\r\n 'fa-thumbs-o-up',\r\n 'fa-smile-o',\r\n 'fa-snowflake-o',\r\n 'fa-wheelchair',\r\n 'fa-ambulance',\r\n 'fa-plane',\r\n 'fa-car',\r\n 'fa-bus',\r\n 'fa-truck',\r\n 'fa-check-square-o',\r\n 'fa-medkit',\r\n 'fa-bed',\r\n 'fa-film',\r\n 'fa-gamepad',\r\n 'fa-glass',\r\n 'fa-home',\r\n 'fa-recycle',\r\n 'fa-tree'\r\n];\r\n\r\ninterface FontAwesomeSelectorProps {\r\n propertyItem: PropertyItem;\r\n title: string;\r\n onSelect(propertyItem: PropertyItem, value: any);\r\n}\r\n\r\ninterface OwnState {\r\n showDialog: boolean;\r\n}\r\n\r\nclass FontAwesomeSelector extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = { showDialog: false };\r\n this.setWrapperRef = this.setWrapperRef.bind(this);\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n }\r\n\r\n public componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n }\r\n\r\n private wrapperRef: any;\r\n\r\n private setWrapperRef(node: HTMLDivElement) {\r\n this.wrapperRef = node;\r\n }\r\n\r\n private handleClickOutside(event) {\r\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\r\n this.setState({ showDialog: false });\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n
    \r\n {\r\n this.setState({ showDialog: !this.state.showDialog });\r\n }}\r\n >\r\n \r\n
    \r\n {\r\n this.setState({ showDialog: false });\r\n }}\r\n style={{\r\n display: this.state.showDialog ? 'block' : 'none'\r\n }}\r\n >\r\n
    \r\n {fontAwesomeList.map((font) => {\r\n const event = { value: font };\r\n return (\r\n \r\n {font === this.props.propertyItem.value ? (\r\n \r\n ) : (\r\n this.props.onSelect(this.props.propertyItem, event)} className={`fa ${font} fa-2x`} />\r\n )}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FontAwesomeSelector;\r\n","import React, { Component } from 'react';\r\nimport FontAwesomeSelector from '../../_shared/IconSelector/fontAwesomeSelector';\r\nimport EditModal from '../modalComponents/EditModal';\r\nimport i18n from '../../../../resources/i18n';\r\nimport Editor from '../Editor';\r\nimport EditModalHoc, { EditPageItemProps } from '../modalComponents/EditModalHoc';\r\nimport { Row, Col } from '../../_shared/Grid/Grid';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\n\r\nimport './assets/EditBenefits.scss';\r\n\r\nclass EditBenefits extends Component {\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n {this.props.htmlItems.map((htmlItem, index) => {\r\n return (\r\n
    \r\n
    \r\n {i18n.t('TEMPLATE_EDIT_BENEFITS_ITEM_TEXT')} {++index}\r\n
    \r\n \r\n \r\n x.parentId == htmlItem.id && x.name == 'FontAwesome')}\r\n title={i18n.t('TEMPLATE_EDIT_BENEFITS_ICON_TEXT')}\r\n />\r\n \r\n \r\n x.parentId == htmlItem.id && x.name == 'BenefitHeaderText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.parentId == htmlItem.id && x.name == 'BenefitHeaderText'),\r\n e.target\r\n )\r\n }\r\n />\r\n x.parentId == htmlItem.id && x.name == 'BenefitBodyText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.parentId == htmlItem.id && x.name == 'BenefitBodyText'),\r\n e.target\r\n )\r\n }\r\n />\r\n \r\n \r\n
    \r\n );\r\n })}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditBenefits);\r\n","import React, { Component } from 'react';\r\nimport { SortableContainer, arrayMove } from 'react-sortable-hoc';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPlusCircle, faMinusCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { HtmlItemModel, PropertyItemModel } from '../../pageItems/pageItemModel';\r\nimport { Guid } from '../../../common/guid';\r\nimport { TemplateUtility } from '../../../common/template';\r\nimport EditModal from '../modalComponents/EditModal';\r\nimport Editor from '../Editor';\r\nimport EditModalHoc, { EditPageItemProps } from '../modalComponents/EditModalHoc';\r\nimport DropZoneHelper from '../../_shared/DropZoneHelper/DropZoneHelper';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { ImageType } from '../../../../services/autorest/models';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport Tabs, { TabPane } from '../../_shared/Tabs/Tabs';\r\n\r\nimport './assets/EditTestimonial.scss';\r\n\r\ninterface OwnProps {\r\n siteId: string;\r\n cultureCode: string;\r\n fileStoreCdn: string;\r\n}\r\n\r\ninterface OwnState {\r\n tab: number;\r\n}\r\n\r\ntype EditTestimonialProps = EditPageItemProps & OwnProps;\r\n\r\nclass EditTestimonial extends Component {\r\n constructor(EditTestimonialProps) {\r\n super(EditTestimonialProps);\r\n\r\n this.state = {\r\n tab: 0\r\n };\r\n }\r\n\r\n private onSortEnd = ({ oldIndex, newIndex }: { oldIndex: number; newIndex: number }) => {\r\n this.setState({\r\n tab: newIndex\r\n });\r\n\r\n const reOrderedHtmlItems: HtmlItemModel[] = arrayMove(this.props.htmlItems, oldIndex, newIndex);\r\n\r\n this.props.updatePageItemHtmlItems(\r\n this.props.pageItemId,\r\n reOrderedHtmlItems.map((item) => item.id)\r\n );\r\n };\r\n\r\n private storeFileName(id: string, filename: string) {\r\n const item = this.props.propertyItems.find((x) => x.parentId === id && x.name === 'ImageUrl');\r\n\r\n item.value = filename;\r\n\r\n this.props.updatePropertyItems({ [item.id]: item });\r\n TemplateUtility.setIsBgFromTemplate(this.props, false);\r\n this.props.updatePageItem({ [this.props.pageItemId]: this.props.pageItem });\r\n }\r\n\r\n //TODO: MAKE SOLID\r\n private addSliderItem = (itemType: string) => {\r\n let newSliderItem = null;\r\n\r\n switch (itemType) {\r\n case 'TestimonialOneColumnTextItem':\r\n newSliderItem = this.createNewTestimonialOneColumnTextItem(this.props.pageItemId);\r\n break;\r\n case 'TestimonialTwoColumnVideoItem':\r\n newSliderItem = this.createNewTestimonialTwoColumnVideoItem(this.props.pageItemId);\r\n break;\r\n case 'TestimonialTwoColumnImage':\r\n newSliderItem = this.createNewTestimonialTwoColumnImageItem(this.props.pageItemId);\r\n break;\r\n default:\r\n }\r\n\r\n this.props.updateHtmlItems({ [newSliderItem.htmlItem.id]: newSliderItem.htmlItem });\r\n\r\n newSliderItem.propertyItems.map((item) => {\r\n this.props.updatePropertyItems({ [item.id]: item });\r\n });\r\n\r\n const updatePageItem = this.props.pageItem;\r\n\r\n updatePageItem.htmlItems.push(newSliderItem.htmlItem.id);\r\n this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n };\r\n\r\n private createNewTestimonialOneColumnTextItem = (parentId: string) => {\r\n const parentGuid = Guid.newGuid();\r\n const propGuid = Guid.newGuid();\r\n const propGuid2 = Guid.newGuid();\r\n const htmlItem: HtmlItemModel = {\r\n id: parentGuid,\r\n parentId: parentId,\r\n tagName: 'div',\r\n name: 'TestimonialOneColumnText',\r\n properties: {\r\n active: ''\r\n },\r\n propertyItems: [propGuid, propGuid2]\r\n };\r\n const propertyItems: PropertyItemModel[] = [\r\n {\r\n id: propGuid,\r\n parentId: parentGuid,\r\n name: 'QuoteText',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid2,\r\n parentId: parentGuid,\r\n name: 'EmployeeName',\r\n value: '',\r\n valueType: 'STRING'\r\n }\r\n ];\r\n\r\n return { htmlItem, propertyItems };\r\n };\r\n\r\n private createNewTestimonialTwoColumnVideoItem = (parentId: string) => {\r\n const parentGuid = Guid.newGuid();\r\n const propGuid = Guid.newGuid();\r\n const propGuid2 = Guid.newGuid();\r\n const propGuid3 = Guid.newGuid();\r\n const propGuid4 = Guid.newGuid();\r\n const htmlItem: HtmlItemModel = {\r\n id: parentGuid,\r\n parentId: parentId,\r\n tagName: 'div',\r\n name: 'TestimonialTwoColumnVideo',\r\n properties: {\r\n active: ''\r\n },\r\n propertyItems: [propGuid, propGuid2, propGuid3, propGuid4]\r\n };\r\n const propertyItems: PropertyItemModel[] = [\r\n {\r\n id: propGuid,\r\n parentId: parentGuid,\r\n name: 'QuoteText',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid2,\r\n parentId: parentGuid,\r\n name: 'EmployeeName',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid3,\r\n parentId: parentGuid,\r\n name: 'VideoUrl',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid4,\r\n parentId: parentGuid,\r\n name: 'ImageUrl',\r\n value: '',\r\n valueType: 'STRING'\r\n }\r\n ];\r\n\r\n return { htmlItem, propertyItems };\r\n };\r\n\r\n private createNewTestimonialTwoColumnImageItem = (parentId: string) => {\r\n const parentGuid = Guid.newGuid();\r\n const propGuid = Guid.newGuid();\r\n const propGuid2 = Guid.newGuid();\r\n const propGuid3 = Guid.newGuid();\r\n const htmlItem: HtmlItemModel = {\r\n id: parentGuid,\r\n parentId: parentId,\r\n tagName: 'div',\r\n name: 'TestimonialTwoColumnImage',\r\n properties: {\r\n active: ''\r\n },\r\n propertyItems: [propGuid, propGuid2, propGuid3]\r\n };\r\n const propertyItems: PropertyItemModel[] = [\r\n {\r\n id: propGuid,\r\n parentId: parentGuid,\r\n name: 'QuoteText',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid2,\r\n parentId: parentGuid,\r\n name: 'EmployeeName',\r\n value: '',\r\n valueType: 'STRING'\r\n },\r\n {\r\n id: propGuid3,\r\n parentId: parentGuid,\r\n name: 'ImageUrl',\r\n value: '',\r\n valueType: 'STRING'\r\n }\r\n ];\r\n\r\n return { htmlItem, propertyItems };\r\n };\r\n\r\n private deleteHtmlItem = (id: string) => {\r\n if (this.props.htmlItems.length > 1) {\r\n const updatePageItem = this.props.pageItem;\r\n\r\n updatePageItem.htmlItems = updatePageItem.htmlItems.filter((key) => key != id);\r\n\r\n this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n this.props.htmlItems\r\n .find((x) => x.id == id)\r\n .propertyItems.forEach((key) => {\r\n this.props.deletePropertyItem(key);\r\n });\r\n this.props.deleteHtmlItem(id);\r\n }\r\n\r\n this.setState({ tab: 0 });\r\n };\r\n\r\n private handleChangeTab = (tab: number) => {\r\n this.setState({ tab });\r\n };\r\n\r\n private TestimonialTabsList = SortableContainer(() => {\r\n return (\r\n \r\n {this.props.htmlItems.map((htmlItem, index) => (\r\n \r\n
    \r\n {htmlItem.propertyItems.map((item, index) => {\r\n const propertyItem: PropertyItemModel = this.props.propertyItems.find((x) => x.id === item);\r\n\r\n return (\r\n
    \r\n {propertyItem.name !== 'ImageUrl' ? (\r\n this.props.handleChange(propertyItem, e.target)}\r\n />\r\n ) : (\r\n
    \r\n this.storeFileName(htmlItem.id, filename[0])}\r\n imageProps={{ imageType: ImageType.Employee }}\r\n acceptedExtensions={['png', 'jpeg', 'jpg']}\r\n label={i18n.t('TEMPLATE_EDIT_TESTIMONIALS_DROPZONE_TEXT')}\r\n />\r\n {propertyItem.value !== '' ? (\r\n \r\n ) : null}\r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n })}\r\n }\r\n onClick={(e) => this.deleteHtmlItem(htmlItem.id)}\r\n />\r\n
    \r\n
    \r\n ))}\r\n
    \r\n );\r\n });\r\n\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n
    \r\n x.name == 'TestimonialHeaderText').value}\r\n onChange={(e) =>\r\n this.props.handleChange(\r\n this.props.propertyItems.find((x) => x.name == 'TestimonialHeaderText'),\r\n e.target\r\n )\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n onClick={() => this.addSliderItem('TestimonialOneColumnTextItem')}\r\n />\r\n }\r\n onClick={() => this.addSliderItem('TestimonialTwoColumnImage')}\r\n />\r\n }\r\n onClick={() => this.addSliderItem('TestimonialTwoColumnVideoItem')}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditTestimonial);\r\n","import React, { Component } from 'react';\r\nimport { BaseItemModel, PageItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport EditModal from './modalComponents/EditModal';\r\nimport EditModalHoc, { EditPageItemProps } from './modalComponents/EditModalHoc';\r\nimport Editor from './Editor';\r\nimport i18n from '../../../resources/i18n';\r\nimport { PropertyNames } from '../../common/itemsConstants';\r\nimport { PropertyItemHelper } from '../../helpers';\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\n\r\ntype EditJobListCustomProps = EditPageItemProps & OwnProps;\r\n\r\ntype OwnProps = {\r\n texts: { [key: string]: string };\r\n pageItem: PageItemModel;\r\n propertyItems: PropertyItemModel[];\r\n};\r\n\r\nclass EditJobListCustom extends Component {\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.JOB_LIST_CUSTOM_HEADER_TEXT),\r\n PropertyNames.JOB_LIST_CUSTOM_HEADER_TEXT,\r\n e.target\r\n )\r\n }\r\n />\r\n {\r\n {\r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.JOB_LIST_CUSTOM_HEADER_TEXT_NO_JOBS),\r\n PropertyNames.JOB_LIST_CUSTOM_HEADER_TEXT_NO_JOBS,\r\n e.target\r\n );\r\n }\r\n }}\r\n />\r\n \r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.JOB_LIST_CUSTOM_HEADER_ADDITIONAL_TEXT_NO_JOBS),\r\n PropertyNames.JOB_LIST_CUSTOM_HEADER_ADDITIONAL_TEXT_NO_JOBS,\r\n e.target\r\n )\r\n }\r\n />\r\n \r\n this.props.handleChange(PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.JOB_LIST_CUSTOM_FEED), e.target)\r\n }\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n private saveItem = () => {\r\n const baseItem: BaseItemModel = { pageItem: this.props.pageItem, htmlItems: {}, propertyItems: {} };\r\n this.props.propertyItems.forEach((item) => {\r\n baseItem.propertyItems[item.id] = item;\r\n });\r\n this.props.savePageItem(baseItem);\r\n };\r\n}\r\n\r\nexport default EditModalHoc(EditJobListCustom);\r\n","import React, { Component } from 'react';\r\nimport { Guid } from '../../common/guid';\r\nimport { PageItemModel, PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport EditModal from './modalComponents/EditModal';\r\nimport EditModalHoc, { EditPageItemProps } from './modalComponents/EditModalHoc';\r\nimport Editor from './Editor';\r\nimport i18n from '../../../resources/i18n';\r\nimport { PropertyNames } from '../../common/itemsConstants';\r\nimport { PropertyItemHelper } from '../../helpers';\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\n\r\ntype UnsolicitedFormProps = {\r\n isUnsolicitedFormOpened: boolean;\r\n};\r\n\r\ntype OwnProps = {\r\n propertyItems: PropertyItemModel[];\r\n texts: { [key: string]: string };\r\n};\r\n\r\ntype EditUnsolicitedApplicationProps = EditPageItemProps & OwnProps & UnsolicitedFormProps;\r\n\r\nclass EditUnsolicitedApplicationHeader extends Component {\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n this.handleChange(this.getPropertyItemByHeaderName(), e.target)}\r\n />\r\n \r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.UNSOLICITED_FORM_BUTTON_TEXT),\r\n PropertyNames.UNSOLICITED_FORM_BUTTON_TEXT,\r\n e.target\r\n )\r\n }\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n // TODO move it to helper\r\n private getPropertyItemByHeaderName(): PropertyItemModel {\r\n const { propertyItems } = this.props;\r\n return propertyItems.find((x) => x.name === this.getUnsolicitedPropertyItemHeaderName());\r\n }\r\n private getUnsolicitedPropertyItemHeaderName(): string {\r\n return this.props.isUnsolicitedFormOpened ? 'UnsolicitedFormThankText' : 'UnsolicitedFormClosedTitle';\r\n }\r\n\r\n private getPropertyItemHeader(): string {\r\n const propertyItem: PropertyItemModel = this.getPropertyItemByHeaderName();\r\n if (propertyItem) {\r\n return propertyItem.value;\r\n }\r\n return this.props.isUnsolicitedFormOpened ? i18n.t('UNSOLICITED_FORM_TITLE') : i18n.t('UNSOLICITED_FORM_CLOSED_TITLE');\r\n }\r\n\r\n private handleChange = (propertyItem: any, e: any) => {\r\n const newItem: PropertyItemModel = propertyItem;\r\n if (propertyItem) {\r\n newItem.value = e.value;\r\n return this.props.updatePropertyItems({ [newItem.id]: newItem });\r\n }\r\n return this.addPropertyItem(e.value);\r\n };\r\n\r\n private createPropertyItemModel(value: string): PropertyItemModel {\r\n const newItem: PropertyItemModel = {\r\n id: Guid.newGuid(),\r\n parentId: this.props.pageItemId,\r\n name: this.getUnsolicitedPropertyItemHeaderName(),\r\n valueType: 'STRING',\r\n value\r\n };\r\n return newItem;\r\n }\r\n\r\n private addPropertyItem(value: string) {\r\n const newItem: PropertyItemModel = this.createPropertyItemModel(value);\r\n this.props.addPropertyItem({ [newItem.id]: newItem });\r\n const updatePageItem: PageItemModel = this.props.pageItem;\r\n updatePageItem.propertyItems.push(newItem.id);\r\n return this.props.updatePageItem({ [this.props.pageItemId]: updatePageItem });\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditUnsolicitedApplicationHeader);\r\n","import React, { Component } from 'react';\r\nimport { PropertyNames } from '../../common/itemsConstants';\r\nimport { PropertyItemModel } from '../pageItems/pageItemModel';\r\nimport EditModal from './modalComponents/EditModal';\r\nimport EditModalHoc, { EditPageItemProps } from './modalComponents/EditModalHoc';\r\nimport i18n from '../../../resources/i18n';\r\nimport Editor from './Editor';\r\nimport { PropertyItemHelper } from '../../helpers';\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\n\r\ntype OwnProps = {\r\n isJobListEmpty: boolean;\r\n propertyItems: PropertyItemModel[];\r\n};\r\ntype EditJobListProps = EditPageItemProps & OwnProps;\r\n\r\nclass EditJobListHeader extends Component {\r\n public render() {\r\n return (\r\n <>\r\n \r\n \r\n {\r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.JOB_LIST_HEADER_TEXT),\r\n PropertyNames.JOB_LIST_HEADER_TEXT,\r\n e.target\r\n );\r\n }}\r\n />\r\n {\r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, PropertyNames.JOB_LIST_HEADER_TEXT_NO_JOBS),\r\n PropertyNames.JOB_LIST_HEADER_TEXT_NO_JOBS,\r\n e.target\r\n );\r\n }}\r\n />\r\n {\r\n this.props.handleChangeOrCreate(\r\n PropertyItemHelper.getPropertyItemByName(this.props, 'JobListHeaderAdditionalTextNoJobs'),\r\n 'JobListHeaderAdditionalTextNoJobs',\r\n e.target\r\n );\r\n }}\r\n />\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default EditModalHoc(EditJobListHeader);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport EditSlider from '../../cmsComponents/EditSlider/EditSlider';\r\nimport EditPresentation from '../../cmsComponents/EditPresentation';\r\nimport EditAboutUs from '../../cmsComponents/EditAboutUs';\r\nimport EditSocialMedia from '../../cmsComponents/EditSocialMedia';\r\nimport EditBenefits from '../../cmsComponents/EditBenefits/EditBenefits';\r\nimport EditTestimonial from '../../cmsComponents/EditTestimonial/EditTestimonial';\r\nimport EditJobListCustom from '../../cmsComponents/EditJobListCustom';\r\nimport EditUnsolicitedApplicationHeader from '../../cmsComponents/EditUnsolicitedApplicationHeader';\r\nimport EditJobListHeader from '../../cmsComponents/EditJobListHeader';\r\nimport * as ApplicationState from '../../../../store/index';\r\nimport * as PageItemsList from '../../pageItems/index';\r\nimport { getItemAndCompanyDataState } from '../../pageItems/pageItemModel';\r\nimport Api from '../../../common/apiConstants';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/PageItemRenderer.scss';\r\n\r\ntype PageRendererProps = ApplicationState.ApplicationState & OwnProps & any;\r\n\r\ninterface OwnProps {\r\n pageItemId: string;\r\n jobAds: any;\r\n classes: any;\r\n}\r\n\r\nclass PageItemRenderer extends React.Component {\r\n public render() {\r\n switch (this.props.pageItem.pageItemType) {\r\n case 'BENEFITS': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'SLIDER': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'UNSOLICITEDAPPLICATION': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'JOBLIST': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'JOBLIST_CUSTOM': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'PRESENTATION': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'SOCIALMEDIA': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'ABOUT_US': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n case 'TESTIMONIALSLIDER': {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n default:\r\n return TODO - NOT IMPLEMENTED!;\r\n }\r\n }\r\n\r\n private isJobListEmpty(): boolean {\r\n return this.props.pageItem.pageItemType === 'JOBLIST' && this.props.jobAds.jobAds.length === 0;\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: ApplicationState.ApplicationState, ownProps: OwnProps) => {\r\n return {\r\n ...getItemAndCompanyDataState(state, ownProps.pageItemId),\r\n ...{\r\n isUnsolicitedFormOpened: state.unsolicitedApplication.isUnsolicitedAppOpened\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(PageItemRenderer);\r\n","export default class FileLoader {\r\n public static async load(path: string): Promise {\r\n const promise = (path: string): Promise => {\r\n return new Promise((resolve, reject) => {\r\n const xobj = new XMLHttpRequest();\r\n xobj.overrideMimeType('application/json');\r\n xobj.open('GET', path, true);\r\n\r\n try {\r\n xobj.onreadystatechange = () => {\r\n if (xobj.readyState == 4 && xobj.status == 200) {\r\n resolve(xobj.responseText);\r\n }\r\n };\r\n xobj.send(null);\r\n } catch (error) {\r\n reject(`Cannot load file [${path}]`);\r\n }\r\n });\r\n };\r\n const res: string = await promise(path);\r\n return res;\r\n }\r\n}\r\n","export interface IResources {\r\n CultureCode: string;\r\n getText(string: string): string;\r\n}\r\nexport class Resources implements IResources {\r\n private _resources: { [key: string]: string }[];\r\n private _cultureCode: string;\r\n\r\n get CultureCode(): string {\r\n return this._cultureCode;\r\n }\r\n\r\n constructor(resourses: { [key: string]: string }[], cultureCode: string) {\r\n this._cultureCode = cultureCode;\r\n this._resources = resourses;\r\n }\r\n\r\n public getText(key: string): string {\r\n try {\r\n return this._resources.find(item => item.key === key).value;\r\n } catch (error) {\r\n return `[${key}]`;\r\n }\r\n }\r\n}\r\n","import FileLoader from './fileLoader';\r\nimport { IResources, Resources } from './resources';\r\nimport { ITemplateSettings, IIndustries } from './template';\r\nexport default interface IRepository {\r\n getResources(cultureCode: string): Promise;\r\n getTemplate(cultureCode: string, industryId: number, templateName: string): Promise;\r\n getTemplateSettings(cultureCode: string, industryId: number): Promise;\r\n getCandidateEmailTemplates(): Promise;\r\n getIndustryToTemplateMapping(): Promise;\r\n}\r\n\r\nexport class FileRepository implements IRepository {\r\n private _endpoint: string;\r\n\r\n constructor(endpoint: string) {\r\n this._endpoint = endpoint;\r\n }\r\n public getResources(cultureCode: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n FileLoader.load(`../../admin/template/resources/?culture=${cultureCode}`).then(data => {\r\n try {\r\n const resourse: Resources = new Resources(JSON.parse(data), cultureCode);\r\n resolve(resourse);\r\n } catch (error) {\r\n reject('Cannot parse data');\r\n }\r\n });\r\n });\r\n }\r\n public getTemplate(cultureCode: string, industryId: number, templateName: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n FileLoader.load(\r\n `${this._endpoint}/templates/${cultureCode}/${industryId}/${templateName}.json`\r\n ).then(data => {\r\n try {\r\n resolve(data);\r\n } catch (error) {\r\n reject('Cannot fetch data');\r\n }\r\n });\r\n });\r\n }\r\n public getTemplateSettings(cultureCode: string, industryId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n FileLoader.load(`${this._endpoint}/templates/${cultureCode}/${industryId}/_settings.json`).then(\r\n data => {\r\n try {\r\n resolve(JSON.parse(data) as ITemplateSettings);\r\n } catch (error) {\r\n reject('Cannot parse data');\r\n }\r\n }\r\n );\r\n });\r\n }\r\n\r\n public getIndustryToTemplateMapping(): Promise {\r\n return new Promise((resolve, reject) => {\r\n FileLoader.load(`${this._endpoint}/templates/industries.json`).then(data => {\r\n try {\r\n const res: IIndustries = JSON.parse(data);\r\n resolve(res);\r\n } catch (error) {\r\n reject('Cannot parse data');\r\n }\r\n });\r\n });\r\n }\r\n\r\n public getCandidateEmailTemplates(): Promise {\r\n return new Promise((resolve, reject) => {\r\n FileLoader.load(\r\n `${this._endpoint}/templates/candidateTemplateIds.json`\r\n ).then(data => {\r\n try {\r\n resolve(data);\r\n } catch (error) {\r\n reject('Cannot fetch data');\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as ApplicationState from '../store/index';\r\nimport * as Application from '../store/Application';\r\nimport * as HtmlItemsStore from '../store/HtmlItemStore';\r\nimport * as PageItemsStore from '../store/PageItemStore';\r\nimport * as PageItemInfoStore from '../store/PageItemInfoStore';\r\nimport * as PropertyItemsStore from '../store/PropertyItemStore';\r\nimport * as MetadataStore from '../store/MetadataStore';\r\nimport PageItemRenderer from '../cms/components/siteEdit/PageItemRenderer/PageItemRenderer';\r\nimport { TemplateHandler } from '../cms/common/template';\r\nimport { FileRepository } from '../cms/common/repository';\r\nimport { BaseItemModel, PropertyItemModel, PageItemModel, HtmlItemModel } from '../cms/components/pageItems/pageItemModel';\r\nimport Api from '../cms/common/apiConstants';\r\nimport { SiteStatus, actionCreators as RootItemStateActionCreators } from '../store/RootItem';\r\nimport { PageItemStatus } from '../store/PageItemInfoStore';\r\nimport i18n from '../resources/i18n';\r\n\r\ntype EditProps = ApplicationState.ApplicationState &\r\n typeof Application.actionCreators &\r\n typeof PageItemsStore.actionCreators &\r\n typeof PageItemInfoStore.actionCreators &\r\n typeof HtmlItemsStore.actionCreators &\r\n typeof PropertyItemsStore.actionCreators &\r\n typeof RootItemStateActionCreators &\r\n typeof MetadataStore.actionCreators;\r\n\r\nclass Edit extends React.Component {\r\n public componentWillMount() {\r\n this.props.initPage(Api.siteId);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: EditProps) {\r\n if (nextProps.root.siteStatus === SiteStatus.Error) {\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.NoPageItemsInDatabase && nextProps.root.siteStatus === SiteStatus.NoPageItemsInDatabase) {\r\n this.props.UpdateSiteStatus(true, SiteStatus.CreateNewSiteTemplates);\r\n }\r\n\r\n if (nextProps.root.siteStatus === SiteStatus.FetchedFromDatabase) {\r\n this.props.UpdateSiteStatus(true, SiteStatus.Idle);\r\n\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.CreateNewSiteTemplates && nextProps.root.siteStatus === SiteStatus.CreateNewSiteTemplates) {\r\n this.createNewSite();\r\n\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.SaveNewSite && nextProps.root.siteStatus === SiteStatus.SaveNewSite) {\r\n this.props.UpdateSiteStatus(false, SiteStatus.SavingNewSite);\r\n this.savePageItems();\r\n\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.SavingNewSite && nextProps.root.siteStatus === SiteStatus.SavingNewSite) {\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.SavedNewSite && nextProps.root.siteStatus === SiteStatus.SavedNewSite) {\r\n this.props.UpdateSiteStatus(false, SiteStatus.PublishNewSite);\r\n\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.PublishNewSite && nextProps.root.siteStatus === SiteStatus.PublishNewSite) {\r\n this.props.UpdateSiteStatus(false, SiteStatus.PublishingNewSite);\r\n this.publishPageItems();\r\n\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.PublishingNewSite && nextProps.root.siteStatus === SiteStatus.PublishingNewSite) {\r\n return true;\r\n }\r\n\r\n if (this.props.root.siteStatus !== SiteStatus.PublishedNewSite && nextProps.root.siteStatus === SiteStatus.PublishedNewSite) {\r\n return true;\r\n }\r\n\r\n if (\r\n this.props.root.siteStatus === SiteStatus.PublishedNewSite &&\r\n nextProps.root.siteStatus === SiteStatus.PublishedNewSite &&\r\n Object.keys(this.props.propertyItems.propertyItems).length !== Object.keys(nextProps.propertyItems.propertyItems).length\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public render() {\r\n return (\r\n
    \r\n {this.props.root.isLoading ? (\r\n <>\r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n ''\r\n )}\r\n\r\n {(this.props.root.siteStatus === SiteStatus.Error ||\r\n this.props.root.siteStatus === SiteStatus.NoPageItemsInDatabase) && this.renderError()}\r\n\r\n {Object.keys(this.props.pageItems.pageItems).length > 0 ? (\r\n
    \r\n {this.getOrderOfPageItems().map((key) => {\r\n return ;\r\n })}\r\n
    \r\n ) : (\r\n ''\r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private renderError() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public renderStatus(siteStatus: SiteStatus) {\r\n debugger\r\n switch (siteStatus) {\r\n case SiteStatus.Idle:\r\n return false;\r\n case SiteStatus.FetchingFromDatabase:\r\n return false;\r\n case SiteStatus.FetchedFromDatabase:\r\n return false;\r\n case SiteStatus.NoPageItemsInDatabase:\r\n return false;\r\n case SiteStatus.CreateNewSiteTemplates:\r\n return false;\r\n case SiteStatus.SaveNewSite:\r\n return false;\r\n case SiteStatus.SavingNewSite:\r\n return false;\r\n case SiteStatus.SavedNewSite:\r\n return false;\r\n case SiteStatus.PublishNewSite:\r\n return false;\r\n case SiteStatus.PublishingNewSite:\r\n return false;\r\n case SiteStatus.PublishedNewSite:\r\n return false;\r\n case SiteStatus.Error:\r\n return false;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n public createNewSite() {\r\n const templateHandler: TemplateHandler = new TemplateHandler(\r\n new FileRepository(Api.siteOptions.fileStoreCDN),\r\n this.props.companyData.companyData.subIndustry || this.props.companyData.companyData.industry,\r\n this.props.root.cultureCode,\r\n this.props.root.id\r\n );\r\n templateHandler.createNewSite().then((data) => {\r\n data.forEach((item) => {\r\n this.props.updatePageItemInfo({\r\n [item.pageItem.id]: {\r\n id: item.pageItem.id,\r\n status: item.pageItem.isPublishedByDefault ? PageItemStatus.PUBLISHED : PageItemStatus.UNPUBLISHED,\r\n hasChanges: true,\r\n isNew: true,\r\n messages: [`Created new: ${item.pageItem.name}`]\r\n }\r\n });\r\n this.props.setHtmlItems(item.htmlItems as { [key: string]: HtmlItemModel });\r\n this.props.setPropertyItems(item.propertyItems as { [key: string]: PropertyItemModel });\r\n this.props.setPageItems({ [item.pageItem.id]: item.pageItem });\r\n });\r\n this.props.UpdateSiteStatus(false, SiteStatus.SaveNewSite);\r\n });\r\n }\r\n\r\n public getOrderOfPageItems(): string[] {\r\n const orderedList: string[] = [];\r\n Object.keys(this.props.pageItems.pageItems).forEach((key) => {\r\n const pageItem: PageItemModel = this.props.pageItems.pageItems[key];\r\n orderedList[pageItem.order] = key;\r\n });\r\n\r\n return orderedList;\r\n }\r\n\r\n private savePageItems() {\r\n const baseItems: BaseItemModel[] = [];\r\n Object.keys(this.props.pageItems.pageItems).forEach((key) => {\r\n const baseItem: BaseItemModel = {\r\n pageItem: this.props.pageItems.pageItems[key],\r\n htmlItems: {},\r\n propertyItems: {}\r\n };\r\n\r\n this.props.pageItems.pageItems[key].htmlItems.forEach((id) => {\r\n baseItem.htmlItems[id] = this.props.htmlItems.htmlItems[id] as HtmlItemModel;\r\n\r\n baseItem.htmlItems[id].propertyItems.forEach((propKey) => {\r\n baseItem.propertyItems[propKey] = this.props.propertyItems.propertyItems[propKey] as PropertyItemModel;\r\n });\r\n });\r\n\r\n this.props.pageItems.pageItems[key].propertyItems.forEach((id) => {\r\n baseItem.propertyItems[id] = this.props.propertyItems.propertyItems[id] as PropertyItemModel;\r\n });\r\n\r\n baseItems.push(baseItem);\r\n });\r\n this.props.savePageItems(baseItems);\r\n }\r\n\r\n private publishPageItems(): void {\r\n const ids: string[] = [];\r\n Object.keys(this.props.pageItems.pageItems).forEach((key) => {\r\n const item: PageItemModel = this.props.pageItems.pageItems[key];\r\n if (item.isPublishedByDefault) {\r\n ids.push(item.id);\r\n }\r\n });\r\n\r\n this.props.publishPageItems(ids);\r\n }\r\n}\r\n\r\nexport default connect(\r\n (state: ApplicationState.ApplicationState) => state,\r\n (dispatch: any) => {\r\n return bindActionCreators(\r\n {\r\n ...HtmlItemsStore.actionCreators,\r\n ...PageItemsStore.actionCreators,\r\n ...PageItemInfoStore.actionCreators,\r\n ...PropertyItemsStore.actionCreators,\r\n ...Application.actionCreators,\r\n ...RootItemStateActionCreators,\r\n ...MetadataStore.actionCreators\r\n },\r\n dispatch\r\n );\r\n }\r\n)(Edit);\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleDown, faAngleUp, IconDefinition, faSortDown, faSortUp } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport './assets/style/SortableTH.scss';\r\n\r\nexport interface SortableTHProps {\r\n onSortClicked(sortOn: string, direction: string);\r\n sortOn?: string;\r\n direction?: string;\r\n text: string;\r\n columnName: string;\r\n className?: string;\r\n fontAwesomeIcon?: IconDefinition;\r\n minWidth?: number;\r\n disableSort?: boolean;\r\n}\r\n\r\nexport default class SortableTH extends React.Component {\r\n constructor(props: SortableTHProps) {\r\n super(props);\r\n\r\n this.state = {};\r\n }\r\n\r\n private getClassNameForSort(columnName: string) {\r\n const { sortOn, direction, disableSort } = this.props;\r\n\r\n let d = 'ASC';\r\n\r\n if (sortOn == undefined || disableSort) {\r\n return ;\r\n }\r\n\r\n if (sortOn === columnName) {\r\n d = direction.toUpperCase() === 'DESC' ? 'ASC' : 'DESC';\r\n\r\n if (d == 'DESC') {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (d == 'ASC') {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private sortClicked(columnName: string) {\r\n const { sortOn, direction, onSortClicked } = this.props;\r\n let d = 'ASC';\r\n\r\n if (sortOn === columnName) {\r\n d = direction.toUpperCase() === 'DESC' ? 'ASC' : 'DESC';\r\n }\r\n\r\n if (onSortClicked) {\r\n onSortClicked(columnName, d);\r\n }\r\n }\r\n\r\n public render() {\r\n const { text, columnName, fontAwesomeIcon, minWidth, disableSort, className } = this.props;\r\n\r\n return (\r\n {\r\n if (columnName && !disableSort) {\r\n this.sortClicked(columnName);\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n {fontAwesomeIcon && (\r\n \r\n )}\r\n \r\n {text}\r\n \r\n {columnName && {this.getClassNameForSort(columnName)}}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport Pagination from 'react-js-pagination';\r\nimport './assets/style/Paging.scss';\r\nexport interface PagingProps {\r\n activePage: number;\r\n itemsCountPerPage: number;\r\n totalItemsCount: number;\r\n onPageChange(page: number);\r\n onItemsPerPageChange?(itemsCountPerPage: number);\r\n itemsCountPerPageCollection?: number[];\r\n showItemsPerPageSelector: boolean;\r\n}\r\nconst MAX_SAFE_INTEGER = 1000;\r\nexport default class Paging extends React.Component {\r\n constructor(props: PagingProps) {\r\n super(props);\r\n this.state = { itemsCountPerPage: 25 };\r\n }\r\n public render() {\r\n const {\r\n showItemsPerPageSelector = true,\r\n activePage,\r\n totalItemsCount,\r\n onPageChange,\r\n itemsCountPerPageCollection,\r\n itemsCountPerPage,\r\n onItemsPerPageChange\r\n } = this.props;\r\n return (\r\n
    \r\n {\r\n onPageChange(x);\r\n }}\r\n innerClass=\"pagination paging\"\r\n />\r\n {showItemsPerPageSelector && (\r\n
      \r\n {itemsCountPerPageCollection.map((item, index) => {\r\n return (\r\n
    • \r\n {\r\n this.setState({ itemsCountPerPage: item }, () => {\r\n onItemsPerPageChange(item);\r\n });\r\n }}\r\n >\r\n {item}\r\n \r\n
    • \r\n );\r\n })}\r\n
    • \r\n {\r\n onItemsPerPageChange(MAX_SAFE_INTEGER);\r\n }}\r\n >\r\n *\r\n \r\n
    • \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Spin, Icon } from 'antd';\r\nimport { IconDefinition, faSearch } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport SortableTH from '../SortableTH/SortableTH';\r\nimport i18n from '../../../../resources/i18n';\r\nimport classnames from 'classnames';\r\nimport Paging from '../Paging/Paging';\r\nimport CommonInput from '../Controls/CommonInput/CommonInput';\r\n\r\nimport './assets/BranderoTable.scss';\r\n\r\nexport interface BranderoTableDataItem {\r\n text?: string;\r\n htmlElement?: JSX.Element;\r\n tdClassName?: string;\r\n}\r\nexport interface BranderoTableHeader {\r\n headerTextResourceName: string;\r\n headerFontAwsome?: IconDefinition;\r\n columnName: string;\r\n className?: string;\r\n htmlElement?: JSX.Element;\r\n disableSort?: boolean;\r\n}\r\nexport interface BranderoTableRow {\r\n dataItems: BranderoTableDataItem[];\r\n}\r\n\r\nexport interface BranderoTableItem {\r\n headers: BranderoTableHeader[];\r\n rows: BranderoTableRow[];\r\n sortOn?: string;\r\n sortDirection?: string;\r\n}\r\n\r\nexport interface BranderoTableProps {\r\n item: BranderoTableItem;\r\n onSortClicked?(sortOn: string, direction: string);\r\n onPagingChange?(pageNumber: number, itemsCountPerPage: number);\r\n onSearch?(searchString: string);\r\n wrapClassName?: string;\r\n\r\n totalItemsCount?: number;\r\n itemsCountPerPage: number;\r\n headerElementsLeft?: JSX.Element[];\r\n headerElementsRight?: JSX.Element[];\r\n showItemsPerPageSelector?: boolean;\r\n searchBoxPlaceholder?: string;\r\n isloading?: boolean;\r\n page?: number;\r\n}\r\nexport interface BranderoTableState {\r\n pageNumber: number;\r\n itemsCountPerPage: number;\r\n}\r\nexport default class BranderoTable extends React.Component {\r\n constructor(props: BranderoTableProps) {\r\n super(props);\r\n\r\n this.state = { pageNumber: 1, itemsCountPerPage: props.itemsCountPerPage };\r\n }\r\n\r\n private delayonSearch;\r\n\r\n public componentDidUpdate(prevProps: BranderoTableProps) {\r\n const { page } = this.props;\r\n\r\n if (prevProps.page !== page) {\r\n this.setState({ pageNumber: page });\r\n }\r\n }\r\n\r\n private onSearchDelay(searchString: string) {\r\n const { onSearch } = this.props;\r\n if (this.delayonSearch) {\r\n clearTimeout(this.delayonSearch);\r\n }\r\n this.delayonSearch = setTimeout(() => {\r\n onSearch(searchString);\r\n }, 500);\r\n }\r\n\r\n public render() {\r\n const {\r\n headerElementsLeft,\r\n showItemsPerPageSelector,\r\n totalItemsCount,\r\n onSortClicked,\r\n item,\r\n onPagingChange,\r\n onSearch,\r\n headerElementsRight,\r\n searchBoxPlaceholder,\r\n wrapClassName\r\n } = this.props;\r\n return (\r\n
    \r\n {(headerElementsLeft || headerElementsRight || onSearch) && (\r\n
    \r\n {onSearch && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.onSearchDelay(e.target.value);\r\n }}\r\n type=\"search\"\r\n name=\"search\"\r\n autocomplete=\"new-password\"\r\n />\r\n \r\n
    \r\n )}\r\n\r\n {(headerElementsLeft || headerElementsRight) && (\r\n
    \r\n
    \r\n {headerElementsLeft &&\r\n headerElementsLeft.map((h, i) => {\r\n return (\r\n
    \r\n {h}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n {headerElementsRight &&\r\n headerElementsRight.map((h, i) => {\r\n return (\r\n
    \r\n {h}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n )}\r\n
    \r\n )}\r\n\r\n \r\n \r\n \r\n {item.headers.map((h, index) => {\r\n if (h.htmlElement) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n {!this.props.isloading && (\r\n \r\n {item.rows.map((row, index) => {\r\n return (\r\n {\r\n // onRowClicked(item);\r\n }}\r\n className={classnames({ even: index % 2 === 1 })}\r\n >\r\n {row.dataItems.map((di, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n
    \r\n {h.htmlElement}\r\n
    \r\n {di.htmlElement ? di.htmlElement : di.text}\r\n
    \r\n {this.props.isloading && (\r\n
    \r\n }>\r\n
    \r\n )}\r\n {!!totalItemsCount && !this.props.isloading && (\r\n
    \r\n
    {/* Showing 1 to 10 of 100 entries */}
    \r\n
    \r\n {\r\n this.setState({ pageNumber }, () => {\r\n onPagingChange(this.state.pageNumber, this.state.itemsCountPerPage);\r\n });\r\n }}\r\n onItemsPerPageChange={(itemsCountPerPage) => {\r\n this.setState({ itemsCountPerPage, pageNumber: 1 }, () => {\r\n onPagingChange(this.state.pageNumber, this.state.itemsCountPerPage);\r\n });\r\n }}\r\n itemsCountPerPageCollection={[5, 10, 25]}\r\n activePage={this.state.pageNumber}\r\n itemsCountPerPage={this.state.itemsCountPerPage}\r\n totalItemsCount={totalItemsCount}\r\n />\r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { Badge as AntBadge } from 'antd';\r\nimport classNames from 'classnames';\r\n\r\nimport './assets/Badge.scss';\r\ntype TBage = {\r\n className?: string;\r\n children: React.ReactNode | number | string;\r\n showZero?: boolean;\r\n badgeContent: React.ReactNode;\r\n invisible?: boolean;\r\n max?: number;\r\n title?: string;\r\n}\r\nexport default function Badge({\r\n className,\r\n children,\r\n showZero,\r\n badgeContent,\r\n invisible,\r\n max,\r\n title\r\n}: TBage){\r\n const badgeWrapClass = classNames('c-badge', {\r\n [className]: !!className\r\n });\r\n\r\n if (invisible) {\r\n return <>{children};\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import * as CryptoJS from 'crypto-js';\r\nclass Base64 {\r\n public encodeWithUrlEncode(input: string) {\r\n return encodeURIComponent(this.encode(input));\r\n }\r\n public decodeWithUrlEncode(input: string, checkForBase64: boolean = false) {\r\n if (checkForBase64 && !this.isBase64(input)) {\r\n return input;\r\n }\r\n return this.decode(decodeURIComponent(input));\r\n }\r\n\r\n public encode(input: string) {\r\n const wordArray = CryptoJS.enc.Utf8.parse(input);\r\n return CryptoJS.enc.Base64.stringify(wordArray);\r\n }\r\n public decode(input: string) {\r\n const parsedWordArray = CryptoJS.enc.Base64.parse(decodeURIComponent(input));\r\n return parsedWordArray.toString(CryptoJS.enc.Utf8);\r\n }\r\n public isBase64(s: any) {\r\n try {\r\n const str = decodeURIComponent(s);\r\n return this.encode(this.decode(str)) == str;\r\n } catch (err) {\r\n return false;\r\n }\r\n }\r\n}\r\nconst b = new Base64();\r\nexport default b;\r\n","import i18n from '../../resources/i18n';\r\nimport { JobAdStatuses } from '../../store/JobsListStore';\r\n\r\nexport interface StatusFormat {\r\n text: string;\r\n color: string;\r\n}\r\n\r\nexport const statuses = {\r\n 0: {\r\n name: JobAdStatuses.Draft,\r\n text: i18n.t('JOBS_LIST_STATUS_DRAFT'),\r\n color: '#777777'\r\n },\r\n 1: {\r\n name: JobAdStatuses.Active,\r\n text: i18n.t('JOBS_LIST_STATUS_ACTIVE'),\r\n color: '#70ca63'\r\n },\r\n 2: {\r\n name: JobAdStatuses.Expired,\r\n text: i18n.t('JOBS_LIST_STATUS_EXPIRED'),\r\n color: '#f6bb42'\r\n },\r\n 3: {\r\n name: JobAdStatuses.Deactivated,\r\n text: i18n.t('JOBS_LIST_STATUS_DEACTIVATED'),\r\n color: '#e9573f'\r\n },\r\n 4: {\r\n name: JobAdStatuses.Delete,\r\n text: 'Delete',\r\n color: '#4a89dc'\r\n },\r\n 5: {\r\n name: JobAdStatuses.Future,\r\n text: i18n.t('JOBS_LIST_STATUS_FUTURE'),\r\n color: '#3bafda'\r\n },\r\n 6: {\r\n name: JobAdStatuses.Archived,\r\n text: i18n.t('JOBS_LIST_STATUS_ARCHIVED'),\r\n color: '#4a89dc'\r\n }\r\n};\r\n\r\nexport function statusFormat(index: number): StatusFormat {\r\n return statuses[index];\r\n}\r\n\r\nexport function isDateSpecified(activationDate: string) {\r\n return activationDate && activationDate.indexOf('1970') === -1;\r\n}\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faClock, faCalendarAlt, faUser, faExternalLinkSquareAlt, faArchive, faFileInvoice, faCopy, faTrashAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport classNames from 'classnames';\r\nimport CommonButton from '../Controls/CommonButton/CommonButton';\r\nimport Badge from '../Badge/Badge';\r\nimport i18n from '../../../../resources/i18n';\r\nimport Base64 from '../../../../Utils/ts-base64';\r\nimport { statusFormat } from '../../../../Pages/JobsList/JobsListHelpers';\r\nimport { IJob, JobAdStatuses } from '../../../../store/JobsListStore';\r\nimport { Utils } from '../../../../Utils/Utils';\r\n\r\nimport './assets/JobCard.scss';\r\n\r\nconst { Archived, Expired } = JobAdStatuses;\r\n\r\nexport default function JobCard({\r\n data,\r\n onShowOrder,\r\n activityStatus,\r\n activityBtnClass,\r\n activityAction,\r\n activityTolltip,\r\n showAllActions,\r\n hideStatus,\r\n isDashboardCard,\r\n onJobCopy\r\n}: {\r\n data: IJob;\r\n activityStatus?: boolean;\r\n showAllActions?: boolean;\r\n hideStatus?: boolean;\r\n isDashboardCard?: boolean;\r\n activityBtnClass?: string;\r\n activityTolltip?: string;\r\n onShowOrder?(e: any);\r\n activityAction?(e: any);\r\n onJobCopy?(job: IJob);\r\n}) {\r\n const jobStatus = data.status;\r\n const isArchived = jobStatus === Archived;\r\n const isExpired = jobStatus === Expired;\r\n const status = statusFormat(data.status);\r\n const activationDate = Utils.dateFormatDefaultLanguage(new Date(data.activationDate));\r\n const expiryDate = Utils.dateFormatDefaultLanguage(new Date(data.expiryDate));\r\n const w = window as any;\r\n const pref = w.PREF;\r\n\r\n const jobCardClass = classNames('job-card', {\r\n 'job-card--dashboard': isDashboardCard\r\n });\r\n\r\n const editJob = () => {\r\n window.location.href = `${pref}/jae/edit/${data.id}`;\r\n };\r\n\r\n const showJobPreview = () => {\r\n window.open(`${pref}/job/${data.status == 1 ? data.url : 'preview/' + data.id}`, '_blank');\r\n };\r\n\r\n const showApplicationsList = () => {\r\n window.location.href =\r\n data.applicationMethod.indexOf(4) > -1\r\n ? `${pref}/admin/candidatelist#/admin/candidatelist/${data.id}/${Base64.encodeWithUrlEncode(data.title)}`\r\n : 'javascript:void(0)';\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {data.title}\r\n {!hideStatus && (\r\n
    \r\n {status.text}\r\n
    \r\n )}\r\n {isDashboardCard && (\r\n
    \r\n \r\n }\r\n disabled={data.applicationMethod.indexOf(4) === -1}\r\n onClick={showApplicationsList}\r\n size=\"icon\"\r\n color=\"#4a89dc\"\r\n />\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {i18n.t('JOBS_LIST_HEADLINE_ACTIVATION')}
    \r\n
    \r\n
    {activationDate}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {i18n.t('JOBS_LIST_HEADLINE_EXPIRATION')}
    \r\n
    \r\n
    {expiryDate}
    \r\n
    \r\n
    \r\n {!isDashboardCard && (\r\n
    \r\n {!isArchived && showAllActions && (\r\n \r\n )}\r\n {!isArchived && showAllActions && (\r\n \r\n )}\r\n \r\n }\r\n disabled={data.applicationMethod.indexOf(4) === -1}\r\n onClick={showApplicationsList}\r\n size=\"icon\"\r\n color=\"#4a89dc\"\r\n />\r\n \r\n {showAllActions && (\r\n <>\r\n }\r\n onClick={showJobPreview}\r\n size=\"icon\"\r\n color=\"#3bafda\"\r\n />\r\n onJobCopy(data)}\r\n icon={}\r\n toolTip={i18n.t('JOB_LIST_JOB_COPY')}\r\n size=\"icon\"\r\n color=\"#00cc66\"\r\n />\r\n }\r\n disabled={data.status === JobAdStatuses.Draft}\r\n disabledToolTip={i18n.t('JOB_LIST_BUTTON_ORDER_DISABLED')}\r\n toolTip={i18n.t('JOB_LIST_BUTTON_ORDER')}\r\n size=\"icon\"\r\n color=\"#cc99ff\"\r\n />\r\n {!isArchived && (\r\n this.showWarningArchiveJob(data)}\r\n icon={}\r\n disabled={data.status === JobAdStatuses.Active}\r\n disabledToolTip={i18n.t('JAE_JOBAD_APPLICATION_CANT_ARCHIVE_ACTIVE')}\r\n toolTip={i18n.t('JOBS_LIST_BUTTON_ARCHIVE')}\r\n color=\"#D3D3D3\"\r\n />\r\n )}\r\n {Utils.isSuperAdmin() && (\r\n this.showWarningDeleteJob(data)}\r\n icon={}\r\n disabled={data.status === JobAdStatuses.Active}\r\n toolTip={i18n.t('JOBS_LIST_BUTTON_DELETE')}\r\n disabledToolTip={i18n.t('JAE_JOBAD_APPLICATION_CANT_DELETE_ACTIVE')}\r\n color=\"#D3D3D3\"\r\n />\r\n )}\r\n\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n}\r\n","import { CustomerModel, Status, CandidateListRequestModel, OriginalNameFileModel, NoteModel, ApplyMethodEnum, CandidateListShortModel, CandidateListShortModelCandidateListResult, TemplateEmailFile, EmailType, EmailStatus, CandidateListEmailModel, CandidateListFullModel, CandidateListFullModelCandidateListResult, EmailSettingsFrequency, EmailSettingsModel, EmailResultTemplateContent, TemplateShortModel, ListTemplateShortModelResponse, TemplateAttachmentModel, TemplateModelResponse, IHaveSiteModel, SiteEntity, IHaveEmailSiteModel, JobAdListItem, JobAdListItemSearchResult, ProductItemModel, JobAdLocationsModel, JobAdModel, JobAdModelSearchResult, EncryptedData, SearchParams, CreateCandidateModel, UpdateCandidateModel, PatchCandidateDetailsModel, PatchDataCandidateListStatusModelRequest, PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest, PatchDataCandidateListNoteModelRequest, PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest, PatchDataCandidateEmailRequest, CreateNoteModelRequest, UpdateNoteModelRequest, CreateTemplateModelRequest, UpdateTemplateModelRequest, IFileModel, PostSiteViewModel, PutSiteViewModel, UploadingResultCode, ResultViewModel, ResultLibraryViewModel, ImageLibraryPatchModel, ImageType, PostImageViewModel, PutImageViewModel, TemplateKeyValue, TemplateUserEmailRequestModel, TemplateEmailRequestModel, GdprDataAgreementEmailRequestModel, EmailSettingsRequestModel, PersistingCssRequestModel, CssGeneratingResponseModel, CssGeneratingRequestModel, InternalSiteCreationRequest, SiteCreateResult, ProductItemModelRequest, ExtendedJobAdModel, JobAdResponce, MsgJobAd, SetSuperAdminDeleteStatusResponce, UpdateStatusResponce, PatchProductModelRequest, PartnerJobAdResponce, ResetPasswordViewModel, NewPasswordViewModel, CreateRoleViewModel, CreateUserViewModel, UpdateUserViewModel, AddSiteCreationUserViewModel, ChangePasswordViewModel } from \"./autorest/models\";\nexport const CustomerModeldefault: CustomerModel = {\n id: '',\n customerId: 0,\n name: '',\n cvr: '',\n ean: '',\n pNumber: '',\n address: '',\n address2: '',\n city: '',\n zipCode: '',\n country: '',\n webAddress: '',\n email: '',\n phone1: '',\n phone2: '',\n phone3: '',\n industryCode: '',\n created: new Date(0),\n modified: new Date(0),\n modifiedBy: '',\n createdBy: '',\n correlationId: '',\n deleteReason: '',\n packageProperty: ''\n};\nexport const CandidateListRequestModeldefault: CandidateListRequestModel = {\n status: Status.New,\n searchValue: '',\n sortField: '',\n sortOrder: 0,\n pageSize: 0,\n page: 0\n};\nexport const OriginalNameFileModeldefault: OriginalNameFileModel = {\n fileGuid: '',\n originalName: ''\n};\nexport const NoteModeldefault: NoteModel = {\n id: '',\n candidateId: '',\n note: '',\n userFullName: '',\n userEmail: '',\n createDate: new Date(0),\n modifiedDate: new Date(0)\n};\nexport const CandidateListShortModeldefault: CandidateListShortModel = {\n siteId: '',\n id: '',\n name: '',\n applicationDate: new Date(0),\n files: [],\n email: '',\n phoneNumber: '',\n urls: [],\n status: Status.New,\n notes: [],\n jobId: '',\n companyId: '',\n numberOfEmails: 0,\n applyMethod: ApplyMethodEnum.Normal,\n lightApplyData: ''\n};\nexport const CandidateListShortModelCandidateListResultdefault: CandidateListShortModelCandidateListResult = {\n candidateList: [],\n total: 0\n};\nexport const TemplateEmailFiledefault: TemplateEmailFile = {\n name: '',\n size: 0,\n absolutePath: '',\n contentType: ''\n};\nexport const CandidateListEmailModeldefault: CandidateListEmailModel = {\n id: '',\n subject: '',\n body: '',\n type: EmailType.Normal,\n status: EmailStatus.Send,\n dateCreated: new Date(0),\n userFullName: '',\n userEmail: '',\n correlationId: '',\n files: []\n};\nexport const CandidateListFullModeldefault: CandidateListFullModel = {\n description: '',\n tags: [],\n latestJobTitle: '',\n applicationType: 0,\n wantedJobTitle: '',\n educationLevel: '',\n experienceYears: 0,\n address: '',\n zipCode: '',\n city: '',\n dateCreated: new Date(0),\n dateUpdated: new Date(0),\n emails: [],\n siteId: '',\n id: '',\n name: '',\n applicationDate: new Date(0),\n files: [],\n email: '',\n phoneNumber: '',\n urls: [],\n status: Status.New,\n notes: [],\n jobId: '',\n companyId: '',\n numberOfEmails: 0,\n applyMethod: ApplyMethodEnum.Normal,\n lightApplyData: ''\n};\nexport const CandidateListFullModelCandidateListResultdefault: CandidateListFullModelCandidateListResult = {\n candidateList: [],\n total: 0\n};\nexport const EmailSettingsModeldefault: EmailSettingsModel = {\n siteId: '',\n companyId: '',\n frequency: EmailSettingsFrequency.EachApply,\n sendDay: 0,\n sendTime: 0\n};\nexport const EmailResultTemplateContentdefault: EmailResultTemplateContent = {\n subject: '',\n content: ''\n};\nexport const TemplateShortModeldefault: TemplateShortModel = {\n templateId: '',\n siteId: '',\n createdDate: new Date(0),\n updatedDate: new Date(0),\n name: ''\n};\nexport const ListTemplateShortModelResponsedefault: ListTemplateShortModelResponse = {\n list: []\n};\nexport const TemplateAttachmentModeldefault: TemplateAttachmentModel = {\n id: '',\n name: '',\n extension: ''\n};\nexport const TemplateModelResponsedefault: TemplateModelResponse = {\n templateId: '',\n siteId: '',\n createdDate: new Date(0),\n updatedDate: new Date(0),\n data: '',\n name: '',\n attachments: []\n};\nexport const IHaveSiteModeldefault: IHaveSiteModel = {\n id: '',\n name: '',\n host: '',\n masterData: '',\n cultureCode: '',\n createdAt: new Date(0)\n};\nexport const SiteEntitydefault: SiteEntity = {\n id: '',\n name: '',\n host: '',\n createdAt: new Date(0),\n modifiedAt: new Date(0),\n correlationId: '',\n masterData: '',\n cultureCode: '',\n companyId: '',\n siteState: 0,\n siteType: 0,\n metaTitle: '',\n metaDescription: ''\n};\nexport const IHaveEmailSiteModeldefault: IHaveEmailSiteModel = {\n id: '',\n createdAt: new Date(0),\n cultureCode: ''\n};\nexport const JobAdListItemdefault: JobAdListItem = {\n id: '',\n siteID: '',\n title: '',\n createDate: new Date(0),\n expiryDate: new Date(0),\n status: 0,\n url: '',\n condition: [],\n activationDate: new Date(0),\n jobType: [],\n locationCity: '',\n statisticsRegisterFeedEntrySearchedCountLink: ''\n};\nexport const JobAdListItemSearchResultdefault: JobAdListItemSearchResult = {\n total: 0,\n page: 0,\n pageSize: 0,\n count: 0,\n results: []\n};\nexport const ProductItemModeldefault: ProductItemModel = {\n productNumber: '',\n productName: '',\n productPrice: ''\n};\nexport const JobAdLocationsModeldefault: JobAdLocationsModel = {\n id: '',\n jobAdId: '',\n locationAddress: '',\n locationZipCode: '',\n locationCity: '',\n locationCountry: '',\n area: '',\n areaId: 0\n};\nexport const JobAdModeldefault: JobAdModel = {\n topImage: '',\n backgroundImage: '',\n title: '',\n createDate: new Date(0),\n expiryDate: new Date(0),\n id: '',\n externalID: '',\n externalSource: '',\n category: [],\n jobType: [],\n position: [],\n condition: [],\n salaryFrom: 0,\n salaryTo: 0,\n salaryType: '',\n salaryCurrency: '',\n description: '',\n contactName: '',\n contactPhone: '',\n contactEmail: '',\n commercialContactName: '',\n commercialContact: '',\n locationAddress: '',\n locationZipCode: '',\n locationCity: '',\n locationCounty: '',\n locationCountry: '',\n internalReference: '',\n applicationMethod: [],\n exportOptions: [],\n companyID: '',\n companyName: '',\n companyAddress: '',\n companyCity: '',\n companyZipCode: '',\n companyCounty: '',\n companyCountry: '',\n companyEmail: '',\n companyPhone: '',\n companyWWW: '',\n companyCommercialContactName: '',\n companyCommercialContact: '',\n companyCommercialVatNumber: '',\n companyCommercialExternalId: '',\n companyContactPerson: '',\n siteId: '',\n status: 0,\n url: '',\n urlHash: '',\n applicationUrl: '',\n companyVATIdentifier: '',\n productionUnitIdentifier: '',\n globalLocationNumber: '',\n requestedPackageId: '',\n requestedPackageName: '',\n requestedPackagePrice: '',\n requestedPackageDurationDays: 0,\n requestedPackageProducts: [],\n countryCode: '',\n activationDate: new Date(0),\n updateFlag: 0,\n correlationId: '',\n pNumber: '',\n statisticsRegisterFeedDisplayCountLink: '',\n statisticsRegisterFeedEntrySearchedCountLink: '',\n statisticsRegisterFeedEntryDisplayCountLink: '',\n statisticsRegisterJobApplicationInitiatedCountLink: '',\n statisticsRegisterJobApplicationAppliedCountLink: '',\n candidateCount: 0,\n numberOfVacancies: 0,\n applyMethod: 0,\n author: '',\n modifyDate: new Date(0),\n logoId: '',\n ogimage: '',\n orderByName: '',\n orderByEmail: '',\n alternateTextAnonymousLocation: '',\n locations: [],\n locationString: '',\n locationMapUri: '',\n customerName: ''\n};\nexport const JobAdModelSearchResultdefault: JobAdModelSearchResult = {\n total: 0,\n page: 0,\n pageSize: 0,\n count: 0,\n results: []\n};\nexport const EncryptedDatadefault: EncryptedData = {\n publicKey: '',\n data: ''\n};\nexport const SearchParamsdefault: SearchParams = {\n searchValue: ''\n};\nexport const CreateCandidateModeldefault: CreateCandidateModel = {\n id: '',\n name: '',\n applicationDate: new Date(0),\n description: '',\n tags: [],\n files: [],\n latestJobTitle: '',\n companyId: '',\n siteId: '',\n email: '',\n phoneNumber: '',\n applicationType: 0,\n urls: [],\n wantedJobTitle: '',\n educationLevel: '',\n experienceYears: 0,\n address: '',\n zipCode: '',\n city: '',\n dateCreated: new Date(0),\n dateUpdated: new Date(0),\n status: Status.New,\n jobId: '',\n emails: [],\n applyMethod: ApplyMethodEnum.Normal,\n lightApplyData: '',\n notes: []\n};\nexport const UpdateCandidateModeldefault: UpdateCandidateModel = {\n id: '',\n name: '',\n applicationDate: new Date(0),\n description: '',\n tags: [],\n files: [],\n latestJobTitle: '',\n companyId: '',\n siteId: '',\n email: '',\n phoneNumber: '',\n applicationType: 0,\n urls: [],\n wantedJobTitle: '',\n educationLevel: '',\n experienceYears: 0,\n address: '',\n zipCode: '',\n city: '',\n dateCreated: new Date(0),\n dateUpdated: new Date(0),\n status: Status.New,\n notes: [],\n jobId: '',\n emails: []\n};\nexport const PatchCandidateDetailsModeldefault: PatchCandidateDetailsModel = {\n id: '',\n name: '',\n companyId: '',\n email: '',\n educationLevel: '',\n experienceYears: 0,\n latestJobTitle: '',\n description: '',\n phoneNumber: '',\n files: [],\n urls: []\n};\nexport const PatchDataCandidateListStatusModelRequestdefault: PatchDataCandidateListStatusModelRequest = {\n candidateId: '',\n jobId: '',\n status: Status.New\n};\nexport const PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequestdefault: PatchDataCandidateListStatusModelRequestPatchCandidateListModelRequest = {\n changes: []\n};\nexport const PatchDataCandidateListNoteModelRequestdefault: PatchDataCandidateListNoteModelRequest = {\n candidateId: '',\n note: ''\n};\nexport const PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequestdefault: PatchDataCandidateListNoteModelRequestPatchCandidateListModelRequest = {\n changes: []\n};\nexport const PatchDataCandidateEmailRequestdefault: PatchDataCandidateEmailRequest = {\n subject: '',\n body: '',\n type: EmailType.Normal,\n status: EmailStatus.Send,\n userFullName: '',\n userEmail: ''\n};\nexport const CreateNoteModelRequestdefault: CreateNoteModelRequest = {\n note: '',\n userFullName: '',\n userEmail: ''\n};\nexport const UpdateNoteModelRequestdefault: UpdateNoteModelRequest = {\n note: '',\n userFullName: '',\n userEmail: ''\n};\nexport const CreateTemplateModelRequestdefault: CreateTemplateModelRequest = {\n templateId: '',\n siteId: '',\n data: '',\n name: '',\n attachments: []\n};\nexport const UpdateTemplateModelRequestdefault: UpdateTemplateModelRequest = {\n templateId: '',\n siteId: '',\n data: '',\n name: '',\n attachments: []\n};\nexport const IFileModeldefault: IFileModel = {\n filename: '',\n originalFilename: '',\n contentType: '',\n siteId: '',\n relativePath: ''\n};\nexport const PostSiteViewModeldefault: PostSiteViewModel = {\n host: '',\n name: '',\n masterData: '',\n cultureCode: ''\n};\nexport const PutSiteViewModeldefault: PutSiteViewModel = {\n name: '',\n host: '',\n masterData: '',\n cultureCode: '',\n siteType: 0,\n metaTitle: '',\n metaDescription: ''\n};\nexport const ResultViewModeldefault: ResultViewModel = {\n description: '',\n code: UploadingResultCode.Success,\n originalFileName: '',\n newFileId: '',\n newFileName: '',\n message: ''\n};\nexport const ResultLibraryViewModeldefault: ResultLibraryViewModel = {\n description: '',\n code: UploadingResultCode.Success,\n originalFileName: '',\n id: '',\n fileName: '',\n message: '',\n alt: '',\n title: '',\n imageDescription: ''\n};\nexport const ImageLibraryPatchModeldefault: ImageLibraryPatchModel = {\n id: '',\n originalFileName: '',\n description: '',\n alt: '',\n title: ''\n};\nexport const PostImageViewModeldefault: PostImageViewModel = {\n images: [],\n imageType: ImageType.Content\n};\nexport const PutImageViewModeldefault: PutImageViewModel = {\n fileName: '',\n imageType: ImageType.Content\n};\nexport const TemplateKeyValuedefault: TemplateKeyValue = {\n key: '',\n value: ''\n};\nexport const TemplateUserEmailRequestModeldefault: TemplateUserEmailRequestModel = {\n email: '',\n replyTo: '',\n subject: '',\n templateName: '',\n emailType: 0,\n senderName: '',\n templateReplaceItems: []\n};\nexport const TemplateEmailRequestModeldefault: TemplateEmailRequestModel = {\n email: '',\n replyTo: '',\n subject: '',\n bounceEmailReplyTo: '',\n files: '',\n body: '',\n templateName: '',\n bounceTemplateName: '',\n templateReplaceItems: [],\n externalId: '',\n emailType: 0,\n senderName: ''\n};\nexport const GdprDataAgreementEmailRequestModeldefault: GdprDataAgreementEmailRequestModel = {\n siteId: '',\n companyName: '',\n companyAddress: '',\n customerEmail: '',\n companyCvr: '',\n companyZipCode: '',\n companyCity: '',\n customerName: '',\n siteUrl: '',\n language: '',\n siteCreationDate: new Date(0),\n agreementDate: new Date(0)\n};\nexport const EmailSettingsRequestModeldefault: EmailSettingsRequestModel = {\n frequency: EmailSettingsFrequency.EachApply,\n sendDay: 0,\n sendTime: 0\n};\nexport const PersistingCssRequestModeldefault: PersistingCssRequestModel = {\n cssFileName: '',\n color: '',\n bodyFont: ''\n};\nexport const CssGeneratingResponseModeldefault: CssGeneratingResponseModel = {\n fileName: ''\n};\nexport const CssGeneratingRequestModeldefault: CssGeneratingRequestModel = {\n color: '',\n bodyFont: ''\n};\nexport const InternalSiteCreationRequestdefault: InternalSiteCreationRequest = {\n siteId: '',\n fontName: '',\n primaryColor: '',\n companyId: '',\n userId: '',\n cssFileName: '',\n logoFileName: '',\n companyName: '',\n address: '',\n addressExtended: '',\n zipCode: '',\n city: '',\n countyState: '',\n country: '',\n countryCode: '',\n ofirCRMNumber: '',\n pNumber: '',\n vatNumber: '',\n eanNumber: '',\n industry: '',\n subIndustry: '',\n companyWebsite: '',\n companyPhone: '',\n companyEmail: '',\n companyFacebookUrl: '',\n companyTwitterUrl: '',\n companyLinkedInUrl: '',\n companyInstagramUrl: '',\n companyYoutubeUrl: '',\n otherUrl: '',\n userEmail: '',\n userFirstName: '',\n userLastName: '',\n userPhone: '',\n password: '',\n salesPerson: '',\n siteName: '',\n siteLanguage: '',\n discountCode: '',\n discountCodeNotes: '',\n siteHost: '',\n urlSchema: '',\n siteState: 0,\n siteType: 0,\n industryId: 0,\n subIndustryId: 0\n};\nexport const SiteCreateResultdefault: SiteCreateResult = {\n siteId: '',\n companyId: '',\n userId: ''\n};\nexport const ProductItemModelRequestdefault: ProductItemModelRequest = {\n productNumber: '',\n productName: '',\n productPrice: ''\n};\nexport const ExtendedJobAdModeldefault: ExtendedJobAdModel = {\n regionCode: '',\n customerName: '',\n customerRelationshipManagementId: '',\n companyVatNumber: '',\n fullDescription: '',\n customerType: '',\n logoUrl: '',\n originalSource: '',\n siteURL: '',\n siteLanguage: '',\n couponCode: '',\n username: '',\n userEmail: '',\n oldStatus: 0,\n applicationMethodLocal: 0,\n requestedPackageOverridePrice: '',\n requestedPackageOverrideProducts: '',\n orderReference: '',\n ogImageWidth: 0,\n ogImageHeight: 0,\n authorUserEmail: '',\n updateFlag: 0,\n topImage: '',\n backgroundImage: '',\n title: '',\n createDate: new Date(0),\n expiryDate: new Date(0),\n id: '',\n externalID: '',\n externalSource: '',\n category: [],\n jobType: [],\n position: [],\n condition: [],\n salaryFrom: 0,\n salaryTo: 0,\n salaryType: '',\n salaryCurrency: '',\n description: '',\n contactName: '',\n contactPhone: '',\n contactEmail: '',\n commercialContactName: '',\n commercialContact: '',\n locationAddress: '',\n locationZipCode: '',\n locationCity: '',\n locationCounty: '',\n locationCountry: '',\n internalReference: '',\n applicationMethod: [],\n exportOptions: [],\n companyID: '',\n companyName: '',\n companyAddress: '',\n companyCity: '',\n companyZipCode: '',\n companyCounty: '',\n companyCountry: '',\n companyEmail: '',\n companyPhone: '',\n companyWWW: '',\n companyContactPerson: '',\n companyCommercialContactName: '',\n companyCommercialContact: '',\n companyCommercialVatNumber: '',\n companyCommercialExternalId: '',\n siteId: '',\n status: 0,\n url: '',\n urlHash: '',\n applicationUrl: '',\n companyVATIdentifier: '',\n productionUnitIdentifier: '',\n globalLocationNumber: '',\n requestedPackageId: '',\n requestedPackageName: '',\n requestedPackagePrice: '',\n requestedPackageDurationDays: 0,\n requestedPackageProducts: [],\n countryCode: '',\n activationDate: new Date(0),\n correlationId: '',\n pNumber: '',\n statisticsRegisterFeedDisplayCountLink: '',\n statisticsRegisterFeedEntrySearchedCountLink: '',\n statisticsRegisterFeedEntryDisplayCountLink: '',\n statisticsRegisterJobApplicationInitiatedCountLink: '',\n statisticsRegisterJobApplicationAppliedCountLink: '',\n numberOfVacancies: 0,\n applyMethod: 0,\n author: '',\n modifyDate: new Date(0),\n logoId: '',\n ogimage: '',\n orderByName: '',\n orderByEmail: '',\n alternateTextAnonymousLocation: '',\n locations: [],\n locationString: '',\n locationMapUri: ''\n};\nexport const JobAdResponcedefault: JobAdResponce = {\n siteid: '',\n id: ''\n};\nexport const MsgJobAddefault: MsgJobAd = {\n updateFlag: 0,\n topImage: '',\n backgroundImage: '',\n title: '',\n createDate: new Date(0),\n expiryDate: new Date(0),\n id: '',\n externalID: '',\n externalSource: '',\n category: [],\n jobType: [],\n position: [],\n condition: [],\n salaryFrom: 0,\n salaryTo: 0,\n salaryType: '',\n salaryCurrency: '',\n description: '',\n contactName: '',\n contactPhone: '',\n contactEmail: '',\n commercialContactName: '',\n commercialContact: '',\n locationAddress: '',\n locationZipCode: '',\n locationCity: '',\n locationCounty: '',\n locationCountry: '',\n internalReference: '',\n applicationMethod: [],\n exportOptions: [],\n companyID: '',\n companyName: '',\n companyAddress: '',\n companyCity: '',\n companyZipCode: '',\n companyCounty: '',\n companyCountry: '',\n companyEmail: '',\n companyPhone: '',\n companyWWW: '',\n companyContactPerson: '',\n companyCommercialContactName: '',\n companyCommercialContact: '',\n companyCommercialVatNumber: '',\n companyCommercialExternalId: '',\n siteId: '',\n status: 0,\n url: '',\n urlHash: '',\n applicationUrl: '',\n companyVATIdentifier: '',\n productionUnitIdentifier: '',\n globalLocationNumber: '',\n requestedPackageId: '',\n requestedPackageName: '',\n requestedPackagePrice: '',\n requestedPackageDurationDays: 0,\n requestedPackageProducts: [],\n countryCode: '',\n activationDate: new Date(0),\n correlationId: '',\n pNumber: '',\n statisticsRegisterFeedDisplayCountLink: '',\n statisticsRegisterFeedEntrySearchedCountLink: '',\n statisticsRegisterFeedEntryDisplayCountLink: '',\n statisticsRegisterJobApplicationInitiatedCountLink: '',\n statisticsRegisterJobApplicationAppliedCountLink: '',\n numberOfVacancies: 0,\n applyMethod: 0,\n author: '',\n modifyDate: new Date(0),\n logoId: '',\n ogimage: '',\n orderByName: '',\n orderByEmail: '',\n alternateTextAnonymousLocation: '',\n locations: [],\n locationString: '',\n locationMapUri: '',\n customerName: ''\n};\nexport const SetSuperAdminDeleteStatusResponcedefault: SetSuperAdminDeleteStatusResponce = {\n siteId: '',\n jobAdId: '',\n status: 0\n};\nexport const UpdateStatusResponcedefault: UpdateStatusResponce = {\n siteid: '',\n id: '',\n status: 0,\n url: '',\n urlHash: ''\n};\nexport const PatchProductModelRequestdefault: PatchProductModelRequest = {\n requestedPackageId: '',\n requestedPackageName: '',\n requestedPackagePrice: '',\n requestedPackageDurationDays: 0,\n items: []\n};\nexport const PartnerJobAdResponcedefault: PartnerJobAdResponce = {\n siteid: '',\n id: '',\n url: ''\n};\nexport const ResetPasswordViewModeldefault: ResetPasswordViewModel = {\n resetPasswordLink: '',\n cultureCode: '',\n subject: ''\n};\nexport const NewPasswordViewModeldefault: NewPasswordViewModel = {\n password: '',\n resetPasswordToken: ''\n};\nexport const CreateRoleViewModeldefault: CreateRoleViewModel = {\n roleName: ''\n};\nexport const CreateUserViewModeldefault: CreateUserViewModel = {\n userName: '',\n password: '',\n firstName: '',\n lastName: '',\n phoneNumber: '',\n notes: '',\n deliveryType2FA: '',\n roles: []\n};\nexport const UpdateUserViewModeldefault: UpdateUserViewModel = {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n notes: '',\n deliveryType2FA: '',\n roles: []\n};\nexport const AddSiteCreationUserViewModeldefault: AddSiteCreationUserViewModel = {\n userName: '',\n password: '',\n firstName: '',\n lastName: '',\n phoneNumber: '',\n notes: ''\n};\nexport const ChangePasswordViewModeldefault: ChangePasswordViewModel = {\n oldPassword: '',\n newPassword: '',\n confirmPassword: ''\n};\n","import * as React from 'react';\r\nimport moment from 'moment';\r\nimport i18n from 'i18next';\r\nimport { JobAdModalEx } from '../cms/models/modelExtentions/JobAdModelEx';\r\nimport { JobAdModeldefault } from '../services/defaults';\r\nimport { ApplicationState } from './index';\r\nimport { actionCreator, Action, isType } from './Action';\r\nimport { updateJobOrders, updateJobPackages, updateConfirmationModalVisibility, setCouponCode, JobState, updateJobOrderLoadingState, getJobPackagesForUpdate, setSavingState } from './JobStore';\r\nimport { showSuccessSnak, showErrorSnak } from './MetadataStore';\r\nimport { updateLoadingState } from './LoadingStore';\r\nimport { ApiService } from '../services/apiService';\r\nimport { MsgJobAd, JobAdModel, JobAdResponce } from '../services/autorest/models';\r\nimport { Utils } from '../Utils/Utils';\r\nimport { JobOrder } from 'src/cms/models/job/jobOrder';\r\nimport { ProductsData, RecommendationEntity, ProductEntity, Recommendations } from 'src/cms/models/job/package';\r\nimport { JobAdStatuses, IJob } from '../store/JobsListStore';\r\nimport { UtilsJob } from '../Utils/UtilsJob';\r\nimport { getCompanyData } from '../store/CompanyDataStore';\r\n\r\nconst { Draft, Expired } = JobAdStatuses;\r\n\r\nconst actions = {\r\n updateJobAdProperty: actionCreator<{ prop: string; value: any }>('UPDATE_JOB_AD_PROPERTY'),\r\n updateJobAdProperties: actionCreator<{ data: object }>('UPDATE_JOB_AD_PROPERTIES'),\r\n createJobAd: actionCreator<{ jobad2: JobAdModalEx }>('CREATE_JOB_AD')\r\n};\r\n\r\nexport function reducer(state: JobAdModalEx = {...JobAdModeldefault, positionLocalList: [], createDate: new Date()}, action: Action): JobAdModalEx {\r\n if (isType(action, actions.updateJobAdProperty)) {\r\n return { ...state, [action.payload.prop]: action.payload.value };\r\n } else if (isType(action, actions.createJobAd)) {\r\n return { ...state };\r\n } else if (isType(action, actions.updateJobAdProperties)) {\r\n return {\r\n ...state,\r\n ...action.payload.data\r\n };\r\n }\r\n\r\n return state;\r\n}\r\nexport function findJobTitles(value: string) {\r\n return async (dispatch: Function, getState: any) => {\r\n const result = await ApiService.findJobTitles(value);\r\n dispatch(updateJobProperty(\"positionLocalList\", result))\r\n };\r\n}\r\nexport function findJobCategory() {\r\n return async (dispatch: Function, getState: any) => {\r\n const result = await ApiService.findJobCategory();\r\n dispatch(updateJobProperty(\"categoryLocalList\", result))\r\n };\r\n}\r\n\r\nexport function findAreaLocation() {\r\n return async (dispatch: Function, getState: any) => {\r\n const result = await ApiService.findAreaLocation();\r\n dispatch(updateJobProperty(\"areaLocalList\", result))\r\n };\r\n}\r\n\r\n// Actions\r\nexport function updateJobProperty(prop: string, value: any) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.updateJobAdProperty({ prop, value }));\r\n };\r\n}\r\n\r\nexport function updateJobProperties(data: any) {\r\n return (dispatch: Function) => {\r\n dispatch(actions.updateJobAdProperties({ data }));\r\n };\r\n}\r\n\r\nexport function getJobById(jobId: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n \r\n const jobData = (await ApiService.getJobById(jobId)) as MsgJobAd;\r\n let customer = {};\r\n if (jobData.companyCommercialExternalId || jobData.companyCommercialExternalId != '') {\r\n customer = await ApiService.getCustomerByCustomerId(parseInt(jobData.companyCommercialExternalId));\r\n }\r\n \r\n dispatch(\r\n updateJobProperties({\r\n ...jobData,\r\n applicationMethod: jobData.applicationMethod[0],\r\n positionLocal: jobData.position[0],\r\n applyMethodLocal: jobData.applyMethod.toString(),\r\n applicationMethodLocal: jobData.applicationMethod[0],\r\n //anonymousLocation: jobData.anonymousLocation ? true : false\r\n })\r\n );\r\n if (customer['name']) {\r\n dispatch(updateJobProperty('customerName', customer['name']));\r\n }\r\n };\r\n}\r\n\r\nexport function getJobOrderData(jobId: string) {\r\n return async (dispatch: Function) => {\r\n const responseHistory = await ApiService.getJobOrderData(jobId) as any;\r\n const orders = responseHistory?.OrderInformation?.Order;\r\n if (orders){\r\n const products = responseHistory.OrderInformation.Products[0]\r\n for(const key in orders){\r\n const ProductSelect = [];\r\n const order = orders[key]\r\n if (Array.isArray(products?.Product)){\r\n products?.Product?.map(l => {\r\n if (order.Package.Products.Id.find(c => c === l.Item[\"@id\"])){\r\n ProductSelect.push(l)\r\n }\r\n })\r\n }else {\r\n ProductSelect.push(products?.Product)\r\n }\r\n order[\"Products\"] = {Product: [...ProductSelect]}\r\n }\r\n dispatch(updateJobOrders(orders));\r\n }\r\n dispatch(updateJobOrderLoadingState(true));\r\n };\r\n}\r\n\r\nexport function setLoadedJob(job: JobAdModel) {\r\n return (dispatch: Function) => {\r\n const handledDescription = UtilsJob.getHandledJobDescription(job.description);\r\n dispatch(updateJobProperties({\r\n ...job,\r\n description: handledDescription,\r\n positionLocal: job.position[0],\r\n applyMethodLocal: String(job.applyMethod),\r\n applicationMethodLocal: job.applicationMethod[0],\r\n numberOfVacanciesLocal: String(job.numberOfVacancies),\r\n //anonymousLocation: job.anonymousLocation ? true : false\r\n }));\r\n\r\n if (job.status === 1 || job.status === 5) {\r\n dispatch(getJobOrderData(job.id));\r\n }\r\n };\r\n}\r\n\r\nexport function setJobLocationDefaultValue() {\r\n return async (dispatch: Function, getState: () => void) => {\r\n const w = window as any;\r\n const state = getState() as any\r\n const initialData = w.initialize;\r\n const company = state.companyData.companyData || initialData.company;\r\n const locations = [{ id: Utils.generateGuid(), primary: true, locationAddress: company.address, locationZipCode: company.zipCode, locationCity: company.city, locationCountry: company.country, useArea: false }];\r\n dispatch(\r\n updateJobProperty(\"locations\", locations)\r\n );\r\n };\r\n}\r\n\r\nexport function setJobDefaultValues() {\r\n return async (dispatch: Function, getState: () => void) => {\r\n const w = window as any;\r\n const state = getState() as any\r\n const initialData = w.initialize;\r\n const jae = state?.jae as JobAdModalEx;\r\n const siteLanguageCode = w.SITE_CULTURE_CODE;\r\n const company = state.companyData.companyData || initialData.company;\r\n const companyName = state?.jae?.companyName || company?.name;\r\n const jobTypes: string[] = w.sordtedJobTypes;\r\n const jobConditions: string[] = w.sordtedJobConditions;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const loggedUserData = Utils.getLogedInUserData();\r\n const { name, lastName, email } = loggedUserData;\r\n dispatch(\r\n updateJobProperties({\r\n jobType:jae?.jobType.length ? jae?.jobType : [jobTypes[3]],\r\n condition: jae?.condition.length ? jae?.condition :[jobConditions[1]],\r\n pNumber:jae?.pNumber || company.pnumber,\r\n locationAddress:jae?.locationAddress || company.address,\r\n locationZipCode:jae?.locationZipCode || company.zipCode,\r\n locationCity: jae?.locationCity || company.city,\r\n contactPhone:jae?.contactPhone || company.phone,\r\n commercialContactName:jae?.commercialContactName || company.commercialContactName,\r\n commercialContact:jae?.commercialContact|| company.commercialContact,\r\n companyCommercialContactName:(jae as any)?.companyCommercialContactName || company.commercialContactNameExtended,\r\n companyCommercialContact:(jae as any)?.companyCommercialContact || company.commercialContactExtended,\r\n companyCommercialVatNumber:jae?.companyCommercialVatNumber || company.commercialVatNumber,\r\n companyCommercialExternalId: jae?.companyCommercialExternalId || company.commercialExternalId,\r\n applicationMethodLocal:typeof (jae.applicationMethodLocal as any) === \"undefined\" ? 4 : jae?.applicationMethodLocal,\r\n applicationMethod:typeof (jae.applicationMethod as any) === \"object\" ? 4 :jae?.applicationMethod,\r\n contactName: jae?.contactName || Utils.getLogedInUserFullName(),\r\n contactEmail: jae?.contactEmail || loggedUserData.email,\r\n companyID:jae?.companyID || company.id,\r\n externalID: jae.externalID || company.externalId,\r\n companyEmail:jae?.companyEmail || loggedUserData.email,\r\n companyContactPerson:jae?.companyContactPerson || Utils.getLogedInUserFullName(),\r\n companyPhone: jae?.companyPhone || company.phone,\r\n companyName:jae?.companyName || companyName,\r\n companyCity:jae?.companyCity || company.city,\r\n companyZipCode: jae?.companyZipCode || company.zipCode,\r\n companyAddress:jae?.companyAddress || company.address,\r\n applicationUrl:jae?.applicationUrl || company.websiteUrl,\r\n numberOfVacanciesLocal:jae?.numberOfVacanciesLocal || 1,\r\n applyMethodLocal: jae?.applyMethodLocal || '0',\r\n applyMethod: jae?.applyMethod || '0',\r\n companyVATIdentifier: jae?.companyVATIdentifier || company.vatnumber,\r\n countryCode:jae?.countryCode || siteLanguageCode,\r\n author: jae?.author ? jae?.author : `${name} ${lastName} (${email})`,\r\n useEAN: jae?.useEAN ? jae?.useEAN : false\r\n })\r\n );\r\n }\r\n}\r\n\r\nexport function saveJob(props: { job: JobAdModalEx, openPreview?: boolean, editMode?: boolean, syndication?: string, publishChanges?: boolean }) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const state: ApplicationState = getState();\r\n const w = window as any;\r\n const pref = w.PREF;\r\n const AuthorUserEmail = Utils.getLogedInUserEmail();\r\n const AuthorUserIsSuperAdmin = Utils.isSuperAdmin();\r\n\r\n dispatch(setSavingState(false));\r\n\r\n if (!state.loading.jobCreation) {\r\n dispatch(updateLoadingState('jobSaving', true));\r\n\r\n if (!props.job.id) {\r\n dispatch(updateLoadingState('jobCreation', true));\r\n }\r\n\r\n var jobData: JobAdModalEx = { authorUserIsSuperAdmin: AuthorUserIsSuperAdmin, authorUserEmail: AuthorUserEmail, ...props.job };\r\n const newId = Utils.generateGuid();\r\n try {\r\n const result = await ApiService.saveJob(jobData, props.publishChanges, newId);\r\n if (result.id && result.siteId) {\r\n dispatch(updateJobProperties({\r\n id: result.id,\r\n siteId: result.siteId,\r\n }));\r\n\r\n if (props.openPreview) {\r\n const jobPreviewLink = UtilsJob.getJobPreviewLink(props.job as any, props.editMode, props.syndication);\r\n window.open(jobPreviewLink, '_blank');\r\n }\r\n }\r\n } catch (error) {\r\n if (!jobData.id) {\r\n jobData.id = newId;\r\n dispatch(updateJobProperties({\r\n id: newId,\r\n }));\r\n }\r\n if (!Utils.isSuperAdmin()) {\r\n sendErrorEmail(jobData, error);\r\n }\r\n \r\n } \r\n\r\n dispatch(updateLoadingState('jobCreation', false));\r\n // Show job saving animation longer for an user\r\n setTimeout(() => {\r\n dispatch(updateLoadingState('jobSaving', false));\r\n }, 1000);\r\n }\r\n dispatch(updateLoadingState(\"discardEnable\", true));\r\n dispatch(setSavingState(true));\r\n };\r\n}\r\n\r\nexport function publishJob(useEAN?: boolean, logoFileName?: string, customerName?: string, orderReference?: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(updateLoadingState('jobPublishing', true));\r\n const state = getState();\r\n const AuthorUserEmail = Utils.getLogedInUserEmail();\r\n const AuthorUserIsSuperAdmin = Utils.isSuperAdmin();\r\n const jobData: JobAdModalEx = { numberOfVacancies: 1, numberOfVacanciesLocal: 1, authorUserIsSuperAdmin: AuthorUserIsSuperAdmin, authorUserEmail: AuthorUserEmail, ...state.jae };\r\n\r\n try {\r\n if (jobData.status === Expired) {\r\n try {\r\n if (await ApiService.updatePublishedJobInOfir(jobData.id)) {\r\n dispatch(showSuccessSnak(i18n.t(\"SUCCESS_MESSAGE_REQUEST_JAE_DELETE\")));\r\n } else {\r\n throw new Error('failed to update job on ofir');\r\n }\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_DELETE\")));\r\n //send email\r\n if (!Utils.isSuperAdmin()) {\r\n sendErrorEmail(jobData, error);\r\n }\r\n\r\n }\r\n }\r\n\r\n const publishJobAdModel = await UtilsJob.buildPublishJobAdModel(jobData, {\r\n logoFileName,\r\n useEAN,\r\n couponCode: state.job.couponCode,\r\n publishToOfir: true\r\n });\r\n const newJobStatus = UtilsJob.getPublishingJobStatus(jobData.activationDate);\r\n const jobStatusResponse = await ApiService.setJobStatus(publishJobAdModel, newJobStatus);\r\n if (jobStatusResponse && jobStatusResponse.status === newJobStatus) {\r\n dispatch(updateJobProperties({ ...jobStatusResponse, }));\r\n dispatch(updateConfirmationModalVisibility(true));\r\n dispatch(showSuccessSnak(i18n.t(\"SUCCESS_MESSAGE_REQUEST_JAE_CREATE\")));\r\n } else {\r\n //throw new Error('failed to activate job');\r\n throw new Error(jobStatusResponse.toString());\r\n }\r\n } catch (error) {\r\n //dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE\")));\r\n dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_NOTIFY\")));\r\n //send email\r\n if (!Utils.isSuperAdmin()) {\r\n sendErrorEmail(jobData, error.toString());\r\n }\r\n }\r\n\r\n dispatch(updateLoadingState('jobPublishing', false));\r\n dispatch(updateLoadingState(\"discardEnable\", false));\r\n };\r\n}\r\n\r\nexport function publishChanges(props: { selectedLogo?: string, comercialType?: boolean, couponCode?: string }) {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(updateLoadingState('jobUpdating', true));\r\n const state = getState();\r\n const AuthorUserEmail = Utils.getLogedInUserEmail();\r\n const AuthorUserIsSuperAdmin = Utils.isSuperAdmin();\r\n const jobData: JobAdModalEx = { numberOfVacancies: 1, numberOfVacanciesLocal: 1, authorUserIsSuperAdmin: AuthorUserIsSuperAdmin, authorUserEmail: AuthorUserEmail, ...state.jae, };\r\n const updateJobAdModel = await UtilsJob.buildPublishJobAdModel(jobData, {\r\n logoFileName: props.selectedLogo,\r\n useEAN: props.comercialType,\r\n publishToOfir: true,\r\n couponCode: props.couponCode\r\n });\r\n\r\n\r\n console.log(\"publishChanges:useEAN:\", props.comercialType);\r\n\r\n try {\r\n const publishRes = await ApiService.updateActiveJobAd(updateJobAdModel);\r\n if (publishRes) {\r\n dispatch(showSuccessSnak(i18n.t(\"SUCCESS_MESSAGE_REQUEST_JAE_UPDATE\")));\r\n dispatch(updateJobProperty(\"isPublished\", publishRes[\"isPublished\"]));\r\n } else {\r\n dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_UPDATE\")));\r\n }\r\n } catch (error) {\r\n //dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_UPDATE\")))\r\n dispatch(showErrorSnak(i18n.t(\"ERROR_MESSAGE_REQUEST_JAE_NOTIFY\")));\r\n\r\n if (!Utils.isSuperAdmin()) {\r\n sendErrorEmail(jobData, error.toString());\r\n }\r\n }\r\n\r\n dispatch(updateLoadingState('jobUpdating', false));\r\n dispatch(updateLoadingState(\"discardEnable\", false));\r\n };\r\n}\r\n\r\nexport function loadJobPackages(reset?: boolean, isUpdate?: boolean, couponCode: string = '') {\r\n return async (dispatch: Function, getState: Function) => {\r\n const loaderEnum = reset ? 'discountCheckout' : 'jaePackages';\r\n\r\n dispatch(updateLoadingState(loaderEnum, true));\r\n\r\n const state = getState();\r\n const jobData: JobAdModalEx = state.jae;\r\n let packagesData: ProductsData\r\n if (!isUpdate){\r\n packagesData = await ApiService.getJobPackages(jobData, couponCode);\r\n } else {\r\n packagesData = await ApiService.getJobPackagesForUpdate(jobData, couponCode);\r\n }\r\n\r\n //packagesData.Recommendations.Recommendation.forEach((x) => {\r\n // let pricePackage = parseFloat(x.PackagePrice.PriceAmount[\"#text\"]);\r\n // x.Products.Id.forEach(x => {\r\n // var item = packagesData.Recommendations.Products.Product.find((productItem: ProductEntity) => {\r\n // return productItem.Item[\"@id\"] === x;\r\n // });\r\n // pricePackage += parseFloat(item.Item.Price.PriceAmount[\"#text\"]);\r\n // })\r\n // x.TotalPrice.PriceAmount[\"#text\"] = pricePackage.toFixed(2).toString();\r\n //});\r\n\r\n dispatch(updateJobPackages(packagesData));\r\n dispatch(updateLoadingState(loaderEnum, false));\r\n };\r\n}\r\n\r\nexport function selectPackage({ packageData, updateDates = true, customPrice, manualEdit }: { packageData: RecommendationEntity, updateDates?: boolean, customPrice?: string, manualEdit: boolean }) {\r\n return (dispatch: Function, getState: Function) => {\r\n let state = getState();\r\n const packagesData = state.job.packages;\r\n\r\n const packagesRecommendations: Recommendations = packagesData.Recommendations;\r\n const products: ProductEntity[] = packagesRecommendations.Products.Product;\r\n const packageProducts: ProductEntity[] = [];\r\n\r\n packageData.Products.Id.forEach((packageProductId) => {\r\n const product = products.find((productItem: ProductEntity) => {\r\n return productItem.Item['@id'] === packageProductId;\r\n });\r\n\r\n packageProducts.push(product);\r\n });\r\n\r\n const parsedProducts = packageProducts.map((item: ProductEntity) => {\r\n return {\r\n productName: item.Item.Name,\r\n productNumber: item.Item['@id'],\r\n productPrice: ''\r\n };\r\n });\r\n dispatch(\r\n updateJobProperties({\r\n requestedPackageId: packageData['@packageId'],\r\n requestedPackageName: packageData['@name'],\r\n requestedPackagePrice: customPrice ? customPrice : packageData.TotalPrice.PriceAmount['#text'],\r\n requestedPackageProducts: parsedProducts,\r\n requestedPackageDurationDays: parseInt(packageData['@durationInDays']),\r\n requestedPackageOverrideProducts: parsedProducts?.map(c => c.productNumber).join(\",\"),\r\n requestedPackageOverridePrice: manualEdit ? customPrice : null\r\n\r\n })\r\n );\r\n\r\n if (updateDates) {\r\n const packageDuration: number = parseInt(packageData['@durationInDays']);\r\n const maxPackageDate = moment()\r\n .add(packageDuration - 1, 'days')\r\n .endOf('day')\r\n .toDate();\r\n\r\n dispatch(\r\n updateJobProperties({\r\n activationDate: new Date(),\r\n expiryDate: maxPackageDate\r\n })\r\n );\r\n }\r\n\r\n state = getState();\r\n\r\n dispatch(saveJob({ job: state.jae }));\r\n };\r\n}\r\n\r\nexport function showJobPreview(editMode?: boolean, syndication?: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const state = getState();\r\n const job: JobAdModalEx = state.jae;\r\n\r\n dispatch(saveJob({ job, openPreview: true, editMode, syndication }));\r\n };\r\n}\r\n\r\nexport function checkDiscountCode(discountCode: string, isUpdate?: boolean) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const state = getState();\r\n const job: JobAdModalEx = state.jae;\r\n\r\n dispatch(updateLoadingState('discountCheckout', true));\r\n let result: ProductsData;\r\n if(!isUpdate){\r\n result = await ApiService.getJobPackages(job, discountCode) as ProductsData;\r\n \r\n // TODO: handle discout code checking error\r\n if (result?.Recommendations.Coupon['@success'] !== 'false') {\r\n dispatch(updateJobPackages(result));\r\n const selectedPackageId = state.jae.requestedPackageId;\r\n \r\n // Update choosen package with new data\r\n if (selectedPackageId) {\r\n const packagesRecommendations: Recommendations = result?.Recommendations;\r\n const packages: RecommendationEntity[] = packagesRecommendations?.Recommendation;\r\n \r\n const selectedPackage: RecommendationEntity = packages.find((item: RecommendationEntity) => {\r\n return item['@packageId'] === selectedPackageId;\r\n });\r\n \r\n if (selectedPackage) {\r\n dispatch(selectPackage({ packageData: selectedPackage, manualEdit: false, updateDates: false}));\r\n }\r\n }\r\n \r\n dispatch(setCouponCode(discountCode));\r\n } else {dispatch(showErrorSnak(i18n.t('JAE_JOBAD_COUPON_ERROR')))}\r\n } else {\r\n dispatch(getJobPackagesForUpdate(job, discountCode))\r\n dispatch(setCouponCode(discountCode));\r\n }\r\n\r\n\r\n dispatch(updateLoadingState('discountCheckout', false));\r\n };\r\n}\r\n\r\nexport function removeCouponCode(isUpdate: boolean) {\r\n return async (dispatch: Function) => {\r\n dispatch(loadJobPackages(true, isUpdate));\r\n dispatch(setCouponCode(''));\r\n };\r\n};\r\n\r\nexport function copyJob(job: IJob) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const state: ApplicationState = getState();\r\n const userAuth = Utils.getLogedInUserData();\r\n if (!state.loading.copyingJob) {\r\n const defaultDate = '1970-01-01T00:00:00.000Z';\r\n dispatch(updateLoadingState('copyingJob', true));\r\n\r\n var locationsNew = job.locations.map(item => { return { ...item, id: Utils.generateGuid() }; });\r\n const newJobData: any = {\r\n ...job,\r\n id: '',\r\n createDate: new Date(),\r\n expiryDate: new Date(defaultDate),\r\n activationDate: new Date(defaultDate),\r\n category: job.category,\r\n jobType: job.jobType,\r\n author: `${userAuth?.name} ${userAuth?.lastName} (${userAuth?.email})`,\r\n position: job.position,\r\n positionLocal: job.position[0],\r\n condition: job.condition,\r\n productionUnitIdentifier: '',\r\n requestedPackageDurationDays: null,\r\n requestedPackageId: '',\r\n requestedPackageName: '',\r\n requestedPackagePrice: '',\r\n requestedPackageProducts: null,\r\n status: 0,\r\n url: '',\r\n urlHash: '',\r\n externalID: '',\r\n applicationMethodLocal: job.applicationMethod[0],\r\n statisticsRegisterFeedDisplayCountLink: '',\r\n statisticsRegisterFeedEntryDisplayCountLink: '',\r\n statisticsRegisterFeedEntrySearchedCountLink: '',\r\n statisticsRegisterJobApplicationAppliedCountLink: '',\r\n statisticsRegisterJobApplicationInitiatedCountLink: '',\r\n locations: [...locationsNew]\r\n };\r\n const result: JobAdResponce = await ApiService.saveJob(newJobData);\r\n const newJobId = result.id;\r\n\r\n if (newJobId) {\r\n // TODO: find another way for a redirect when job is created\r\n setTimeout(() => {\r\n window.open(`jae/edit/${newJobId}`, '_self');\r\n }, 1500);\r\n } else {\r\n dispatch(showSuccessSnak(i18n.t('COMMON_MESSAGE_ERROR')));\r\n dispatch(updateLoadingState('copyingJob', false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nexport function resetExpiredJob() {\r\n return (dispatch: Function) => {\r\n dispatch(updateJobProperties({\r\n requestedPackageId: '',\r\n requestedPackageName: '',\r\n requestedPackagePrice: '',\r\n requestedPackageDurationDays: 0,\r\n requestedPackageProducts: [],\r\n statisticsRegisterFeedDisplayCountLink: '',\r\n statisticsRegisterFeedEntryDisplayCountLink: '',\r\n statisticsRegisterFeedEntrySearchedCountLink: '',\r\n statisticsRegisterJobApplicationAppliedCountLink: '',\r\n statisticsRegisterJobApplicationInitiatedCountLink: ''\r\n }));\r\n };\r\n}\r\n\r\nexport function sendErrorEmail(jobData: JobAdModalEx, error: string) {\r\n const w = window as any;\r\n const env = w.ENV;\r\n\r\n var editLink = w.location.href;\r\n if (editLink.endsWith('jae')) {\r\n editLink = editLink + '/edit/' + jobData.id;\r\n }\r\n\r\n var errorEmailData = [];\r\n errorEmailData.push({ key: \"EventDateTime\", value: new Date() });\r\n errorEmailData.push({ key: \"Advertiser\", value: jobData.companyName });\r\n errorEmailData.push({ key: \"UserName\", value: jobData.contactName });\r\n errorEmailData.push({ key: \"UserEmail\", value: jobData.contactEmail });\r\n errorEmailData.push({ key: \"JobAdId\", value: jobData.id });\r\n errorEmailData.push({ key: \"AdEditLink\", value: editLink });\r\n errorEmailData.push({ key: \"Error Message\", value: error });\r\n const emailTemplate = \"Advertiser_publishing_error\";\r\n var emailAddress = \"\";\r\n if (env === \"Production\") {\r\n emailAddress = \"kundecenter@ofirjob.dk\";\r\n } else {\r\n //emailAddress = \"mwkyu@matchwork.com\";\r\n emailAddress = \"yuliya.klochko@ofirjob.dk\";\r\n }\r\n \r\n return ApiService.SendTemplateEmailWithFileRefs(emailAddress, \"Error\", \"\", emailTemplate, \"\", JSON.stringify(errorEmailData), \"\");\r\n}\r\n\r\n","import { actionCreator, Action, isType } from './Action';\r\nimport { ApiService } from '../services/apiService';\r\nimport { OrderItem } from '../cms/models/job/jobOrder';\r\nimport { ProductsData } from '../cms/models/job/package';\r\nimport { JobSuggestions, JobSuggestion } from '../cms/models/job/jobAd';\r\nimport { updateJobProperties } from './JaeStore';\r\nimport { updateLoadingState } from './LoadingStore';\r\nexport interface JobState {\r\n activeJobs: any;\r\n jobOrders: OrderItem[];\r\n jobOrderIsLoaded: boolean;\r\n packages: ProductsData;\r\n confirmationModalVisibility: boolean;\r\n couponCode: string;\r\n savingState: boolean;\r\n}\r\n\r\nconst defaultState = {\r\n activeJobs: [],\r\n jobOrders: [],\r\n jobOrderIsLoaded: false,\r\n packages: undefined,\r\n confirmationModalVisibility: false,\r\n couponCode: '',\r\n savingState: true\r\n};\r\n\r\nconst actions = {\r\n updateActiveJobs: actionCreator<{ activeJobs: any }>('UPDATE_ACTIVE_JOBS'),\r\n updateJobOrders: actionCreator<{ data: OrderItem[] }>('UPDATE_JOB_ORDER'),\r\n updateJobOrderLoadedState: actionCreator<{ value: boolean }>('UPDATE_JOB_ORDER_LOADED_STATE'),\r\n updateJobPackages: actionCreator<{ data: ProductsData }>('UPDATE_JOB_PACKAGES'),\r\n updateConfirmationModalVisibility: actionCreator<{ value: boolean }>('UPDATE_JOB_CONFIRMATION_MODAL'),\r\n setCouponCode: actionCreator<{ value: string }>('SET_COUPON_CODE'),\r\n setSavingState: actionCreator<{value: boolean }>('SET_SAVING_STATE'),\r\n setSuggestions: actionCreator<{ data: JobSuggestions }>('SET_JOB_SUGGESTIONS')\r\n};\r\n\r\nexport function reducer(state: JobState = defaultState, action: Action): JobState {\r\n if (isType(action, actions.updateActiveJobs)) {\r\n return {\r\n ...state,\r\n activeJobs: action.payload.activeJobs\r\n };\r\n } else if (isType(action, actions.updateJobOrders)) {\r\n return {\r\n ...state,\r\n jobOrders: action.payload.data\r\n };\r\n } else if (isType(action, actions.updateJobPackages)) {\r\n return {\r\n ...state,\r\n packages: action.payload.data\r\n };\r\n } else if (isType(action, actions.updateConfirmationModalVisibility)) {\r\n return {\r\n ...state,\r\n confirmationModalVisibility: action.payload.value\r\n };\r\n } else if (isType(action, actions.setCouponCode)) {\r\n return {\r\n ...state,\r\n couponCode: action.payload.value\r\n };\r\n } else if (isType(action, actions.setSavingState)) {\r\n return {\r\n ...state,\r\n savingState: action.payload.value\r\n };\r\n } else if (isType(action, actions.updateJobOrderLoadedState)) {\r\n return {\r\n ...state,\r\n jobOrderIsLoaded: action.payload.value\r\n };\r\n }\r\n\r\n return state;\r\n}\r\n\r\n// TODO: add job type\r\nexport function updateActiveJobs(activeJobs: any[]) {\r\n return (dispatch: Function) => {\r\n dispatch(actions.updateActiveJobs({ activeJobs }));\r\n };\r\n}\r\n\r\n// TODO: add job type\r\nexport function loadActiveJobs() {\r\n return async (dispatch: Function) => {\r\n const activeJobsRes = await ApiService.getActiveJobs();\r\n const jobsData = activeJobsRes.results;\r\n\r\n dispatch(updateActiveJobs(jobsData));\r\n };\r\n}\r\n\r\nexport function updateJobOrders(data: OrderItem[]) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.updateJobOrders({ data }));\r\n };\r\n}\r\n\r\nexport function updateJobOrderLoadingState(value: boolean) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.updateJobOrderLoadedState({ value }));\r\n };\r\n}\r\n\r\nexport function updateJobPackages(data: ProductsData) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.updateJobPackages({ data }));\r\n };\r\n}\r\nexport function getJobPackagesForUpdate(jae: any, coupone) {\r\n return async (dispatch: Function, getState: any) => {\r\n dispatch(updateLoadingState(\"jaePackages\", true));\r\n const data = await ApiService.getJobPackagesForUpdate(jae, coupone);\r\n dispatch(actions.updateJobPackages({ data }));\r\n dispatch(updateLoadingState(\"jaePackages\", false));\r\n };\r\n}\r\n\r\nexport function updateConfirmationModalVisibility(visibility: boolean) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.updateConfirmationModalVisibility({ value: visibility }));\r\n };\r\n}\r\n\r\nexport function setCouponCode(value: string) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.setCouponCode({ value: value }));\r\n };\r\n}\r\n\r\nexport function setSavingState(value: boolean) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.setSavingState({ value: value }));\r\n }\r\n}\r\n\r\nexport function loadJobSuggestions(title: string, description: string, cats: any) {\r\n return async (dispatch: Function, getState: any) => {\r\n const { jae } = getState()\r\n\r\n const w = window as any;\r\n const jobCategories: string[] = w.jobCategory;\r\n\r\n const data = {\r\n title,\r\n description\r\n };\r\n\r\n const result: any = await ApiService.getJobSuggestions(data);\r\n\r\n const sourceCategories = [];\r\n\r\n cats.forEach((item: any) => {\r\n item.Items.forEach((subitem: any) => {\r\n sourceCategories.push(subitem.Value);\r\n });\r\n });\r\n\r\n if (result) {\r\n const categories = [];\r\n const titleSuggestions = result.JobTitles.map((item: JobSuggestion) => item.Value) || [];\r\n const categoriesSuggestions = result.JobCategories.map((item: JobSuggestion) => ({ key: item.Key, value: item.Value }));\r\n\r\n categoriesSuggestions.forEach((item: any) => {\r\n if (item.key.length == 3 && sourceCategories.indexOf(item.value) !== -1) {\r\n categories.push(item.value);\r\n }\r\n });\r\n dispatch(updateJobProperties({\r\n category: categories,\r\n positionLocal: titleSuggestions[0]\r\n }));\r\n\r\n\r\n }\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { Select } from 'antd';\r\nimport classNames from 'classnames';\r\nimport ControlLabel from '../ControlLabel/ControlLabel';\r\nimport BranderoConrolError from '../ConrolError/ControlError';\r\n\r\nimport './assets/SelectMenu.scss';\r\n\r\nconst { Option, OptGroup } = Select;\r\n\r\nexport const SelectMenuOption = Option;\r\nexport const SelectMenuGroup = OptGroup;\r\nexport type TSelectMenu = {\r\n children?: React.ReactNode;\r\n title?: string;\r\n tags?: boolean;\r\n name?: string;\r\n value: any;\r\n labelKey?: string;\r\n valueKey?: string;\r\n options?: (string | number | object)[];\r\n multiple?: boolean;\r\n required?: boolean;\r\n important?: boolean;\r\n error?: string;\r\n className?: any;\r\n tip?: string;\r\n isOpen?: boolean;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n forwardedRef?: React.RefObject;\r\n onSearch?(val:any):void,\r\n onChange?(value: any, name: string, option: any): void;\r\n onFocus?(): void;\r\n onBlur?(e: any): any;\r\n selectProps?: { \r\n showSearch?: boolean;\r\n transitionName?: string;\r\n choiceTransitionName?: string;\r\n filterOption?: boolean | ((e,t) => boolean);\r\n }\r\n};\r\nexport default function SelectMenu(props: TSelectMenu) {\r\n const { children,\r\n title,\r\n name,\r\n tags,\r\n value,\r\n onChange,\r\n labelKey,\r\n onSearch,\r\n valueKey,\r\n options,\r\n multiple,\r\n required,\r\n error,\r\n className,\r\n important,\r\n tip,\r\n isOpen,\r\n disabled,\r\n placeholder,\r\n onFocus,\r\n onBlur,\r\n forwardedRef,\r\n selectProps\r\n } = props\r\n const mode = multiple ? 'multiple' : 'default';\r\n const extraProps: any = {};\r\n\r\n const selectClassName = classNames([\r\n 'select-menu',\r\n className,\r\n {\r\n 'select-menu--error': error\r\n }\r\n ]);\r\n\r\n const selectWrapClassName = classNames([\r\n 'select-menu__wrap',\r\n {\r\n 'control-error': error\r\n }\r\n ]);\r\n\r\n const handleChange = (selectedValue: any, option) => {\r\n if (onChange) {\r\n onChange(selectedValue, name, option);\r\n }\r\n };\r\n\r\n const handleFocus = (): void => {\r\n if (onFocus) {\r\n onFocus();\r\n }\r\n };\r\n\r\n const handleBlur = (e: any) => {\r\n if (onBlur) {\r\n onBlur(e);\r\n }\r\n };\r\n\r\n const renderOptions = () => {\r\n if (children) {\r\n return children;\r\n }\r\n\r\n return options.map((item, index: number) => {\r\n if (valueKey && labelKey) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n });\r\n };\r\n\r\n if (isOpen !== undefined) {\r\n extraProps.open = isOpen;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {title}\r\n \r\n triggerNode.parentNode}\r\n {...selectProps}\r\n {...extraProps}\r\n >\r\n {renderOptions()}\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { Modal } from 'antd';\r\nimport { ModalFuncProps } from 'antd/lib/modal';\r\nimport moment from 'moment';\r\nimport { Utils } from '../../../../Utils/Utils';\r\n\r\nexport function showConfirmModal(props: ModalFuncProps) {\r\n return Modal.confirm({\r\n cancelButtonProps: {\r\n className: 'common-btn--secondary'\r\n },\r\n okButtonProps: {\r\n className: 'common-btn--primary'\r\n },\r\n ...props\r\n });\r\n}\r\n\r\nexport function showWarningModal(props: ModalFuncProps) {\r\n return Modal.warning(props);\r\n}\r\n\r\nexport const formatDate = (date: any) => {\r\n const l = moment(date);\r\n const locale = Utils.getLanguage() == 'da-DK' ? 'da' : 'en-gb';\r\n l.locale(locale);\r\n return l.format('LLL');\r\n};","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport Media from 'react-media';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n faCubes,\r\n faCalendarAlt,\r\n faUser,\r\n faExternalLinkSquareAlt,\r\n faTachometerAlt,\r\n faClock,\r\n faFileSignature,\r\n faArchive,\r\n faPlus,\r\n faTrashAlt,\r\n faFileInvoice,\r\n faChartBar,\r\n faCopy\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport classNames from 'classnames';\r\nimport history from \"../../cms/common/history\"\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\nimport { ApplicationState } from './../../store';\r\nimport { Utils } from './../../Utils/Utils';\r\nimport i18n from '../../resources/i18n';\r\nimport BranderoTable, { BranderoTableItem, BranderoTableRow } from '../../cms/components/_shared/BranderoTable/BranderoTable';\r\nimport JobCard from '../../cms/components/_shared/JobCard/JobCard';\r\nimport Base64 from '../../Utils/ts-base64';\r\nimport { statusFormat, statuses } from './JobsListHelpers';\r\nimport CommonButton from '../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport SelectMenu from '../../cms/components/_shared/Controls/SelectMenu/SelectMenu';\r\nimport Loader from '../../cms/components/_shared/Loader/Loader';\r\nimport Badge from '../../cms/components/_shared/Badge/Badge';\r\nimport { IJob, JobAdStatuses, IJobsListState, actionCreators } from './../../store/JobsListStore';\r\nimport { showConfirmModal } from '../../cms/components/_shared/CommonModal/CommonModalUtils';\r\nimport { registerEvent } from '../../googleTagManager';\r\nimport { copyJob } from './../../store/JaeStore';\r\nimport { UtilsJob } from '../../Utils/UtilsJob';\r\nimport { ROUTES } from \"../../cms/common/routes\"\r\n\r\nimport './assets/JobsList.scss';\r\nimport { isNull } from 'util';\r\n\r\ntype JobsListProps = IJobsListState &\r\n typeof actionCreators & {\r\n isJobsloading: boolean;\r\n copyJob(job: IJob): void;\r\n };\r\ntype JobsListState = {\r\n jobListStatus: number;\r\n itemsCountPerPage: number;\r\n currentPage: number;\r\n sortOn: string,\r\n direction: string,\r\n pref: string,\r\n};\r\nconst ITEMS_COUNT_PER_PAGE = 10;\r\nconst MOBILE_ITEMS_COUNT_PER_PAGE = 25;\r\nconst { Active, Expired, Draft, Future, Deactivated, Archived } = JobAdStatuses;\r\n\r\nconst styles = {\r\n loadingStyles: {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n padding: '100px 0'\r\n },\r\n pagingWrapper: {\r\n display: 'flex',\r\n justifyContent: 'center'\r\n },\r\n jobHeader: {\r\n display: 'flex',\r\n justifyContent: 'space-between',\r\n maxWidth: '1400px',\r\n margin: '0px auto 16px'\r\n },\r\n toggleArchiveBtn: {\r\n minHeight: '44px',\r\n marginRight: '12px',\r\n fontSize: '17px',\r\n color: '#ffffff'\r\n },\r\n toggleContainer: {\r\n display: 'flex',\r\n alignItems: 'flex-start'\r\n },\r\n disabled: {\r\n pointerEvents: 'none'\r\n },\r\n archivedStatus: {\r\n background: '#777',\r\n color: '#fff',\r\n borderRadius: '3px'\r\n }\r\n};\r\n\r\n\r\ntype TSortOn = \"title\" | \"requestedPackageName\" | \"activationDate\" | \"status\" | \"expiryDate\";\r\ntype TSortVariant = \"ASC\" | \"DESC\";\r\nclass JobsList extends React.Component {\r\n\r\n constructor(props: JobsListProps) {\r\n super(props);\r\n\r\n this.state = {\r\n jobListStatus: -1,\r\n itemsCountPerPage: window.innerWidth > 767 ? ITEMS_COUNT_PER_PAGE : MOBILE_ITEMS_COUNT_PER_PAGE,\r\n currentPage: 1,\r\n sortOn: 'applicationDate',\r\n direction: 'DESC',\r\n pref: '',\r\n };\r\n this.onSortClicked = this.onSortClicked.bind(this);\r\n }\r\n public componentDidMount() {\r\n const { itemsCountPerPage } = this.state;\r\n\r\n this.getJobsListByStatus({ page: 1, pagesize: itemsCountPerPage, status: -1 });\r\n if (typeof window !== \"undefined\") {\r\n this.setState({ pref: window['PREF'] });\r\n }\r\n\r\n }\r\n\r\n\r\n public onSortClicked(sortOn: TSortOn, direction: TSortVariant) {\r\n const { requestJobsList } = this.props;\r\n const {currentPage, itemsCountPerPage, jobListStatus, } = this.state;\r\n this.setState({ sortOn, direction }, () => {\r\n requestJobsList({page: currentPage,pagesize: itemsCountPerPage, status: jobListStatus, sortField: sortOn, sortOrder: direction}); \r\n });\r\n }\r\n\r\n public render() {\r\n const tableItems: BranderoTableItem = {\r\n sortOn: this.state.sortOn,\r\n sortDirection: this.state.direction,\r\n headers: [\r\n {\r\n columnName: 'status',\r\n headerFontAwsome: faTachometerAlt,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_STATUS'\r\n },\r\n {\r\n columnName: 'title',\r\n headerFontAwsome: faFileSignature,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_JOB_TITLE'\r\n },\r\n {\r\n columnName: 'requestedPackageName',\r\n headerFontAwsome: faCubes,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_PACKAGE'\r\n },\r\n {\r\n columnName: 'activationDate',\r\n headerFontAwsome: faCalendarAlt,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_ACTIVATION'\r\n },\r\n {\r\n columnName: 'expiryDate',\r\n headerFontAwsome: faClock,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_EXPIRATION'\r\n },\r\n {\r\n columnName: '',\r\n headerTextResourceName: ''\r\n }\r\n ],\r\n rows: this.generateJobListRows()\r\n };\r\n const { currentPage } = this.state;\r\n const { total, page } = this.props;\r\n \r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n {page === 0 ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n this.renderMobileCards()\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n {this.renderBranderoTableHeader()}\r\n {this.renderFilterBlock()}\r\n {\r\n this.handlePageChange(pageNumber, itemsCountPerPage);\r\n }}\r\n onSortClicked={this.onSortClicked}\r\n totalItemsCount={total}\r\n item={tableItems}\r\n page={currentPage}\r\n isloading={this.props.isJobsloading}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderMobileCards = () => {\r\n const { total, results } = this.props;\r\n const { currentPage, jobListStatus } = this.state;\r\n const loadMore = results.length < total;\r\n const showArchived = jobListStatus === Archived;\r\n\r\n return (\r\n <>\r\n

    \r\n {Utils.stringFormat(i18n.t('JOBS_LIST_COUNTER'), total + '')}\r\n

    \r\n {this.renderFilterBlock()}\r\n \r\n \r\n
    \r\n }\r\n >\r\n {results\r\n .filter((job) => job.status !== Archived || showArchived)\r\n .map((job, index) => {\r\n const canActivateOrDesctivateJob = this.getJobActivityStatus(job);\r\n const activateDeactivateBtn = this.getJobActivityBtnClass(job);\r\n const jobActivityData = this.getJobActivityData(job);\r\n const showJobOrder = () => {\r\n this.showJobOrder(job.id);\r\n };\r\n const toolTip = jobActivityData.tooltip;\r\n const onClickEvent: any = jobActivityData.action;\r\n\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n };\r\n\r\n private getJobsListByStatus = async ({page, pagesize, status, sortField, sortOrder}: {page: any, pagesize: any, status: any, sortField?: any, sortOrder?: any}) => {\r\n this.props.requestJobsList({page, pagesize, status, sortField, sortOrder});\r\n };\r\n\r\n private handlePageChangeMobile = () => {\r\n const { currentPage, jobListStatus } = this.state;\r\n const { isJobsloading } = this.props;\r\n\r\n if (!isJobsloading) {\r\n const nextPage = currentPage + 1;\r\n this.setState({ currentPage: nextPage });\r\n\r\n this.props.requestJobsList({page: nextPage,pagesize: MOBILE_ITEMS_COUNT_PER_PAGE, status: jobListStatus,isMobile: true});\r\n }\r\n };\r\n\r\n private handleStatusChange = async (status: number) => {\r\n await this.getJobsListByStatus({page: 1, pagesize: this.state.itemsCountPerPage, status});\r\n\r\n this.setState({ jobListStatus: status, currentPage: 1 });\r\n };\r\n\r\n private handlePageChange = (pageNumber: number, itemsCountPerPage: number) => {\r\n const {jobListStatus, sortOn, direction} = this.state\r\n this.setState({ itemsCountPerPage: itemsCountPerPage, currentPage: pageNumber });\r\n\r\n this.getJobsListByStatus({page: pageNumber, pagesize: itemsCountPerPage, status: jobListStatus, sortOrder: direction, sortField: sortOn});\r\n };\r\n\r\n private getJobActivityStatus = (job: IJob) => {\r\n const isExtendExpired = UtilsJob.isJobExtendExpired(job.expiryDate);\r\n\r\n if (isExtendExpired && job.status == Expired) {\r\n return false;\r\n }\r\n\r\n return job.status == Future || job.status == Active || job.status == Expired || job.status == Deactivated;\r\n };\r\n\r\n private getJobActivityBtnClass = (job: IJob) => {\r\n return classNames({\r\n 'btn btn-sm': true,\r\n 'btn-danger': job.status == Future || job.status == Active,\r\n 'btn-success': job.status != Future && job.status != Active,\r\n disabled: job.status == Draft || job.status == Archived\r\n });\r\n };\r\n\r\n private getJobActivityData = (job: IJob) => {\r\n let toolTip: string;\r\n let color: string = '#70ca63';\r\n let onClickEvent: Function;\r\n\r\n if (job.status == Future || job.status == Active) {\r\n color = '#e9573f';\r\n toolTip = i18n.t('JOBS_LIST_BUTTON_DEACTIVATE');\r\n onClickEvent = () => this.showWarningDeactiveJob(job);\r\n } else if (job.status == Expired) {\r\n const isExtendExpired = UtilsJob.isJobExtendExpired(job.expiryDate);\r\n\r\n toolTip = isExtendExpired ? i18n.t('JOB_EXPIRED_EXTEND_MESSAGE') : i18n.t('JOBS_LIST_BUTTON_EXTEND');\r\n onClickEvent = () => this.showWarningExtendJob(job);\r\n } else if (job.status == Draft) {\r\n toolTip = i18n.t('JOBS_LIST_BUTTON_COMPLETE_JOBAD');\r\n } else {\r\n toolTip = i18n.t('JOBS_LIST_BUTTON_ACTIVATE');\r\n onClickEvent = () => this.showWarningActivateJob(job);\r\n }\r\n\r\n return {\r\n tooltip: toolTip,\r\n action: onClickEvent,\r\n color\r\n };\r\n };\r\n\r\n private showJobOrder(jobId: string) {\r\n window.open(`${this.state['pref']}/admin/jae/order/${jobId}`);\r\n }\r\n\r\n private getStatusClassHelper(status: number) {\r\n if (status === 0) {\r\n return 'draft';\r\n } else if (status === 1) {\r\n return 'archive';\r\n } else if (status === 2) {\r\n return 'expired';\r\n } else if (status === 3) {\r\n return 'deactivated';\r\n } else if (status === 5) {\r\n return 'future';\r\n } else if (status === 6) {\r\n return 'archived';\r\n }\r\n }\r\n\r\n private generateJobListRows(): BranderoTableRow[] {\r\n let { results } = this.props;\r\n\r\n const isArchived = this.state.jobListStatus === Archived;\r\n\r\n if (isArchived) {\r\n results = results.sort((a, b) => {\r\n return Utils.getTime(new Date(b.expiryDate)) - Utils.getTime(new Date(a.expiryDate));\r\n });\r\n }\r\n\r\n return results.map((job, i) => {\r\n const canActivateOrDesctivateJob = this.getJobActivityStatus(job);\r\n const buttonTd = classNames({\r\n bottomTd: true,\r\n bottomTdSuperAdmin: Utils.isSuperAdmin() && !isArchived,\r\n bottomTdSuperAdminArchived: Utils.isSuperAdmin() && isArchived,\r\n bottomArchived: !Utils.isSuperAdmin() && isArchived\r\n });\r\n const jobActivityData = this.getJobActivityData(job);\r\n const toolTip = jobActivityData.tooltip;\r\n const onClickEvent: any = jobActivityData.action;\r\n const previewLink = UtilsJob.getJobPreviewLink(job, false);\r\n let activationDate = Utils.dateStringFormatDefaultLanguage(job.activationDate);\r\n let expiryDate = Utils.dateStringFormatDefaultLanguage(job.expiryDate);\r\n\r\n if (job.activationDate.indexOf('1970') !== -1 || job.activationDate.indexOf('0001') !== -1) {\r\n activationDate = '';\r\n }\r\n\r\n if (job.expiryDate.indexOf('1970') !== -1 || job.expiryDate.indexOf('0001') !== -1) {\r\n expiryDate = '';\r\n }\r\n\r\n return {\r\n dataItems: [\r\n {\r\n tdClassName: 'center-status shrink',\r\n htmlElement: (\r\n \r\n {statusFormat(job.status).text}\r\n \r\n )\r\n },\r\n { htmlElement: {job.title}},\r\n { text: job.requestedPackageName ? job.requestedPackageName.replace(/
    /g, ',') : '' },\r\n { tdClassName: 'shrink', text: activationDate },\r\n { tdClassName: 'shrink', text: expiryDate },\r\n {\r\n tdClassName: buttonTd,\r\n htmlElement: (\r\n
    \r\n {!isArchived && (\r\n {\r\n window.location.href = `jae/edit/${job.id}`;\r\n }}\r\n glyphicon=\"glyphicon-pencil\"\r\n toolTip={i18n.t('JOBS_LIST_BUTTON_EDIT')}\r\n className=\"btn btn-sm btn-warning\"\r\n color=\"#f6bb42\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n )}\r\n {!isArchived && (\r\n \r\n )}\r\n }\r\n onClick={() => {\r\n window.open(previewLink, '_blank');\r\n }}\r\n disabled={job.status === JobAdStatuses.Draft && Utils.isUserOfirAdvertiser()}\r\n color=\"#3bafda\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n {Utils.isSuperAdmin() && (\r\n }\r\n onClick={() => window.open(`jae/statistic/${job.id}`, \"_self\")}\r\n disabled={job.status === 0 || job.status === 5 ? true : false}\r\n color=\"#ff6a84\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n )}\r\n \r\n }\r\n disabled={job.applicationMethod.indexOf(4) === -1}\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n color=\"#337ab7\"\r\n onClick={() => {\r\n window.location.href =\r\n job.applicationMethod.indexOf(4) > -1\r\n ? `candidatelist#/admin/candidatelist/${job.id}/${Base64.encodeWithUrlEncode(job.title)}`\r\n : 'javascript:void(0)';\r\n }}\r\n />\r\n \r\n this.showJobOrder(job.id)}\r\n icon={}\r\n disabled={job.status === JobAdStatuses.Draft}\r\n disabledToolTip={i18n.t('JOB_LIST_BUTTON_ORDER_DISABLED')}\r\n toolTip={i18n.t('JOB_LIST_BUTTON_ORDER')}\r\n color=\"#cc99ff\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n this.copyJob(job)}\r\n icon={}\r\n toolTip={i18n.t('JOB_LIST_JOB_COPY')}\r\n size=\"icon\"\r\n color=\"#00cc66\"\r\n tooltipClass=\"tooltip--singleline\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n {!isArchived && (\r\n this.showWarningArchiveJob(job)}\r\n icon={}\r\n disabled={job.status === Active}\r\n disabledToolTip={i18n.t('JAE_JOBAD_APPLICATION_CANT_ARCHIVE_ACTIVE')}\r\n toolTip={i18n.t('JOBS_LIST_BUTTON_ARCHIVE')}\r\n color=\"#D3D3D3\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n )}\r\n {Utils.isSuperAdmin() && (\r\n this.showWarningDeleteJob(job)}\r\n icon={}\r\n disabled={job.status === Active}\r\n toolTip={i18n.t('JOBS_LIST_BUTTON_DELETE')}\r\n disabledToolTip={i18n.t('JAE_JOBAD_APPLICATION_CANT_DELETE_ACTIVE')}\r\n color=\"#D3D3D3\"\r\n style={{ float: \"left\", marginBottom: \"3px\" }}\r\n />\r\n )}\r\n
    \r\n )\r\n }\r\n ]\r\n };\r\n });\r\n }\r\n\r\n private renderFilterBlock() { \r\n \r\n const { jobListStatus } = this.state;\r\n const filteredStatuses = Object.values(statuses).filter((status) => status.name !== 4);\r\n const statusesList = [\r\n {\r\n name: -1,\r\n text: i18n.t('JOBS_LIST_FILTER_ALL_JOBS')\r\n },\r\n ...filteredStatuses\r\n ];\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n private renderBranderoTableHeader() {\r\n let counterText: string;\r\n if (!this.props.joblistLoadedFirstTime) {\r\n counterText = '';\r\n } else {\r\n switch (this.state.jobListStatus) {\r\n case Active:\r\n counterText = i18n.t('JOBS_LIST_ACTIVE_JOBS_COUNTER');\r\n break;\r\n case Archived:\r\n counterText = i18n.t('JOBS_LIST_ARCHIVED_JOBS_COUNTER');\r\n break;\r\n case Deactivated:\r\n counterText = i18n.t('JOBS_LIST_DEACTIVATED_JOBS_COUNTER');\r\n break;\r\n case Draft:\r\n counterText = i18n.t('JOBS_LIST_DRAFT_JOBS_COUNTER');\r\n break;\r\n case Expired:\r\n counterText = i18n.t('JOBS_LIST_EXPIRED_JOBS_COUNTER');\r\n break;\r\n case Future:\r\n counterText = i18n.t('JOBS_LIST_FUTURE_JOBS_COUNTER');\r\n break;\r\n default:\r\n counterText = i18n.t('JOBS_LIST_COUNTER');\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n

    {Utils.stringFormat(counterText, this.props.total + '')}

    \r\n
    \r\n }\r\n gTMEventData={{ event: 'newAdCreatedList' }}\r\n onClick={() => (window.location.href = `${this.state['pref']}/admin/jae`)}\r\n size=\"large\"\r\n />\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private showWarningArchiveJob = (job: IJob) => {\r\n showConfirmModal({\r\n title: `${i18n.t('JOBS_LIST_CUSTOM_MODALS_ARCHIVE_JOB_TITLE')}: ${job.title}`,\r\n content: i18n.t('JOBS_LIST_CUSTOM_MODALS_ARCHIVE_JOB_CAUTION'),\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n okText: i18n.t('JOBS_LIST_BUTTON_ARCHIVE'),\r\n onOk: () => {\r\n registerEvent({ event: 'archived' });\r\n\r\n this.props.updateJobStatus(job, Archived);\r\n }\r\n });\r\n };\r\n\r\n private showWarningDeleteJob = (job: IJob) => {\r\n showConfirmModal({\r\n title: `${i18n.t('JOBS_LIST_CUSTOM_MODALS_DELETE_JOB_TITLE')}: ${job.title}`,\r\n content: i18n.t('JOBS_LIST_CUSTOM_MODALS_DELETE_JOB_CAUTION'),\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n okText: i18n.t('JOBS_LIST_BUTTON_DELETE'),\r\n onOk: () => {\r\n this.props.setSuperAdminDeleteStatus(job);\r\n }\r\n });\r\n };\r\n\r\n private showWarningDeactiveJob(job: IJob) {\r\n showConfirmModal({\r\n title: `${i18n.t('JOBS_LIST_CUSTOM_MODALS_DEACTIVATE_JOB_TITLE')} - ${job.title}`,\r\n content: i18n.t('JOBS_LIST_CUSTOM_MODALS_DEACTIVATE_JOB_PHRASE1'),\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n okText: i18n.t('JOBS_LIST_BUTTON_DEACTIVATE'),\r\n onOk: () => {\r\n registerEvent({ event: 'activationeventAdded', adActivation: 'deActivated' });\r\n\r\n this.props.deactivateJob(job);\r\n },\r\n });\r\n }\r\n\r\n private showWarningActivateJob(job: IJob) {\r\n showConfirmModal({\r\n title: `${i18n.t('JOBS_LIST_CUSTOM_MODALS_ACTIVATE_JOB_TITLE')} - ${job.title}`,\r\n content: i18n.t('JOBS_LIST_CUSTOM_MODALS_ACTIVATE_JOB_PHRASE1'),\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n okText: i18n.t('JOBS_LIST_BUTTON_ACTIVATE'),\r\n onOk: () => {\r\n registerEvent({ event: 'activationeventAdded', adActivation: 'activated' });\r\n\r\n this.props.activateJob(job);\r\n }\r\n });\r\n }\r\n\r\n private showWarningExtendJob(job: IJob) {\r\n showConfirmModal({\r\n title: `${i18n.t('JOBS_LIST_CUSTOM_MODALS_EXTEND_JOB_TITLE')} - ${job.title}`,\r\n content:
    ,\r\n width: 852,\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n okText: i18n.t('JOBS_LIST_BUTTON_EXTEND'),\r\n onOk: () => {\r\n window.open(`jae/edit/${job.id}?extend=1`);\r\n }\r\n });\r\n }\r\n\r\n private copyJob = (job: IJob) => {\r\n\r\n this.props.copyJob(job);\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch: any) {\r\n return bindActionCreators(\r\n {\r\n ...actionCreators,\r\n copyJob\r\n },\r\n dispatch\r\n );\r\n}\r\n\r\nexport default connect((state: ApplicationState) => {\r\n return {\r\n ...state.jobsList,\r\n isJobsloading: state.loading.jobsLoading\r\n };\r\n}, mapDispatchToProps)(JobsList as any);\r\n","import * as React from 'react';\r\nimport { Card } from 'antd';\r\nimport classNames from 'classnames';\r\nimport ConrolError from '../Controls/ConrolError/ControlError';\r\n\r\nimport './assets/CommonCard.scss';\r\n\r\nexport default function CommonCard({\r\n className,\r\n title,\r\n children,\r\n required,\r\n disabled,\r\n error\r\n}: {\r\n className?: string;\r\n title?: string;\r\n children: React.ReactNode;\r\n required?: boolean;\r\n disabled?: boolean;\r\n error?: string;\r\n}) {\r\n const cardClassName = classNames([\r\n 'common-card',\r\n {\r\n 'common-card--disabled': disabled,\r\n 'control-error': error\r\n }\r\n ]);\r\n const titleClassName = classNames([\r\n 'common-card__title',\r\n {\r\n 'common-card__title--required': required\r\n }\r\n ]);\r\n\r\n return (\r\n
    \r\n \r\n {title && (\r\n
    \r\n
    {title}
    \r\n
    \r\n )}\r\n \r\n
    {children}
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { IndustriesData, SubIndustry, Industry } from '../models/industries';\r\n\r\nexport class Industries {\r\n public static getIndustryIdByName(industries: IndustriesData, industry: string, lang: string): number {\r\n let id: number;\r\n\r\n industries[lang].map(x => {\r\n if (x.Name === industry) {\r\n id = x.Id;\r\n }\r\n });\r\n\r\n return id || null;\r\n }\r\n\r\n public static getSubIndustryIdByName(\r\n industries: IndustriesData,\r\n subIndustry: string,\r\n lang: string\r\n ): number {\r\n let id: number;\r\n\r\n industries[lang].map(x => {\r\n x.SubIndustries.map(y => {\r\n if (y.Name === subIndustry) {\r\n id = y.Id;\r\n }\r\n });\r\n });\r\n\r\n return id || null;\r\n }\r\n\r\n public static getIndustryNameInAnotherLanguage(\r\n industries: IndustriesData,\r\n industry: string,\r\n sourceLang: string,\r\n destLang: string\r\n ): string {\r\n let name: string;\r\n const id: number = this.getIndustryIdByName(industries, industry, sourceLang);\r\n\r\n industries[destLang].map(x => {\r\n if (x.Id === id) {\r\n name = x.Name;\r\n }\r\n });\r\n\r\n return name || null;\r\n }\r\n\r\n public static getSubIndustryNameInAnotherLanguage(\r\n industries: IndustriesData,\r\n subIndustry: string,\r\n sourceLang: string,\r\n destLang: string\r\n ): string {\r\n let name: string;\r\n const id: number = this.getSubIndustryIdByName(industries, subIndustry, sourceLang);\r\n\r\n industries[destLang].map(x => {\r\n x.SubIndustries.map(y => {\r\n if (y.Id === id) {\r\n name = y.Name;\r\n }\r\n });\r\n });\r\n\r\n return name || null;\r\n }\r\n\r\n public static getSubIndustries(industries: IndustriesData, industry: string, lang: string) {\r\n const industryId: number = this.getIndustryIdByName(industries, industry, lang);\r\n const list: SubIndustry[] = [];\r\n\r\n const ind: Industry[] = industries[lang].filter(x => x.Id === industryId);\r\n if (ind.length !== 0) {\r\n ind[0].SubIndustries.map(y => {\r\n list.push(y);\r\n });\r\n }\r\n\r\n return list;\r\n }\r\n\r\n public static getIndustryLang(industries: IndustriesData, industry: string): string {\r\n const langsKeys = Object.keys(industries);\r\n let industryLang: string;\r\n\r\n langsKeys.forEach((langKeyItem) => {\r\n const langIndustries = industries[langKeyItem];\r\n\r\n for (let k = 0; k < langIndustries.length; k++) {\r\n if (langIndustries[k].Name === industry) {\r\n industryLang = langKeyItem;\r\n\r\n break;\r\n }\r\n }\r\n });\r\n\r\n return industryLang;\r\n }\r\n}\r\n","export const emailRegex: RegExp = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-||_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+([a-z]+|\\d|-|\\.{0,1}|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])?([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/g;\r\nexport const urlRegex: RegExp = /^(?:http(s)?:\\/\\/)[\\w.-������%]+(?:\\.[\\w\\.-������%]+)+[������%\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\r\nexport const numberRegex: RegExp = /^[0-9]*$/g;\r\nexport const ogimageUrlRegex: RegExp = /^$|^(?:https:\\/\\/)/;\r\n","import { emailRegex, urlRegex, numberRegex } from '../../../../Utils/Validation/ValidationRules';\r\n\r\nexport const commonValidationObject = {\r\n name: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n address: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n zipCode: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n exact: {\r\n resource: 'MUST_BE_EXACT4',\r\n validation: 4\r\n }\r\n },\r\n city: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n country: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n externalId: {\r\n regex: { pattern: numberRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_P_NUMBER' }\r\n },\r\n eannumber: {\r\n regex: { pattern: numberRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_P_NUMBER' }\r\n },\r\n vatnumber: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: numberRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_P_NUMBER' }\r\n },\r\n pnumber: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: numberRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_P_NUMBER' },\r\n exact: { resource: 'MUST_BE_EXACT10', validation: 10 }\r\n },\r\n industry: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n subIndustry: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n commercialContactName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n commercialContact: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n }, \r\n commercialContactNameExtended: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n commercialContactExtended: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n commercialExternalId: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n },\r\n commercialVatNumber: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n },\r\n instagramUrl: {\r\n regex: { pattern: urlRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_URL' }\r\n },\r\n youtubeUrl: {\r\n regex: { pattern: urlRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_URL' }\r\n },\r\n twitterUrl: {\r\n regex: { pattern: urlRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_URL' }\r\n },\r\n linkedInUrl: {\r\n regex: { pattern: urlRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_URL' }\r\n },\r\n facebookUrl: {\r\n regex: { pattern: urlRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_URL' }\r\n },\r\n websiteUrl: {\r\n regex: { pattern: urlRegex, resource: 'COMPANYMANAGEMENT_VALIDATION_URL' }\r\n },\r\n email: {\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n }\r\n};\r\n","import { InternalSiteCreationRequest, ImageType } from '../../../services/autorest/models';\r\nconst ValidateObject = async (\r\n siteObject: InternalSiteCreationRequest,\r\n validationDescription: any,\r\n callback?: (prop: string, value: any) => Promise\r\n) => {\r\n const errorObject: { hasError: boolean } = { hasError: false };\r\n for (const validationProp in validationDescription) {\r\n if (validationDescription.hasOwnProperty(validationProp)) {\r\n let p = siteObject[validationProp];\r\n p = validationProp.toLowerCase().includes('email') && p ? p.toLowerCase() : p;\r\n const vp = validationDescription[validationProp];\r\n if (vp.required && !p) {\r\n errorObject[validationProp] = vp.required;\r\n }\r\n if (p && vp.regex) {\r\n const r = new RegExp(vp.regex.pattern);\r\n const m = r.test(p);\r\n if (!m) {\r\n errorObject[validationProp] = vp.regex.resource;\r\n }\r\n }\r\n if (p && vp.exact) {\r\n if (!p || p.length != vp.exact.validation) {\r\n errorObject[validationProp] = vp.exact.resource;\r\n }\r\n }\r\n if (p && vp.callback) {\r\n if (await callback(validationProp, p)) {\r\n errorObject[validationProp] = vp.callback;\r\n }\r\n }\r\n }\r\n }\r\n for (const ee in errorObject) {\r\n if (validationDescription.hasOwnProperty(ee)) {\r\n errorObject.hasError = true;\r\n }\r\n }\r\n return errorObject;\r\n};\r\nexport default ValidateObject;\r\n","import { animateScroll } from 'react-scroll';\r\n\r\nconst ValidateObject = async (\r\n values: object,\r\n validationDescription: object,\r\n callback?: (prop: string, value: any) => Promise\r\n) => {\r\n const errorObject: { hasError: boolean } = { hasError: false };\r\n\r\n for (const validationProp in validationDescription) {\r\n if (validationDescription.hasOwnProperty(validationProp)) {\r\n const p = values[validationProp];\r\n const vp = validationDescription[validationProp];\r\n\r\n if (vp.required && (p === undefined || p.length === 0)) {\r\n errorObject[validationProp] = vp.required;\r\n }\r\n\r\n if (p && vp.regex) {\r\n const r = new RegExp(vp.regex.pattern);\r\n const m = r.test(p.toLowerCase());\r\n\r\n if (!m) {\r\n errorObject[validationProp] = vp.regex.resource;\r\n }\r\n }\r\n\r\n if (p && vp.exact) {\r\n if (!p || p.length != vp.exact.validation) {\r\n errorObject[validationProp] = vp.exact.resource;\r\n }\r\n }\r\n\r\n if (p && vp.min) {\r\n if (!p || p.length < vp.min.validation) {\r\n errorObject[validationProp] = vp.min.resource;\r\n }\r\n }\r\n\r\n if (p && vp.same) {\r\n if (!p || p !== values[vp.same.target]) {\r\n errorObject[validationProp] = vp.same.resource;\r\n }\r\n }\r\n\r\n if (p && vp.callback) {\r\n if (await callback(validationProp, p)) {\r\n errorObject[validationProp] = vp.callback;\r\n }\r\n }\r\n\r\n if (p && vp.max) {\r\n if (!p || p.length > vp.max.validation) {\r\n errorObject[validationProp] = vp.max.resource;\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (const ee in errorObject) {\r\n if (validationDescription.hasOwnProperty(ee)) {\r\n errorObject.hasError = true;\r\n }\r\n }\r\n\r\n return errorObject;\r\n};\r\n\r\nexport function scrollToFirstInvalidField(errorClass: string, offset: number = 150) {\r\n const firstErrorElement: any = document.querySelector(`.${errorClass}`);\r\n\r\n if (firstErrorElement) {\r\n const scrollTop = window.pageYOffset || document.documentElement.scrollTop;\r\n const elementOffset = parseInt(firstErrorElement.getBoundingClientRect().top);\r\n const elementScrollPosition = elementOffset + scrollTop - offset;\r\n\r\n animateScroll.scrollTo(elementScrollPosition);\r\n }\r\n}\r\n\r\nexport default ValidateObject;\r\n","import * as React from 'react';\r\nimport Dropzone, { } from 'react-dropzone';\r\nimport CommonButton from './Controls/CommonButton/CommonButton';\r\n\r\n// TODO: ET -- add possibility to remove file when new uploaded\r\nexport default class DropZoneWithOutUploadHelper extends React.Component {\r\n private readonly inputFiles: React.RefObject\r\n\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isLoad: false,\r\n file: {}\r\n };\r\n\r\n this.inputFiles = React.createRef();\r\n }\r\n\r\n private externalCallback(file: any) {\r\n if (this.props.callback)\r\n this.props.callback.call(this, file);\r\n }\r\n\r\n private styles = {\r\n width: '100%',\r\n padding: '10px',\r\n marginBottom: '10px',\r\n };\r\n\r\n private onDrop(acceptedFiles: any[]) {\r\n this.setState({ file: acceptedFiles.map(file => Object.assign(file, {\r\n preview: URL.createObjectURL(file),\r\n }))[0]\r\n });\r\n this.setState({ isLoad: true });\r\n this.externalCallback(acceptedFiles[0]);\r\n\r\n }\r\n\r\n public render() {\r\n return (\r\n
    \r\n this.onDrop(e)} noClick={true}>\r\n {({getRootProps, getInputProps}) => (\r\n
    \r\n \r\n
    \r\n this.onDrop(Array.from(e.target.files))}\r\n />\r\n this.inputFiles.current.click()}\r\n />\r\n
    \r\n
    \r\n )}\r\n
    \r\n {this.state.isLoad && (\r\n
    \r\n \"\"\r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n","import { fetch } from 'domain-task';\r\nimport { Reducer } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { SiteData } from '../cms/models/siteData';\r\nimport { ActionTypes } from './ActionTypes';\r\nimport ApiConstants from '../cms/common/apiConstants';\r\nimport { Utils } from './../Utils/Utils';\r\nimport { ApiService } from '../services/apiService';\r\nimport { ImageType } from '../services/autorest/models';\r\nimport { showSuccessSnak } from './MetadataStore';\r\nimport i18n from '../resources/i18n';\r\n\r\nconst SITE_ID = ApiConstants.siteId;\r\nlet newSiteData = {\r\n id: '',\r\n name: '',\r\n host: '',\r\n cultureCode: '',\r\n masterData: ''\r\n};\r\n\r\nexport interface SiteDataState {\r\n isFetched: boolean;\r\n isError: boolean;\r\n isSaving: boolean;\r\n isChecking: boolean;\r\n isExists: boolean;\r\n response: object;\r\n originalHost: string;\r\n originalFontName: string;\r\n originalPrimaryColor: string;\r\n fontName: string;\r\n primaryColor: string;\r\n siteData: SiteData;\r\n}\r\n\r\ninterface FetchSiteDataAction {\r\n type: ActionTypes.FETCH_SITE_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n response: object;\r\n originalHost: string;\r\n fontName: string;\r\n primaryColor: string;\r\n newSiteData: SiteData;\r\n}\r\n\r\ninterface RequestSiteDataAction {\r\n type: ActionTypes.REQUEST_SITE_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n}\r\n\r\ninterface SetFieldSiteDataAction {\r\n type: ActionTypes.SET_FIELD_SITE_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n originalHost: string;\r\n newSiteData: SiteData;\r\n}\r\n\r\ninterface SavedSiteDataAction {\r\n type: ActionTypes.SAVED_SITE_DATA;\r\n isFetched: boolean;\r\n isSaving: boolean;\r\n isError: boolean;\r\n response: object;\r\n originalHost: string;\r\n siteData: SiteData;\r\n}\r\ninterface SavingSiteDataAction {\r\n type: ActionTypes.SAVING_SITE_DATA;\r\n siteData: SiteData;\r\n isSaving: boolean;\r\n originalHost: string;\r\n isFetched: boolean;\r\n}\r\n\r\ninterface CheckingSiteHostDataAction {\r\n type: ActionTypes.CHECKING_SITE_HOST;\r\n isChecking: boolean;\r\n isError: boolean;\r\n originalHost: string;\r\n siteData: SiteData;\r\n}\r\n\r\ninterface CheckSiteHostDataAction {\r\n type: ActionTypes.CHECK_SITE_HOST;\r\n isExists: boolean;\r\n isError: boolean;\r\n originalHost: string;\r\n siteData: SiteData;\r\n}\r\n\r\ninterface SetFieldDataAction {\r\n type: ActionTypes.SET_FIELD_DATA;\r\n isFetched: boolean;\r\n isError: boolean;\r\n originalHost: string;\r\n originalFontName: string;\r\n originalPrimaryColor: string;\r\n fontName: string;\r\n primaryColor: string;\r\n newSiteData: SiteData;\r\n}\r\n\r\ninterface GeneratedCssDataAction {\r\n type: ActionTypes.GENERATED_CSS_DATA;\r\n isFetched: boolean;\r\n isSaving: boolean;\r\n isError: boolean;\r\n response: object;\r\n originalHost: string;\r\n originalFontName: string;\r\n originalPrimaryColor: string;\r\n siteData: SiteData;\r\n}\r\n\r\ninterface GeneratingCssDataAction {\r\n type: ActionTypes.GENERATING_CSS_DATA;\r\n isFetched: boolean;\r\n isSaving: boolean;\r\n isError: boolean;\r\n originalHost: string;\r\n originalFontName: string;\r\n originalPrimaryColor: string;\r\n siteData: SiteData;\r\n}\r\n\r\ninterface UploadedLogoFileAction {\r\n type: ActionTypes.UPLOADED_FILE_LOGO;\r\n isFetched: boolean;\r\n isSaving: boolean;\r\n isError: boolean;\r\n response: object;\r\n originalHost: string;\r\n originalFontName: string;\r\n originalPrimaryColor: string;\r\n siteData: SiteData;\r\n}\r\n\r\ninterface UploadingLogoFileAction {\r\n type: ActionTypes.UPLODING_FILE_LOGO;\r\n isFetched: boolean;\r\n isSaving: boolean;\r\n isError: boolean;\r\n originalHost: string;\r\n originalFontName: string;\r\n originalPrimaryColor: string;\r\n siteData: SiteData;\r\n}\r\n\r\ntype KnownAction =\r\n | any\r\n | FetchSiteDataAction\r\n | RequestSiteDataAction\r\n | SetFieldSiteDataAction\r\n | SavedSiteDataAction\r\n | SavingSiteDataAction\r\n | CheckingSiteHostDataAction\r\n | CheckSiteHostDataAction\r\n | SetFieldDataAction\r\n | GeneratedCssDataAction\r\n | UploadedLogoFileAction\r\n | GeneratingCssDataAction\r\n | UploadingLogoFileAction;\r\n\r\nexport const actionCreators = {\r\n fetchSiteData: (): AppThunkAction => (dispatch, getState) => {\r\n dispatch({\r\n type: ActionTypes.REQUEST_SITE_DATA,\r\n isFetched: false,\r\n isError: false\r\n });\r\n const headers = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n const fetchTask = fetch(ApiConstants.siteOptions.siteQueries + '/ById/' + SITE_ID, headers)\r\n .then((response) => response.json() as Promise)\r\n .then((data) => {\r\n let masterData = JSON.parse(data.masterData);\r\n dispatch({\r\n type: ActionTypes.FETCH_SITE_DATA,\r\n isFetched: true,\r\n isError: false,\r\n response: {},\r\n originalHost: data.host,\r\n fontName: masterData.FontName,\r\n primaryColor: masterData.PrimaryColor,\r\n siteData: data\r\n });\r\n })\r\n .catch((error) =>\r\n dispatch({\r\n type: ActionTypes.FETCH_SITE_DATA,\r\n isFetched: false,\r\n isError: true,\r\n response: error,\r\n originalHost: null,\r\n fontName: null,\r\n primaryColor: null,\r\n siteData: error\r\n })\r\n );\r\n },\r\n\r\n checkSiteHostData: (hostName: string): AppThunkAction => (dispatch, getState) => {\r\n let siteData = getState().siteData.siteData;\r\n dispatch({\r\n type: ActionTypes.CHECKING_SITE_HOST,\r\n isChecking: false,\r\n isError: false,\r\n originalHost: getState().siteData.originalHost,\r\n siteData: siteData\r\n });\r\n let headers = {\r\n method: 'GET',\r\n headers: ApiConstants.headerWithToken\r\n };\r\n let checkHost = fetch(ApiConstants.siteOptions.siteQueries + '/ByHost/' + siteData.host, headers)\r\n .then((response) => {\r\n if (response.status == 404) {\r\n dispatch({\r\n type: ActionTypes.CHECK_SITE_HOST,\r\n isExists: false,\r\n isError: false,\r\n originalHost: getState().siteData.originalHost,\r\n siteData: siteData\r\n });\r\n } else {\r\n dispatch({\r\n type: ActionTypes.CHECK_SITE_HOST,\r\n isExists: true,\r\n isError: false,\r\n originalHost: getState().siteData.originalHost,\r\n siteData: siteData\r\n });\r\n }\r\n })\r\n .catch((error) =>\r\n dispatch({\r\n type: ActionTypes.CHECK_SITE_HOST,\r\n isExists: true,\r\n isError: true,\r\n originalHost: getState().siteData.originalHost,\r\n siteData: siteData\r\n })\r\n );\r\n },\r\n\r\n setFieldSiteData: (fieldName: string, fieldValue: any): AppThunkAction => (dispatch, getState) => {\r\n let siteData = getState().siteData.siteData;\r\n siteData[fieldName] = fieldValue;\r\n dispatch({\r\n type: ActionTypes.SET_FIELD_SITE_DATA,\r\n siteData: siteData,\r\n isFetched: true,\r\n originalHost: getState().siteData.originalHost,\r\n isError: false\r\n });\r\n },\r\n\r\n setFieldData: (fieldName: string, fieldValue: any): AppThunkAction => (dispatch, getState) => {\r\n let field = getState().siteData;\r\n field[fieldName] = fieldValue;\r\n dispatch({\r\n type: ActionTypes.SET_FIELD_DATA,\r\n siteData: field.siteData,\r\n isFetched: true,\r\n originalHost: getState().siteData.originalHost,\r\n isError: false,\r\n primaryColor: field.primaryColor,\r\n fontName: field.fontName,\r\n originalFontName: field.originalFontName,\r\n originalPrimaryColor: field.originalPrimaryColor\r\n });\r\n },\r\n\r\n saveCSSFileData: (nameFont: string, color: string): AppThunkAction => (dispatch, getState) => {\r\n let site = getState().siteData.siteData;\r\n let md = JSON.parse(site.masterData);\r\n let fileName = md.CssFileName;\r\n let data = { Color: color, BodyFont: nameFont, CssFileName: fileName };\r\n let headers = {\r\n method: 'POST',\r\n headers: ApiConstants.headerWithToken,\r\n body: JSON.stringify(data)\r\n };\r\n let fetchTask = fetch(Utils.stringFormat(ApiConstants.siteOptions.cssCommands, SITE_ID), headers)\r\n .then((response) => {\r\n dispatch({\r\n type: ActionTypes.GENERATED_CSS_DATA,\r\n isFetched: true,\r\n isSaving: false,\r\n isError: false,\r\n response: response,\r\n originalHost: getState().siteData.originalHost,\r\n originalFontName: getState().siteData.originalFontName,\r\n originalPrimaryColor: getState().siteData.originalPrimaryColor,\r\n siteData: site\r\n });\r\n })\r\n .catch((error) =>\r\n dispatch({\r\n type: ActionTypes.GENERATED_CSS_DATA,\r\n isFetched: false,\r\n isSaving: false,\r\n isError: true,\r\n response: error,\r\n originalHost: getState().siteData.originalHost,\r\n originalFontName: getState().siteData.originalFontName,\r\n originalPrimaryColor: getState().siteData.originalPrimaryColor,\r\n siteData: site\r\n })\r\n );\r\n\r\n dispatch({\r\n type: ActionTypes.GENERATING_CSS_DATA,\r\n isFetched: true,\r\n isSaving: true,\r\n isError: false,\r\n originalHost: getState().siteData.originalHost,\r\n originalFontName: getState().siteData.originalFontName,\r\n originalPrimaryColor: getState().siteData.originalPrimaryColor,\r\n siteData: site\r\n });\r\n },\r\n\r\n saveSiteData: (siteData: SiteData, validate: boolean, file?: any, hideNotification?: boolean): AppThunkAction => async (dispatch, getState) => {\r\n const md = JSON.parse(siteData.masterData);\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n md.LogoUrl = siteData.host;\r\n md.CssUrl = siteData.host;\r\n if (file) {\r\n const res = await ApiService.uploadImage([file], ImageType.Logo) as any;\r\n //md.LogoFileName = res.fileName;\r\n md.LogoFileName = res.newFileName;\r\n }\r\n\r\n siteData.masterData = JSON.stringify(md);\r\n\r\n await ApiService.updateSite(siteData, validate);\r\n\r\n if (!hideNotification) {\r\n isOfirAdvertiser ? dispatch(showSuccessSnak(i18n.t('SUCCESS_MESSAGE_REQUEST_JAE_UPDATE'))) : dispatch(showSuccessSnak(i18n.t('SITEMANAGEMENT_SAVED_TEXT')));\r\n }\r\n\r\n dispatch({\r\n type: ActionTypes.UPDATE_SITE_DATA,\r\n siteData: siteData,\r\n isFetched: true,\r\n isSaving: false\r\n });\r\n }\r\n};\r\n\r\nconst unloadedState: SiteDataState = {\r\n isFetched: false,\r\n isError: false,\r\n isSaving: false,\r\n isChecking: false,\r\n isExists: false,\r\n response: {},\r\n originalHost: null as string,\r\n fontName: null as string,\r\n primaryColor: null as string,\r\n siteData: null as SiteData,\r\n originalFontName: null as string,\r\n originalPrimaryColor: null as string\r\n};\r\n\r\nexport const reducer: Reducer = (state: SiteDataState, action: KnownAction) => {\r\n switch (action.type) {\r\n case ActionTypes.REQUEST_SITE_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: state.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: state.originalHost,\r\n originalFontName: state.originalFontName,\r\n originalPrimaryColor: state.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: newSiteData\r\n };\r\n case ActionTypes.FETCH_SITE_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: state.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: { ...action.response },\r\n originalHost: action.originalHost,\r\n originalFontName: state.fontName,\r\n originalPrimaryColor: state.primaryColor,\r\n fontName: action.fontName,\r\n primaryColor: action.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.SET_FIELD_SITE_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: state.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: state.originalFontName,\r\n originalPrimaryColor: state.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.UPDATE_SITE_DATA: {\r\n return { ...state, siteData: action.siteData, isFetched: action.isFetched, isSaving: action.isSaving };\r\n }\r\n case ActionTypes.SAVED_SITE_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: action.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: { ...action.response },\r\n originalHost: action.originalHost,\r\n originalFontName: state.originalFontName,\r\n originalPrimaryColor: state.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.SAVING_SITE_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: state.isFetched,\r\n isSaving: action.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: state.originalFontName,\r\n originalPrimaryColor: state.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.CHECKING_SITE_HOST:\r\n return {\r\n isFetched: state.isFetched,\r\n isError: action.isError,\r\n isChecking: action.isChecking,\r\n isSaving: state.isSaving,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: state.originalFontName,\r\n originalPrimaryColor: state.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.CHECK_SITE_HOST:\r\n return {\r\n isFetched: state.isFetched,\r\n isError: action.isError,\r\n isSaving: state.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: action.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: state.originalFontName,\r\n originalPrimaryColor: state.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.SET_FIELD_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: state.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: action.originalFontName,\r\n originalPrimaryColor: action.originalPrimaryColor,\r\n fontName: action.fontName,\r\n primaryColor: action.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.GENERATED_CSS_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: state.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: action.response,\r\n originalHost: action.originalHost,\r\n originalFontName: action.fontName,\r\n originalPrimaryColor: action.primaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.GENERATING_CSS_DATA:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: action.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: action.originalFontName,\r\n originalPrimaryColor: action.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.UPLOADED_FILE_LOGO:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: action.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: action.response,\r\n originalHost: action.originalHost,\r\n originalFontName: action.originalFontName,\r\n originalPrimaryColor: action.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n case ActionTypes.UPLODING_FILE_LOGO:\r\n return {\r\n isFetched: action.isFetched,\r\n isError: action.isError,\r\n isSaving: action.isSaving,\r\n isChecking: state.isChecking,\r\n isExists: state.isExists,\r\n response: state.response,\r\n originalHost: action.originalHost,\r\n originalFontName: action.originalFontName,\r\n originalPrimaryColor: action.originalPrimaryColor,\r\n fontName: state.fontName,\r\n primaryColor: state.primaryColor,\r\n siteData: { ...action.siteData }\r\n };\r\n\r\n default:\r\n //const exhaustiveCheck: never = action;\r\n }\r\n return state || unloadedState;\r\n};\r\n","import * as React from 'react';\r\nimport { Radio } from 'antd';\r\nimport ControlLabel from '../ControlLabel/ControlLabel';\r\n\r\nimport './assets/RadioGroup.scss';\r\n\r\nexport default function RadioGroup({\r\n title,\r\n name,\r\n onChange,\r\n value,\r\n options,\r\n labelKey,\r\n valueKey,\r\n required\r\n}: {\r\n title?: string;\r\n name: string;\r\n value: any;\r\n labelKey: string;\r\n valueKey: string;\r\n onChange(e: any): void;\r\n options: any[];\r\n required?: boolean;\r\n}) {\r\n return (\r\n
    \r\n {title}\r\n
    \r\n \r\n {options.map((item, index) => {\r\n return (\r\n \r\n {item[labelKey]}\r\n \r\n );\r\n })}\r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport reactCSS from 'reactcss';\r\nimport * as ApplicationState from '../../../store/index';\r\nimport * as SiteDataStore from '../../../store/SiteDataStore';\r\nimport * as ApplicationStore from '../../../store/Application';\r\nimport { ChromePicker } from 'react-color';\r\nimport Api from '../../../cms/common/apiConstants';\r\nimport * as CompanyDataStore from '../../../store/CompanyDataStore';\r\nimport DropZoneWithOutUploadHelper from '../../../cms/components/_shared/DropZoneWithOutUploadHelper';\r\nimport { Row, Col } from '../../../cms/components/_shared/Grid/Grid';\r\nimport { TemplateUtility } from '../../../cms/common/template';\r\nimport { Utils } from '../../../Utils/Utils';\r\nimport { ImageType } from '../../../services/autorest/models';\r\nimport CommonButton from '../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport i18n from '../../../resources/i18n';\r\nimport SelectMenu, { SelectMenuOption } from '../../../cms/components/_shared/Controls/SelectMenu/SelectMenu';\r\nimport CommonInput from '../../../cms/components/_shared/Controls/CommonInput/CommonInput';\r\nimport RadioGroup from '../../../cms/components/_shared/Controls/RadioGroup/RadioGroup';\r\nimport CommonCard from '../../../cms/components/_shared/CommonCard/CommonCard';\r\nimport ControlLabel from '../../../cms/components/_shared/Controls/ControlLabel/ControlLabel';\r\nimport Loader from '../../../cms/components/_shared/Loader/Loader';\r\n\r\nimport './Design.scss';\r\n\r\ndeclare var RESOURCES;\r\n\r\nexport const FONTS = [\r\n 'Agency FB',\r\n 'Arial',\r\n 'Arial Black',\r\n 'Berlin Sans FB',\r\n 'Calibri',\r\n 'Comic Sans MS',\r\n 'Droid Sans',\r\n 'Fira Sans',\r\n 'Georgia',\r\n 'Helvetica',\r\n 'Impact',\r\n 'Lucida Sans',\r\n 'MS Sans Serif',\r\n 'Myriad Pro',\r\n 'Nunito',\r\n 'Open Sans',\r\n 'Roboto',\r\n 'Segoe UI',\r\n 'Source Sans Pro',\r\n 'Tahoma',\r\n 'Trebuchet MS',\r\n 'Ubuntu',\r\n 'Average Sans',\r\n 'Verdana',\r\n];\r\n\r\nconst SITE_ID = Utils.getSiteID();\r\n\r\ninterface InnerState {\r\n displayColorPicker: boolean;\r\n color: string;\r\n methodLogo: string;\r\n fontLogoText: string;\r\n logoText: string;\r\n logoFile: Blob;\r\n isChangePrimaryColor: boolean;\r\n isChangeFontName: boolean;\r\n isChangeLogoFile: boolean;\r\n isChangeHeaderType: boolean;\r\n isSaved: boolean;\r\n headerColor: string;\r\n windowWidth: number;\r\n}\r\n\r\ntype SiteDesignEditProps = ApplicationState.ApplicationState &\r\n typeof SiteDataStore.actionCreators &\r\n SiteDataStore.SiteDataState &\r\n typeof CompanyDataStore.actionCreators &\r\n CompanyDataStore.CompanyDataState &\r\n typeof ApplicationStore.actionCreators &\r\n OwnProps;\r\n\r\ninterface OwnProps {}\r\n\r\nclass SiteDesignEdit extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n displayColorPicker: false,\r\n methodLogo: '1',\r\n logoFile: null,\r\n fontLogoText: this.props.originalFontName || '',\r\n logoText: '',\r\n isChangePrimaryColor: false,\r\n isChangeFontName: false,\r\n isChangeLogoFile: false,\r\n isChangeHeaderType: false,\r\n headerColor: '#ffffff',\r\n windowWidth: 0,\r\n } as InnerState;\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleChangeFont = this.handleChangeFont.bind(this);\r\n this.handleChangeLogoText = this.handleChangeLogoText.bind(this);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.handleClose = this.handleClose.bind(this);\r\n this.handleSave = this.handleSave.bind(this);\r\n this.handleUploadImage = this.handleUploadImage.bind(this);\r\n }\r\n\r\n public componentWillMount() {\r\n this.props.fetchSiteData();\r\n this.props.initPage(SITE_ID);\r\n\r\n window.addEventListener('resize', () => {\r\n this.setState({ windowWidth: window.innerWidth });\r\n });\r\n }\r\n\r\n public componentDidMount() {\r\n this.setState({ windowWidth: window.innerWidth });\r\n }\r\n\r\n public onLogoFileChange = (fileBlob: Blob) => {\r\n this.setState({ logoFile: fileBlob });\r\n };\r\n\r\n public render() {\r\n const { methodLogo, fontLogoText, logoText } = this.state;\r\n const { siteData } = this.props;\r\n\r\n const styles = reactCSS({\r\n default: {\r\n popover: {\r\n position: 'absolute',\r\n zIndex: '2',\r\n },\r\n cover: {\r\n position: 'fixed',\r\n top: '0px',\r\n right: '0px',\r\n bottom: '0px',\r\n left: '0px',\r\n },\r\n headerBackground: {\r\n width: '100%',\r\n height: '116px',\r\n border: '1px solid #ccc',\r\n },\r\n menuBackground: {\r\n borderBottom: 'rgba(255,255,255,.3) 1px solid',\r\n padding: '16px',\r\n overflow: 'hidden',\r\n },\r\n logoBack: {\r\n height: '40px',\r\n border: '1px solid transparent',\r\n overflow: 'hidden',\r\n },\r\n logo: {\r\n height: '34px',\r\n marginTop: '2px',\r\n },\r\n menuContainer: {\r\n float: 'right',\r\n textAlign: 'right',\r\n paddingTop: '10px',\r\n },\r\n menuText: {\r\n padding: '3px 10px',\r\n fontWeight: 'bold',\r\n },\r\n },\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n {this.props.siteData.isFetched && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    {i18n.t('SITEMANAGEMENT_DESIGN_TITLE')}

    \r\n
    \r\n \r\n

    {i18n.t('SITEMANAGEMENT_DESIGN_LOGO_HEADLINE_TEXT')}

    \r\n \r\n \r\n {i18n.t('SITEMANAGEMENT_CURRENT_LOGO_LABEL')}\r\n \"\"\r\n \r\n \r\n \r\n \r\n {i18n.t('SITEMANAGEMENT_LOGO_TYPE_IMAGE')}\r\n {i18n.t('SITEMANAGEMENT_LOGO_TYPE_TEXT')}\r\n \r\n \r\n {this.state.methodLogo == '1' && (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n {this.state.methodLogo == '2' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {i18n.t('SITEMANAGEMENT_PREVIEW_LOGO_LABEL')}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n

    {i18n.t('SITEMANAGEMENT_DESIGN_HEADER_HEADLINE_TEXT')}

    \r\n \r\n \r\n {i18n.t('SITEMANAGEMENT_DESIGN_HEADER_CURRENT_TEXT')}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.windowWidth > 860 ? (\r\n
    \r\n {JSON.parse(RESOURCES.MasterData).MenuLinks.map((link, i) => {\r\n if (link.IsHeaderLink && link.MenuActive) {\r\n return (\r\n \r\n {link.MenuName}\r\n \r\n );\r\n }\r\n })}\r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {i18n.t('SITEMANAGEMENT_DESIGN_HEADER_RADIO_TITLE')}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n

    {i18n.t('SITEMANAGEMENT_DESIGN_FONT_HEADLINE_TEXT')}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {i18n.t('SITEMANAGEMENT_ADD_PRIMARY_COLOR_LABEL')}\r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.displayColorPicker ? (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {i18n.t('SITEMANAGEMENT_SECTION_HINT_TEXT')}\r\n \r\n \r\n {this.props.isError && (\r\n \r\n
    \r\n ERROR OCCURED, SEE BROWSERS CONSOLE.LOG\r\n
    \r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private getSliderBackground() {\r\n if (this.props.propertyItems[0]) {\r\n return TemplateUtility.getContentImageUri(this.props, 'SliderBackground');\r\n }\r\n return '';\r\n }\r\n\r\n private getMasterDataValue(name: string) {\r\n return this.props.siteData.isFetched ? JSON.parse(this.props.siteData.siteData.masterData)[name] || '0' : '0';\r\n }\r\n\r\n private handleChangeLogoFont = (value) => {\r\n const { logoText } = this.state;\r\n\r\n this.setState({ fontLogoText: value });\r\n\r\n if (logoText == '') {\r\n this.setState({ isChangeLogoFile: false });\r\n } else {\r\n this.setState({ isChangeLogoFile: true });\r\n }\r\n\r\n this.transformTextToImage(logoText, value);\r\n };\r\n\r\n private getLogoForPreview() {\r\n return !this.state.logoFile ? this.getLogoPath() : window.URL.createObjectURL(new Blob([this.state.logoFile], { type: 'image/jpg' }));\r\n }\r\n\r\n private handleChangeLogoText = (e) => {\r\n const value = e.target.value;\r\n const { fontLogoText } = this.state;\r\n\r\n this.setState({ logoText: value });\r\n\r\n if (value == '') {\r\n this.setState({ isChangeLogoFile: false });\r\n } else {\r\n this.setState({ isChangeLogoFile: true });\r\n }\r\n\r\n this.transformTextToImage(value, fontLogoText);\r\n };\r\n\r\n private handleClick = () => {\r\n this.setState({ displayColorPicker: !this.state.displayColorPicker });\r\n };\r\n\r\n private handleClose = () => {\r\n this.setState({ displayColorPicker: false });\r\n };\r\n\r\n private handleChange = (color) => {\r\n this.props.setFieldData('primaryColor', color.hex);\r\n\r\n // if (this.state.methodLogo == '2') {\r\n // this.transformTextToImage(this.state.logoText, this.state.fontLogoText);\r\n // }\r\n\r\n if (color.hex != this.props.siteData.originalPrimaryColor) {\r\n this.setState({ isChangePrimaryColor: true });\r\n } else {\r\n this.setState({ isChangePrimaryColor: false });\r\n }\r\n };\r\n\r\n private handleChangeHeaderType = (e) => {\r\n const value = e.target.value;\r\n const md = JSON.parse(this.props.siteData.siteData.masterData);\r\n md.HeaderType = value;\r\n this.props.setFieldSiteData('masterData', JSON.stringify(md));\r\n this.setState({ isChangeHeaderType: true });\r\n };\r\n\r\n private handleChangeFont = (value) => {\r\n this.props.setFieldData('fontName', value);\r\n\r\n if (value != this.props.siteData.originalFontName) {\r\n this.setState({ isChangeFontName: true });\r\n } else {\r\n this.setState({ isChangeFontName: false });\r\n }\r\n\r\n this.transformTextToImage(this.state.logoText, value);\r\n };\r\n\r\n private transformTextToImage = (text, fontLogo) => {\r\n const that = this;\r\n\r\n if (text == '') {\r\n that.setState({ isChangeLogoFile: false });\r\n } else {\r\n that.setState({ isChangeLogoFile: true });\r\n }\r\n\r\n const stringTitle = text;\r\n const font = fontLogo;\r\n const bgColor = that.props.siteData.primaryColor;\r\n const canvas = that.refs.canvas as HTMLCanvasElement;\r\n const ctx = canvas.getContext('2d');\r\n let fontSize;\r\n let textDimensions;\r\n\r\n const shadeColor = (color, percent) => {\r\n const f = parseInt(color.slice(1), 16);\r\n const t = percent < 0 ? 0 : 255;\r\n const p = percent < 0 ? percent * -1 : percent;\r\n const R = f >> 16;\r\n const G = (f >> 8) & 0x00ff;\r\n const B = f & 0x0000ff;\r\n return (\r\n '#' +\r\n (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B))\r\n .toString(16)\r\n .slice(1)\r\n );\r\n };\r\n\r\n const getLuminocity = (color) => {\r\n const c = color.substring(1); // strip #\r\n const rgb = parseInt(c, 16); // convert rrggbb to decimal\r\n const r = (rgb >> 16) & 0xff; // extract red\r\n const g = (rgb >> 8) & 0xff; // extract green\r\n const b = (rgb >> 0) & 0xff; // extract blue\r\n\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\r\n };\r\n\r\n ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n const grd = ctx.createLinearGradient(canvas.width / 2, 0, canvas.width / 2, canvas.height);\r\n\r\n grd.addColorStop(0, bgColor);\r\n grd.addColorStop(1, shadeColor(bgColor, 0.3));\r\n ctx.fillStyle = grd;\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n if (getLuminocity(bgColor) > 220) {\r\n ctx.fillStyle = '#000000';\r\n } else {\r\n ctx.fillStyle = '#ffffff';\r\n }\r\n\r\n fontSize = 100;\r\n ctx.textBaseline = 'middle';\r\n ctx.font = fontSize + 'px ' + font;\r\n textDimensions = ctx.measureText(stringTitle);\r\n while (textDimensions.width >= canvas.width - 20) {\r\n fontSize--;\r\n ctx.font = fontSize + 'px ' + font;\r\n textDimensions = ctx.measureText(stringTitle);\r\n }\r\n ctx.fillText(stringTitle, 10, canvas.height / 2 - 1);\r\n\r\n const r = that.refs.canvasImageIMG as HTMLImageElement;\r\n r.src = canvas.toDataURL();\r\n\r\n canvas.toBlob((blob: Blob) => {\r\n that.setState({ logoFile: blob });\r\n });\r\n };\r\n\r\n private getLogoPath = () => {\r\n const master = JSON.parse(this.props.siteData.siteData.masterData);\r\n const imageName = Utils.getImageNameFromScreenSize(ImageType.Logo, master.LogoFileName);\r\n return `${Api.siteOptions.fileStoreCDN}/${Api.siteId}/Logo/${master.LogoFileName}`;\r\n };\r\n\r\n private changeTypeInputLogo = (value: string) => {\r\n this.setState({ methodLogo: value, isChangeLogoFile: false });\r\n };\r\n\r\n private handleSave = () => {\r\n setTimeout(() => this.setState({ isSaved: true }), 500);\r\n setTimeout(() => this.setState({ isSaved: false }), 4500);\r\n\r\n const md = JSON.parse(this.props.siteData.siteData.masterData);\r\n\r\n md.FontName = this.props.siteData.fontName;\r\n md.PrimaryColor = this.props.siteData.primaryColor;\r\n md.HeaderColor = this.state.headerColor;\r\n\r\n this.props.setFieldSiteData('masterData', JSON.stringify(md));\r\n\r\n if (this.state.isChangeFontName || this.state.isChangePrimaryColor) {\r\n this.props.saveCSSFileData(this.props.siteData.fontName, this.props.siteData.primaryColor);\r\n }\r\n this.props.saveSiteData(this.props.siteData.siteData, true, this.state.logoFile);\r\n\r\n this.setState({ isChangeHeaderType: false, isChangeLogoFile: false, isChangeFontName: false, isChangePrimaryColor: false });\r\n };\r\n\r\n private handleUploadImage = (data) => {\r\n this.setState({ logoFile: data, isChangeLogoFile: true });\r\n };\r\n\r\n private isChange = () => {\r\n return this.state.isChangePrimaryColor || this.state.isChangeFontName || this.state.isChangeLogoFile || this.state.isChangeHeaderType;\r\n };\r\n}\r\n\r\nconst mapStateToProps = (state: ApplicationState.ApplicationState) => {\r\n const _propertyItems = [];\r\n const pageItemId = Object.keys(state.pageItems.pageItems).find((x) => {\r\n return state.pageItems.pageItems[x].name == 'Slider';\r\n });\r\n const _pageItem = state.pageItems.pageItems[pageItemId];\r\n const cultureCode = state.siteData.siteData ? state.siteData.siteData.cultureCode : '';\r\n if (state.pageItems.pageItems[pageItemId]) {\r\n state.pageItems.pageItems[pageItemId].propertyItems.map((x) => {\r\n _propertyItems.push(state.propertyItems.propertyItems[x]);\r\n });\r\n }\r\n return {\r\n siteData: state.siteData,\r\n propertyItems: _propertyItems,\r\n pageItem: _pageItem,\r\n cultureCode: cultureCode,\r\n siteId: state.root.id,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, (dispatch: any) => {\r\n return bindActionCreators({ ...SiteDataStore.actionCreators, ...CompanyDataStore.actionCreators, ...ApplicationStore.actionCreators }, dispatch);\r\n})(SiteDesignEdit);\r\n","import * as React from 'react';\r\nimport DropZoneWithOutUploadHelper from '../DropZoneWithOutUploadHelper';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { Row, Col } from '../Grid/Grid';\r\nimport ControlLabel from '../Controls/ControlLabel/ControlLabel';\r\nimport SelectMenu, { SelectMenuOption } from '../Controls/SelectMenu/SelectMenu';\r\nimport CommonInput from '../Controls/CommonInput/CommonInput';\r\nimport { FONTS } from '../../../../Pages/Site/Design/Design';\r\nimport RadioGroup from '../Controls/RadioGroup/RadioGroup';\r\n\r\nimport './LogoUploader.scss';\r\nimport CommonButton from '../Controls/CommonButton/CommonButton';\r\n\r\nexport default function LogoUploader({\r\n logoText,\r\n logoUrl,\r\n logoType,\r\n logoFont,\r\n bgColor,\r\n onLogoTypeChange,\r\n onLogoFontChange,\r\n onLogoTextChange,\r\n onUploadImage,\r\n onLogoFileChange,\r\n onSave\r\n}: {\r\n logoText: string;\r\n logoUrl: string;\r\n logoType: string;\r\n logoFont: string;\r\n bgColor: string;\r\n onLogoTypeChange(e: React.ChangeEvent): void;\r\n onLogoFontChange(e: React.ChangeEvent): void;\r\n onLogoTextChange(e: React.ChangeEvent): void;\r\n onUploadImage(data: any): void;\r\n onLogoFileChange(fileBlob: Blob): void;\r\n onSave?(): void;\r\n}) {\r\n const canvasRef = React.createRef() as React.RefObject;\r\n const canvasImageWrapRef = React.createRef() as React.RefObject;\r\n const canvasImageRef = React.createRef() as React.RefObject;\r\n\r\n React.useEffect(() => {\r\n if (canvasRef.current) {\r\n transformTextToImage(logoText, logoFont);\r\n }\r\n }, [bgColor]);\r\n\r\n const handleLogoTypeChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n\r\n onLogoTypeChange(value);\r\n };\r\n\r\n const handleLogoFontChange = (value) => {\r\n onLogoFontChange(value);\r\n\r\n transformTextToImage(logoText, value);\r\n };\r\n\r\n const handleLogoTextChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n\r\n onLogoTextChange(e);\r\n\r\n transformTextToImage(value, logoFont);\r\n };\r\n\r\n const handleUploadImage = (data) => {\r\n onUploadImage(data);\r\n };\r\n\r\n const transformTextToImage = (text: string, fontLogo: string) => {\r\n const stringTitle = text;\r\n const font = fontLogo;\r\n const canvas = canvasRef.current as HTMLCanvasElement;\r\n const ctx = canvas.getContext('2d');\r\n let fontSize;\r\n let textDimensions;\r\n\r\n const shadeColor = (color, percent) => {\r\n const f = parseInt(color.slice(1), 16);\r\n const t = percent < 0 ? 0 : 255;\r\n const p = percent < 0 ? percent * -1 : percent;\r\n const R = f >> 16;\r\n const G = (f >> 8) & 0x00ff;\r\n const B = f & 0x0000ff;\r\n return (\r\n '#' +\r\n (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B))\r\n .toString(16)\r\n .slice(1)\r\n );\r\n };\r\n\r\n const getLuminocity = (color) => {\r\n const c = color.substring(1); // strip #\r\n const rgb = parseInt(c, 16); // convert rrggbb to decimal\r\n const r = (rgb >> 16) & 0xff; // extract red\r\n const g = (rgb >> 8) & 0xff; // extract green\r\n const b = (rgb >> 0) & 0xff; // extract blue\r\n\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709\r\n };\r\n\r\n ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n const grd = ctx.createLinearGradient(canvas.width / 2, 0, canvas.width / 2, canvas.height);\r\n\r\n grd.addColorStop(0, bgColor);\r\n grd.addColorStop(1, shadeColor(bgColor, 0.3));\r\n ctx.fillStyle = grd;\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n if (getLuminocity(bgColor) > 220) {\r\n ctx.fillStyle = '#000000';\r\n } else {\r\n ctx.fillStyle = '#ffffff';\r\n }\r\n\r\n fontSize = 100;\r\n ctx.textBaseline = 'middle';\r\n ctx.font = fontSize + 'px ' + font;\r\n textDimensions = ctx.measureText(stringTitle);\r\n\r\n while (textDimensions.width >= canvas.width - 20) {\r\n fontSize--;\r\n ctx.font = fontSize + 'px ' + font;\r\n textDimensions = ctx.measureText(stringTitle);\r\n }\r\n\r\n ctx.fillText(stringTitle, 10, canvas.height / 2 - 1);\r\n\r\n const image = canvasImageRef.current as HTMLImageElement;\r\n\r\n image.src = canvas.toDataURL();\r\n\r\n canvas.toBlob((blob: Blob) => {\r\n onLogoFileChange(blob);\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n {i18n.t('SITEMANAGEMENT_CURRENT_LOGO_LABEL')}\r\n \"\"\r\n {onSave && logoUrl && }\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n {logoType == '1' && (\r\n \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n {logoType == '2' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {i18n.t('SITEMANAGEMENT_PREVIEW_LOGO_LABEL')}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n )}\r\n \r\n
    \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport CommonCard from '../../_shared/CommonCard/CommonCard';\r\nimport { Row, Col } from '../../_shared/Grid/Grid';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport SelectMenu, { SelectMenuOption } from '../../_shared/Controls/SelectMenu/SelectMenu';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { setFieldCompanyData } from '../../../../store/CompanyDataStore';\r\nimport { IndustriesData } from '../../../../cms/models/industries';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { Industries } from '../../../../cms/common/Industries';\r\nimport { commonValidationObject } from './CompanyEditValidation';\r\nimport ValidateObject from '../../../../Pages/Site/Create/ValidateObject';\r\nimport { scrollToFirstInvalidField } from '../../../../Utils/Validation/Validation';\r\nimport { CompanyData } from '../../../../cms/models/companyData';\r\nimport LogoUploader from '../../_shared/LogoUploader/LogoUploader';\r\nimport { ApplicationState } from '../../../../store';\r\nimport { SiteDataState } from '../../../../store/SiteDataStore';\r\nimport Api from '../../../../cms/common/apiConstants';\r\nimport { Checkbox } from 'antd';\r\nimport ControlLabel from '../../_shared/Controls/ControlLabel/ControlLabel';\r\nimport { ApiService } from '../../../../services/apiService';\r\nimport { showErrorSnak, showSuccessSnak } from '../../../../store/MetadataStore';\r\nimport clone from 'just-clone';\r\nimport { ProductsData } from 'src/cms/models/job/package';\r\n\r\ndeclare var INDUSTRIES: IndustriesData;\r\n\r\nconst gridGutter = 20;\r\nconst LANG: string = Utils.getLanguage();\r\n\r\ninterface CountriesViewModel {\r\n key: string;\r\n value: string;\r\n}\r\nexport default function CompanyEditForm({ data, countries, onSubmit }: { data: CompanyData; countries: any; onSubmit(data: CompanyData, logoFile: any): void }) {\r\n const listCountries: CountriesViewModel[] = countries[LANG];\r\n const dispatch = useDispatch();\r\n const siteData = useSelector((state) => state.siteData);\r\n const errors: { [key: string]: any } = {};\r\n const companyData = { ...data };\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const isSuperAdmin = Utils.isSuperAdmin();\r\n const [industryLang, setIndustryLang] = React.useState('da-DK');\r\n const [validationObject, setValidationObject] = React.useState(errors);\r\n const [logoText, setLogoText] = React.useState('');\r\n const [methodLogo, setMethodLogo] = React.useState('');\r\n const [fontLogoText, setFontLogoText] = React.useState('');\r\n const [isChangeLogoFile, setIsChangeLogoFile] = React.useState(false);\r\n const [logoFile, setLogoFile] = React.useState(null);\r\n const [otherBillingInformationName, setOtherBillingInformationName] = React.useState('');\r\n const [crmIdFieldChanged, setCrmIdFieldChanged] = React.useState(false);\r\n const [validCouponCode, setValidCouponCode] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n if (companyData && companyData.industry) {\r\n setIndustryLang(Industries.getIndustryLang(INDUSTRIES, companyData.industry));\r\n }\r\n }, [companyData]);\r\n\r\n const handleValidationScroll = () => {\r\n scrollToFirstInvalidField('control-error');\r\n };\r\n\r\n const getLogoPath = () => {\r\n if (!siteData.siteData || !siteData.siteData.masterData) {\r\n return '';\r\n }\r\n\r\n const master = JSON.parse(siteData.siteData.masterData);\r\n\r\n return `${Api.siteOptions.fileStoreCDN}/${Api.siteId}/Logo/${master.LogoFileName}`;\r\n };\r\n\r\n const handleSubmit = async (e: React.FormEvent) => {\r\n e.preventDefault();\r\n const validationObj = clone(commonValidationObject); //{ ...commonValidationObject };\r\n const companyToSave = { ...companyData };\r\n\r\n if (isOfirAdvertiser) {\r\n delete validationObj.pnumber;\r\n }\r\n if (!isAlternateInvoice) {\r\n delete validationObj.commercialVatNumber;\r\n delete validationObj.commercialExternalId;\r\n delete validationObj.commercialContactNameExtended;\r\n delete validationObj.commercialContactExtended;\r\n\r\n delete companyToSave.commercialVatNumber;\r\n delete companyToSave.commercialExternalId;\r\n delete companyToSave.commercialContactNameExtended;\r\n delete companyToSave.commercialContactExtended;\r\n delete companyToSave.couponeCode;\r\n }\r\n\r\n if (companyToSave.countryCode != 'DK') {\r\n delete validationObj.zipCode.exact;\r\n delete validationObj.vatnumber.regex;\r\n delete validationObj.pnumber.regex;\r\n }\r\n if (companyToSave.commercialExternalId && companyToSave.commercialExternalId !== '') {\r\n if (crmIdFieldChanged && !await findOtherBillingInformationName(companyToSave.commercialExternalId))\r\n return;\r\n }\r\n const errorsObj = await ValidateObject(companyToSave, validationObj);\r\n\r\n if (isAlternateInvoice && !otherBillingInformationName) {\r\n errors[\"hasError\"] = true;\r\n errors[\"customerName\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n }\r\n\r\n setValidationObject(errorsObj);\r\n\r\n if (errorsObj.hasError) {\r\n handleValidationScroll();\r\n\r\n return;\r\n }\r\n onSubmit(companyToSave, logoFile);\r\n };\r\n\r\n const handleFieldChange = (e: React.ChangeEvent) => {\r\n const name = e.target.name;\r\n\r\n if (validationObject[name]) {\r\n setValidationObject({\r\n ...validationObject,\r\n [name]: null\r\n });\r\n }\r\n\r\n dispatch(setFieldCompanyData(name, e.target.value));\r\n };\r\n\r\n const handleCountryChange = (value: any, name: string) => {\r\n let newValues = value.split(':');\r\n dispatch(setFieldCompanyData('country', newValues[1]));\r\n dispatch(setFieldCompanyData('countryCode', newValues[0]));\r\n };\r\n\r\n const handleCheckBoxChange = (e: any) => {\r\n const name = e.target.name;\r\n if (validationObject[name]) {\r\n setValidationObject({\r\n ...validationObject,\r\n [name]: null\r\n });\r\n }\r\n\r\n dispatch(setFieldCompanyData(name, e.target.checked));\r\n };\r\n const handleSelectChange = (value: any, name: string) => {\r\n if (validationObject[name]) {\r\n setValidationObject({\r\n ...validationObject,\r\n [name]: null\r\n });\r\n }\r\n\r\n dispatch(setFieldCompanyData(name, value));\r\n };\r\n\r\n const checkDiscountCode = async (discountCode: string) => {\r\n let result: ProductsData;\r\n\r\n result = await ApiService.checkCouponCode(discountCode) as ProductsData;\r\n\r\n // TODO: handle discout code checking error\r\n if (result?.Recommendations.Coupon['@success'] !== 'false') {\r\n\r\n dispatch(setFieldCompanyData(\"couponeCode\", discountCode));\r\n //dispatch(showSuccessSnak(i18n.t('COMPANYMANAGEMENT_VALID_COUPONCODE')));\r\n dispatch(setValidCouponCode(true));\r\n } else {\r\n dispatch(setFieldCompanyData(\"couponeCode\", \"\"));\r\n dispatch(showErrorSnak(i18n.t('COMPANYMANAGEMENT_ERROR_COUPONCODE')));\r\n dispatch(setValidCouponCode(false));\r\n }\r\n\r\n }\r\n\r\n const handleChangeLogoFont = (value) => {\r\n setFontLogoText(value);\r\n\r\n if (logoText == '') {\r\n setIsChangeLogoFile(false);\r\n } else {\r\n setIsChangeLogoFile(true);\r\n }\r\n };\r\n\r\n const changeTypeInputLogo = (value) => {\r\n setMethodLogo(value);\r\n setIsChangeLogoFile(false);\r\n };\r\n\r\n const handleUploadImage = (data) => {\r\n setLogoFile(data);\r\n setIsChangeLogoFile(true);\r\n };\r\n const handleChangeLogoText = (e) => {\r\n const value = e.target.value;\r\n\r\n setLogoText(value);\r\n\r\n if (value == '') {\r\n setIsChangeLogoFile(false);\r\n } else {\r\n setIsChangeLogoFile(true);\r\n }\r\n };\r\n\r\n const onLogoFileChange = (fileBlob: Blob) => {\r\n setLogoFile(fileBlob);\r\n };\r\n\r\n const getIndustryOptions = () => {\r\n return INDUSTRIES[LANG];\r\n };\r\n\r\n const getSubIndustryOptions = () => {\r\n const industry = Industries.getIndustryNameInAnotherLanguage(INDUSTRIES, companyData.industry, industryLang, LANG);\r\n\r\n return Industries.getSubIndustries(INDUSTRIES, industry, LANG);\r\n };\r\n\r\n const getIndustryValue = () => {\r\n return Industries.getIndustryNameInAnotherLanguage(INDUSTRIES, companyData.industry, industryLang, LANG);\r\n };\r\n\r\n const getSubIndustryValue = () => {\r\n return Industries.getSubIndustryNameInAnotherLanguage(INDUSTRIES, companyData.subIndustry, industryLang, LANG);\r\n };\r\n const [isAlternateInvoice, setIsAlternateInvoice] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (!!companyData.commercialExternalId && !!companyData.commercialVatNumber) {\r\n setIsAlternateInvoice(true);\r\n findOtherBillingInformationName(companyData.commercialExternalId);\r\n }\r\n }, []);\r\n\r\n const findOtherBillingInformationName = async (crmId: string) => {\r\n try {\r\n const customer = await ApiService.getCustomerByCustomerId(parseInt(crmId));\r\n if (customer) {\r\n setOtherBillingInformationName(customer.name);\r\n return true;\r\n }\r\n\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t('INVALID_CUSTOMER_ERROR_MESSAGE')));\r\n }\r\n\r\n return false;\r\n };\r\n\r\n return (\r\n
    \r\n \r\n

    {i18n.t('COMPANYMANAGEMENT_COMPANY_DETAILS_HEADLINE')}

    \r\n
    \r\n \r\n {Utils.isSuperAdmin() && ( \r\n \r\n \r\n {i18n.t('COMPANYMANAGEMENT_COMPANY_DETAILS_DISABLED_PUBLISH')}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {isOfirAdvertiser && (\r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n );\r\n },\r\n }}\r\n required\r\n error={i18n.t(validationObject.country)}>\r\n {listCountries.map((x, i) => {\r\n return (\r\n \r\n {x['Value']}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {\r\n isSuperAdmin &&\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {!isOfirAdvertiser && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n

    {i18n.t('COMPANYMANAGEMENT_COMPANY_CONTACTINFO_HEADLINE')}

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n

    {i18n.t('COMPANYMANAGEMENT_COMPANY_OTHER_HEADLINE')}

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {((!Utils.isSuperAdmin() && companyData.commercialExternalId) || Utils.isSuperAdmin()) && (\r\n \r\n { setIsAlternateInvoice(e.target.checked) }}\r\n style={{ paddingBottom: 12, marginRight: 8, display: \"flex\", alignItems: \"center\" }}\r\n >\r\n \r\n {i18n.t('COMPANYMANAGEMENT_SITE_ALTERNETIVE_INVOICE')}\r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {isAlternateInvoice && (\r\n \r\n

    {i18n.t('COMPANYMANAGEMENT_COMPANY_OTHER_INVOICE_HEADLINE')}

    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n {Utils.isSuperAdmin() && (\r\n \r\n {\r\n setCrmIdFieldChanged(true);\r\n handleFieldChange(e);\r\n }}\r\n required\r\n error={i18n.t(validationObject.commercialExternalId)}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Utils.isSuperAdmin() && (\r\n \r\n \r\n { checkDiscountCode(companyData.couponeCode) }}\r\n disabled={(companyData.couponeCode === null || companyData.couponeCode == '' )}\r\n />\r\n {validCouponCode == true && (\r\n \r\n )}\r\n {validCouponCode == false && (\r\n \r\n )}\r\n\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n {!isOfirAdvertiser && (\r\n \r\n {i18n.t('COMPANYMANAGEMENT_UPDATE_BUTTON_HINT')}\r\n \r\n )}\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport Loader from '../../_shared/Loader/Loader';\r\n\r\nimport './assets/CompanyEditLoader.scss';\r\n\r\nexport default function CompanyEditLoader({ text, isVisible }: { text: string; isVisible: boolean }) {\r\n if (!isVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Row, Col } from 'antd';\r\nimport { EmailSettingsFrequency } from '../../../services/autorest/models';\r\nimport CommonButton from '../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport CommonInput from '../../../cms/components/_shared/Controls/CommonInput/CommonInput';\r\nimport CommonCard from '../../../cms/components/_shared/CommonCard/CommonCard';\r\nimport Loader from '../../../cms/components/_shared/Loader/Loader';\r\nimport SelectMenu, { SelectMenuOption } from '../../../cms/components/_shared/Controls/SelectMenu/SelectMenu';\r\nimport * as ApplicationState from '../../../store/index';\r\nimport * as SiteDataStore from '../../../store/SiteDataStore';\r\nimport * as CompanyDataStore from '../../../store/CompanyDataStore';\r\nimport i18n from '../../../resources/i18n';\r\n\r\nimport './Edit.scss';\r\nimport { Utils } from '../../../../src/Utils/Utils';\r\nimport { ApiService } from '../../../services/apiService';\r\nimport { showSuccessSnak, showErrorSnak } from '../../../store/MetadataStore';\r\n\r\ndeclare var IS_SUPERADMIN;\r\n\r\ninterface Validation {\r\n isHostNotEmpty: boolean;\r\n isExternalEmailNotEmpty: boolean;\r\n isExternalUrlNotEmpty: boolean;\r\n isExternalEmailValid: boolean;\r\n isExternalUrlValid: boolean;\r\n isSaved: boolean;\r\n dpaRecipientEmail: string;\r\n dpaRecipientName: string;\r\n}\r\n\r\ntype SiteEditProps = ApplicationState.ApplicationState &\r\n typeof SiteDataStore.actionCreators &\r\n typeof CompanyDataStore.actionCreators &\r\n CompanyDataStore.CompanyDataState &\r\n SiteDataStore.SiteDataState;\r\n\r\nconst mainURL = typeof window == 'undefined' ? undefined : window['mainURL'];\r\n\r\nclass SiteEdit extends React.Component {\r\n constructor(props: SiteEditProps) {\r\n super(props);\r\n this.handleChangeCompany = this.handleChangeCompany.bind(this);\r\n this.handleChangeSite = this.handleChangeSite.bind(this);\r\n this.handleCheckHost = this.handleCheckHost.bind(this);\r\n this.handleSave = this.handleSave.bind(this);\r\n this.handleSendDpa = this.handleSendDpa.bind(this);\r\n\r\n this.state = {\r\n isHostNotEmpty: true,\r\n isExternalEmailNotEmpty: true,\r\n isExternalUrlNotEmpty: true,\r\n isExternalEmailValid: true,\r\n isExternalUrlValid: true,\r\n dpaRecipientEmail: Utils.getLogedInUserEmail(),\r\n dpaRecipientName: Utils.getLogedInUserFullName()\r\n } as Validation;\r\n }\r\n\r\n\r\n\r\n public componentWillMount() {\r\n this.props.fetchSiteData();\r\n this.props.fetchCompanyData({});\r\n }\r\n\r\n public render() {\r\n\r\n const { companyData: companyDataState, siteData: siteDataState, isError } = this.props;\r\n const { isHostNotEmpty, isExternalEmailNotEmpty, isExternalEmailValid, isExternalUrlNotEmpty, isExternalUrlValid } = this.state;\r\n const { companyData } = companyDataState;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n\r\n const { siteData } = siteDataState;\r\n\r\n return (\r\n
    \r\n {companyData != null && siteData != null && (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {i18n.t('SITEMANAGEMENT_HEADLINE_TEXT')}

    \r\n
    \r\n

    {i18n.t('SITEMANAGEMENT_SUB_HEADLINE_URL')}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {}}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {i18n.t('SITECREATE_DENMARK_LABEL')}\r\n {i18n.t('SITEMANAGEMENT_LANGUAGE_TEXT')}\r\n \r\n \r\n \r\n \r\n {!isOfirAdvertiser && (<>\r\n

    {i18n.t('SITEMANAGEMENT_SUB_HEADLINE_METADATA')}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )}\r\n

    {i18n.t('SITEMANAGEMENT_SUB_HEADLINE_EMAIL_NOTIFICATION')}

    \r\n \r\n \r\n \r\n \r\n \r\n {i18n.t(`SITEMANAGEMENT_EMAIL_NOTIFICATION_${EmailSettingsFrequency.EachApply.toUpperCase()}`)}\r\n \r\n \r\n {i18n.t(`SITEMANAGEMENT_EMAIL_NOTIFICATION_${EmailSettingsFrequency.Daily.toUpperCase()}`)}\r\n \r\n \r\n {i18n.t(`SITEMANAGEMENT_EMAIL_NOTIFICATION_${EmailSettingsFrequency.Weekly.toUpperCase()}`)}\r\n \r\n \r\n \r\n \r\n \r\n {!isOfirAdvertiser && <>\r\n

    {i18n.t('SITEMANAGEMENT_SUB_HEADLINE_APPLICATIONS')}

    \r\n \r\n \r\n \r\n \r\n {i18n.t('SITECREATE_BY_EMAIL_METHOD_LABEL')}\r\n {i18n.t('SITECREATE_BY_URL_METHOD_LABEL')}\r\n {i18n.t('SITECREATE_BY_CANDIDATE_LIST')}\r\n \r\n \r\n {(companyData.externalApplyMethod === 1 || companyData.externalApplyMethod === 3) && (\r\n \r\n \r\n \r\n )}\r\n {companyData.externalApplyMethod == 2 && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

    {i18n.t('DPA_SECTION_TITLE')}

    \r\n \r\n \r\n \r\n this.setState({ dpaRecipientEmail: e.target.value })}\r\n />\r\n \r\n \r\n this.setState({ dpaRecipientName: e.target.value })}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {i18n.t('SITEMANAGEMENT_SECTION_HINT_TEXT')}\r\n \r\n \r\n \r\n {isError && (\r\n \r\n \r\n
    \r\n ERROR OCCURED, SEE BROWSERS CONSOLE.LOG\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n }\r\n\r\n private handleSendDpa = async () => {\r\n try {\r\n const siteId = Utils.getSiteID();\r\n const company = await ApiService.getCompanyBySite(siteId);\r\n const { siteData: { siteData } } = this.props;\r\n await ApiService.sendGDPRDataAgreement({\r\n siteId,\r\n companyAddress: company.address,\r\n companyCity: company.city,\r\n companyCvr: company.vatnumber,\r\n companyName: company.name,\r\n companyZipCode: company.zipCode,\r\n customerEmail: this.state.dpaRecipientEmail,\r\n customerName: this.state.dpaRecipientName,\r\n siteUrl: window.location.protocol + \"//\" + siteData.host,\r\n siteCreationDate: siteData.createdAt\r\n });\r\n\r\n showSuccessSnak(\"Success\");\r\n } catch {\r\n showErrorSnak(\"Failed\");\r\n }\r\n \r\n }\r\n\r\n private handleChangeApplicationMethod = (value: number) => {\r\n this.props.setFieldCompanyData('externalApplyMethod', value);\r\n };\r\n\r\n private handleChangeCompany(e: any) {\r\n const target = e.target;\r\n const value = target.value;\r\n const name = target.name;\r\n\r\n const email = /^[-!#$%&'*+\\/0-9=?A-Z^_a-z{|}~](\\.?[-!#$%&'*+\\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-?\\.?[a-zA-Z0-9])*\\.[a-zA-Z](-?[a-zA-Z0-9])+$/;\r\n const url = /(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&=]*)/;\r\n\r\n switch (name) {\r\n case 'externalApplyEmail':\r\n value.length == 0 ? this.setState({ isExternalEmailNotEmpty: false }) : this.setState({ isExternalEmailNotEmpty: true });\r\n !value.match(email) && value != '' ? this.setState({ isExternalEmailValid: false }) : this.setState({ isExternalEmailValid: true });\r\n break;\r\n case 'externalApplyUrl':\r\n value.length == 0 ? this.setState({ isExternalUrlNotEmpty: false }) : this.setState({ isExternalUrlNotEmpty: true });\r\n !value.match(url) && value != '' ? this.setState({ isExternalUrlValid: false }) : this.setState({ isExternalUrlValid: true });\r\n break;\r\n default:\r\n }\r\n\r\n this.props.setFieldCompanyData(name, value);\r\n }\r\n\r\n private handleChangeEmailSettings = (value: any) => {\r\n this.props.updateEmailFrequency(value);\r\n };\r\n\r\n private handleCheckHost(e: any) {\r\n const target = e.target;\r\n const value = target.value;\r\n\r\n if (value != this.props.siteData.originalHost.split('.')[0]) {\r\n this.props.checkSiteHostData(value);\r\n }\r\n }\r\n\r\n private handleChangeSite(e: any) {\r\n const target = e.target;\r\n const name = target.name;\r\n let value = target.value;\r\n\r\n switch (name) {\r\n case 'host':\r\n value.length == 0 ? this.setState({ isHostNotEmpty: false }) : this.setState({ isHostNotEmpty: true });\r\n break;\r\n default:\r\n }\r\n\r\n if (name == 'host') {\r\n const splittArray = this.props.siteData.siteData.host.split('.');\r\n splittArray[0] = value;\r\n value = splittArray.join('.');\r\n }\r\n\r\n this.props.setFieldSiteData(name, value);\r\n }\r\n\r\n private handleSave() {\r\n const { siteData, companyData } = this.props;\r\n\r\n setTimeout(() => this.setState({ isSaved: true }), 500);\r\n setTimeout(() => this.setState({ isSaved: false }), 4500);\r\n\r\n const validateHost = siteData.originalHost === siteData.siteData.host;\r\n\r\n this.props.saveCompanyData(companyData.companyData);\r\n this.props.saveSiteData(siteData.siteData, validateHost);\r\n this.props.saveEmailFrequency(companyData.companyData.id, companyData.companyData.emailFrequency);\r\n }\r\n\r\n private isValid() {\r\n return (\r\n this.state.isHostNotEmpty &&\r\n this.state.isExternalEmailNotEmpty &&\r\n this.state.isExternalUrlNotEmpty &&\r\n this.state.isExternalEmailValid &&\r\n this.state.isExternalUrlValid &&\r\n !this.props.siteData.isExists\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: ApplicationState.ApplicationState) => {\r\n return {\r\n companyData: state.companyData,\r\n siteData: state.siteData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({ ...SiteDataStore.actionCreators, ...CompanyDataStore.actionCreators }, dispatch);\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SiteEdit) as any;\r\n","const emailregex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-||_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+([a-z]+|\\d|-|\\.{0,1}|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])?([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/g;\r\nconst domainRegex = /^([a-zA-Z0-9][a-zA-Z0-9-_]*\\.)*[a-zA-Z0-9]*[a-zA-Z0-9-_]*[[a-zA-Z0-9]+$/;\r\n\r\nexport const siteValidationDescription = {\r\n vatNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT8',\r\n validation: 8\r\n },\r\n required: 'MUST_BE_EXACT8'\r\n },\r\n companyName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n companyEmail: {\r\n regex: { pattern: emailregex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n address: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n zipCode: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT4',\r\n validation: 4\r\n },\r\n required: 'MUST_BE_EXACT4'\r\n },\r\n city: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n pNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT10',\r\n validation: 10\r\n },\r\n required: 'MUST_BE_EXACT10'\r\n },\r\n eanNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT13',\r\n validation: 13\r\n }\r\n },\r\n industry: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n subIndustry: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n userFirstName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n userLastName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n userEmail: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailregex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n userPhone: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n siteName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n callback: 'SITE_EXISTS',\r\n regex: { pattern: domainRegex, resource: 'SITE_NAME_NOT_VALID' }\r\n }\r\n};\r\n\r\n// TODO: make p-number field not required\r\nexport const advertiserValidationDescription = {\r\n vatNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT8',\r\n validation: 8\r\n },\r\n required: 'MUST_BE_EXACT8'\r\n },\r\n companyName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n companyEmail: {\r\n regex: { pattern: emailregex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n address: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n zipCode: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT4',\r\n validation: 4\r\n },\r\n required: 'MUST_BE_EXACT4'\r\n },\r\n city: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n eanNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT13',\r\n validation: 13\r\n }\r\n },\r\n userFirstName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n userLastName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n userEmail: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailregex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n // userPhone: {\r\n // required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n // },\r\n siteName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n callback: 'SITE_EXISTS',\r\n regex: { pattern: domainRegex, resource: 'SITE_NAME_NOT_VALID' }\r\n }\r\n};\r\n\r\nexport const passwordErrorObject = {\r\n password: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n },\r\n same: {\r\n target: 'passwordConfirm',\r\n resource: 'USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD_ERROR_TEXT',\r\n validation: 6\r\n }\r\n },\r\n passwordConfirm: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n },\r\n same: {\r\n target: 'password',\r\n resource: 'USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD_ERROR_TEXT',\r\n validation: 6\r\n }\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { Checkbox } from 'antd';\r\nimport classNames from 'classnames';\r\n\r\nimport './assets/CommonCheckbox.scss';\r\n\r\nexport default function CommonCheckbox({\r\n checked,\r\n onChange,\r\n value,\r\n title,\r\n className\r\n}: {\r\n checked: boolean;\r\n onChange(e: any): void;\r\n value?: string;\r\n title?: string;\r\n className?: string;\r\n}) {\r\n const wrapperClass = classNames('common-checkbox', {\r\n [className]: !!className\r\n });\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport './assets/BreadCrumbs.scss';\r\ntype TBreaCrumbs = {\r\n name: string,\r\n url: string,\r\n}\r\nexport default function BreadCrumbs({data}:{data: TBreaCrumbs[]}){\r\n return (\r\n
    \r\n {data.map((s, i) => (
    \r\n
    \r\n {i+1}.\r\n {s.name}\r\n
    \r\n \r\n \r\n \r\n
    ))}\r\n
    \r\n );\r\n}\r\n","import ApiConstants from \"../cms/common/apiConstants\"\r\nconst PIPEDRIVE_API = ApiConstants.siteOptions.pipeDrive;\r\n\r\nexport class PipederiveApi {\r\n public static async getDealById(id?: string) {\r\n const requestParams = {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n };\r\n let org;\r\n const url = PIPEDRIVE_API.replace(\"{place}\", \"deals\").replace(\"{id}\", id);\r\n const result = await fetch(url, requestParams);\r\n const response = await result.json();\r\n if (response.data?.org_id){\r\n org = await this.getOrgById(response.data.org_id.value)\r\n }\r\n return {deal: response.data, organization: org};\r\n }\r\n public static async getOrgById(id: string) {\r\n const requestParams = {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n };\r\n const url = PIPEDRIVE_API.replace(\"{place}\", \"organizations\").replace(\"{id}\", id);\r\n const result = await fetch(url, requestParams);\r\n const response = await result.json();\r\n\r\n return response.data;\r\n }\r\n}\r\n","import './Create.scss';\r\n\r\nimport * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport i18n from '../../../resources/i18n';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport { useState, useEffect } from 'react';\r\nimport { Base64 } from 'js-base64';\r\nimport { InternalSiteCreationRequest, ImageType } from '../../../services/autorest/models';\r\nimport { Utils } from '../../../Utils/Utils';\r\nimport { ApiService } from '../../../services/apiService';\r\nimport { CreateLogo } from './CreateLogo';\r\nimport ValidateSiteObject from './ValidateObject';\r\nimport { siteValidationDescription, advertiserValidationDescription, passwordErrorObject } from './validationDescription';\r\nimport * as OfirLogo from '../../../images/ofirlogo-den-opsoegende-jobportal.png';\r\nimport CommonCheckbox from '../../../cms/components/_shared/Controls/CommonCheckbox/CommonCheckbox';\r\nimport { showSuccessSnak, showErrorSnak, showWarningSnak } from '../../../store/MetadataStore';\r\nimport CommonButton from '../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport ValidateObject from '../../../Utils/Validation/Validation';\r\nimport SelectMenu, { SelectMenuOption } from '../../../cms/components/_shared/Controls/SelectMenu/SelectMenu';\r\nimport { Row, Col } from '../../../cms/components/_shared/Grid/Grid';\r\nimport CommonCard from '../../../cms/components/_shared/CommonCard/CommonCard';\r\nimport CommonInput from '../../../cms/components/_shared/Controls/CommonInput/CommonInput';\r\nimport BreadCrumbs from \"../../../cms/components/_shared/BreadCrumbs/BreadCrumbs\";\r\nimport { PipederiveApi } from \"../../../services/pipedriveApi\"\r\nimport { registerEvent } from '../../../googleTagManager';\r\ninterface IndustryViewModel {\r\n name: string;\r\n id: number;\r\n subIndustries: SubIndustryViewModel[];\r\n}\r\n\r\ninterface SubIndustryViewModel {\r\n name: string;\r\n id: number;\r\n}\r\n\r\ninterface CountriesViewModel {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nconst SITE_TYPES = [\r\n {\r\n value: 0,\r\n label: 'Normal',\r\n },\r\n {\r\n value: 1,\r\n label: 'Test',\r\n },\r\n {\r\n value: 2,\r\n label: 'Demo',\r\n },\r\n {\r\n value: 3,\r\n label: 'Branding',\r\n },\r\n];\r\n\r\nconst LANGUAGES = [\r\n {\r\n value: 'Denmark',\r\n label: i18n.t('SITECREATE_DENMARK_LABEL'),\r\n },\r\n {\r\n value: 'United Kingdom',\r\n label: i18n.t('SITECREATE_UK_LABEL'),\r\n },\r\n];\r\n\r\n\r\nconst dataCvrTest = [\r\n {\r\n \"productionUnitIdentifier\": \"1003862281\",\r\n \"name\": \"Ofir A/S\",\r\n \"address\": \"Gladsaxe Møllevej 26\",\r\n \"addressCo\": \"\",\r\n \"postalCode\": \"2860\",\r\n \"postalCity\": \"Søborg\",\r\n \"cityName\": \"\",\r\n \"municipalityId\": \"0159\",\r\n \"phone\": \"36959595\",\r\n \"email\": \"\",\r\n \"fax\": \"\",\r\n \"startDate\": \"1996-07-01\",\r\n \"endDate\": \"\",\r\n \"employees\": \"20-49\",\r\n \"industrycode\": \"620100\",\r\n \"industrydesc\": \"Computerprogrammering\"\r\n },{\r\n \"productionUnitIdentifier\": \"1003862282\",\r\n \"name\": \"Ofir A/S2\",\r\n \"address\": \"Gladsaxe Møllevej 26\",\r\n \"addressCo\": \"\",\r\n \"postalCode\": \"2860\",\r\n \"postalCity\": \"Søborg\",\r\n \"cityName\": \"\",\r\n \"municipalityId\": \"0159\",\r\n \"phone\": \"36959595\",\r\n \"email\": \"\",\r\n \"fax\": \"\",\r\n \"startDate\": \"1996-07-01\",\r\n \"endDate\": \"\",\r\n \"employees\": \"20-49\",\r\n \"industrycode\": \"620100\",\r\n \"industrydesc\": \"Computerprogrammering\"\r\n }\r\n ]\r\nconst SiteCreate = (props) => {\r\n const dispatch = useDispatch();\r\n const site = { siteLanguage: 'da-DK', siteType: 0, country: 'Danmark', countryCode: 'DK' } as InternalSiteCreationRequest;\r\n const w = window as any;\r\n const pref = w.PREF;\r\n const commonDomain = w.commonDomain;\r\n const userSiteType = Utils.getUrlParameterByKey('sitetype');\r\n const isOfirAdvertiser = userSiteType === 'advertiser';\r\n const loginText = i18n.t('SITE_CREATE_OFIR_LOGIN_TEXT').replace('{0}', `${pref}/Login?advertiser=true`);\r\n const errors: { [key: string]: any } = {};\r\n \r\n const pipDriveDealId = props.match?.params?.pipedriveId\r\n \r\n let initSubIndustries = [];\r\n\r\n const login = (action: string, email: string, password: string, )=> {\r\n //const emailBase64 = Base64.encode(email);\r\n //const passwordBase64 = Base64.encode(password);\r\n //window.open(`${action}?cid=${emailBase64}&pwd=${passwordBase64}`, \"_self\")\r\n window.open(`${action}`, \"_self\");\r\n }\r\n \r\n useEffect(() => {\r\n init(); \r\n }, [pipDriveDealId]);\r\n \r\n const init = async () => {\r\n if (isOfirAdvertiser) {\r\n const industry = industries[0] ? industries[0] : undefined;\r\n\r\n site.siteType = 5;\r\n site.siteName = Utils.generateGuid();\r\n\r\n if (industry) {\r\n site.industryId = industry.id;\r\n site.industry = industry.name;\r\n site.subIndustryId = industry.subIndustries[0].id;\r\n site.subIndustry = industry.subIndustries[0].name;\r\n\r\n initSubIndustries = industry.subIndustries;\r\n }\r\n }\r\n if (pipDriveDealId){\r\n const {deal, organization} = await PipederiveApi.getDealById(pipDriveDealId);\r\n if (organization) {\r\n const dataOrg =organization;\r\n \r\n site.companyName = dataOrg.name;\r\n site.zipCode = dataOrg.address_postal_code;\r\n site.city = dataOrg.address_locality;\r\n site.countyState = dataOrg.address_subpremise;\r\n site.country = dataOrg.address_country ? dataOrg.address_country : 'Danmark';\r\n \r\n if (dataOrg['fdd72a3a2cf0c63660a39d6cd99ad7407bf3b2d8']) {\r\n site.siteName = dataOrg['fdd72a3a2cf0c63660a39d6cd99ad7407bf3b2d8'].replace('https://', '').replace('.ofir.com', '');\r\n }\r\n \r\n if (dataOrg['afd1f0cda24fe12cc9d4437f6116db1beda38f77']) {\r\n site.vatNumber = dataOrg['afd1f0cda24fe12cc9d4437f6116db1beda38f77'].toString();\r\n }\r\n \r\n if (dataOrg['1b833b45d98975671a2f0a2ddd45789616cc629d']) {\r\n site.pNumber = dataOrg['1b833b45d98975671a2f0a2ddd45789616cc629d'].toString();\r\n }\r\n \r\n if (dataOrg['1b833b45d98975671a2f0a2ddd45789616cc629d']) {\r\n site.eanNumber = dataOrg['1b833b45d98975671a2f0a2ddd45789616cc629d'].toString();\r\n }\r\n \r\n if (dataOrg.address_route) {\r\n site.address = `${dataOrg.address_route} ${dataOrg.address_street_number}`;\r\n }\r\n \r\n if (dataOrg['965c035748d8f796bdfd2aad20847a23a383a6cd']) {\r\n site.ofirCRMNumber = dataOrg['965c035748d8f796bdfd2aad20847a23a383a6cd'].toString();\r\n }\r\n \r\n if (dataOrg['0cdcd7f9351855df3ff6bb2421ccc9554a45c556']) {\r\n site.industryId = Number(dataOrg['0cdcd7f9351855df3ff6bb2421ccc9554a45c556']);\r\n }\r\n \r\n if (site.industryId) {\r\n const pdLang = site.country == 'Danmark' ? 'da-DK' : 'en-GB';\r\n const pdIndustries: IndustryViewModel[] = w.industries[pdLang];\r\n \r\n try {\r\n initSubIndustries = pdIndustries.filter((x) => x.id == site.industryId)[0].subIndustries;\r\n site.industry = pdIndustries.filter((x) => x.id == site.industryId)[0].name;\r\n site.subIndustryId = !isOfirAdvertiser ? subIndustries[0].id : site.subIndustryId;\r\n } catch (error) {\r\n dispatch(showWarningSnak(i18n.t('INDUSTRI_WITH_ID_NOT_FOUND').replace('%1', site.industryId)));\r\n }\r\n }\r\n }\r\n \r\n if (deal) {\r\n const dataDeal = deal;\r\n \r\n if (dataDeal.person_id) {\r\n if (dataDeal.person_id.name) {\r\n const fullName = dataDeal.person_id.name.split(' ');\r\n \r\n if (fullName.length > 0) {\r\n site.userFirstName = fullName[0];\r\n fullName.shift(); // remove first item\r\n site.userLastName = fullName.join(' ');\r\n }\r\n }\r\n \r\n if (dataDeal.person_id.email && dataDeal.person_id.email.length > 0) {\r\n site.userEmail = dataDeal.person_id.email[0].value;\r\n }\r\n \r\n if (dataDeal.person_id.email && dataDeal.person_id.phone.length > 0) {\r\n site.userPhone = dataDeal.person_id.phone[0].value;\r\n }\r\n }\r\n }\r\n }\r\n \r\n\r\n setSiteObject({ ...site });\r\n setSubIndustries([...initSubIndustries]);\r\n };\r\n\r\n const [siteObject, setSiteObject] = useState(site);\r\n const [errorObject, setErrorObject] = useState(errors);\r\n const [passErrorObject, setPassErrorObject] = useState(errors);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const [subIndustries, setSubIndustries] = useState(initSubIndustries);\r\n const [tradeTerms, setTradeTerms] = React.useState(false);\r\n const [validateEmail, setValidateEmail] = React.useState({\r\n disabled: true,\r\n showHepl: false,\r\n });\r\n const [passwordData, setPasswordData] = React.useState({\r\n password: '',\r\n passwordConfirm: '',\r\n });\r\n\r\n const lang = Utils.getBrowserLanguage() == 'da-DK' ? 'da-DK' : 'en-GB';\r\n const industries: IndustryViewModel[] = (window as any).industries[lang];\r\n const countries: CountriesViewModel[] = (window as any).countries[lang];\r\n\r\n React.useEffect(() => {\r\n if (isOfirAdvertiser) {\r\n document.title = i18n.t('SITE_CREATE_OFIR_PAGE_TITLE');\r\n }\r\n }, []);\r\n const [cvrUnits, setCvrUnits] = React.useState([])\r\n const [cvrDataState, setCvrDataState] = React.useState(null);\r\n const cvrCheck = async () => { \r\n if (siteObject.country === \"Danmark\" && !siteObject.vatNumber || siteObject.vatNumber?.length < 8) {\r\n return setErrorObject(c => ({...c, vatNumber: i18n.t('SITECREATE_CVR_FIELD_ERROR')}));\r\n }else{\r\n setErrorObject(c => ({vatNumber: \"\"}));\r\n }\r\n const cvrData = siteObject.vatNumber && await ApiService.getCvrData(siteObject.vatNumber, \"dk\");\r\n setCvrDataState(cvrData);\r\n if (!cvrData && siteObject.country === \"Danmark\") return dispatch(showErrorSnak(i18n.t('SITECREATE_CVR_CHECK_ERROR')));\r\n if (cvrData){\r\n const units = cvrData.productionUnits[0];\r\n const svrObj = {\r\n ...siteObject, \r\n companyName: cvrData.name, \r\n pNumber:units.productionUnitIdentifier?.toString(), \r\n address: units.address, \r\n city: units.postalCity, \r\n zipCode: units.postalCode,\r\n companyPhone: cvrData.phone,\r\n }; \r\n setCvrUnits(cvrData.productionUnits.length > 1 ? cvrData.productionUnits : []) \r\n setSiteObject(svrObj);\r\n }\r\n \r\n }\r\n const handleIndustryChange = (value: any, name: string) => {\r\n const industryId = Number(value);\r\n\r\n const sub = industries.filter((x) => x.id === industryId)[0].subIndustries;\r\n\r\n setSubIndustries([...sub]);\r\n\r\n setSiteObject({\r\n ...siteObject,\r\n subIndustryId: sub[0].id,\r\n subIndustry: sub[0].name,\r\n industry: industries.filter((x) => x.id == industryId)[0].name,\r\n industryId: industryId,\r\n });\r\n };\r\n const handlerPnumberChange = (obj) => {\r\n setSiteObject({\r\n ...siteObject,\r\n pNumber: obj\r\n });\r\n const units = cvrDataState.productionUnits.find(c=> c.productionUnitIdentifier === obj);\r\n const svrObj = {\r\n ...siteObject, \r\n pNumber:units.productionUnitIdentifier?.toString(), \r\n address: units.address, \r\n city: units.postalCity, \r\n zipCode: units.postalCode,\r\n companyPhone: units?.phone || \"\"\r\n }; \r\n setSiteObject(svrObj);\r\n }\r\n const handleSubIndustryChange = (value: any, name: string) => {\r\n const subIndustryItem = subIndustries.find((item: SubIndustryViewModel) => {\r\n return item.id === value;\r\n });\r\n\r\n setSiteObject({ ...siteObject, subIndustry: subIndustryItem.name, [name]: Number(value) });\r\n };\r\n\r\n const handleInputChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n const name = e.target.name;\r\n\r\n setSiteObject({ ...siteObject, [name]: value });\r\n };\r\n\r\n const handlePasswordChange = (e: React.ChangeEvent) => {\r\n const value = e.target.value;\r\n const name = e.target.name;\r\n\r\n setPasswordData({ ...passwordData, [name]: value });\r\n };\r\n\r\n const handleSelectChange = (value: any, name: string) => {\r\n let newValue = value;\r\n\r\n if (name === 'SiteType') {\r\n newValue = Number(newValue);\r\n }\r\n\r\n setSiteObject({ ...siteObject, [name]: newValue });\r\n };\r\n\r\n const handleCountryChange = (value: any, name: string) => {\r\n let newValues = value.split(':');\r\n setSiteObject({ ...siteObject, country: newValues[1], countryCode: newValues[0] });\r\n };\r\n\r\n const emailValidate = async () =>{\r\n const rv = await ApiService.getUserByName(siteObject.userEmail || \"\");\r\n if (rv && rv.userName){\r\n setSiteObject(c=> ({...c, \r\n userFirstName: rv.firstName, \r\n userLastName: rv.lastName,\r\n userPhone: rv.phone,\r\n isNewUser: false,\r\n }));\r\n setPasswordData(c=> ({...c, password: \"0000000000\", passwordConfirm: \"0000000000\"}))\r\n setValidateEmail(c => ({...c, showHepl: true, disabled: true}))\r\n } else if (siteObject.userEmail) {\r\n setSiteObject(c=> ({...c, \r\n userFirstName: \"\", \r\n userLastName: \"\",\r\n userPhone: \"\",\r\n isNewUser: true,\r\n }));\r\n\r\n setPasswordData(c=> ({...c, password: \"\", passwordConfirm: \"\"}))\r\n setValidateEmail(c => ({...c, disabled: false, showHepl: false}))\r\n }\r\n }\r\n const createSite = async () => {\r\n setIsSaving(true);\r\n let resCss;\r\n let resImage;\r\n const fontName = 'Arial';\r\n const color = '#3d85c6';\r\n const validationObject = isOfirAdvertiser ? advertiserValidationDescription : siteValidationDescription;\r\n if (siteObject.country !== \"Danmark\"){\r\n delete validationObject[\"vatNumber\"];\r\n delete validationObject[\"zipCode\"];\r\n }\r\n let errorObj: any = await ValidateSiteObject(siteObject, validationObject, async (prop, value) => {\r\n try {\r\n await ApiService.getSiteByHost(`${value}${w.SiteCreationOptionsValueSiteExtention}`);\r\n } catch (error) {\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n let passwordErrorObj: any = passErrorObject;\r\n\r\n if (isOfirAdvertiser) {\r\n passwordErrorObj = await ValidateObject(passwordData, passwordErrorObject);\r\n }\r\n\r\n setErrorObject(errorObj);\r\n setPassErrorObject(passwordErrorObj);\r\n\r\n if (errorObj.hasError || passwordErrorObj.hasError) {\r\n dispatch(showErrorSnak(i18n.t('SITECREATE_FILENOTEMPTY_ERROR')));\r\n\r\n setIsSaving(false);\r\n registerEvent({ event: \"CustomerCreate\", success: \"false\" });\r\n\r\n return;\r\n }\r\n\r\n if (isOfirAdvertiser && !tradeTerms) {\r\n dispatch(showErrorSnak(i18n.t('SITE_CREATE_OFIR_TERMS_ERROR')));\r\n\r\n setIsSaving(false);\r\n registerEvent({ event: \"CustomerCreate\", success: \"false\" });\r\n\r\n return;\r\n }\r\n\r\n try {\r\n resCss = await ApiService.generateCssAndSaveItToSharedFolder(fontName, color, `${w.CSS_NAME}.css`, w.SITE_ID);\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t('SITECREATE_CSS_ERROR'), JSON.stringify(error.message)));\r\n\r\n setIsSaving(false);\r\n registerEvent({ event: \"CustomerCreate\", success: \"false\" });\r\n\r\n return;\r\n }\r\n\r\n try {\r\n const logo = await CreateLogo(fontName, color, siteObject.companyName);\r\n resImage = await ApiService.uploadImageFileOnlyForSiteCreation(w.SITE_ID, [logo], ImageType.Logo);\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t('SITECREATE_LOGO_ERROR'), error.message));\r\n setIsSaving(false);\r\n registerEvent({ event: \"CustomerCreate\", success: \"false\" });\r\n\r\n return;\r\n }\r\n\r\n const so = { ...siteObject } as any;\r\n var siteName = so.siteName;\r\n\r\n var resSite = {};\r\n\r\n try {\r\n so.logoFileName = resImage.newFileName;\r\n so.cssFileName = resCss.fileName;\r\n so.siteId = w.SITE_ID;\r\n so.companyId = w.COMPANY_ID;\r\n so.userId = w.USER_ID;\r\n so.fontName = fontName;\r\n so.primaryColor = color;\r\n so.salesPerson = 'N/A';\r\n so.siteName += w.SiteCreationOptionsValueSiteExtention;\r\n\r\n if (isOfirAdvertiser && so.country !== 'Danmark') {\r\n so.siteLanguage = 'en-GB';\r\n }\r\n if (isOfirAdvertiser) {\r\n so.password = passwordData.password;\r\n }\r\n\r\n resSite = await ApiService.CreateSite(so);\r\n } catch (error) {\r\n dispatch(showErrorSnak(i18n.t('SITECREATE_SITE_ERROR'), JSON.stringify(error.message)));\r\n\r\n setIsSaving(false);\r\n registerEvent({ event: \"CustomerCreate\", success: \"false\" });\r\n\r\n return;\r\n }\r\n\r\n setIsSaving(true); //disable all fields on success\r\n\r\n registerEvent({ event: \"CustomerCreate\", success: \"true\" });\r\n if (so.isNewUser) {\r\n const formData = new FormData();\r\n formData.append('Email', so.userEmail);\r\n formData.append('Password', so.password);\r\n formData.append('SiteId', resSite[\"siteId\"]);\r\n const response = await fetch(`/site/${siteName}/Account/Login?advertiser=true&ReturnUrl=%2Fsite%2F${siteName}%2Fadmin%2Fjae`, {\r\n body: formData,\r\n method: 'POST',\r\n });\r\n }\r\n\r\n if (isOfirAdvertiser) {\r\n dispatch(showSuccessSnak(i18n.t('SITECREATE_CREATED_OFIR_ADVERTISER'), null, 2));\r\n setTimeout(() => {\r\n const act = `http://${commonDomain}${location.port ? ':' + location.port : ''}/site/${siteName}/admin`;\r\n login(act, siteObject.userEmail, passwordData.password);\r\n }, 2100);\r\n } else {\r\n dispatch(\r\n showSuccessSnak(\r\n i18n.t('SITECREATE_CREATED'),\r\n {\r\n location.reload();\r\n }}\r\n >\r\n {i18n.t('SITECREATE_CREATED_CLICK_HERE')}\r\n ,\r\n 0,\r\n () => {\r\n location.reload();\r\n }\r\n )\r\n );\r\n }\r\n };\r\n \r\n const [steps, setStep] = React.useState([{name: i18n.t(\"BREADCRUMBS_CREATE_PROFILE\"), url: \"#\"}, {name: i18n.t(\"BREADCRUMBS_JOB_AD_IMPRESSION\"), url: \"#\"}, {name: i18n.t(\"BREADCRUMBS_APPROVED\"), url: \"#\"}])\r\n const storage = Utils.getCookie(\"Recommendation\") && JSON.parse(Utils.getCookie(\"Recommendation\"));\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {isOfirAdvertiser ? (\r\n <>\r\n {storage?.name ? : \"\"}\r\n
    \r\n \"\"\r\n
    \r\n

    {i18n.t('OFIR_ADVERTISER_SITECREATE_TITLE')}

    \r\n

    {i18n.t('OFIR_ADVERTISER_SITECREATE_NOTICE')}

    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n

    {i18n.t('SITECREATE_MAIN_TITLE')}

    \r\n )}\r\n \r\n \r\n {!isOfirAdvertiser && (\r\n \r\n

    Site type

    \r\n
    \r\n \r\n {siteObject.siteType == 0 && (\r\n {\r\n setSiteObject({ ...siteObject, sendDPA: e.target.checked });\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n )}\r\n \r\n

    {i18n.t('SITECREATE_DETAILS_TITLE')}

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n );\r\n },\r\n }}\r\n labelKey=\"label\"\r\n valueKey=\"value\">\r\n {countries.map((x: CountriesViewModel, i) => {\r\n return (\r\n \r\n {x.value}\r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n \r\n \r\n {cvrUnits.length > 1 ? (\r\n \r\n \r\n {cvrUnits.map((x: any, i) => {\r\n return (\r\n \r\n ({x.productionUnitIdentifier}) {x.name} ({x.address})\r\n \r\n );\r\n })}\r\n \r\n ):(\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isOfirAdvertiser && (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {industries.map((x: IndustryViewModel, i) => {\r\n return (\r\n \r\n {x.name}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n {subIndustries.map((x: SubIndustryViewModel, i) => {\r\n return (\r\n \r\n {x.name}\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n

    {i18n.t('SITECREATE_USER_DETAILS_TITLE')}

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {validateEmail.showHepl && i18n.t('SITECREATE_USER_EMAIL_VALIDATE_HELPTEXT')}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {isOfirAdvertiser && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {i18n.t('USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR')}
    \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {!isOfirAdvertiser && (\r\n \r\n \r\n \r\n

    {i18n.t('SITECREATE_SITE_DETAILS_TITLE')}

    \r\n \r\n \r\n \r\n \r\n \r\n {}}\r\n value={(window as any).SiteCreationOptionsValueSiteExtention}\r\n name=\"CompanySiteDomain\"\r\n disabled\r\n readonly\r\n title={i18n.t('SITECREATE_CAREER_SITE_NAME_LABEL')}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n Dansk\r\n English\r\n \r\n \r\n \r\n
    \r\n )}\r\n {isOfirAdvertiser && (\r\n {\r\n setTradeTerms(e.target.checked);\r\n }}\r\n title={i18n.t('SITE_CREATE_OFIR_TERMS')}\r\n />\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SiteCreate;\r\n","export const CreateLogo = (FONT_NAME: string, PRIMARY_COLOR: string, title: string): Promise => {\r\n const getLuminocity = (color) => {\r\n const c = color.substring(1);\r\n const rgb = parseInt(c, 16);\r\n const r = (rgb >> 16) & 0xff;\r\n const g = (rgb >> 8) & 0xff;\r\n const b = (rgb >> 0) & 0xff;\r\n\r\n // tslint:disable-next-line:binary-expression-operand-order\r\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\r\n };\r\n\r\n const shadeColor = (color, percent) => {\r\n const f = parseInt(color.slice(1), 16);\r\n const t = percent < 0 ? 0 : 255;\r\n const p = percent < 0 ? percent * -1 : percent;\r\n const R = f >> 16;\r\n const G = (f >> 8) & 0x00ff;\r\n const B = f & 0x0000ff;\r\n return (\r\n '#' +\r\n // tslint:disable-next-line:binary-expression-operand-order\r\n (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1)\r\n );\r\n };\r\n\r\n const canvas = document.createElement('canvas');\r\n const ctx = canvas.getContext('2d');\r\n let fontSize = 100;\r\n let textDimensions;\r\n const i = 0;\r\n const textAsImage = new Image();\r\n const font = FONT_NAME;\r\n const bgColor = PRIMARY_COLOR;\r\n\r\n ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n const grd = ctx.createLinearGradient(canvas.width / 2, 0, canvas.width / 2, canvas.height);\r\n grd.addColorStop(0, bgColor);\r\n grd.addColorStop(1, shadeColor(bgColor, 0.3));\r\n ctx.fillStyle = grd;\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n if (getLuminocity(bgColor) > 220) {\r\n ctx.fillStyle = '#000000';\r\n } else {\r\n ctx.fillStyle = '#ffffff';\r\n }\r\n ctx.textBaseline = 'middle';\r\n ctx.font = fontSize + 'px ' + font;\r\n textDimensions = ctx.measureText(title);\r\n fontSize = 100;\r\n while (textDimensions.width >= canvas.width - 20) {\r\n fontSize--;\r\n ctx.font = fontSize + 'px ' + font;\r\n textDimensions = ctx.measureText(title);\r\n }\r\n ctx.fillText(title, 10, canvas.height / 2 - 1);\r\n textAsImage.src = canvas.toDataURL();\r\n // $('#canvasImage').append(textAsImage);\r\n return new Promise((resolve, reject) => {\r\n canvas.toBlob((blob) => {\r\n // blob.lastModifiedDate = new Date();\r\n // blob.name = 'LogoFromText.png';\r\n resolve(blob);\r\n });\r\n });\r\n};\r\n","import * as React from 'react';\r\nimport \"../assets/Statistic.scss\"\r\nimport { Line } from 'react-chartjs-2';\r\n\r\nexport function DataStatistic({chart,table,title}: {\r\n chart: {data: any, actions?: {filterday: () => void, filterweek: ()=> void, filterwonth: ()=>void}}, \r\n title: string;\r\n table:{\r\n name: string,\r\n value: string | number;\r\n }[]\r\n }) \r\n{\r\n const chartRef = React.useRef(null);\r\n return ( \r\n
    \r\n
    \r\n
    \r\n

    {title}

    \r\n {table.map((t, index)=> (\r\n
    \r\n
    {t.name}
    \r\n
    {t.value}
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n

    {title}

    \r\n {chart.actions && (
    \r\n \r\n \r\n \r\n
    )\r\n }\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","\r\n\r\nimport { actionCreator, Action, isType } from './Action';\r\nimport { ApiService } from '../services/apiService';\r\n\r\ntype TEntryStatisticTotal = {\r\n jobApplicationAppliedCount: number;\r\n jobApplicationInitiatedCount: number\r\n displayCount: number\r\n entryId: string\r\n feedId: string\r\n feedName: string\r\n searchedCount: number\r\n startDate: string\r\n stopDate: string\r\n}\r\ntype TEntryStatistic = {\r\n jobApplicationAppliedCount: number\r\n jobApplicationInitiatedCount: number\r\n date: string\r\n displayCount: number\r\n entryId: string\r\n feedId: string\r\n feedName: string\r\n searchedCount: number\r\n}\r\ntype TSocialMediaStatisticTotal = {\r\n clicks: number\r\n entryId: string\r\n feedName: string\r\n impressions: number\r\n reach: number\r\n spend: number\r\n startDate: string\r\n stopDate: string\r\n}\r\ntype TSocialMediaStatistic ={\r\n clicks: number\r\n date: string\r\n entryId: string\r\n feedName: string\r\n impressions: number\r\n reach: number\r\n spend: any\r\n}\r\nexport interface JobStatisticState {\r\n entryStatisticTotal: TEntryStatisticTotal[];\r\n entryStatistic:TEntryStatistic[],\r\n socialStatisticTotal: TSocialMediaStatisticTotal[]\r\n socialStatistic: TSocialMediaStatistic[],\r\n entryId: string,\r\n entryStatisticDetails: any\r\n}\r\n\r\nconst defaultState = {\r\n entryStatisticTotal:[],\r\n entryStatistic:[],\r\n socialStatistic:[],\r\n socialStatisticTotal:[],\r\n entryId: '',\r\n entryStatisticDetails: {}\r\n};\r\n\r\nconst actions = {\r\n updateEntryStatisticTotal: actionCreator('UPDATE_JOB_ENTRY_STAT_TOTAL'),\r\n updateEntryStatistic: actionCreator('UPDATE_JOB_ENTRY_STAT'),\r\n updateSocialStatisticTotal: actionCreator('UPDATE_JOB_SOCIAL_STAT_TOTAL'),\r\n updateSocialStatistic: actionCreator('UPDATE_JOB_SOCIAL_STAT'),\r\n getEntryID: actionCreator('GET_ENTRY_ID'),\r\n entryStatisticDetails: actionCreator('UPDATE_ENTRYSTATISTICS_DETAILS'),\r\n};\r\n\r\nexport function reducer(state: JobStatisticState = defaultState, action: Action): JobStatisticState {\r\n if (isType(action, actions.updateEntryStatisticTotal)) {\r\n return {...state,entryStatisticTotal: action.payload};\r\n }else if(isType(action, actions.updateEntryStatistic)){\r\n return {...state, entryStatistic: action.payload};\r\n }else if(isType(action, actions.updateSocialStatistic)){\r\n return {...state, socialStatistic: action.payload};\r\n }else if(isType(action, actions.updateSocialStatisticTotal)){\r\n return {...state, socialStatisticTotal: action.payload};\r\n }else if(isType(action, actions.getEntryID)){\r\n return {...state, entryId: action.payload};\r\n }else if(isType(action, actions.entryStatisticDetails)){\r\n return {...state, entryStatisticDetails: action.payload};\r\n } \r\n return state;\r\n}\r\nexport function getEntryId(jobid:string){\r\n return async (dispatch: (e:any) => void) => {\r\n const entryID = await ApiService.getEntryIdForJobFromPhenix(jobid);\r\n // const entryID =\"f33c6f43\";\r\n dispatch(actions.getEntryID(entryID));\r\n };\r\n}\r\nexport function getJobStatisticDetails(entryID){\r\n return async (dispatch: (e:any) => void) => {\r\n const rv = await ApiService.getJobStatisticDetails(entryID) \r\n dispatch(actions.entryStatisticDetails(rv))\r\n }\r\n}\r\nexport function getJobStatistic(entryID: string, startDate?:string, endDate?:string) {\r\n return async (dispatch: (e: any) => void) => {\r\n // const entryID = await ApiService.getEntryIdForJobFromPhenix(jobid);\r\n // const entryID =\"f33c6f43\"\r\n const entryStatistic = await ApiService.getEntryStatistic(entryID, startDate, endDate) as any;\r\n const entryStatisticTotal = await ApiService.getEntryStatisticTotal(entryID) as any;\r\n const socialStatisticTotal = await ApiService.getSocialStatisticTotal(entryID) as any;\r\n const socialStatistic = await ApiService.getSocialStatistic(entryID, startDate, endDate) as any;\r\n dispatch(actions.updateSocialStatisticTotal(socialStatisticTotal));\r\n dispatch(actions.updateEntryStatistic(entryStatistic));\r\n dispatch(actions.updateEntryStatisticTotal(entryStatisticTotal));\r\n dispatch(actions.updateSocialStatistic(socialStatistic));\r\n };\r\n}","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Col, Row, DatePicker } from 'antd';\r\nimport i18n from \"../../resources/i18n\"\r\nimport { DataStatistic } from \"./components/datastatistic\"\r\nimport { AdStatistic } from \"./components/adstatistic\"\r\nimport CommonCard from \"../../cms/components/_shared/CommonCard/CommonCard\"\r\nimport { JobAdModalEx } from '../../cms/models/modelExtentions/JobAdModelEx';\r\nimport { ApplicationState } from '../../store';\r\nimport { getJobById } from '../../store/JaeStore';\r\nimport { getJobStatistic, JobStatisticState, getEntryId } from \"../../store/JobStatistic\"\r\nimport {Utils} from \"../../Utils/Utils\"\r\nconst { RangePicker } = DatePicker;\r\n///for ad\r\nimport { savePDF } from '@progress/kendo-react-pdf';\r\n\r\nimport PdfContainer from './components/pdfcontainer';\r\nimport moment from 'antd/node_modules/moment';\r\nclass DocService {\r\n createPdf = (html) => {\r\n savePDF(html, { \r\n paperSize: \"a4\",\r\n forcePageBreak: \"page-breake\",\r\n fileName: `Report for ${new Date().getFullYear()}`,\r\n margin: 0,\r\n })\r\n }\r\n}\r\n\r\nconst Doc = new DocService();\r\nexport default function Statistic() {\r\n const w = window as any; \r\n const dateFormat = 'YYYY-MM-DD'\r\n const firstDayOfMonth = moment().startOf('month').format(dateFormat);\r\n const today = moment().format(dateFormat);\r\n const jobId = w.location.pathname.split(\"/\").pop();\r\n const jae = useSelector((s) => s.jae) as JobAdModalEx;\r\n const { entryStatisticTotal, entryStatistic, socialStatisticTotal, socialStatistic, entryId } = useSelector((s)=> s.jobStatistic) \r\n const exposuresTable = entryStatisticTotal.map(v => ({name: v.feedName, value: v.searchedCount})).concat(socialStatisticTotal.map(c => ({name: c.feedName, value: c.impressions})))\r\n const viewsTable = entryStatisticTotal.map(v => ({name: v.feedName, value: v.displayCount})).concat(socialStatisticTotal.map(c => ({name: c.feedName, value: c.clicks})))\r\n const initiatedTable = entryStatisticTotal.map(v => ({name: v.feedName, value: v.jobApplicationInitiatedCount})).concat(socialStatisticTotal.map(c => ({name: c.feedName, value: null})))\r\n const dispatch = useDispatch(); \r\n\r\n React.useEffect(()=>{\r\n dispatch(getJobById(jobId));\r\n dispatch(getEntryId(jobId));\r\n }, []);\r\n React.useEffect(() => {\r\n entryId && dispatch(getJobStatistic(entryId, firstDayOfMonth, today));\r\n },[entryId]);\r\n \r\n //build maped object for chart the same from entrystat\r\n const normalizeToSameObject = () => {\r\n const data = [] as (JobStatisticState[\"entryStatistic\"][0] & {reach?: any})[];\r\n data.push(...entryStatistic)\r\n socialStatistic.map(s=>{\r\n data.push({\r\n date:s.date, \r\n displayCount: s.clicks, \r\n entryId:s.entryId, \r\n feedName: s.feedName, \r\n feedId: null,\r\n jobApplicationAppliedCount: null, \r\n jobApplicationInitiatedCount: null,\r\n searchedCount: s.impressions,\r\n reach: s.reach\r\n })\r\n\r\n })\r\n data.sort((a, b) => {\r\n if (a.date > b.date) return 1;\r\n if (a.date < b.date) return -1;\r\n return 0;\r\n });\r\n return data\r\n }\r\n const data = normalizeToSameObject();\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    {jae.title}

    \r\n
    \r\n \r\n
    \r\n

    {i18n.t('JAE_STATISTIC_TITLE')}

    \r\n \r\n
    \r\n
    \r\n

    {i18n.t('JAE_STATISTIC_DESCRIPTION')}{`: ${moment(jae.activationDate).format(\"DD. MMM YYYY\")}`}

    \r\n current && current > moment().endOf('day')}\r\n onChange={(e, d)=> dispatch(getJobStatistic(entryId, d[0], d[1]))}\r\n defaultValue={[moment(firstDayOfMonth, dateFormat), moment(today, dateFormat)]}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport \"../assets/Statistic.scss\"\r\nimport { Line } from 'react-chartjs-2';\r\nimport * as logo from \"../assets/logo.png\"\r\nexport function AdStatistic({chart,table,title, description}: {\r\n chart: {data: any}, \r\n title: string;\r\n table:{\r\n name: string,\r\n value: number\r\n }[],\r\n description?: string;\r\n }) \r\n{\r\n const chartRef = React.useRef(null);\r\n const reducer = (accumulator: any, currentValue: any) => {\r\n return accumulator + currentValue.value || 0\r\n };\r\n const sumTable = table.reduce(reducer, 0);\r\n const percent = (value: number) => {\r\n const rv = (value / sumTable) * 100 || 0;\r\n return `${rv.toFixed(0)}%`\r\n }\r\n return ( \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n

    {title}

    \r\n

    {description}

    \r\n
    \r\n
    \r\n
    Antal eksponeringer
    \r\n
    Procentsats
    \r\n
    \r\n {table.map((t, index)=> (\r\n
    \r\n
    {t.name}
    \r\n
    {t.value}
    \r\n
    {percent(t.value)}
    \r\n
    \r\n ))}\r\n
    \r\n
    Total
    \r\n
    {sumTable}
    \r\n
    {percent(sumTable)}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\n\r\nexport default (props) => {\r\n const bodyRef = React.useRef(null);\r\n const createPdf = () => props.createPdf(bodyRef.current);\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {props.children}\r\n
    \r\n
    \r\n )\r\n}","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Col, Row } from 'antd';\r\nimport i18n from \"../../../resources/i18n\"\r\nimport { AdStatistic } from \"../components/adstatistic\"\r\nimport { JobAdModalEx } from '../../../cms/models/modelExtentions/JobAdModelEx';\r\nimport { ApplicationState } from '../../../store';\r\nimport { getJobById } from '../../../store/JaeStore';\r\nimport { getJobStatistic, JobStatisticState, getEntryId,getJobStatisticDetails } from \"../../../store/JobStatistic\"\r\nimport moment from \"moment\"\r\nimport {Utils} from \"../../../Utils/Utils\"\r\n///for ad\r\nimport * as bg from '../assets/footer-on-front.png';\r\nimport { savePDF, PDFExport } from '@progress/kendo-react-pdf';\r\n\r\nimport PdfContainer from '../components/pdfcontainer';\r\nclass DocService {\r\n createPdf = (html) => {\r\n savePDF(html, { \r\n paperSize: \"a4\",\r\n forcePageBreak: \"page-breake\",\r\n fileName: `Report for ${new Date().getFullYear()}`,\r\n margin: 0,\r\n })\r\n }\r\n}\r\n\r\nconst Doc = new DocService();\r\nexport default function ADStatistic() {\r\n const w = window as any; \r\n const entryId = w.location.search.split(\"=\").pop() \r\n const jae = useSelector((s) => s.jae) as JobAdModalEx;\r\n const { entryStatisticTotal, entryStatistic, socialStatisticTotal, socialStatistic, entryStatisticDetails} = useSelector((s)=> s.jobStatistic) \r\n const exposuresTable = entryStatisticTotal.map(v => ({name: v.feedName, value: v.searchedCount})).concat(socialStatisticTotal.map(c => ({name: c.feedName, value: c.impressions})))\r\n const viewsTable = entryStatisticTotal.map(v => ({name: v.feedName, value: v.displayCount})).concat(socialStatisticTotal.map(c => ({name: c.feedName, value: c.clicks})))\r\n const initiatedTable = entryStatisticTotal.map(v => ({name: v.feedName, value: v.jobApplicationInitiatedCount})).concat(socialStatisticTotal.map(c => ({name: c.feedName, value: null})))\r\n const dispatch = useDispatch();\r\n \r\n React.useEffect(()=>{\r\n // dispatch(getJobById(jobId));\r\n }, []);\r\n React.useEffect(() => {\r\n if (entryId) {\r\n dispatch(getJobStatistic(entryId));\r\n dispatch(getJobStatisticDetails(entryId));\r\n }\r\n },[entryId])\r\n //build maped object for chart the same from entrystat\r\n const normalizeToSameObject = () => {\r\n const data = [] as (JobStatisticState[\"entryStatistic\"][0] & {reach?: any})[];\r\n data.push(...entryStatistic)\r\n socialStatistic.map(s=>{\r\n data.push({\r\n date:s.date, \r\n displayCount: s.clicks, \r\n entryId:s.entryId, \r\n feedName: s.feedName, \r\n feedId: null,\r\n jobApplicationAppliedCount: null, \r\n jobApplicationInitiatedCount: null,\r\n searchedCount: s.impressions,\r\n reach: s.reach\r\n })\r\n\r\n })\r\n data.sort((a, b) => {\r\n if (a.date > b.date) return 1;\r\n if (a.date < b.date) return -1;\r\n return 0;\r\n });\r\n return data\r\n }\r\n const data = normalizeToSameObject();\r\n const companyName = (window as any)?.COMPANY_NAME;\r\n const createPdf = (html) => Doc.createPdf(html);\r\n const canvas = React.useRef(null);\r\n let ctx = null;\r\n const [lastSpace, setLastSpace] = React.useState(0)\r\n // initialize the canvas context\r\n React.useEffect(() => {\r\n // dynamically assign the width and height to canvas\r\n const canvasEle = canvas.current;\r\n canvasEle.width = canvasEle.clientWidth;\r\n canvasEle.height = canvasEle.clientHeight;\r\n \r\n // get context of the canvas\r\n ctx = canvasEle.getContext(\"2d\");\r\n \r\n if(entryStatisticDetails){\r\n writeText({ text:\"STATISTIK FRA OFIR \", x: 320, y: 0 },{fontSize: 16, textAlign: \"center\"});\r\n writeText({ text:\"DATAPÃ… DIN JOBANNONCE\", x: 320, y: 190 },{fontSize: 32, textAlign: \"center\", maxWidth: 220});\r\n writeText({ text: entryStatisticDetails?.Title || \"\", x: 320, y: 285 }, { fontSize: 24, textAlign: 'center', color: \"pink\" }, (e) => setLastSpace(e));\r\n writeText({ text: companyName, x: 320, y: lastSpace }, { fontSize: 24, textAlign: 'center',});\r\n }\r\n \r\n }, [entryStatisticDetails, lastSpace]);\r\n // write a text\r\n const writeText = (info: any, style = {} as any, callbackSpace?: (e)=>void) => {\r\n let { text, x, y } = info;\r\n const { fontSize = 24, fontFamily = 'Arial', color = 'white', textAlign = 'left', textBaseline = 'top', maxWidth = 380, lineHeight = 40} = style;\r\n ctx.beginPath();\r\n ctx.font = fontSize + 'px ' + fontFamily;\r\n ctx.fontWeight = \"bold\";\r\n ctx.textAlign = textAlign;\r\n ctx.textBaseline = textBaseline;\r\n ctx.fillStyle = color;\r\n \r\n var words = text.split(' ');\r\n var line = '';\r\n \r\n for(var n = 0; n < words.length; n++) {\r\n var testLine = line + words[n] + ' ';\r\n var metrics = ctx.measureText(testLine);\r\n var testWidth = metrics.width;\r\n if (testWidth > maxWidth && n > 0) {\r\n ctx.fillText(line.toUpperCase(), x, y);\r\n line = words[n] + ' ';\r\n y += lineHeight;\r\n }\r\n else {\r\n line = testLine;\r\n }\r\n }\r\n callbackSpace && callbackSpace(y + lineHeight)\r\n \r\n ctx.fillText(line.toUpperCase(), x, y);\r\n ctx.stroke();\r\n }\r\n const reducer = (accumulator: any, currentValue: any) => {\r\n return accumulator + currentValue.value || 0\r\n };\r\n const suminitiatedTable = initiatedTable.reduce(reducer, 0);\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n \"\"\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faMinusCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport className from 'classnames';\r\nimport { registerEvent } from '../../../../googleTagManager';\r\nimport TooltipMessage from '../TooltipMessage/TooltipMessage';\r\n\r\nimport './assets/FileBar.scss';\r\n\r\nexport default function FileBar({\r\n url,\r\n deleteable,\r\n asLink,\r\n minified,\r\n onDelete,\r\n // onDownload,\r\n fileIcon,\r\n tooltip\r\n}: {\r\n url: string;\r\n deleteable?: boolean;\r\n asLink?: boolean;\r\n minified?: boolean;\r\n tooltip?: string;\r\n fileIcon: IconProp;\r\n onDelete?(e: any);\r\n // onDownload?(e: any);\r\n}) {\r\n const barClassName = className([\r\n 'file-bar',\r\n {\r\n 'file-bar--minified': minified\r\n }\r\n ]);\r\n\r\n const forceDownload = (blob: any, filename: string) => {\r\n }\r\n\r\n // Current blob size limit is around 500MB for browsers\r\n const downloadResource = (url: string, filename: string) => {\r\n if (!filename) filename = url.split('\\\\').pop().split('/').pop();\r\n fetch(url)\r\n .then(response => response.blob())\r\n .then(blob => {\r\n let blobUrl = URL.createObjectURL(blob);\r\n var a = document.createElement('a');\r\n a.download = filename;\r\n a.href = blobUrl;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n\r\n })\r\n .catch(e => console.error(e));\r\n }\r\n\r\n\r\n const handleOpen = (e: React.MouseEvent) => {\r\n downloadResource(url, tooltip);\r\n registerEvent({ event: 'applicantFilesOpened' });\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {tooltip}\r\n \r\n {deleteable && (\r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport * as icons from './assets/images';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport {\r\n faGithub,\r\n faLinkedin,\r\n faFacebook,\r\n faInstagram,\r\n faPinterest,\r\n faReddit,\r\n faWordpress,\r\n faTwitter,\r\n faWix,\r\n faYoutube\r\n} from '@fortawesome/free-brands-svg-icons';\r\nimport {\r\n faEnvelope,\r\n faLink,\r\n faPhone,\r\n faStickyNote,\r\n faTable,\r\n faTachometerAlt,\r\n faUser,\r\n faExternalLinkAlt,\r\n faFileWord,\r\n faFilePdf,\r\n faFileExcel,\r\n faFileAlt,\r\n faFileImage,\r\n faFilePowerpoint,\r\n faFile,\r\n faPlus,\r\n faMinusCircle,\r\n faTimesCircle,\r\n faCircle\r\n} from '@fortawesome/free-solid-svg-icons';\r\nimport { OriginalNameFileModel, Status } from '../../../../services/autorest/models';\r\nimport ApiConstants from '../../../common/apiConstants';\r\nimport FileBar from '../../_shared/FileBar/FileBar';\r\n\r\nexport const getImageSource = (source: string): any => {\r\n const x = source.trim().toLocaleLowerCase();\r\n if (x.indexOf('github.com') > -1) {\r\n return faGithub;\r\n } else if (x.indexOf('linkedin.com') > -1) {\r\n return faLinkedin;\r\n } else if (x.indexOf('facebook.com') > -1) {\r\n return faFacebook;\r\n } else if (x.indexOf('instagram.com') > -1) {\r\n return faInstagram;\r\n } else if (x.indexOf('pinterest.com') > -1) {\r\n return faPinterest;\r\n } else if (x.indexOf('reddit.com') > -1) {\r\n return faReddit;\r\n } else if (x.indexOf('wordpress.com') > -1) {\r\n return faWordpress;\r\n } else if (x.indexOf('twitter.com') > -1) {\r\n return faTwitter;\r\n } else if (x.indexOf('wix.com') > -1) {\r\n return faWix;\r\n } else if (x.indexOf('youtube.com') > -1) {\r\n return faYoutube;\r\n } else if (x.endsWith('.docx')) {\r\n return faFileWord;\r\n } else if (x.endsWith('.odt')) {\r\n return faFile;\r\n } else if (x.endsWith('.doc')) {\r\n return faFileWord;\r\n } else if (x.endsWith('.txt')) {\r\n return faFileAlt;\r\n } else if (x.endsWith('.xls')) {\r\n return faFileExcel;\r\n } else if (x.endsWith('.pdf')) {\r\n return faFilePdf;\r\n } else if (x.endsWith('.xlsx')) {\r\n return faFileExcel;\r\n } else if (x.endsWith('.jpg') || x.endsWith('.jpeg') || x.endsWith('.png') || x.endsWith('.bmp') || x.endsWith('.gif')) {\r\n return faFileImage;\r\n } else if (x.endsWith('.ppsx') || x.endsWith('.ppt') || x.endsWith('.pptm') || x.endsWith('.pptx')) {\r\n return faFilePowerpoint;\r\n } else {\r\n return faExternalLinkAlt;\r\n }\r\n};\r\n\r\nexport function generateUrlLinks(\r\n urls: string[],\r\n files: OriginalNameFileModel[],\r\n deleteable?: boolean,\r\n onDeleteClicked?: (file: OriginalNameFileModel | string) => void,\r\n minified?: boolean\r\n) {\r\n return (\r\n <>\r\n {urls\r\n .filter((item) => item.trim() !== '')\r\n .map((item, i) => {\r\n const deleteLink = (e) => onDeleteClicked(item);\r\n const url = item.trim().startsWith('http') ? item : 'http://' + item.trim();\r\n\r\n return (\r\n \r\n );\r\n })}\r\n\r\n {files.map((x, i) => {\r\n const deleteFile = (e) => onDeleteClicked(x);\r\n const fileUrl = ApiConstants.siteOptions.fileStoreDownload.replace('{siteid}', window['SITE_ID']).replace('{filename}', x.fileGuid);\r\n\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n}\r\n\r\nexport function orderStatus() {\r\n const arr = Object.keys(Status);\r\n arr.splice(1, 0, arr.splice(8, 1)[0]);\r\n return arr;\r\n}\r\n\r\nexport function getCandidateSortingNames() {\r\n return [\r\n {\r\n columnName: 'name',\r\n headerFontAwsome: faUser,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_NAME'\r\n },\r\n {\r\n columnName: 'applicationDate',\r\n headerFontAwsome: faTable,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_APPLICATIONDATE'\r\n },\r\n {\r\n columnName: 'phoneNumber',\r\n headerFontAwsome: faPhone,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_PHONE',\r\n className: 'sm-hidden-col'\r\n },\r\n {\r\n columnName: 'email',\r\n headerFontAwsome: faEnvelope,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_EMAIL'\r\n },\r\n {\r\n columnName: 'status',\r\n headerFontAwsome: faTachometerAlt,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_STATUS'\r\n },\r\n {\r\n columnName: 'emails',\r\n headerFontAwsome: faEnvelope,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_EMAILS',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'note',\r\n headerFontAwsome: faStickyNote,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_NOTES',\r\n className: 'sm-hidden-col'\r\n },\r\n {\r\n columnName: 'urls',\r\n headerFontAwsome: faLink,\r\n headerTextResourceName: 'CANDIDATE_LIST_LIST_HEADER_FILES_AND_LINKS',\r\n className: 'sm-hidden-col'\r\n }\r\n ];\r\n}\r\n\r\nexport function handleSidebarMiniClick() {\r\n const fixedContent = document.querySelector('#react-app');\r\n if (Utils.hasClass(fixedContent, 'move-left')) {\r\n fixedContent.classList.remove('move-left');\r\n fixedContent.classList.remove('move-right');\r\n } else if (!Utils.hasClass(document.body, 'sb-l-c')) {\r\n fixedContent.classList.add('move-left');\r\n fixedContent.classList.remove('move-right');\r\n } else {\r\n fixedContent.classList.add('move-left');\r\n }\r\n}\r\n\r\nexport function handleToggleSidebar() {\r\n const fixedContent = document.querySelector('#react-app');\r\n if (Utils.hasClass(fixedContent, 'move-right')) {\r\n fixedContent.classList.remove('move-right');\r\n fixedContent.classList.remove('move-left');\r\n } else if (Utils.hasClass(document.body, 'sb-l-m')) {\r\n fixedContent.classList.remove('move-left');\r\n fixedContent.classList.add('move-right');\r\n } else if (Utils.hasClass(document.body, 'sb-l-c')) {\r\n fixedContent.classList.remove('move-left');\r\n fixedContent.classList.remove('move-right');\r\n } else {\r\n fixedContent.classList.add('move-right');\r\n }\r\n}\r\n","import React from 'react';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { registerEvent } from '../../../../googleTagManager';\r\n\r\nimport './assets/MenuStatusList.scss';\r\n\r\nexport default function MenuStatusList({\r\n active,\r\n orderedStatuses,\r\n handleStatusChange,\r\n firstEmpty,\r\n gTMEventData\r\n}: {\r\n orderedStatuses: string[];\r\n handleStatusChange(item: string): void;\r\n firstEmpty?: boolean;\r\n active?: string;\r\n gTMEventData?(selectedStatus: string): any;\r\n}) {\r\n return (\r\n
    \r\n {firstEmpty && (\r\n {\r\n handleStatusChange('');\r\n if (gTMEventData) {\r\n registerEvent(gTMEventData(''));\r\n }\r\n }}\r\n >\r\n {i18n.t('CANDIDATE_LIST_FILTER_ALL')}\r\n \r\n )}\r\n {orderedStatuses.map((item, index) => {\r\n return (\r\n {\r\n handleStatusChange(item);\r\n\r\n if (gTMEventData) {\r\n const gtmdata = gTMEventData(item);\r\n if (Array.isArray(gtmdata)) {\r\n gtmdata.forEach((dg) => {\r\n registerEvent(gTMEventData(dg));\r\n });\r\n } else {\r\n registerEvent(gTMEventData(item));\r\n }\r\n }\r\n }}\r\n >\r\n {i18n.t('CANDIDATE_LIST_STATUS_' + item.toLocaleUpperCase())}\r\n \r\n );\r\n })}\r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { Popover as AntdPopover } from 'antd';\r\nimport { TooltipPlacement, TooltipTrigger } from 'antd/lib/tooltip';\r\n\r\nexport default function Popover({\r\n children,\r\n content,\r\n className,\r\n placement = 'top',\r\n trigger = 'click',\r\n visible,\r\n onVisibleChange,\r\n renderInBody = false\r\n}: {\r\n children: React.ReactNode;\r\n content: React.ReactNode;\r\n placement?: TooltipPlacement;\r\n trigger?: TooltipTrigger;\r\n className?: string;\r\n visible?: boolean;\r\n onVisibleChange?(visible: boolean): void;\r\n renderInBody?: boolean;\r\n}) {\r\n const additionalPros = {\r\n [visible === undefined ? '' : 'visible']: visible\r\n };\r\n\r\n return (\r\n triggerNode.parentNode}\r\n onVisibleChange={onVisibleChange}\r\n {...additionalPros}\r\n >\r\n {children}\r\n \r\n );\r\n}\r\n","const emailregex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-||_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+([a-z]+|\\d|-|\\.{0,1}|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])?([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/g;\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nexport const candidatListValidationDescription = {\r\n name: {\r\n required: i18n.t('CANDIDATE_CARD_DETAILS_VALIDATION_NAME'),\r\n },\r\n email: {\r\n regex: { pattern: emailregex, resource: i18n.t('CANDIDATE_CARD_DETAILS_VALIDATION_EMAIL') }\r\n },\r\n}","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheck, faTimes, faPen } from '@fortawesome/free-solid-svg-icons';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\n\r\nexport default function EditableLabel({\r\n text,\r\n onChange,\r\n onEditSucces,\r\n onCancelEdit,\r\n placeholder,\r\n placeholderClassName,\r\n placeholderStyle,\r\n hidePlaceholderOnEdit = false,\r\n hidePlaceholderNonEmpty = false,\r\n type = 'text',\r\n children,\r\n defaultEditOpen,\r\n className\r\n}: {\r\n placeholder: string;\r\n text: string | number;\r\n onChange?(text: string);\r\n onCancelEdit();\r\n onEditSucces();\r\n placeholderClassName?: string;\r\n placeholderStyle?: React.CSSProperties;\r\n hidePlaceholderOnEdit?: boolean;\r\n hidePlaceholderNonEmpty?: boolean;\r\n defaultEditOpen?: boolean;\r\n type?: 'number' | 'text';\r\n children?: any;\r\n className?: string;\r\n}) {\r\n const wrapClass = classNames('edit-label-wrap', {\r\n [className]: !!className\r\n });\r\n\r\n const [editMode, setEditMode] = React.useState(!!defaultEditOpen);\r\n\r\n let hideplaceholder = editMode && hidePlaceholderOnEdit;\r\n\r\n if (!hideplaceholder) {\r\n hideplaceholder = hidePlaceholderNonEmpty && !!text;\r\n }\r\n\r\n return (\r\n
    e.preventDefault()}>\r\n {!hideplaceholder && (\r\n \r\n \r\n \r\n )}\r\n {editMode && (\r\n \r\n {!children && onChange(e.target.value)} value={text.toString()} />}\r\n {children}\r\n
    \r\n }\r\n onClick={async () => {\r\n const error = await onEditSucces();\r\n error ? setEditMode(true) : setEditMode(false); \r\n }}\r\n />\r\n }\r\n onClick={() => {\r\n setEditMode(false);\r\n onCancelEdit();\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n {!editMode && (\r\n \r\n {text && }\r\n }\r\n onClick={() => setEditMode(true)}\r\n />\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport classNames from 'classnames';\r\nimport { faTable, faEnvelope, faStickyNote, faLink, faInfoCircle, faPen, faFileMedical } from '@fortawesome/free-solid-svg-icons';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { generateUrlLinks } from '../CandidateListItems/CandidateListHelpers';\r\nimport { CandidateListFullModel, OriginalNameFileModel, NoteModel } from '../../../../services/autorest/models';\r\nimport Base64 from '../../../../Utils/ts-base64';\r\nimport DropZoneHelper from '../../_shared/DropZoneHelper/DropZoneHelper';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport SelectMenu, { SelectMenuOption } from '../../_shared/Controls/SelectMenu/SelectMenu';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { showConfirmModal, formatDate } from '../../_shared/CommonModal/CommonModalUtils';\r\nimport Popover from '../../_shared/Popover/Popover';\r\nimport validator from \"../../../../Pages/Site/Create/ValidateObject\"\r\nimport {candidatListValidationDescription} from \"./validationDescription\"\r\nimport './CandidateListCard.scss';\r\nimport EditableLabel from '../CandidateEditableLabel/CandidateEditableLabel';\r\nimport { showSuccessSnak, showErrorSnak } from '../../../../store/MetadataStore';\r\nimport { useDispatch } from 'react-redux';\r\nimport { List } from 'antd';\r\nimport Badge from '../../_shared/Badge/Badge';\r\nimport { ApiService } from '../../../../services/apiService';\r\n\r\nexport default function CandidateListCard({\r\n candidateDetails,\r\n showSelectStatus,\r\n noteDialogOpen,\r\n onShowSendEmail,\r\n onPDFExport,\r\n onDelete,\r\n onForward,\r\n onEmailResend,\r\n jobTitle,\r\n onUpdateCandidateDetails,\r\n isNew,\r\n onNewCandidateSave,\r\n statusListComponent,\r\n}: {\r\n candidateDetails: CandidateListFullModel;\r\n showSelectStatus(e: React.MouseEvent): void;\r\n noteDialogOpen(e: React.MouseEvent): void;\r\n onShowSendEmail(): void;\r\n onPDFExport(candidateData: CandidateListFullModel, jobTitle: string): void;\r\n onDelete(): void;\r\n onForward(): void;\r\n onEmailResend(): void;\r\n showSendEmail?: boolean;\r\n isNew?: boolean;\r\n jobTitle?: string;\r\n onNewCandidateSave(): void;\r\n statusListComponent: React.ReactNode;\r\n onUpdateCandidateDetails(candidateDetails: {\r\n email: string,\r\n description: string,\r\n educationLevel: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n files: OriginalNameFileModel[],\r\n name: string,\r\n urls: string[],\r\n wantedJobTitle: string\r\n }): void;\r\n}) {\r\n const [localCandidate, setLocalCandidate] = React.useState({ ...candidateDetails });\r\n const [showStatusSelector, setStatusSelectorState] = React.useState(false);\r\n const [newUrl, setNewUrl] = React.useState('');\r\n const [showUrlsEdit, setShowUrlsEdit] = React.useState(false);\r\n const [showAllNotes, setShowAllNotes] = React.useState(false);\r\n const dispatch = useDispatch();\r\n\r\n React.useEffect(() => {\r\n if (candidateDetails) {\r\n setLocalCandidate({ ...candidateDetails,email: candidateDetails.email.toLowerCase() });\r\n }\r\n }, [candidateDetails]);\r\n\r\n const decodedJobTitle = Base64.decode(jobTitle);\r\n const lightApplyData = localCandidate.lightApplyData ? JSON.parse(localCandidate.lightApplyData) : false;\r\n const hasUrlsOrFiles =\r\n (localCandidate.urls && localCandidate.urls.length > 0 && localCandidate.urls[0] != '') || (localCandidate.files && localCandidate.files.length > 0);\r\n let displayedDescription = '';\r\n\r\n const handleStatusSelectorVisibility = (value) => {\r\n setStatusSelectorState(value);\r\n };\r\n \r\n\r\n const updateCandidateDetails = async (candidate?: CandidateListFullModel) => {\r\n //Make sure file upload is working too\r\n let can = candidate;\r\n\r\n if (!can) {\r\n can = localCandidate;\r\n }\r\n const {email, description, educationLevel, experienceYears, latestJobTitle, phoneNumber, files, name, urls, wantedJobTitle} = can;\r\n const errors = await validator(can, candidatListValidationDescription);\r\n delete errors.hasError;\r\n if (Object.keys(errors).length !== 0){\r\n for (const key in errors){\r\n const msg = `${errors[key]}`; \r\n dispatch(showErrorSnak(msg));\r\n }\r\n return true;\r\n }\r\n const res = await ApiService.candidateDetailsUpdate({ ...can });\r\n onUpdateCandidateDetails({\r\n email,\r\n description,\r\n educationLevel,\r\n experienceYears,\r\n latestJobTitle,\r\n phoneNumber,\r\n files,\r\n name,\r\n urls,\r\n wantedJobTitle\r\n });\r\n };\r\n\r\n const handlePDFExport = () => {\r\n onPDFExport(candidateDetails, decodedJobTitle);\r\n };\r\n\r\n const handleSave = () => {\r\n onNewCandidateSave();\r\n };\r\n\r\n const handleFileDelete = (item: OriginalNameFileModel | string) => {\r\n if (typeof item === 'string') {\r\n showConfirmModal({\r\n title: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_HEADER_LINK'),\r\n content: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_MESSAGE_LINK').replace('%0', item),\r\n cancelText: i18n.t('CANDIDATE_CARD_CANCEL_DELETE_FILE_BUTTON'),\r\n okText: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_FILE_BUTTON'),\r\n onOk: () => {\r\n const urls = localCandidate.urls.filter((x) => x !== item);\r\n const lc = { ...localCandidate, urls };\r\n\r\n setLocalCandidate(lc);\r\n updateCandidateDetails(lc);\r\n },\r\n });\r\n } else {\r\n const file = item as OriginalNameFileModel;\r\n\r\n showConfirmModal({\r\n title: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_HEADER'),\r\n content: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_MESSAGE').replace('%0', file.originalName),\r\n cancelText: i18n.t('CANDIDATE_CARD_CANCEL_DELETE_FILE_BUTTON'),\r\n okText: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_FILE_BUTTON'),\r\n onOk: () => {\r\n const files = localCandidate.files.filter((x) => x.fileGuid != file.fileGuid);\r\n const lc = { ...localCandidate, files };\r\n\r\n setLocalCandidate(lc);\r\n updateCandidateDetails(lc);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const updateCandidateUrls = () => {\r\n const newUrls = [...localCandidate.urls, newUrl];\r\n const updatedCandidate = {\r\n ...localCandidate,\r\n urls: newUrls,\r\n };\r\n\r\n setLocalCandidate(updatedCandidate);\r\n setNewUrl('');\r\n setShowUrlsEdit(false);\r\n\r\n updateCandidateDetails(updatedCandidate);\r\n };\r\n\r\n if (localCandidate.description) {\r\n displayedDescription = localCandidate.description.replace(/\\n/g, '
    ').replace(/\\s/gi, ' ');\r\n }\r\n\r\n const renderNoteList = () => {\r\n const itemsToRender = (notes, expand): NoteModel[] => expand ? notes : [notes[0],];\r\n return (\r\n candidateDetails.notes && candidateDetails.notes.length != 0 ?\r\n 1 &&\r\n
    \r\n \r\n setShowAllNotes(!showAllNotes)}\r\n size=\"small\"\r\n title={showAllNotes ? i18n.t('COLLAPSE_NOTE_LIST_BUTTON') : i18n.t('EXPAND_NOTE_LIST_BUTTON')}\r\n />\r\n \r\n
    \r\n }\r\n renderItem={noteItem => (\r\n \r\n {i18n.t('NOTE_CREATED_AT_LABEL')}: {formatDate(noteItem.createDate)} {i18n.t('NOTE_CREATED_BY_TITLE')}: {noteItem.userFullName}
    }\r\n description={noteItem.note}\r\n />\r\n \r\n )}\r\n /> : (\r\n
    \r\n {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')}\r\n
    \r\n )\r\n )\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n }\r\n onClick={onShowSendEmail}\r\n toolTip={i18n.t('CANDIDATE_LIST_MESSAGE_BUTTON_TOOLTIP')}\r\n size=\"round\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {isNew && (\r\n
    \r\n {i18n.t('CANDIDATE_LIST_LIST_HEADER_NAME')}\r\n
    )}\r\n {\r\n setLocalCandidate({ ...localCandidate, name: t });\r\n }}\r\n onCancelEdit={() => setLocalCandidate({ ...localCandidate, name: candidateDetails.name })}\r\n onEditSucces={updateCandidateDetails}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n handleStatusSelectorVisibility(false);\r\n }}\r\n >\r\n {statusListComponent}\r\n
    \r\n }\r\n renderInBody\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {localCandidate.jobId != '00000000-0000-0000-0000-000000000000' && (\r\n
    \r\n {decodedJobTitle}\r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {i18n.t('CANDIDATE_LIST_LIST_HEADER_APPLICATIONDATE')}\r\n {': '}\r\n {Utils.dateFormatDefaultLanguage(localCandidate.applicationDate)}\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {\r\n setLocalCandidate({ ...localCandidate, email: t });\r\n }}\r\n onCancelEdit={() => setLocalCandidate({ ...localCandidate, email: candidateDetails.email })}\r\n onEditSucces={updateCandidateDetails}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n {i18n.t('CANDIDATE_LIST_LIST_HEADER_NOTES')}\r\n \r\n
    \r\n }\r\n toolTip={i18n.t('CANDIDATE_LIST_NOTE_BUTTON_TOOLTIP')}\r\n onClick={noteDialogOpen}\r\n size=\"round\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {renderNoteList()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {!lightApplyData && {i18n.t('CANDIDATE_LIST_LIST_HEADER_FILES_AND_LINKS')}}\r\n {lightApplyData && {i18n.t('CANDIDATE_LIST_LIST_HEADER_LINKS')}}\r\n
    \r\n {\r\n const files = localCandidate.files ? [...localCandidate.files] : [];\r\n\r\n for (let i = 0; i < fileNames.length; i++) {\r\n files.push({ fileGuid: fileNames[i], originalName: data[i].name });\r\n }\r\n\r\n const lc = { ...localCandidate, files };\r\n\r\n setLocalCandidate(lc);\r\n updateCandidateDetails(lc);\r\n }}\r\n >\r\n }\r\n size=\"round\"\r\n toolTip={i18n.t('CANDIDATE_LIST_FILE_BUTTON_TOOLTIP')}\r\n />\r\n \r\n }\r\n size=\"round\"\r\n toolTip={i18n.t('CANDIDATE_LIST_LINK_BUTTON_TOOLTIP')}\r\n onClick={() => {\r\n setShowUrlsEdit(true);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n {showUrlsEdit && (\r\n {\r\n setNewUrl(value);\r\n }}\r\n onCancelEdit={() => {\r\n setNewUrl('');\r\n setShowUrlsEdit(false);\r\n }}\r\n onEditSucces={updateCandidateUrls}\r\n />\r\n )}\r\n {hasUrlsOrFiles && (\r\n
    \r\n {generateUrlLinks(localCandidate.urls || [], localCandidate.files || [], true, (item) => {\r\n handleFileDelete(item as any);\r\n })}\r\n
    \r\n )}\r\n {!hasUrlsOrFiles && (\r\n
    \r\n {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {i18n.t('CANDIDATE_LIST_LIST_HEADER_DETAILS')}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {i18n.t('CANDIDATE_LIST_LIST_HEADER_PHONE')}\r\n
    \r\n {\r\n setLocalCandidate({ ...localCandidate, phoneNumber: t });\r\n }}\r\n onCancelEdit={() => setLocalCandidate({ ...localCandidate, phoneNumber: candidateDetails.phoneNumber })}\r\n onEditSucces={updateCandidateDetails}\r\n />\r\n
    \r\n {localCandidate.jobId === '00000000-0000-0000-0000-000000000000' && (\r\n
    \r\n
    \r\n {i18n.t('CANDIDATE_LIST_LIST_HEADER_WANTED_JOB_TITLE')}\r\n
    \r\n {isNew ? (\r\n <>\r\n {\r\n setLocalCandidate({ ...localCandidate, wantedJobTitle: t });\r\n }}\r\n onCancelEdit={() => setLocalCandidate({ ...localCandidate, wantedJobTitle: candidateDetails.wantedJobTitle })}\r\n onEditSucces={updateCandidateDetails}\r\n />\r\n \r\n ) : (\r\n <>\r\n {localCandidate.wantedJobTitle &&
    {localCandidate.wantedJobTitle}
    }\r\n {!localCandidate.wantedJobTitle &&
    {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')}
    }\r\n \r\n )}\r\n
    \r\n )}\r\n {lightApplyData &&\r\n lightApplyData.map((x, i) => {\r\n if (x.value != '') {\r\n return (\r\n
    \r\n
    \r\n {i18n.t(x.name)}\r\n
    \r\n
    {x.value}
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n
    \r\n {i18n.t(x.name)}\r\n
    \r\n
    {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')}
    \r\n
    \r\n );\r\n }\r\n })}\r\n {!lightApplyData && (\r\n <>\r\n
    \r\n
    \r\n {i18n.t('CANDIDATE_LIST_LIST_APPLICATION_TEXT')}\r\n
    \r\n setLocalCandidate({ ...localCandidate, description: candidateDetails.description })}\r\n onEditSucces={updateCandidateDetails}\r\n >\r\n {\r\n setLocalCandidate({ ...localCandidate, description: e.target.value });\r\n }}\r\n />\r\n \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {!isNew && Utils.isSuperAdmin() && (
    )}\r\n
    \r\n {isNew ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n );\r\n}\r\n","import { actionCreator, Action, isType } from './Action';\r\n\r\nexport type ModalData = { [key: string]: any };\r\n\r\nexport interface ModalState {\r\n templateType: string;\r\n data?: ModalData;\r\n}\r\n\r\nconst initialState: ModalState = {\r\n templateType: '',\r\n data: {}\r\n};\r\n\r\nexport const MODAL_TYPES = {\r\n CHANGE_PASSWORD: 'CHANGE_PASSWORD',\r\n CANDIDATE_MESSAGE_WINDOW: 'CANDIDATE_MESSAGE_WINDOW',\r\n CANDIDATE_NOTE: 'CANDIDATE_NOTE',\r\n CANDIDATE_EMAILS: 'CANDIDATE_EMAILS',\r\n CANDIDATE_EMAILS_HOVER: \"CANDIDATE_EMAILS_HOVER\"\r\n};\r\n\r\nconst actions = {\r\n showModal: actionCreator<{ templateType: string; data?: ModalData, hover: boolean }>('MODAL_SHOW'),\r\n hideModal: actionCreator('MODAL_SHOW')\r\n};\r\n\r\nexport function reducer(state: ModalState = initialState, action: Action): ModalState {\r\n let newState = { ...state };\r\n\r\n if (isType(action, actions.showModal)) {\r\n newState = {\r\n ...newState,\r\n templateType: action.payload.templateType,\r\n data: action.payload.data || {}\r\n };\r\n\r\n return newState;\r\n } else if (isType(action, actions.hideModal)) {\r\n newState = {\r\n ...newState,\r\n templateType: '',\r\n data: {}\r\n };\r\n\r\n return newState;\r\n }\r\n\r\n return newState;\r\n}\r\n\r\nfunction showModal(template: string, data?: ModalData) {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.showModal({ templateType: template, data: data, hover: data?.hover}));\r\n };\r\n}\r\n\r\nexport function hideModal() {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.showModal({ templateType: '', hover: false}))\r\n // setTimeout(()=>{ dispatch(actions.showModal({ templateType: '', hover: false, data: {cord:{x: 0, y: 0}} }))},300)\r\n };\r\n}\r\n\r\nexport function showChangePassword(data?: ModalData) {\r\n return async (dispatch: Function) => {\r\n dispatch(showModal(MODAL_TYPES.CHANGE_PASSWORD, data));\r\n };\r\n}\r\n\r\nexport function showCandidateMessageWindow(data?: ModalData) {\r\n return async (dispatch: Function) => {\r\n dispatch(showModal(MODAL_TYPES.CANDIDATE_MESSAGE_WINDOW, data));\r\n };\r\n}\r\n\r\nexport function showCandidateNote(data?: ModalData) {\r\n return async (dispatch: Function) => {\r\n dispatch(showModal(MODAL_TYPES.CANDIDATE_NOTE, data));\r\n };\r\n}\r\n\r\nexport function showCandidateEmails(data?: ModalData) {\r\n return async (dispatch: Function) => {\r\n dispatch(showModal(MODAL_TYPES.CANDIDATE_EMAILS, data));\r\n };\r\n}\r\nexport function showCandidateEmailsHover(data?: ModalData) {\r\n return async (dispatch: Function) => {\r\n dispatch(showModal(MODAL_TYPES.CANDIDATE_EMAILS_HOVER, data));\r\n };\r\n}\r\n","import { actionCreator, Action, isType } from './Action';\r\nimport { CandidateListShortModel, Status, CandidateListFullModel, PatchCandidateDetailsModel, NoteModel } from '../services/autorest/models/index';\r\nimport { AppThunkAction, ApplicationState } from '.';\r\nimport { ApiService } from '../services/apiService';\r\nimport { hideModal } from './ModalStore';\r\nimport { updateLoadingState } from './LoadingStore';\r\n\r\nexport interface CandidateModelState {\r\n candidates?: CandidateListShortModel[];\r\n candidatesForDelete?: CandidateListShortModel[];\r\n itemsCount?: number;\r\n isFetching?: boolean;\r\n selectedCandidateId: string;\r\n}\r\n\r\nexport const actions = {\r\n updateCandidateStatus: actionCreator<{ status: string; id: string }>('UPDATE_CANDIDATE_STATUS'),\r\n isFetching: actionCreator<{ isFetching: boolean }>('IS_FETCHING'),\r\n getCandidates: actionCreator<{ candidates?: CandidateListShortModel[]; itemsCount?: number; isFetching?: boolean }>('GET_CANDIDATES'),\r\n updateCandidateNote: actionCreator<{ candidateId: string; noteId: string; newNote: NoteModel }>('UPDATE_CANDIDATE_NOTE'),\r\n addCandidateNote: actionCreator<{ candidateId: string; newNote: NoteModel }>('ADD_CANDIDATE_NOTE'),\r\n deleteCandidateNote: actionCreator<{ candidateId: string; noteId: string; }>('DELETE_CANDIDATE_NOTE'),\r\n updateCandidateDetails: actionCreator<{ model: PatchCandidateDetailsModel }>('UPDATE_CANDIDATE_EMAIL'),\r\n updateCandidateEmailCount: actionCreator<{ id: string }>('UPDATE_CANDIDATE_EMAIL_COUNT'),\r\n concatenateCandidates: actionCreator<{ candidates?: CandidateListShortModel[]; itemsCount?: number; isFetching?: boolean }>('UPDATE_CANDIDATES_MOBILE'),\r\n replaceCandidate: actionCreator<{ candidateDetails: CandidateListFullModel }>('REPLACE_CANDIDATE'),\r\n setSelectedCandidateId: actionCreator<{ candidateId: string }>('SET_SELECTED_CANDIDATE')\r\n};\r\n\r\nexport function reducer(\r\n state: CandidateModelState = { candidates: [], itemsCount: 0, isFetching: false, selectedCandidateId: '' },\r\n action: Action\r\n): CandidateModelState {\r\n if (isType(action, actions.updateCandidateStatus)) {\r\n return updateProperty(state, action.payload.id, 'status', action.payload.status);\r\n } else if (isType(action, actions.updateCandidateNote)) {\r\n return {\r\n ...state,\r\n candidates: state.candidates.map(candidate => {\r\n if (candidate.id !== action.payload.candidateId)\r\n return { ...candidate };\r\n\r\n const updateNotes = candidate.notes.map(note => note.id === action.payload.noteId ? action.payload.newNote : { ...note });\r\n return { ...candidate, notes: updateNotes };\r\n })\r\n }\r\n } else if (isType(action, actions.addCandidateNote)) {\r\n return {\r\n ...state,\r\n candidates: state.candidates.map(candidate => {\r\n if (candidate.id !== action.payload.candidateId)\r\n return { ...candidate };\r\n\r\n return { ...candidate, notes: [...candidate.notes, action.payload.newNote] };\r\n })\r\n }\r\n } else if (isType(action, actions.deleteCandidateNote)) {\r\n return {\r\n ...state,\r\n candidates: state.candidates.map(candidate => {\r\n if (candidate.id !== action.payload.candidateId)\r\n return { ...candidate };\r\n\r\n return { ...candidate, notes: candidate.notes.filter(n => n.id !== action.payload.noteId) };\r\n })\r\n }\r\n } else if (isType(action, actions.updateCandidateDetails)) {\r\n const c = state.candidates.forEach((x: CandidateListFullModel) => {\r\n if (x.id === action.payload.model.id) {\r\n x.email = action.payload.model.email;\r\n x.name = action.payload.model.name;\r\n x.description = action.payload.model.description;\r\n x.educationLevel = action.payload.model.educationLevel;\r\n x.experienceYears = action.payload.model.experienceYears;\r\n x.latestJobTitle = action.payload.model.latestJobTitle;\r\n x.phoneNumber = action.payload.model.phoneNumber;\r\n x.urls = action.payload.model.urls;\r\n x.files = action.payload.model.files;\r\n }\r\n });\r\n updateProperty(state, action.payload.model.id, 'name', action.payload.model.name);\r\n return { ...state, candidates: [...state.candidates] };\r\n\r\n // return updateProperty(state, action.payload.id, action.payload.property, action.payload.value);\r\n } else if (isType(action, actions.setSelectedCandidateId)) {\r\n return { ...state, selectedCandidateId: action.payload.candidateId };\r\n } else if (isType(action, actions.replaceCandidate)) {\r\n const s = state.candidates.map((c) => {\r\n if (c.id === action.payload.candidateDetails.id) {\r\n return action.payload.candidateDetails;\r\n }\r\n return c;\r\n });\r\n return { ...state, candidates: s, selectedCandidateId: action.payload.candidateDetails.id };\r\n } else if (isType(action, actions.updateCandidateEmailCount)) {\r\n return {\r\n ...state,\r\n candidates: state.candidates.filter((c) => {\r\n if (c.id === action.payload.id) {\r\n if (c.numberOfEmails) {\r\n c.numberOfEmails++;\r\n } else {\r\n c.numberOfEmails = 1;\r\n }\r\n }\r\n return { ...c };\r\n })\r\n };\r\n } else if (isType(action, actions.getCandidates)) {\r\n return { ...state, ...action.payload };\r\n } else if (isType(action, actions.isFetching)) {\r\n return { ...state, isFetching: action.payload.isFetching };\r\n } else if (isType(action, actions.concatenateCandidates)) {\r\n return {\r\n ...state,\r\n candidates: [...state.candidates, ...action.payload.candidates],\r\n itemsCount: action.payload.itemsCount,\r\n isFetching: action.payload.isFetching\r\n };\r\n }\r\n return state;\r\n}\r\n\r\nexport function getCandidatesByJobId(\r\n jobid: string,\r\n searchString: string = '',\r\n statusFilterValue: Status = null,\r\n includeDeletedStatus: boolean = false,\r\n jobFilterValue: string = '',\r\n sortOn: string = 'applicationDate',\r\n sortDirection: string = 'DESC',\r\n pageNumber: number = 1,\r\n itemsCountPerPage: number = 10\r\n): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n\r\n const cms = await ApiService.getCandidatesByJobId(\r\n jobid,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n sortDirection,\r\n pageNumber,\r\n itemsCountPerPage\r\n );\r\n\r\n dispatch(\r\n actions.getCandidates({\r\n candidates: cms.candidateList,\r\n itemsCount: cms.total,\r\n isFetching: false\r\n })\r\n );\r\n };\r\n}\r\n\r\nexport function concatenateCandidates(\r\n jobid: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n): AppThunkAction> {\r\n return async (dispatch: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n\r\n const result = await ApiService.getCandidatesByJobId(\r\n jobid,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n sortDirection,\r\n pageNumber,\r\n itemsCountPerPage\r\n );\r\n\r\n dispatch(\r\n actions.concatenateCandidates({\r\n candidates: result.candidateList,\r\n itemsCount: result.total,\r\n isFetching: false\r\n })\r\n );\r\n };\r\n}\r\n\r\nexport function getFullCandidateByIdAndSetSelected(companyId: string, candidateId: string): AppThunkAction> {\r\n return async (dispatch, getState) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n const candidateDetails = await getCandidateDetails(companyId, candidateId);;\r\n dispatch(actions.replaceCandidate({ candidateDetails: candidateDetails }));\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport async function getCandidateDetails(companyId: string, candidateId: string): Promise {\r\n const result = await ApiService.getCandidateById(companyId, candidateId);\r\n return result.candidateList[0];\r\n}\r\n\r\nexport function setSelectedCandidateId(candidateId: string): AppThunkAction> {\r\n return async (dispatch, getState) => {\r\n dispatch(actions.setSelectedCandidateId({ candidateId: candidateId }));\r\n };\r\n}\r\n\r\nexport function updateCandidateStatus(selectedStatus: string, items: CandidateListShortModel[], jobId?: string): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n\r\n await ApiService.updateCandidateStatus(selectedStatus, items, jobId);\r\n\r\n items.forEach((x) => {\r\n dispatch(actions.updateCandidateStatus({ id: x.id, status: selectedStatus }));\r\n });\r\n\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport function updateCandidateNote(candidateId: string, noteId: string, note: NoteModel): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n dispatch(actions.updateCandidateNote({ candidateId, noteId, newNote: note }));\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport function addCandidateNote(candidateId: string, note: NoteModel): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n dispatch(actions.addCandidateNote({ candidateId, newNote: note }));\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport function deleteCandidateNote(candidateId: string, noteId: string): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n dispatch(actions.deleteCandidateNote({ candidateId, noteId }));\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport function updateCandidateDetails(model: PatchCandidateDetailsModel): AppThunkAction> {\r\n return async (dispatch, getState) => {\r\n dispatch(actions.updateCandidateDetails({ model }));\r\n await ApiService.candidateDetailsUpdate(model);\r\n };\r\n}\r\n\r\nexport function updateCandidateEmailCount(id: string): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.updateCandidateEmailCount({ id }));\r\n };\r\n}\r\n\r\nexport function deleteCandidates(candidatesForDelete: CandidateListShortModel[], jobId: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(hideModal());\r\n\r\n const state: ApplicationState = getState();\r\n const { loading } = state;\r\n\r\n if (!loading.candidateDeletion) {\r\n dispatch(updateLoadingState('candidateDeletion', true));\r\n\r\n const candidates: CandidateListShortModel[] = state.candidateModelState.candidates;\r\n const updatedCandidates: CandidateListShortModel[] = [];\r\n\r\n dispatch(updateCandidateStatus(Status.Deleted, candidatesForDelete, jobId));\r\n\r\n candidates.forEach((item: CandidateListShortModel) => {\r\n const shouldDeleted = candidatesForDelete.find((itemForDelete: CandidateListShortModel) => {\r\n return item.id === itemForDelete.id;\r\n });\r\n\r\n if (!shouldDeleted) {\r\n updatedCandidates.push(item);\r\n }\r\n });\r\n\r\n dispatch(\r\n actions.getCandidates({\r\n candidates: updatedCandidates,\r\n itemsCount: state.candidateModelState.itemsCount - candidatesForDelete.length,\r\n isFetching: false\r\n })\r\n );\r\n\r\n setTimeout(() => {\r\n dispatch(updateLoadingState('candidateDeletion', false));\r\n }, 1000);\r\n }\r\n };\r\n}\r\n\r\nfunction updateProperty(state: CandidateModelState, id: string, property: string, value: string) {\r\n const candidates = state.candidates.map((x) => {\r\n if (x.id === id) {\r\n return { ...x, [property]: value };\r\n }\r\n\r\n return { ...x };\r\n });\r\n\r\n return { ...state, candidates };\r\n}\r\n","import { Guid } from 'guid-typescript';\r\nimport { CandidateListShortModel, ApplyMethodEnum, Status, OriginalNameFileModel } from '../services/autorest/models';\r\nimport i18n from '../resources/i18n';\r\nimport Base64 from '../Utils/ts-base64';\r\n\r\ndeclare var SITE_ID;\r\n\r\nexport class UtilsCandidate {\r\n public static getEmptyCandidateObject(companyId: string, jobId: string): CandidateListShortModel {\r\n const candidateGuid = Guid.create().toString();\r\n\r\n const candidateObject: CandidateListShortModel = {\r\n siteId: SITE_ID,\r\n id: candidateGuid,\r\n companyId: companyId,\r\n notes: [],\r\n numberOfEmails: 0,\r\n applicationDate: new Date(),\r\n applyMethod: ApplyMethodEnum.Normal,\r\n email: '',\r\n files: [],\r\n name: '',\r\n phoneNumber: '',\r\n status: Status.New,\r\n urls: [],\r\n lightApplyData: '',\r\n jobId: jobId\r\n };\r\n\r\n return candidateObject;\r\n }\r\n\r\n public static isUnsolicitedApplication(jobId: string): boolean {\r\n return '00000000-0000-0000-0000-000000000000' === jobId;\r\n }\r\n\r\n public static setCandidateListPageTitle(jobTitle: string, jobId: string): void {\r\n const isUnsolicited = this.isUnsolicitedApplication(jobId);\r\n const w = window as any\r\n const companyName = w == \"undefined\" ? \"Ofir\" : window[\"COMPANY_NAME\"]\r\n \r\n if (isUnsolicited) {\r\n document.title = `${companyName} - ${i18n.t('PAGE_TITLE_UNSOLICITED')}`;\r\n } else {\r\n const decodedTitle = Base64.decodeWithUrlEncode(jobTitle, true);\r\n\r\n document.title = `${companyName} - ${i18n.t('PAGE_TITLE_CANDIDATE_LIST')} ${decodedTitle}`;\r\n }\r\n }\r\n\r\n public static convertCandidateEmailFiles(files: OriginalNameFileModel[], siteId: string) {\r\n const convertedFiles = files.map((file: OriginalNameFileModel) => {\r\n return {\r\n filename: file.fileGuid,\r\n originalFilename: file.originalName,\r\n siteId,\r\n contentType: 'CV',\r\n relativePath: 'CV'\r\n };\r\n });\r\n\r\n return convertedFiles;\r\n };\r\n}\r\n","\r\n// import jsPDF from 'jspdf';\r\nimport moment from 'moment';\r\nimport { actionCreator, Action, isType } from './Action';\r\nimport { CandidateListFullModel, Status, CandidateListShortModel, CreateCandidateModel, BranderoAPISendTemplateEmailWithFileRefsOptionalParams } from '../services/autorest/models/index';\r\nimport { AppThunkAction, ApplicationState } from '.';\r\nimport { ApiService } from '../services/apiService';\r\nimport * as candidateList from '../store/CandidateListStore';\r\nimport i18n from '../resources/i18n';\r\nimport { hideModal } from '../store/ModalStore';\r\nimport { Utils } from '../Utils/Utils';\r\nimport { updateLoadingState } from './LoadingStore';\r\nimport { showSuccessSnak, showErrorSnak } from './MetadataStore';\r\nimport { getCandidatesByJobId } from '../store/CandidateListStore';\r\nimport { UtilsCandidate } from '../Utils/UtilsCandidate';\r\nimport { getFormData } from '../cms/components/pageItems/UnsolicitedApplication/dataModels';\r\nimport ApiConstants from '../cms/common/apiConstants';\r\nimport Base64 from '../Utils/ts-base64';\r\nimport { formatDate } from '../cms/components/_shared/CommonModal/CommonModalUtils';\r\n\r\n// jsPDF Library included via script tag in candidate list template\r\ndeclare var jsPDF: any;\r\n\r\nexport interface CandidateDetailsState {\r\n candidateDetails: CandidateListFullModel;\r\n isFetching: boolean;\r\n error: any;\r\n}\r\n\r\nconst actions = {\r\n updateCandidateDetailsStatus: actionCreator<{ status: string; id: string }>('UPDATE_CANDIDATE_DETAILS_STATUS'),\r\n isFetching: actionCreator<{ isFetching: boolean }>('CANDIDATE_DETAILS_IS_FETCHING'),\r\n getCandidateDetails: actionCreator<{ candidateDetails?: CandidateListFullModel }>('GET_CANDIDATE_DETAILS')\r\n};\r\n\r\n\r\nexport function reducer(state: CandidateDetailsState = { candidateDetails: null, isFetching: false, error: null }, action: Action): CandidateDetailsState {\r\n if (isType(action, actions.updateCandidateDetailsStatus)) {\r\n return updateProperty(state, action);\r\n } else if (isType(action, actions.getCandidateDetails)) {\r\n return { ...state, ...action.payload };\r\n } else if (isType(action, actions.isFetching)) {\r\n return { ...state, isFetching: action.payload.isFetching };\r\n }\r\n return state;\r\n}\r\n\r\nexport function getCandidateById(companyId: string, candidateId: string): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n\r\n const result = await ApiService.getCandidateById(companyId, candidateId);\r\n\r\n dispatch(\r\n actions.getCandidateDetails({\r\n candidateDetails: result.candidateList[0]\r\n })\r\n );\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport function updateCandidateDetailsStatus(selectedStatus: string, candidate: CandidateListFullModel[]): AppThunkAction> {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(actions.isFetching({ isFetching: true }));\r\n\r\n await ApiService.updateCandidateStatus(selectedStatus, candidate);\r\n\r\n dispatch(actions.updateCandidateDetailsStatus({ status: selectedStatus, id: candidate[0].id }));\r\n dispatch(candidateList.actions.updateCandidateStatus({ status: selectedStatus, id: candidate[0].id }));\r\n dispatch(actions.isFetching({ isFetching: false }));\r\n };\r\n}\r\n\r\nexport function exportCandidateToPDF(candidateData: CandidateListFullModel, jobTitle: string) {\r\n return async () => {\r\n const currentLanguage = Utils.getLanguage();\r\n const dateFormat = currentLanguage === 'en-GB' ? 'YYYY/MM/DD' : 'DD/MM/YYYY';\r\n const doc = new jsPDF();\r\n const docWidth = doc.internal.pageSize.getWidth();\r\n const { name, status, applicationDate, email, notes, phoneNumber, educationLevel, latestJobTitle, experienceYears, description } = candidateData;\r\n const fileName = name.toLocaleLowerCase().replace(/\\s/ig, '_');\r\n const headStyles = { halign: 'center', fontStyle: 'bold', fontSize: 12 };\r\n const formattedStatus = status ? i18n.t('CANDIDATE_LIST_STATUS_' + status.toLocaleUpperCase()) : '';\r\n const notesToSave = notes ? notes.map(note => {\r\n return `${i18n.t('NOTE_CREATED_AT_LABEL')}: ${formatDate(note.createDate)}. ${i18n.t('NOTE_CREATED_BY_TITLE')}: ${note.userFullName}\\n${note.note}.`;\r\n }).join('\\n') : '';\r\n\r\n // Replace dangerous symbols from description\r\n let normilizedDescription = description || '';\r\n\r\n normilizedDescription = normilizedDescription\r\n .replace(//g, '\\n')\r\n .replace(/
    /g, '\\n')\r\n .replace(/\\u2013/g, '-')\r\n .replace(/\\u2022/g, '-')\r\n .replace(/\\u201d/g, '\"')\r\n .replace(/\\u2019/g, '\\'');\r\n\r\n const tableCells = [\r\n [{ content: name || '', colSpan: 2, styles: headStyles }],\r\n [{ content: formattedStatus, colSpan: 2, styles: headStyles }],\r\n [{ content: '', colSpan: 2 }],\r\n [{ content: `${i18n.t('CANDIDATE_LIST_LIST_HEADER_APPLICATIONDATE')}:` }, { content: moment(applicationDate).format(dateFormat), colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('CANDIDATE_LIST_LIST_HEADER_EMAIL')}:`, { content: email || '', colSpan: 1, cellWidth: 50 }],\r\n [{ content: '', colSpan: 2, cellWidth: 50 }],\r\n [`${i18n.t('CANDIDATE_LIST_LIST_HEADER_DETAILS')}:`, { content: '', colSpan: 1, cellWidth: 50 }],\r\n [`${i18n.t('CANDIDATE_LIST_LIST_HEADER_PHONE')}:`, { content: phoneNumber || '', colSpan: 1 }],\r\n [{ content: `${i18n.t('CANDIDATE_LIST_LIST_APPLICATION_TEXT')}:`, colSpan: 2 }],\r\n [{ content: normilizedDescription || '', colSpan: 2 }],\r\n [`${i18n.t('CANDIDATE_LIST_LIST_HEADER_NOTES')}:`, { content: notesToSave, colSpan: 1, cellWidth: 50 }],\r\n ];\r\n\r\n // Remove job title for unsolisited application\r\n if (!candidateData.wantedJobTitle) {\r\n tableCells.splice(2, 0, [{ content: jobTitle || '', colSpan: 2, styles: headStyles }]);\r\n }\r\n\r\n doc.autoTable({\r\n tableWidth: docWidth - 30,\r\n body: tableCells,\r\n columnStyles: { 0: { cellWidth: 50 } }\r\n });\r\n\r\n doc.save(fileName);\r\n };\r\n}\r\n\r\nexport function deleteCandidate(candidateData: CandidateListShortModel, jobId: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n dispatch(hideModal());\r\n\r\n const state: ApplicationState = getState();\r\n const { loading } = state;\r\n\r\n if (!loading.candidateDeletion) {\r\n dispatch(updateLoadingState('candidateDeletion', true));\r\n\r\n const candidates = state.candidateModelState.candidates;\r\n\r\n await ApiService.updateCandidateStatus(Status.Deleted, [candidateData], jobId);\r\n\r\n const updatedCandidates = candidates.filter((item: CandidateListShortModel) => {\r\n return item.id !== candidateData.id;\r\n });\r\n\r\n dispatch(\r\n candidateList.actions.getCandidates({\r\n candidates: updatedCandidates,\r\n itemsCount: state.candidateModelState.itemsCount - 1,\r\n isFetching: false\r\n })\r\n );\r\n\r\n setTimeout(() => {\r\n dispatch(updateLoadingState('candidateDeletion', false));\r\n }, 1000);\r\n }\r\n };\r\n}\r\n\r\nexport function createCandidate(data: CandidateListShortModel) {\r\n return async (dispatch: Function) => {\r\n const candidateData = { ...data } as any;\r\n const candidateRequestData: CreateCandidateModel = {\r\n ...candidateData,\r\n tags: []\r\n };\r\n\r\n const result = await ApiService.createCandidate(candidateRequestData);\r\n\r\n if (result.success) {\r\n dispatch(showSuccessSnak(i18n.t('CANDIDATE_LIST_CREATE_SUCCESS')));\r\n\r\n // Workaround for an API update delay\r\n setTimeout(() => {\r\n dispatch(getCandidatesByJobId(data.jobId));\r\n }, 1000);\r\n } else {\r\n dispatch(showErrorSnak(i18n.t(result.message)));\r\n }\r\n };\r\n}\r\n\r\nfunction updateProperty(state: CandidateDetailsState, action: Action) {\r\n const candidateDetails = { ...state.candidateDetails, status: action.payload.status };\r\n\r\n return { ...state, candidateDetails };\r\n}\r\n\r\nexport function sendConfirmationToCandidate(candidateData: CandidateListFullModel, jobTitle: string, jobId: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const w = window as any;\r\n const pref = w.PREF;\r\n const state: ApplicationState = getState();\r\n const companyState = state.companyData;\r\n const siteState = state.siteData;\r\n const { siteData } = siteState;\r\n const master = JSON.parse(siteData.masterData);\r\n const { companyData } = companyState;\r\n const { name, email, externalApplyEmail } = companyData;\r\n const {\r\n files,\r\n siteId,\r\n email: candidateEmail,\r\n name: candidateName,\r\n description,\r\n educationLevel,\r\n latestJobTitle,\r\n experienceYears,\r\n urls,\r\n phoneNumber,\r\n wantedJobTitle,\r\n companyId\r\n } = candidateData;\r\n const lang = Utils.getLanguage(true).toLocaleLowerCase() == 'da-dk' ? 'dk' : 'uk';\r\n const siteType = Utils.isUserOfirAdvertiser() ? \"_ad\" : \"\";\r\n const isUnsolicited = UtilsCandidate.isUnsolicitedApplication(jobId);\r\n const emailTo = externalApplyEmail || email;\r\n const templateReplaceItems = [];\r\n const siteUrl = window.location.origin + pref + '/Account/Login';\r\n const decodedJobTitle = Base64.decodeWithUrlEncode(jobTitle, true);\r\n const convertedFiles = UtilsCandidate.convertCandidateEmailFiles(files, siteId);\r\n let subject = '';\r\n\r\n const candidateFormData = {\r\n ANAME: candidateName,\r\n APPLICATIONTEXT: description,\r\n AEDUCATION: educationLevel,\r\n ACATEGORY: wantedJobTitle,\r\n APOSITION: latestJobTitle,\r\n ADURATION: experienceYears,\r\n AEMAIL: candidateEmail,\r\n ALINK: urls.length ? urls : '',\r\n ATELEPHONE: phoneNumber\r\n };\r\n\r\n const formData = getFormData(\r\n ApiConstants.siteOptions.fileStoreCDN,\r\n candidateFormData,\r\n companyData,\r\n emailTo,\r\n siteUrl,\r\n siteId,\r\n master.LogoFileName\r\n );\r\n for (let i = 0; i < formData.length; i++) {\r\n var newObj = {};\r\n if (formData[i].Name == \"ALINK\") {\r\n newObj = { key: formData[i].Name, value: (formData[i].Content ? formData[i].Content.join('\\n') : formData[i].Content) || '' };\r\n } else if (formData[i].Name === \"ADHEADING\") {\r\n newObj = { key: formData[i].Name, value: decodedJobTitle };\r\n } else {\r\n newObj = { key: formData[i].Name, value: formData[i].Content || '' };\r\n }\r\n templateReplaceItems.push(newObj);\r\n }\r\n\r\n if (!isUnsolicited) {\r\n templateReplaceItems.push({ key: 'jobId', value: jobId });\r\n templateReplaceItems.push({ key: 'companyId', value: companyId });\r\n templateReplaceItems.push({ key: 'siteId', value: siteId });\r\n //templateReplaceItems.push({ key: 'ADHEADING', value: decodedJobTitle });\r\n templateReplaceItems.push({ key: 'CCEMAIL', value: emailTo });\r\n templateReplaceItems.push({\r\n key: 'CLINK',\r\n value: `${window.location.origin}${pref}/admin/candidatelist?candidatelistdata=${pref}/admin/candidatelist#/admin/candidatelist/${jobId}/${jobTitle}`\r\n });\r\n }\r\n\r\n const emailData: BranderoAPISendTemplateEmailWithFileRefsOptionalParams = {\r\n replyTo: email,\r\n senderName: name,\r\n files: JSON.stringify(convertedFiles),\r\n templateName: '',\r\n templateReplaceItems: JSON.stringify(templateReplaceItems)\r\n };\r\n\r\n try {\r\n if (isUnsolicited) {\r\n subject = i18n.t('SEND_UNSOLICITED_CANDIDATELIST_APPLICANT').replace('{0}', name);\r\n emailData.templateName = `send_unsolicited_candidatelist_applicant_${lang}${siteType}`;\r\n\r\n const sendResult = await ApiService.sendConfirmationToCandidate(candidateData, subject, emailData);\r\n } else {\r\n subject = `Ny ansøgning modtaget vedr. stillingen: ${name}`;\r\n emailData.templateName = `send_application_candidatelist_applicant_${lang}${siteType}`;\r\n\r\n const sendResult = await ApiService.sendConfirmationToCandidate(candidateData, subject, emailData);\r\n }\r\n\r\n dispatch(showSuccessSnak(i18n.t('CANDIDATE_EMAIL_RESEND_SUCCESS')));\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n}\r\n\r\nexport function sendForwardCandidate(candidateData: CandidateListFullModel, forwardemail: string, jobTitle: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const lang = Utils.getLanguage(true).toLocaleLowerCase() == 'da-dk' ? 'dk' : 'uk';\r\n\r\n const candidateDetails = await candidateList.getCandidateDetails(candidateData.companyId, candidateData.id);\r\n const {\r\n files,\r\n siteId,\r\n email: candidateEmail,\r\n name: candidateName,\r\n description,\r\n educationLevel,\r\n latestJobTitle,\r\n experienceYears,\r\n urls,\r\n phoneNumber,\r\n wantedJobTitle,\r\n companyId\r\n } = candidateDetails;\r\n\r\n\r\n const decodedJobTitle = Base64.decodeWithUrlEncode(jobTitle, true);\r\n\r\n const state: ApplicationState = getState();\r\n const templateReplaceItems = [];\r\n const w = window as any;\r\n const pref = w.PREF;\r\n const siteState = state.siteData;\r\n const { siteData } = siteState;\r\n const master = JSON.parse(siteData.masterData);\r\n const siteUrl = window.location.origin + pref + '/Account/Login';\r\n const companyState = state.companyData;\r\n const { companyData } = companyState;\r\n const convertedFiles = UtilsCandidate.convertCandidateEmailFiles(files, siteId);\r\n let subject = '';\r\n const candidateFormData = {\r\n ANAME: candidateName,\r\n APPLICATIONTEXT: description,\r\n AEDUCATION: educationLevel,\r\n ACATEGORY: wantedJobTitle,\r\n APOSITION: latestJobTitle,\r\n ADURATION: experienceYears,\r\n AEMAIL: candidateEmail,\r\n ALINK: urls.length ? urls : '',\r\n ATELEPHONE: phoneNumber\r\n };\r\n\r\n const formData = getFormData(\r\n ApiConstants.siteOptions.fileStoreCDN,\r\n candidateFormData,\r\n companyData,\r\n forwardemail,\r\n siteUrl,\r\n siteId,\r\n master.LogoFileName\r\n );\r\n for (let i = 0; i < formData.length; i++) {\r\n var newObj = {};\r\n if (formData[i].Name == \"ALINK\") {\r\n newObj = { key: formData[i].Name, value: (formData[i].Content ? formData[i].Content.join('\\n') : formData[i].Content) || '' };\r\n } else if (formData[i].Name === \"ADHEADING\") {\r\n newObj = { key: formData[i].Name, value: decodedJobTitle };\r\n } else {\r\n newObj = { key: formData[i].Name, value: formData[i].Content || '' };\r\n }\r\n templateReplaceItems.push(newObj);\r\n }\r\n\r\n const emailData: BranderoAPISendTemplateEmailWithFileRefsOptionalParams = {\r\n replyTo: candidateEmail,\r\n senderName: candidateName,\r\n files: JSON.stringify(convertedFiles),\r\n templateName: '',\r\n templateReplaceItems: JSON.stringify(templateReplaceItems)\r\n };\r\n\r\n try {\r\n subject = `FW: Candidate: ${name}`;\r\n emailData.templateName = `send_forward_candidate_${lang}`;\r\n const sendResult = await ApiService.sendForwardCandidate(candidateData, forwardemail, subject, emailData);\r\n\r\n dispatch(showSuccessSnak(i18n.t('CANDIDATE_FORWARD_EMAIL_SUCCESS')));\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n\r\n };\r\n}","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport * as reducer from '../../../store/CandidateDetailsStore';\r\nimport { CandidateListFullModel, Status, CandidateListShortModel } from '../../../services/autorest/models';\r\n\r\ninterface DispatchProps {\r\n getCandidateById(companyId: string, candidateId: string);\r\n updateCandidateStatus(selectedStatus: string, candidate: CandidateListFullModel[]);\r\n}\r\n\r\ninterface CandidateDetailsProps {\r\n selectedCandidate: CandidateListShortModel;\r\n children: any;\r\n isFetching?: boolean;\r\n}\r\n\r\ninterface IStateProps {\r\n isFetching?: boolean;\r\n isNew?: boolean;\r\n candidateDetails?: CandidateListFullModel;\r\n}\r\n\r\nclass CandidateDetails extends React.Component {\r\n public componentDidMount() {\r\n const { getCandidateById, selectedCandidate } = this.props;\r\n\r\n getCandidateById(selectedCandidate.companyId, selectedCandidate.id);\r\n }\r\n\r\n public componentDidUpdate(prevProps: CandidateDetailsProps) {\r\n const { getCandidateById, selectedCandidate } = this.props;\r\n\r\n if (prevProps.selectedCandidate && selectedCandidate !== prevProps.selectedCandidate) {\r\n getCandidateById(selectedCandidate.companyId, selectedCandidate.id);\r\n }\r\n }\r\n\r\n public render() {\r\n const { candidateDetails, isFetching, isNew } = this.props;\r\n\r\n if ((!candidateDetails || typeof isFetching === 'undefined') && !isNew) {\r\n return null;\r\n }\r\n\r\n return this.props.children(this.props);\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch: any, ownProps: IStateProps): DispatchProps => {\r\n return {\r\n getCandidateById: (companyId: string, candidateId: string) => {\r\n dispatch(reducer.getCandidateById(companyId, candidateId));\r\n },\r\n updateCandidateStatus: (selectedStatus: string, candidate: CandidateListFullModel[]) => {\r\n dispatch(reducer.updateCandidateDetailsStatus(selectedStatus, candidate));\r\n }\r\n };\r\n};\r\n\r\nconst mapStateToProps = (state: { candidateDetailsState: reducer.CandidateDetailsState }, ownProps: IStateProps): IStateProps => {\r\n return {\r\n isFetching: state.candidateDetailsState.isFetching,\r\n candidateDetails: state.candidateDetailsState.candidateDetails\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CandidateDetails);\r\n","import * as React from 'react';\r\nimport { Drawer as AntDrawer } from 'antd';\r\nimport classNames from 'classnames';\r\n\r\nimport './assets/Drawer.scss';\r\n\r\nexport default function Drawer({\r\n children,\r\n isOpen,\r\n onClose,\r\n className,\r\n showCloseBtn = true\r\n}: {\r\n children: React.ReactNode;\r\n isOpen: boolean;\r\n onClose(): void;\r\n className?: string;\r\n showCloseBtn?: boolean;\r\n}) {\r\n const drawerClass = classNames('drawer', {\r\n [className]: !!className\r\n });\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './CandidatesPolicyMessage.scss';\r\n\r\nexport default function CandidatesPolicyMessage({ isCollapsed }: { isCollapsed?: boolean }) {\r\n const defaultVisibity = isCollapsed ? false : true;\r\n const [isVisible, setVisibility] = React.useState(defaultVisibity);\r\n const buttonText = isVisible ? i18n.t('CANDIDATES_LIST_GDPR_BTN_HIDE') : i18n.t('CANDIDATES_LIST_GDPR_BTN');\r\n\r\n const handleShowClick = () => {\r\n setVisibility(!isVisible);\r\n };\r\n\r\n return (\r\n
    \r\n {isCollapsed && (\r\n
    \r\n \r\n
    \r\n )}\r\n {isVisible &&
    }\r\n
    \r\n );\r\n}\r\n","export const ROUTES = {\r\n ROOT: '/',\r\n LOGIN: '/login',\r\n ACCOUNT: '/account',\r\n ACCOUNT_LOGIN: '/account/login',\r\n DASHBOARD: '/admin',\r\n HOME: '/admin/home',\r\n CONTENT: '/admin/template',\r\n CONTENT_EDIT: '/admin/template/edit',\r\n JOBS_LIST: '/admin/jobslist',\r\n JAE: '/admin/jae',\r\n JAE_EDIT: '/admin/jae/edit/:jobid',\r\n JAE_ORDER: '/admin/jae/order/:jobid',\r\n JAE_STATISTIC: '/admin/jae/statistic/:jobid',\r\n JAE_STATISTIC_REPORT: '/admin/adstatistics',\r\n COMPANY_EDIT: '/admin/company/edit',\r\n SITE_SETTINGS: '/admin/site/settings',\r\n SITE_DESIGN: '/admin/site/design',\r\n USERS: '/admin/users',\r\n USER_EDIT: '/admin/users/edit/:userid',\r\n USER_CREATE: '/admin/users/create',\r\n // STATISTIC: \"/admin/statistic/:jobid\",\r\n SITECREATE: '/sitecreate',\r\n RECOMMENDATION: '/recommendation',\r\n SITECREATE_PIPEDRIVE: '/sitecreate/:pipedriveId',\r\n CANDIDATE_LIST: '/admin/candidatelist/:jobId/:jobTitle',\r\n CANDIDATE_LIST_BASE: '/admin/candidatelist',\r\n CANDIDATE_LIST_UNSOLICITED: '/admin/candidatelist/unsolicited/:jobId/:jobTitle',\r\n STEP_LOGIN: \"/steplogin\",\r\n A_ROOT: '/site/:subdomain',\r\n O_LOGIN: '/site/login',\r\n A_LOGIN: '/site/:subdomain/login',\r\n A_ACCOUNT: '/site/:subdomain/account',\r\n A_ACCOUNT_LOGIN: '/site/:subdomain/account/login',\r\n A_DASHBOARD: '/site/:subdomain/admin',\r\n A_HOME: '/site/:subdomain/admin/home',\r\n A_CONTENT: '/site/:subdomain/admin/template',\r\n A_CONTENT_EDIT: '/site/:subdomain/admin/template/edit',\r\n A_JOBS_LIST: '/site/:subdomain/admin/jobslist',\r\n A_JAE: '/site/:subdomain/admin/jae',\r\n A_JAE_EDIT: '/site/:subdomain/admin/jae/edit/:jobid',\r\n A_JAE_ORDER: '/site/:subdomain/admin/jae/order/:jobid',\r\n A_JAE_STATISTIC: '/site/:subdomain/admin/jae/statistic/:jobid',\r\n A_JAE_STATISTIC_REPORT: '/site/:subdomain/admin/adstatistics',\r\n A_COMPANY_EDIT: '/site/:subdomain/admin/company/edit',\r\n A_SITE_SETTINGS: '/site/:subdomain/admin/site/settings',\r\n A_SITE_DESIGN: '/site/:subdomain/admin/site/design',\r\n A_USERS: '/site/:subdomain/admin/users',\r\n A_USER_EDIT: '/site/:subdomain/admin/users/edit/:userid',\r\n A_USER_CREATE: '/site/:subdomain/admin/users/create',\r\n A_SITECREATE: '/site/:subdomain/sitecreate',\r\n A_RECOMMENDATION: '/site/:subdomain/recommendation',\r\n A_SITECREATE_PIPEDRIVE: '/site/:subdomain/sitecreate/:pipedriveId',\r\n A_CANDIDATE_LIST: '/site/:subdomain/admin/candidatelist/:jobId/:jobTitle',\r\n A_CANDIDATE_LIST_BASE: '/site/:subdomain/admin/candidatelist',\r\n A_CANDIDATE_LIST_UNSOLICITED: '/site/:subdomain/admin/candidatelist/unsolicited/:jobId/:jobTitle',\r\n A_STEP_LOGIN: \"/site/:subdomain/steplogin\",\r\n}; \r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEnvelope, faStickyNote, faChevronRight, faInfoCircle } from '@fortawesome/free-solid-svg-icons';\r\nimport { faStickyNote as faStickyNoteEmpty } from '@fortawesome/free-regular-svg-icons';\r\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { OriginalNameFileModel, Status, CandidateListFullModel, NoteModel } from '../../../../services/autorest/models';\r\nimport Base64 from '../../../../Utils/ts-base64';\r\nimport { generateUrlLinks, getCandidateSortingNames } from './CandidateListHelpers';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport MenuStatusList from '../MenuStatusList/MenuStatusList';\r\nimport BranderoTable, { BranderoTableItem } from '../../_shared/BranderoTable/BranderoTable';\r\nimport SelectMenu from '../../_shared/Controls/SelectMenu/SelectMenu';\r\nimport CandidateListCard from '../CandidateListCard/CandidateListCard';\r\nimport Badge from '../../_shared/Badge/Badge';\r\nimport { exportCandidateToPDF, deleteCandidate, createCandidate, sendConfirmationToCandidate, sendForwardCandidate } from '../../../../store/CandidateDetailsStore';\r\nimport CandidateDetails from '../../../containers/CandidateList/CandidateDetails';\r\nimport { ApplicationState } from '../../../../store';\r\nimport { deleteCandidates, getCandidateDetails } from '../../../../store/CandidateListStore';\r\nimport CommonCheckbox from '../../_shared/Controls/CommonCheckbox/CommonCheckbox';\r\nimport Popover from '../../_shared/Popover/Popover';\r\nimport Drawer from '../../_shared/Drawer/Drawer';\r\nimport { showCandidateMessageWindow, showCandidateNote, showCandidateEmails, ModalData, hideModal, showCandidateEmailsHover} from '../../../../store/ModalStore';\r\nimport { showConfirmModal } from '../../_shared/CommonModal/CommonModalUtils';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport CandidatesPolicyMessage from '../../candidateList/CandidatesPolicyMessage/CandidatesPolicyMessage';\r\nimport { registerEvent } from '../../../../googleTagManager';\r\nimport { UtilsCandidate } from '../../../../Utils/UtilsCandidate';\r\nimport { CompanyData } from '../../../models/companyData';\r\nimport * as CompanyDataStore from '../../../../store/CompanyDataStore';\r\nimport { showErrorSnak } from '../../../../store/MetadataStore';\r\nimport { emailRegex } from '../../../../Utils/Validation/ValidationRules';\r\nimport { getJobById } from '../../../../store/JaeStore';\r\nimport { JobAdModalEx } from '../../../models/modelExtentions/JobAdModelEx';\r\nimport { JobAdStatuses } from '../../../../store/JobsListStore';\r\nimport { actionCreators as siteActionCreators } from '../../../../store/SiteDataStore';\r\nimport { ROUTES } from '../../../common/routes';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\n\r\nimport './assets/style/CandidateListItems.scss';\r\n\r\nconst { Draft } = JobAdStatuses;\r\ntype TonUpdateCandidateDetails ={\r\n id?: string,\r\n companyId?: string,\r\n email: string,\r\n name: string,\r\n description: string,\r\n educationLevel: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n files: OriginalNameFileModel[],\r\n urls: string[]\r\n} & { wantedJobTitle: string}\r\nexport interface CandidateListItemsProps extends RouteComponentProps<{ jobId: string; jobTitle: string }> {\r\n items: CandidateListFullModel[];\r\n selectedCandidateId: string;\r\n candidateDetailsIsFetching: boolean;\r\n onRowSelected(item: any, isChecked: boolean);\r\n onSortClicked(sortOn: string, direction: string);\r\n onRowClicked(item: CandidateListFullModel);\r\n onStatusChanged(selectedStatus: string, items: CandidateListFullModel[]);\r\n onSearch(searchString: string);\r\n onFilterStatus(filterValue: Status, includeDeleted: boolean);\r\n onFilterJob(filterValue: string);\r\n onUpdateNote(candidateId: string, noteId: string, note: NoteModel);\r\n onAddNote(candidateId: string, note: NoteModel);\r\n onUpdateCandidateDetails(candidateDetails: TonUpdateCandidateDetails);\r\n onPagingChange(pageNumber: number, itemsCountPerPage: number);\r\n onGetCandidateDetails(companyId: string, candidateId: string);\r\n onSetSelectedCandidateId(candidateId: string);\r\n exportCandidateToPDF(candidateData: CandidateListFullModel, jobTitle: string);\r\n loadCompanyData(data: any);\r\n createCandidate(data: CandidateListFullModel);\r\n showErrorSnak(message: string);\r\n deleteCandidates(candidatesForDelete: CandidateListFullModel[], jobId: string);\r\n deleteCandidate(candidate: CandidateListFullModel, jobId: string);\r\n showCandidateMessageWindow(data: ModalData): Function;\r\n showCandidateNote(data: ModalData): Function;\r\n showCandidateEmails(data: ModalData): Function;\r\n showCandidateEmailsHover(data: ModalData): Function;\r\n sendConfirmationToCandidate(data: CandidateListFullModel, jobTitle: string, jobId: string): Function;\r\n sendForwardCandidate(data: CandidateListFullModel, email: string, jobTitle: string): Function;\r\n getJobById(jobId: string): Function;\r\n hideModal(): Function;\r\n loadSiteData(): Function;\r\n modal: any;\r\n sortOn?: string;\r\n direction?: string;\r\n fontAwesomeIcon?: string;\r\n minWidth?: number;\r\n totalItemsCount: number;\r\n isFetching: boolean;\r\n companyData: CompanyData;\r\n job: JobAdModalEx;\r\n}\r\nexport interface CandidateListItemsState {\r\n filterStatus: string;\r\n includeDeletedStatus: boolean;\r\n filterJob: string;\r\n statusAnchorElement: any;\r\n selectedCandidate: CandidateListFullModel;\r\n candidateToShow: CandidateListFullModel;\r\n cardAnchorElement: any;\r\n selectedCandidates: CandidateListFullModel[];\r\n emailToCandidates: CandidateListFullModel[];\r\n showFilterMenuMobile: boolean;\r\n emailsListCandidate: any;\r\n showMultiStatusMenu: boolean;\r\n isNewCandidate: boolean;\r\n forwardEmail: string;\r\n click: boolean\r\n openedStatuses: { [id: string]: boolean };\r\n}\r\nconst ITEMS_COUNT_PER_PAGE = 10;\r\n\r\nclass CandidateListItems extends React.Component {\r\n private statusList: string[] = this.getStatusList();\r\n private isUnsolicited: boolean;\r\n public type = Utils.isUserOfirAdvertiser\r\n\r\n constructor(props: CandidateListItemsProps) {\r\n super(props);\r\n\r\n const { jobTitle, jobId } = props.match.params;\r\n\r\n //state needed cause the ddl does not control the value\r\n this.state = {\r\n click: false,\r\n filterStatus: '',\r\n filterJob: '',\r\n statusAnchorElement: null,\r\n selectedCandidate: {},\r\n candidateToShow: {},\r\n cardAnchorElement: null,\r\n selectedCandidates: [],\r\n emailToCandidates: [],\r\n showFilterMenuMobile: false,\r\n includeDeletedStatus: false,\r\n isNewCandidate: false,\r\n forwardEmail: \"\",\r\n emailsListCandidate: { id: '00000000-0000-0000-0000-000000000000', companyId: '00000000-0000-0000-0000-000000000000' },\r\n showMultiStatusMenu: false,\r\n openedStatuses: {},\r\n };\r\n\r\n this.isUnsolicited = UtilsCandidate.isUnsolicitedApplication(jobId);\r\n\r\n UtilsCandidate.setCandidateListPageTitle(jobTitle, jobId);\r\n }\r\n\r\n public componentWillReceiveProps(nextProps) {\r\n const { jobTitle, jobId: newJobId } = nextProps.match.params;\r\n const { jobTitle: oldJobTitle, jobId: oldJobId } = this.props.match.params;\r\n\r\n if (jobTitle !== oldJobTitle) {\r\n UtilsCandidate.setCandidateListPageTitle(jobTitle, newJobId);\r\n }\r\n\r\n if (newJobId !== oldJobId) {\r\n this.isUnsolicited = UtilsCandidate.isUnsolicitedApplication(newJobId);\r\n }\r\n if (!this.props.modal.data.hover){\r\n this.setState({click: false})\r\n }\r\n \r\n }\r\n\r\n public componentDidMount() {\r\n const { jobId } = this.props.match.params;\r\n\r\n this.props.loadCompanyData({});\r\n this.props.loadSiteData();\r\n\r\n if (jobId !== '00000000-0000-0000-0000-000000000000') {\r\n this.props.getJobById(jobId);\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: CandidateListItemsProps) {\r\n const currentProps: CandidateListItemsProps = this.props;\r\n\r\n if (prevProps.items.length !== currentProps.items.length) {\r\n this.setState({\r\n cardAnchorElement: null,\r\n selectedCandidate: {},\r\n selectedCandidates: [],\r\n });\r\n }\r\n }\r\n\r\n private handleStatusFilterChange = (status: string) => {\r\n const { onFilterStatus } = this.props;\r\n const { includeDeletedStatus } = this.state;\r\n\r\n this.setState({ filterStatus: status }, () => {\r\n onFilterStatus(Status[status], includeDeletedStatus);\r\n });\r\n };\r\n\r\n private showSelectStatus(selectedCandidateId: string) {\r\n if (!selectedCandidateId) {\r\n this.setState({ showMultiStatusMenu: true });\r\n }\r\n\r\n this.props.onSetSelectedCandidateId(selectedCandidateId);\r\n }\r\n\r\n private openCandidateEmailsModal(id: string, companyId: string, hover?: boolean, cord?: {x?: number, y?: number}) {\r\n this.props.showCandidateEmails({\r\n emailsListCandidate: { id, companyId },\r\n hover,\r\n cord\r\n });\r\n }\r\n\r\n private candidateListCardPopoverClose() {\r\n const { isNewCandidate } = this.state;\r\n\r\n if (isNewCandidate) {\r\n showConfirmModal({\r\n content: i18n.t('CANDIDATE_LIST_SAVE_WARNING_TEXT'),\r\n okText: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_FILE_BUTTON'),\r\n cancelText: i18n.t('CANDIDATE_CARD_CANCEL_DELETE_FILE_BUTTON'),\r\n onOk: () => {\r\n this.closeCandidateCreation();\r\n },\r\n });\r\n } else {\r\n this.props.onSetSelectedCandidateId('');\r\n\r\n this.setState({\r\n cardAnchorElement: null,\r\n candidateToShow: {},\r\n });\r\n }\r\n }\r\n\r\n private onCandidateForward = (e?: React.MouseEvent, isMultiply?: boolean) => {\r\n\r\n var { forwardEmail } = this.state;\r\n const { selectedCandidates, selectedCandidate } = this.state;\r\n const candidatesData = isMultiply ? selectedCandidates : [];\r\n const { jobTitle } = this.props.match.params;\r\n\r\n showConfirmModal({\r\n iconType: \"\",\r\n content: < CommonInput\r\n title={i18n.t('CANDIDATE_FORWARD_EMAIL')}\r\n value={forwardEmail}\r\n onChange={(e) => {\r\n this.setState({ forwardEmail: e.target.value });\r\n }}\r\n /> ,\r\n okText: i18n.t('CANDIDATE_FORWARD_CONFIRM'),\r\n cancelText: i18n.t('CANDIDATE_FORWARD_CANCEL'),\r\n onOk: () => {\r\n if (this.state.forwardEmail.trim() === \"\") {\r\n return true;\r\n }\r\n \r\n if (candidatesData.length) {\r\n candidatesData.forEach((item) => {\r\n this.props.sendForwardCandidate(item, this.state.forwardEmail, jobTitle);\r\n })\r\n } else {\r\n this.props.sendForwardCandidate(selectedCandidate, this.state.forwardEmail, jobTitle);\r\n }\r\n this.setState({ forwardEmail: \"\" });\r\n },\r\n });\r\n }\r\n\r\n private onCandidateDelete = (e?: React.MouseEvent, isMultiply?: boolean) => {\r\n const { jobId } = this.props.match.params;\r\n const { selectedCandidates, selectedCandidate } = this.state;\r\n const candidatesData = isMultiply ? selectedCandidates : [];\r\n\r\n showConfirmModal({\r\n content: i18n.t('CANDIDATE_DELETE_ALERT'),\r\n okText: i18n.t('CANDIDATE_DELETE_CONFIRM'),\r\n cancelText: i18n.t('CANDIDATE_DELETE_CANCEL'),\r\n onOk: () => {\r\n {\r\n if (candidatesData.length) {\r\n this.props.deleteCandidates(candidatesData, jobId);\r\n } else {\r\n this.setState({ cardAnchorElement: null });\r\n\r\n this.props.deleteCandidate(selectedCandidate, jobId);\r\n }\r\n }\r\n },\r\n });\r\n };\r\n\r\n private getSelectedCandidate(id: string) {\r\n const candidate = this.props.items.filter((x) => {\r\n if (x.id === id) {\r\n return x;\r\n }\r\n })[0];\r\n\r\n return candidate;\r\n }\r\n\r\n private statusChanged(selectedStatus: string) {\r\n const { isNewCandidate, selectedCandidate } = this.state;\r\n const candidateToUpdate = this.getSelectedCandidate(this.props.selectedCandidateId);\r\n const candidates = candidateToUpdate ? [candidateToUpdate] : this.state.selectedCandidates;\r\n\r\n this.setState({ ...this.state, openedStatuses: {} });\r\n\r\n if (isNewCandidate) {\r\n this.setState({\r\n selectedCandidate: {\r\n ...selectedCandidate,\r\n status: selectedStatus as Status,\r\n },\r\n });\r\n } else {\r\n this.props.onStatusChanged(selectedStatus, candidates);\r\n }\r\n }\r\n\r\n private async showCandidateCard(e: React.MouseEvent, selectCandidate: CandidateListFullModel, isNew: boolean = false) {\r\n e.stopPropagation();\r\n const candidateDetails = await getCandidateDetails(selectCandidate.companyId, selectCandidate.id);\r\n const can: CandidateListFullModel = candidateDetails ? candidateDetails : { ...selectCandidate };\r\n this.setState({ selectedCandidate: can, cardAnchorElement: e.currentTarget ? e.currentTarget : () => null, isNewCandidate: isNew });\r\n registerEvent({ event: 'cardviewOpened' });\r\n }\r\n\r\n // TODO: modify model for statuses order\r\n private getStatusList() {\r\n let statusesKeys = Object.keys(Status);\r\n\r\n // Change statuses order\r\n statusesKeys.splice(1, 0, statusesKeys.splice(8, 1)[0]);\r\n\r\n // Remove delete status\r\n statusesKeys = statusesKeys.filter((status: string) => {\r\n return status !== Status.Deleted;\r\n });\r\n\r\n return statusesKeys;\r\n }\r\n\r\n private getStatusListItems = () => {\r\n const statusList = this.statusList.map((item: string) => {\r\n return {\r\n item: item,\r\n label: i18n.t('CANDIDATE_LIST_STATUS_' + item.toLocaleUpperCase()),\r\n };\r\n });\r\n\r\n statusList.unshift({ item: '', label: '' });\r\n\r\n return statusList;\r\n };\r\n\r\n private showSendEmailCandidateCard(single?: boolean) {\r\n const { selectedCandidate } = this.state;\r\n const { jobId, jobTitle } = this.props.match.params;\r\n\r\n this.props.showCandidateMessageWindow({\r\n candidates: [this.getSelectedCandidate(selectedCandidate.id)],\r\n isUnsolisited: jobId === '00000000-0000-0000-0000-000000000000',\r\n jobTitle: Base64.decodeWithUrlEncode(jobTitle, true),\r\n });\r\n }\r\n\r\n private handleCandidatePDFExport = (candidateData: CandidateListFullModel, jobTitle: string) => {\r\n this.props.exportCandidateToPDF(candidateData, jobTitle);\r\n };\r\n\r\n private closeCandidateCreation = () => {\r\n const { candidateToShow } = this.state;\r\n\r\n if (candidateToShow.id) {\r\n this.setState({ isNewCandidate: false, selectedCandidate: candidateToShow, candidateToShow: {} });\r\n } else {\r\n this.setState({ isNewCandidate: false, cardAnchorElement: null, selectedCandidate: {}, candidateToShow: {} });\r\n }\r\n };\r\n\r\n private handleCreateNewCandidate = (event: React.MouseEvent) => {\r\n const { companyData, match } = this.props;\r\n const { jobId } = match.params;\r\n const companyId = companyData.id;\r\n const candidateData = UtilsCandidate.getEmptyCandidateObject(companyId, jobId);\r\n this.showCandidateCard(event, candidateData, true);\r\n };\r\n\r\n private handleSaveNewCandidate = () => {\r\n const { job, match } = this.props;\r\n const { selectedCandidate } = this.state;\r\n const { name, email } = selectedCandidate;\r\n const emailReg = RegExp(emailRegex, '');\r\n const emailTest = emailReg.test(email);\r\n\r\n if (!name) {\r\n this.props.showErrorSnak(i18n.t('UNSOLICITED_FORM_VALIDATION_NAME'));\r\n return;\r\n }\r\n\r\n if (!email) {\r\n this.props.showErrorSnak(i18n.t('UNSOLICITED_FORM_VALIDATION_EMAIL'));\r\n return;\r\n }\r\n\r\n if (!emailTest) {\r\n this.props.showErrorSnak(i18n.t('JOBAD_VALIDATION_EMAIL_NOT_VALID'));\r\n return;\r\n }\r\n\r\n if (match.params.jobId === '00000000-0000-0000-0000-000000000000' || job.status !== Draft) {\r\n this.props.createCandidate(selectedCandidate);\r\n }\r\n\r\n this.closeCandidateCreation();\r\n };\r\n\r\n private handleCandidateUpdate = (props: {\r\n email,\r\n description,\r\n educationLevel,\r\n experienceYears,\r\n latestJobTitle,\r\n phoneNumber,\r\n files: OriginalNameFileModel[],\r\n name,\r\n urls: string[],\r\n wantedJobTitle: string\r\n }) => {\r\n const { isNewCandidate, selectedCandidate } = this.state;\r\n\r\n this.setState({\r\n selectedCandidate: {\r\n ...selectedCandidate,\r\n ...props\r\n },\r\n });\r\n\r\n if (!isNewCandidate) {\r\n this.props.onUpdateCandidateDetails({\r\n ...props,\r\n id: selectedCandidate.id,\r\n companyId: selectedCandidate.companyId,\r\n \r\n });\r\n }\r\n };\r\n\r\n private renderStatusFilter = () => {\r\n const { filterStatus } = this.state;\r\n\r\n const options = this.getStatusListItems();\r\n\r\n return (\r\n
    \r\n \r\n {!filterStatus && }\r\n
    \r\n );\r\n };\r\n\r\n private showCandidateMessageWindow = (candidate: CandidateListFullModel) => {\r\n const { jobId, jobTitle } = this.props.match.params;\r\n const { selectedCandidates } = this.state;\r\n const candidatesList = candidate ? [candidate] : selectedCandidates;\r\n\r\n this.props.showCandidateMessageWindow({\r\n candidates: candidatesList,\r\n isUnsolisited: jobId === '00000000-0000-0000-0000-000000000000',\r\n jobTitle: Base64.decodeWithUrlEncode(jobTitle, true),\r\n });\r\n };\r\n\r\n private showCandidateNote = (candidate: CandidateListFullModel) => {\r\n const { isNewCandidate } = this.state;\r\n\r\n this.props.showCandidateNote({\r\n isNew: isNewCandidate,\r\n candidateId: candidate.id,\r\n onChange: (newNoteList: NoteModel[]) => {\r\n this.setState({ selectedCandidate: { ...this.state.selectedCandidate, notes: newNoteList } })\r\n }\r\n });\r\n };\r\n\r\n private handleStatusChange = (value) => {\r\n if (!value) {\r\n this.setState({ openedStatuses: {}, showMultiStatusMenu: false });\r\n }\r\n };\r\n\r\n private handleEmailResend = () => {\r\n const { selectedCandidate } = this.state;\r\n const { jobId, jobTitle } = this.props.match.params;\r\n\r\n showConfirmModal({\r\n content: i18n.t('CANDIDATE_LIST_RESEND_EMAIL_CONFIRMATION'),\r\n okText: i18n.t('CANDIDATE_CARD_CONFIRM_DELETE_FILE_BUTTON'),\r\n cancelText: i18n.t('CANDIDATE_CARD_CANCEL_DELETE_FILE_BUTTON'),\r\n onOk: () => {\r\n this.props.sendConfirmationToCandidate(selectedCandidate, jobTitle, jobId);\r\n },\r\n });\r\n }; \r\n\r\n public render() {\r\n const { openedStatuses, selectedCandidates } = this.state;\r\n const anyChecked = selectedCandidates.length > 0;\r\n const { totalItemsCount, onPagingChange, items, onSortClicked, sortOn, direction, onSearch, job } = this.props; \r\n \r\n const menuStatusList = (\r\n {\r\n this.statusChanged(selectedStatus);\r\n }}\r\n gTMEventData={(selectedStatus) => {\r\n const selCandidate = this.getSelectedCandidate(this.props.selectedCandidateId);\r\n const candidates = selCandidate ? [selCandidate] : this.state.selectedCandidates;\r\n const gtm = [];\r\n candidates.forEach((e) => gtm.push({ event: 'adStatusUpdated', state: selectedStatus, applicantId: e.id }));\r\n return gtm;\r\n }}\r\n />\r\n );\r\n const tableItems: BranderoTableItem = {\r\n sortOn,\r\n sortDirection: direction,\r\n headers: [\r\n {\r\n columnName: '',\r\n headerTextResourceName: '',\r\n htmlElement: (\r\n 0 && selectedCandidates.length === items.length}\r\n onChange={(e: any) => {\r\n const isChecked = e.target.checked;\r\n\r\n if (!isChecked) {\r\n return this.setState({\r\n selectedCandidates: [],\r\n });\r\n }\r\n\r\n this.setState({ selectedCandidates: [...this.props.items] });\r\n }}\r\n />\r\n ),\r\n },\r\n ...getCandidateSortingNames(),\r\n {\r\n columnName: '',\r\n headerTextResourceName: '',\r\n },\r\n ],\r\n rows: items.map((candidateItem, i) => {\r\n const isChecked = selectedCandidates.filter((c) => c.id === candidateItem.id).length > 0;\r\n const restrictFilesLength = candidateItem.files.length > 10 || candidateItem.urls.length > 7; \r\n return {\r\n dataItems: [\r\n {\r\n htmlElement: (\r\n {\r\n const checked = e.target.checked;\r\n\r\n if (!checked) {\r\n this.setState({\r\n selectedCandidates: [...selectedCandidates].filter((c) => {\r\n return c.id !== candidateItem.id;\r\n }),\r\n });\r\n } else {\r\n this.setState({ selectedCandidates: [...selectedCandidates, candidateItem] });\r\n }\r\n }}\r\n />\r\n ),\r\n tdClassName: 'shrink',\r\n },\r\n {\r\n htmlElement: (\r\n this.showCandidateCard(e, candidateItem)}\r\n toolTip={i18n.t('CANDIDATE_LIST_CARD_HINT_TEXT')}\r\n asLink\r\n />\r\n ),\r\n },\r\n { text: Utils.dateFormatDefaultLanguage(candidateItem.applicationDate) },\r\n { tdClassName: 'sm-hidden-col', text: candidateItem.phoneNumber },\r\n { text: candidateItem.email.toLowerCase() },\r\n {\r\n htmlElement: (\r\n \r\n {\r\n this.setState({\r\n openedStatuses: {\r\n [candidateItem.id]: true,\r\n },\r\n });\r\n\r\n this.showSelectStatus(candidateItem.id);\r\n }}\r\n className={`status-btn ${candidateItem.status.toLowerCase()}`}\r\n title={i18n.t('CANDIDATE_LIST_LINK_STATUS_HOVER_TEXT')}\r\n >\r\n {i18n.t('CANDIDATE_LIST_STATUS_' + candidateItem.status.toLocaleUpperCase())}\r\n \r\n \r\n ),\r\n tdClassName: 'statusBox',\r\n },\r\n {\r\n tdClassName: 'ctable-message',\r\n htmlElement: (\r\n candidateItem.numberOfEmails ===0 ?
    :\r\n {\r\n this.setState({click: true})\r\n this.openCandidateEmailsModal(candidateItem.id, candidateItem.companyId, false, {y: 0, x: 0})\r\n }}\r\n >\r\n\r\n {/*title with space need for disabled tooltip*/}\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n htmlElement: (\r\n \r\n \r\n 0 ? faStickyNote : faStickyNoteEmpty} />}\r\n gTMEventData={{ event: 'noteAdded' }}\r\n toolTip={candidateItem.notes && candidateItem.notes.length > 0 ? i18n.t('CANDIDATE_LIST_LINK_NOTES_HOVER_TEXT') : i18n.t('CANDIDATE_LIST_LINK_NOTES_EMPTY_HOVER_TEXT')}\r\n onClick={() => {\r\n this.showCandidateNote(candidateItem);\r\n }}\r\n />\r\n \r\n \r\n ),\r\n tdClassName: 'shrink sm-hidden-col',\r\n },\r\n {\r\n tdClassName: restrictFilesLength ? 'sm-hidden-col max-files-width' : 'sm-hidden-col',\r\n htmlElement: generateUrlLinks(candidateItem.urls, candidateItem.files, false, () => {}, true),\r\n },\r\n {\r\n tdClassName: 'ctable-actions td-flex',\r\n \r\n htmlElement: (\r\n <>\r\n {\r\n this.showCandidateMessageWindow(candidateItem);\r\n }}\r\n icon={}\r\n />\r\n }\r\n onClick={(e) => {\r\n this.showCandidateCard(e, candidateItem);\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ],\r\n };\r\n }),\r\n };\r\n const { jobId, jobTitle } = this.props.match.params;\r\n const { selectedCandidate, cardAnchorElement, showMultiStatusMenu, isNewCandidate } = this.state;\r\n const unsolicitedNoticeContent = i18n.t('CANDIDATE_LIST_UNSOLICITED_NOTICE').replace('{0}', ROUTES.SITE_SETTINGS);\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {`${!this.isUnsolicited ? Base64.decodeWithUrlEncode(jobTitle, true): i18n.t(\"CANDIDATE_LIST_UNSOLICITED_TITLE\")} (${totalItemsCount})`}

    \r\n
    \r\n \r\n this.showSelectStatus(null)}\r\n title={i18n.t('CANDIDATE_LIST_ITEMS_UPDATE_STATUS')}\r\n toolTip={i18n.t('CANDIDATE_LIST_LINK_STATUS_HOVER_TEXT')}\r\n disabledToolTip={i18n.t('CANDIDATE_LIST_DISABLED_LINK_HOVER_TEXT')}\r\n disabled={!anyChecked}\r\n />\r\n ,\r\n {\r\n this.showCandidateMessageWindow(null);\r\n }}\r\n title={i18n.t('CANDIDATE_LIST_MESSAGE_OPEN_BUTTON')}\r\n toolTip={i18n.t('CANDIDATE_LIST_LINK_MESSAGE_HOVER_TEXT')}\r\n disabledToolTip={i18n.t('CANDIDATE_LIST_DISABLED_LINK_HOVER_TEXT')}\r\n disabled={!anyChecked}\r\n />,\r\n {\r\n this.onCandidateDelete(e, true);\r\n }}\r\n title={i18n.t('CANDIDATE_LIST_DELETE_BUTTON')}\r\n toolTip={i18n.t('CANDIDATE_LIST_DELETE_BUTTON_HOVER')}\r\n disabledToolTip={i18n.t('CANDIDATE_LIST_DISABLED_LINK_HOVER_TEXT')}\r\n disabled={!anyChecked}\r\n />,\r\n {\r\n this.onCandidateForward(e, true);\r\n }}\r\n title={i18n.t('CANDIDATE_LIST_FORWARD_BUTTON')}\r\n toolTip={i18n.t('CANDIDATE_LIST_FORWARD_BUTTON_HOVER')}\r\n disabledToolTip={i18n.t('CANDIDATE_LIST_DISABLED_LINK_HOVER_TEXT')}\r\n disabled={!(anyChecked && Utils.isSuperAdmin())}\r\n \r\n />,\r\n ,\r\n ]}\r\n />\r\n
    \r\n \r\n
    \r\n {this.isUnsolicited &&
    }\r\n
    \r\n this.candidateListCardPopoverClose()} showCloseBtn={false}>\r\n {cardAnchorElement && (\r\n
    \r\n this.candidateListCardPopoverClose()}\r\n >\r\n \r\n \r\n \r\n {({ candidateDetails, updateCandidateStatus, isFetching }) => {\r\n return (\r\n {\r\n this.showSelectStatus(selectedCandidate.id);\r\n }}\r\n noteDialogOpen={() => {\r\n this.showCandidateNote(selectedCandidate);\r\n }}\r\n onPDFExport={this.handleCandidatePDFExport}\r\n onShowSendEmail={() => this.showSendEmailCandidateCard()}\r\n showSendEmail={false}\r\n onDelete={this.onCandidateDelete}\r\n statusListComponent={menuStatusList}\r\n isNew={isNewCandidate}\r\n onNewCandidateSave={this.handleSaveNewCandidate}\r\n onUpdateCandidateDetails={this.handleCandidateUpdate}\r\n onEmailResend={this.handleEmailResend}\r\n onForward={this.onCandidateForward}\r\n />\r\n );\r\n }}\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: ApplicationState) {\r\n return {\r\n isFetching: state.candidateModelState.isFetching,\r\n companyData: state.companyData.companyData,\r\n\r\n job: state.jae,\r\n modal: state.modal,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch: any) {\r\n return bindActionCreators(\r\n {\r\n deleteCandidates,\r\n deleteCandidate,\r\n createCandidate,\r\n exportCandidateToPDF,\r\n showCandidateMessageWindow,\r\n showCandidateNote,\r\n showCandidateEmails,\r\n showCandidateEmailsHover,\r\n showErrorSnak,\r\n hideModal,\r\n getJobById,\r\n sendConfirmationToCandidate,\r\n sendForwardCandidate,\r\n loadSiteData: siteActionCreators.fetchSiteData,\r\n loadCompanyData: CompanyDataStore.actionCreators.fetchCompanyData,\r\n },\r\n dispatch\r\n );\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(CandidateListItems as any) as any) as any;\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport CandidateListItems from '../../components/candidateList/CandidateListItems/CandidateListItems';\r\nimport * as reducer from '../../../store/CandidateListStore';\r\nimport { CandidateListFullModel, CandidateListShortModel, OriginalNameFileModel, Status, NoteModel } from '../../../services/autorest/models';\r\nimport { RouteComponentProps, withRouter } from 'react-router-dom';\r\nimport { CandidateDetailsState } from '../../../store/CandidateDetailsStore';\r\nimport { registerEvent } from '../../../googleTagManager';\r\n\r\nimport './assets/CandidateList.scss';\r\n\r\nconst ITEMS_COUNT_PER_PAGE = 10;\r\n\r\nexport interface CandidateListProps extends RouteComponentProps<{ jobId: string }> {}\r\ninterface DispatchProps {\r\n getCandidatesByJobId(\r\n jobId: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n );\r\n getFullCandidateByIdAndSetSelected(companyId: string, candidateId: string);\r\n updateCandidateStatus(selectedStatus: string, items: CandidateListFullModel[]);\r\n updateCandidateNote(candidateId: string, noteId: string, note: NoteModel);\r\n addCandidateNote(candidateId: string, note: NoteModel);\r\n updateCandidateDetails(candidateDetails: {\r\n id: string,\r\n companyId: string,\r\n email: string,\r\n name: string,\r\n description: string,\r\n educationLevel: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n files: OriginalNameFileModel[],\r\n urls: string[]\r\n });\r\n setSelectedCandidateId(candidateId: string);\r\n}\r\ninterface State {\r\n direction: string;\r\n sortOn: string;\r\n searchString: string;\r\n statusFilterValue: Status;\r\n includeDeletedStatus: boolean;\r\n jobFilterValue: string;\r\n pageNumber: number;\r\n itemsCountPerPage: number;\r\n filterProperty: string;\r\n filterValue: string;\r\n}\r\ninterface IStateProps {\r\n candidates: CandidateListShortModel[];\r\n itemsCount: number;\r\n isFetching: boolean;\r\n candidateDetails: CandidateListFullModel;\r\n candidateDetailsIsFetching: boolean;\r\n selectedCandidateId: string;\r\n}\r\ntype Props = CandidateListProps & DispatchProps & IStateProps;\r\nclass CandidateList extends React.Component {\r\n constructor(props: Props) {\r\n super(props);\r\n this.state = {\r\n filterProperty: '',\r\n filterValue: '',\r\n sortOn: 'applicationDate',\r\n direction: 'DESC',\r\n searchString: null,\r\n statusFilterValue: null,\r\n jobFilterValue: null,\r\n pageNumber: 1,\r\n itemsCountPerPage: ITEMS_COUNT_PER_PAGE,\r\n includeDeletedStatus: false\r\n };\r\n }\r\n public componentDidUpdate(prevProps: Props) {\r\n // Make sure the component update when comming from candidates to unsolisites Candidates\r\n const oldjobId = prevProps.match.params.jobId;\r\n const newjobId = this.props.match.params.jobId;\r\n if (oldjobId !== newjobId) {\r\n this.fetchCandidates();\r\n }\r\n }\r\n public componentDidMount() {\r\n this.fetchCandidates();\r\n const fixedContent = document.querySelector('#react-app');\r\n if (fixedContent) {\r\n fixedContent.classList.remove('mobile-app');\r\n }\r\n }\r\n private fetchCandidates() {\r\n const { getCandidatesByJobId } = this.props;\r\n const { searchString, statusFilterValue, jobFilterValue, sortOn, direction, pageNumber, itemsCountPerPage, includeDeletedStatus } = this.state;\r\n const { jobId } = this.props.match.params;\r\n getCandidatesByJobId(jobId, searchString, statusFilterValue, includeDeletedStatus, jobFilterValue, sortOn, direction, pageNumber, itemsCountPerPage);\r\n }\r\n\r\n public render() {\r\n const {\r\n updateCandidateStatus,\r\n candidates,\r\n itemsCount,\r\n updateCandidateNote,\r\n addCandidateNote,\r\n selectedCandidateId,\r\n candidateDetailsIsFetching,\r\n getFullCandidateByIdAndSetSelected,\r\n setSelectedCandidateId,\r\n updateCandidateDetails\r\n } = this.props;\r\n return (\r\n
    \r\n {\r\n updateCandidateDetails({id, name, companyId, email, description, educationLevel, experienceYears, latestJobTitle, phoneNumber, files, urls});\r\n }}\r\n onFilterStatus={(statusFilterValue: Status, includeDeletedStatus: boolean) => {\r\n this.setState({ statusFilterValue, includeDeletedStatus }, () => {\r\n this.fetchCandidates();\r\n });\r\n }}\r\n onFilterJob={(jobFilterValue: string) => {\r\n this.setState({ jobFilterValue }, () => {\r\n this.fetchCandidates();\r\n });\r\n }}\r\n onSearch={(searchString) => {\r\n this.setState({ searchString }, () => {\r\n this.fetchCandidates();\r\n });\r\n }}\r\n onSortClicked={(sortOn, direction) => {\r\n this.setState({ sortOn, direction }, () => {\r\n this.fetchCandidates();\r\n });\r\n }}\r\n onRowClicked={(item) => {\r\n // console.log(item);\r\n }}\r\n direction={this.state.direction}\r\n sortOn={this.state.sortOn}\r\n onRowSelected={(item, isChecked) => {\r\n // console.log(item, isChecked);\r\n }}\r\n items={candidates || []}\r\n selectedCandidateId={selectedCandidateId}\r\n candidateDetailsIsFetching={candidateDetailsIsFetching}\r\n onGetCandidateDetails={getFullCandidateByIdAndSetSelected}\r\n onSetSelectedCandidateId={setSelectedCandidateId}\r\n onStatusChanged={(selectedStatus, selectedCandidates) => {\r\n selectedCandidates.forEach((x) => {\r\n registerEvent({ event: 'adstatusupdated', jobid: this.props.match.params.jobId, status: selectedStatus, applicantid: x.id });\r\n });\r\n updateCandidateStatus(selectedStatus, selectedCandidates);\r\n }}\r\n totalItemsCount={itemsCount}\r\n onPagingChange={(pageNumber: number, itemsCountPerPage: number) => {\r\n this.setState({ pageNumber, itemsCountPerPage }, () => {\r\n this.fetchCandidates();\r\n });\r\n }}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (\r\n state: {\r\n candidateModelState: reducer.CandidateModelState;\r\n candidateDetailsState: CandidateDetailsState;\r\n },\r\n ownProps: IStateProps\r\n): IStateProps => {\r\n return {\r\n candidates: state.candidateModelState.candidates,\r\n itemsCount: state.candidateModelState.itemsCount,\r\n isFetching: state.candidateModelState.isFetching,\r\n selectedCandidateId: state.candidateModelState.selectedCandidateId,\r\n candidateDetails: state.candidateDetailsState.candidateDetails,\r\n candidateDetailsIsFetching: state.candidateModelState.isFetching\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: any, ownProps: IStateProps): DispatchProps => {\r\n return {\r\n getCandidatesByJobId: (\r\n jobId: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n ) => {\r\n dispatch(\r\n reducer.getCandidatesByJobId(\r\n jobId,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n sortDirection,\r\n pageNumber,\r\n itemsCountPerPage\r\n )\r\n );\r\n },\r\n updateCandidateStatus: (selectedStatus: string, items: CandidateListFullModel[]) => {\r\n dispatch(reducer.updateCandidateStatus(selectedStatus, items));\r\n },\r\n updateCandidateNote: (candidateId: string, noteId: string, note: NoteModel) => {\r\n dispatch(reducer.updateCandidateNote(candidateId, noteId, note));\r\n },\r\n addCandidateNote: (candidateId: string, note: NoteModel) => {\r\n dispatch(reducer.addCandidateNote(candidateId, note));\r\n },\r\n updateCandidateDetails: (props: {\r\n id: string,\r\n companyId: string,\r\n email: string,\r\n name: string,\r\n description: string,\r\n educationLevel: string,\r\n experienceYears: number,\r\n latestJobTitle: string,\r\n phoneNumber: string,\r\n files: OriginalNameFileModel[],\r\n urls\r\n }) => {\r\n dispatch(\r\n reducer.updateCandidateDetails({ ...props })\r\n );\r\n },\r\n getFullCandidateByIdAndSetSelected: (companyId: string, candidateId: string) => {\r\n dispatch(reducer.getFullCandidateByIdAndSetSelected(companyId, candidateId));\r\n },\r\n setSelectedCandidateId: (candidateId: string) => {\r\n dispatch(reducer.setSelectedCandidateId(candidateId));\r\n }\r\n };\r\n};\r\n\r\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(CandidateList) as any);\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport _isEqual from 'lodash.isequal';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { faTable, faPhone, faEnvelope, faStickyNote, faLink, faInfoCircle, faPen, faChevronDown } from '@fortawesome/free-solid-svg-icons';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { CandidateListFullModel } from '../../../../services/autorest/models';\r\nimport { generateUrlLinks } from '../CandidateListItems/CandidateListHelpers';\r\nimport CandidateDetails from '../../../containers/CandidateList/CandidateDetails';\r\nimport Base64 from '../../../../Utils/ts-base64';\r\nimport Loader from '../../_shared/Loader/Loader';\r\nimport Popover from '../../_shared/Popover/Popover';\r\n\r\nimport './assets/CandidateListMobileCard.scss';\r\n\r\nexport interface CandidateListCardProps {\r\n candidate: CandidateListFullModel;\r\n showSelectStatus(e: React.MouseEvent, selectedCandidate: CandidateListFullModel);\r\n showNotesDialog?(selectedCandidate: CandidateListFullModel);\r\n jobTitle?: string;\r\n expanded: any;\r\n menuComponent: React.ReactNode;\r\n showDetails(id: string);\r\n expandedNote: any;\r\n showNote(id: string);\r\n}\r\n\r\nexport interface CandidateListCardState {\r\n isExpanded: boolean;\r\n isExpandedNote: boolean;\r\n showStatus: boolean;\r\n}\r\nclass CandidateListMobileCard extends React.Component {\r\n constructor(props: CandidateListCardProps) {\r\n super(props);\r\n\r\n this.state = {\r\n isExpanded: props.expanded,\r\n isExpandedNote: props.expandedNote,\r\n showStatus: false\r\n };\r\n }\r\n\r\n public componentWillReceiveProps(nextProps: CandidateListCardProps) {\r\n if (this.props.expanded !== nextProps.expanded) {\r\n this.setState({ isExpanded: nextProps.expanded });\r\n }\r\n if (this.props.expandedNote !== nextProps.expandedNote) {\r\n this.setState({ isExpandedNote: nextProps.expandedNote });\r\n }\r\n }\r\n\r\n private handleExpandClick = () => {\r\n this.props.showDetails(this.props.candidate.id);\r\n };\r\n\r\n private handleExpandNoteClick = () => {\r\n this.props.showNote(this.props.candidate.id);\r\n }\r\n\r\n private renderNote() {\r\n const { showNotesDialog, candidate } = this.props;\r\n\r\n if (!this.state.isExpandedNote) {\r\n return null;\r\n }\r\n\r\n return candidate.notes.map(item => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {item.note}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n });\r\n }\r\n\r\n private renderFilesAndLinks() {\r\n const { candidate } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    {i18n.t('CANDIDATE_LIST_LIST_HEADER_FILES_AND_LINKS')}
    \r\n
    \r\n {((candidate.urls.length > 0 && candidate.urls[0] != '') || candidate.files.length > 0) && (\r\n
    {generateUrlLinks(candidate.urls, candidate.files)}
    \r\n )}\r\n {!((candidate.urls.length > 0 && candidate.urls[0] != '') || candidate.files.length > 0) && (\r\n
    {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')}
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n private renderDetailedInfo() {\r\n const { candidate } = this.props;\r\n\r\n if (!this.state.isExpanded) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {({ candidateDetails, isFetching }) => {\r\n let lightApplyData;\r\n let phoneNumber;\r\n let educationLevel;\r\n let latestJobTitle;\r\n let experienceYears;\r\n let description;\r\n\r\n if (candidateDetails.lightApplyData) {\r\n lightApplyData = JSON.parse(candidateDetails.lightApplyData);\r\n }\r\n if (candidateDetails.phoneNumber) {\r\n phoneNumber = candidateDetails.phoneNumber;\r\n } else {\r\n phoneNumber = {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')};\r\n }\r\n if (candidateDetails.educationLevel) {\r\n educationLevel = candidateDetails.educationLevel;\r\n } else {\r\n educationLevel = {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')};\r\n }\r\n if (candidateDetails.latestJobTitle) {\r\n latestJobTitle = candidateDetails.latestJobTitle;\r\n } else {\r\n latestJobTitle = {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')};\r\n }\r\n if (candidateDetails.description) {\r\n description = candidateDetails.description;\r\n } else {\r\n description = {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')};\r\n }\r\n if (candidateDetails.experienceYears > 0) {\r\n experienceYears = candidateDetails.experienceYears + i18n.t('CANDIDATE_LIST_LIST_YEARS');\r\n } else {\r\n experienceYears = {i18n.t('CANDIDATE_LIST_FIELD_NOT_FILLED_OUT')};\r\n }\r\n\r\n return isFetching ? (\r\n \r\n ) : (\r\n
    \r\n \r\n\r\n {lightApplyData && (\r\n
    \r\n {lightApplyData.map((x: { name: string; value: string }, i: number) => {\r\n if (x.value != '') {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })}\r\n
    \r\n )}\r\n {candidateDetails.jobId === '00000000-0000-0000-0000-000000000000' && (\r\n \r\n )}\r\n {!lightApplyData && (\r\n <>\r\n \r\n \r\n \r\n
    \r\n
    {i18n.t('CANDIDATE_LIST_LIST_APPLICATION_TEXT')}
    \r\n
    \r\n {description}\r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n }}\r\n
    \r\n );\r\n }\r\n\r\n private handleStatusChange = (value: boolean) => {\r\n this.setState({ showStatus: value });\r\n };\r\n\r\n public render() {\r\n const { candidate, jobTitle, showSelectStatus, menuComponent, showNotesDialog } = this.props;\r\n const { showStatus } = this.state;\r\n\r\n return (\r\n
    \r\n
    \r\n
    {candidate.name}
    \r\n
    \r\n
    \r\n {\r\n this.handleStatusChange(false);\r\n }}\r\n >\r\n {menuComponent}\r\n
    \r\n }\r\n onVisibleChange={this.handleStatusChange}\r\n trigger=\"click\"\r\n placement=\"bottom\"\r\n className=\"status-selector\"\r\n renderInBody\r\n >\r\n showSelectStatus(e, candidate)}\r\n >\r\n {i18n.t('CANDIDATE_LIST_STATUS_' + candidate.status.toLocaleUpperCase())}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {candidate.jobId != '00000000-0000-0000-0000-000000000000' && Base64.decodeWithUrlEncode(jobTitle, true)}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    showNotesDialog(candidate)}>{i18n.t('CANDIDATE_LIST_LIST_HEADER_NOTES')}
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {this.renderNote()}\r\n
    \r\n\r\n {this.renderFilesAndLinks()}\r\n
    \r\n
    \r\n \r\n
    {i18n.t('CANDIDATE_LIST_LIST_HEADER_DETAILS')}
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n {this.renderDetailedInfo()}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst AlignedRow = ({ title, value, icon, newLine }: { title: string; value: string; newLine?: boolean; icon?: IconProp }) => {\r\n const rowClass = classnames('clmc__row', {\r\n 'clmc__row--block': newLine\r\n });\r\n\r\n const textClass = classnames('clmc__row-text', {\r\n 'clmc__row-text--left': newLine\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    {title}
    \r\n
    \r\n
    \r\n {value}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CandidateListMobileCard;\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { faFilter, faSortAmountUp, faSortAmountDown, faSort, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Status } from '../../../../services/autorest/models';\r\nimport { orderStatus, getCandidateSortingNames } from '../CandidateListItems/CandidateListHelpers';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport MenuStatusList from '../MenuStatusList/MenuStatusList';\r\nimport Popover from '../../_shared/Popover/Popover';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/FilterToolbar.scss';\r\n\r\nexport interface AppToolbarProps {\r\n onSortClicked(sortOn: string, direction: string);\r\n onFilterStatus(filterValue: Status, includeDeleted: boolean);\r\n onSearch(searchString: string);\r\n jobId: string;\r\n sortOn: string;\r\n direction?: string;\r\n}\r\n\r\nexport interface AppToolbarState {\r\n includeDeletedStatus: boolean;\r\n sortAnchorElement: any;\r\n filterAnchorElement: any;\r\n selectedFilter: string;\r\n seatchStr: string;\r\n showSortMenu: boolean;\r\n showStatusMenu: boolean;\r\n}\r\n\r\nclass FilterToolbar extends React.Component {\r\n constructor(props: AppToolbarProps) {\r\n super(props);\r\n\r\n this.state = {\r\n seatchStr: '',\r\n selectedFilter: '',\r\n includeDeletedStatus: false,\r\n filterAnchorElement: null,\r\n sortAnchorElement: null,\r\n showSortMenu: false,\r\n showStatusMenu: false\r\n };\r\n }\r\n\r\n private delay = null;\r\n\r\n private onSearchDelay(searchString: string) {\r\n const { onSearch } = this.props;\r\n\r\n this.setState({ seatchStr: searchString });\r\n\r\n if (this.delay) {\r\n clearTimeout(this.delay);\r\n }\r\n\r\n this.delay = setTimeout(() => {\r\n onSearch(searchString);\r\n }, 500);\r\n }\r\n\r\n public componentDidUpdate(prevProps: AppToolbarProps) {\r\n // Make sure the component update when coming from candidates to unsolisited Candidates\r\n const oldjobId = prevProps.jobId;\r\n const newjobId = this.props.jobId;\r\n\r\n if (oldjobId !== newjobId) {\r\n this.setState({ selectedFilter: '' });\r\n }\r\n }\r\n\r\n public render() {\r\n const { onSortClicked, onFilterStatus, sortOn, direction } = this.props;\r\n const { seatchStr, showSortMenu, showStatusMenu } = this.state;\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {\r\n this.setState({ showSortMenu: value });\r\n }}\r\n content={\r\n
    \r\n
    {i18n.t('CANDIDATE_LIST_SORT_BY')}
    \r\n {getCandidateSortingNames().map((item, i) => {\r\n const itemClass = classNames('cm-filter__menu-item', {\r\n 'cm-filter__menu-item--selected': this.props.sortOn === item.columnName\r\n });\r\n\r\n return (\r\n {\r\n let order = 'ASC';\r\n\r\n if (sortOn === item.columnName) {\r\n order = direction === 'DESC' ? 'ASC' : 'DESC';\r\n }\r\n\r\n onSortClicked(item.columnName, order);\r\n\r\n this.setState({ showSortMenu: false });\r\n }}\r\n >\r\n {this.props.sortOn === item.columnName && (\r\n \r\n )}\r\n {i18n.t(item.headerTextResourceName.toLocaleUpperCase())}\r\n
    \r\n );\r\n })}\r\n
    \r\n }\r\n >\r\n \r\n \r\n\r\n
    \r\n {\r\n this.onSearchDelay(e.target.value);\r\n }}\r\n />\r\n \r\n
    \r\n {\r\n this.setState({ showStatusMenu: value });\r\n }}\r\n placement=\"bottom\"\r\n content={\r\n {\r\n this.setState({ showStatusMenu: false });\r\n }}\r\n >\r\n {\r\n return { event: 'adStatusUpdated', state: selectedStatus };\r\n }}\r\n orderedStatuses={orderStatus().filter((x) => x !== Status.Deleted)}\r\n handleStatusChange={(selectedStatus: Status) => {\r\n onFilterStatus(selectedStatus, this.state.includeDeletedStatus);\r\n this.setState({ filterAnchorElement: null, selectedFilter: selectedStatus });\r\n }}\r\n firstEmpty={true}\r\n active={this.state.selectedFilter}\r\n />\r\n
    \r\n }\r\n >\r\n {\r\n e.preventDefault();\r\n this.setState({ filterAnchorElement: e.target });\r\n }}\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default FilterToolbar;\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport i18n from '../../../../../resources/i18n';\r\nimport { Status, CandidateListShortModel, NoteModel } from '../../../../../services/autorest/models';\r\nimport { orderStatus } from './../CandidateListHelpers';\r\nimport withInfiniteScroll from '../../../_shared/withInfiniteScroll';\r\nimport MenuStatusList from '../../MenuStatusList/MenuStatusList';\r\nimport CandidateListMobileCard from '../../CandidateListMobileCard/CandidateListMobileCard';\r\nimport AppToolbar from '../../FilterToolbar/FilterToolbar';\r\nimport Base64 from '../../../../../Utils/ts-base64';\r\nimport { showCandidateNote, ModalData } from '../../../../../store/ModalStore';\r\nimport Loader from '../../../../components/_shared/Loader/Loader';\r\nimport CandidatesPolicyMessage from '../../../../components/candidateList/CandidatesPolicyMessage/CandidatesPolicyMessage';\r\nimport { ROUTES } from '../../../../common/routes';\r\nimport { UtilsCandidate } from '../../../../../Utils/UtilsCandidate';\r\n\r\nexport interface CandidateListMobileItemsProps {\r\n candidates: CandidateListShortModel[];\r\n onSortClicked(sortOn: string, direction: string);\r\n onStatusChanged(selectedStatus: string, items: CandidateListShortModel[]);\r\n onFilterStatus(filterValue: Status, includeDeleted: boolean);\r\n onFilterJob(filterValue: string);\r\n onUpdateNote(candidateId: string, noteId: string, note: NoteModel);\r\n onAddNote(candidateId: string, note: NoteModel);\r\n onSearch(searchString: string);\r\n showCandidateNote(data: ModalData): Function;\r\n jobTitle: string;\r\n jobId: string;\r\n totalItemsCount: number;\r\n isFetching: boolean;\r\n sortOn?: string;\r\n direction?: string;\r\n}\r\nexport interface CandidateListMobileItemsState {\r\n selectedCandidate: CandidateListShortModel;\r\n expandedId: object;\r\n expandedIdNote: object;\r\n}\r\n\r\nclass CandidateListMobileItems extends React.Component {\r\n private decodedJobTitle: string;\r\n private isUnsolicited: boolean;\r\n\r\n constructor(props: CandidateListMobileItemsProps) {\r\n super(props);\r\n\r\n const { jobTitle, jobId } = props;\r\n\r\n this.state = {\r\n selectedCandidate: {},\r\n expandedId: {},\r\n expandedIdNote: {},\r\n };\r\n\r\n this.decodedJobTitle = Base64.decodeWithUrlEncode(jobTitle, true);\r\n this.isUnsolicited = UtilsCandidate.isUnsolicitedApplication(jobId);\r\n }\r\n\r\n private showCandidateDetails(id: string) {\r\n const stateExpandedId = this.state.expandedId;\r\n\r\n if (stateExpandedId[id]) {\r\n const newState = { ...stateExpandedId };\r\n\r\n delete newState[id];\r\n\r\n this.setState({ expandedId: newState });\r\n } else {\r\n this.setState({ expandedId: { [id]: true } });\r\n }\r\n }\r\n\r\n private showCandidateNoteElement(id: string) {\r\n const stateExpandedIdNote = this.state.expandedIdNote;\r\n if (stateExpandedIdNote[id]) {\r\n const newValue = { ...stateExpandedIdNote };\r\n delete newValue[id];\r\n this.setState({ expandedIdNote: newValue });\r\n } else {\r\n this.setState({ expandedIdNote: {[id]: true} });\r\n }\r\n }\r\n\r\n private showSelectStatus(e: React.MouseEvent, selectedCandidate: CandidateListShortModel) {\r\n e.stopPropagation();\r\n\r\n this.setState({\r\n selectedCandidate,\r\n });\r\n }\r\n\r\n private noteDialogOpen(selectedCandidate: CandidateListShortModel) {\r\n this.props.showCandidateNote({\r\n candidateId: selectedCandidate.id,\r\n onChange: (newNoteList: NoteModel[]) => {\r\n this.setState({ selectedCandidate: { ...this.state.selectedCandidate, notes: newNoteList } })\r\n }\r\n });\r\n }\r\n\r\n public render() {\r\n const { candidates, jobTitle, onStatusChanged, onSearch, onSortClicked, onFilterStatus, isFetching, jobId, sortOn, direction } = this.props;\r\n const unsolicitedNoticeContent = i18n.t('CANDIDATE_LIST_UNSOLICITED_NOTICE').replace('{0}', ROUTES.SITE_SETTINGS);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {`${this.decodedJobTitle} (${candidates.length})`}
    \r\n {this.isUnsolicited &&
    }\r\n
    \r\n \r\n \r\n {candidates.length > 0\r\n ? candidates.map((candidate, index) => {\r\n return (\r\n this.showCandidateDetails(id)}\r\n showNote={(id: string) => this.showCandidateNoteElement(id)}\r\n showNotesDialog={() => { this.noteDialogOpen(candidate) }}\r\n menuComponent={\r\n {\r\n return { event: 'adStatusUpdated', state: selectedStatus, applicantId: this.state.selectedCandidate.id };\r\n }}\r\n orderedStatuses={orderStatus()}\r\n handleStatusChange={(selectedStatus: string) => {\r\n onStatusChanged(selectedStatus, [this.state.selectedCandidate]);\r\n }}\r\n />\r\n }\r\n />\r\n );\r\n })\r\n : null}\r\n {isFetching && candidates.length > 0 &&

    {i18n.t('USERMANAGEMENT_LOADING_MSG')}

    }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch: any) {\r\n return bindActionCreators(\r\n {\r\n showCandidateNote,\r\n },\r\n dispatch\r\n );\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(withInfiniteScroll(CandidateListMobileItems, { containerSelector: '#react-app' }));\r\n","import React, { Component, ComponentType } from 'react';\r\n\r\nexport interface ListProps {\r\n hasMore: boolean;\r\n loadMoreItems(): void;\r\n isFetching?;\r\n}\r\n\r\nexport default

    (WrappedComponent: ComponentType

    , options: { containerSelector: string }) =>\r\n class withInfiniteScroll extends Component

    {\r\n iScroll = document.querySelector(options.containerSelector) || document.querySelector('#react-app');\r\n\r\n componentDidMount() {\r\n this.iScroll.addEventListener('scroll', this.onScroll);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.iScroll.removeEventListener('scroll', this.onScroll, false);\r\n }\r\n\r\n onScroll = () => {\r\n const { loadMoreItems, hasMore, isFetching } = this.props;\r\n if (!hasMore) {\r\n return;\r\n }\r\n if (this.iScroll.scrollTop + this.iScroll.clientHeight >= this.iScroll.scrollHeight && !isFetching) {\r\n loadMoreItems();\r\n }\r\n };\r\n public render() {\r\n return ;\r\n }\r\n };\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { RouteComponentProps } from 'react-router-dom';\r\nimport { CandidateListShortModel, Status, NoteModel } from '../../../services/autorest/models';\r\nimport * as reducer from '../../../store/CandidateListStore';\r\nimport CandidateListMobileItems from '../../components/candidateList/CandidateListItems/mobile/CandidateListMobileItems';\r\nimport { handleSidebarMiniClick, handleToggleSidebar } from '../../components/candidateList/CandidateListItems/CandidateListHelpers';\r\nconst ITEMS_COUNT_PER_PAGE = 10;\r\n\r\nexport interface CandidateListProps extends RouteComponentProps<{ jobTitle: string; jobId: string }> {}\r\ninterface DispatchProps {\r\n getCandidatesByJobId(\r\n jobId: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n );\r\n updateCandidateStatus(selectedStatus: string, items: CandidateListShortModel[]);\r\n updateCandidateNote(candidateId: string, noteId: string, note: NoteModel);\r\n addCandidateNote(candidateId: string, note: NoteModel);\r\n concatenateCandidatesByJobId(\r\n jobId: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n );\r\n}\r\n\r\ninterface State {\r\n direction: string;\r\n sortOn: string;\r\n searchString: string;\r\n statusFilterValue: Status;\r\n includeDeletedStatus: boolean;\r\n jobFilterValue: string;\r\n pageNumber: number;\r\n itemsCountPerPage: number;\r\n}\r\n\r\ninterface IStateProps {\r\n candidates: CandidateListShortModel[];\r\n itemsCount: number;\r\n isFetching: boolean;\r\n}\r\n\r\ntype CandidateListMobileProps = CandidateListProps & DispatchProps & IStateProps;\r\n\r\nclass CandidateMobileList extends React.Component {\r\n constructor(props: CandidateListMobileProps) {\r\n super(props);\r\n\r\n this.state = {\r\n sortOn: 'applicationDate',\r\n direction: 'DESC',\r\n searchString: null,\r\n statusFilterValue: null,\r\n jobFilterValue: null,\r\n pageNumber: 1,\r\n itemsCountPerPage: ITEMS_COUNT_PER_PAGE,\r\n includeDeletedStatus: false\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this.fetchCandidates();\r\n\r\n const fixedContent = document.querySelector('#react-app');\r\n\r\n if (fixedContent) {\r\n fixedContent.classList.add('mobile-app');\r\n // work around with Left Sidebar on Candidate page as react-app has fixed position\r\n this.handleToggleLeftSidebar();\r\n }\r\n }\r\n\r\n private handleToggleLeftSidebar = () => {\r\n const sbFull = document.querySelector('#toggle_sidemenu_l');\r\n const sbMini = document.querySelector('.sidebar-toggle-mini');\r\n\r\n if (sbFull) {\r\n sbFull.addEventListener('click', handleToggleSidebar, true);\r\n }\r\n\r\n if (sbMini) {\r\n sbMini.addEventListener('click', handleSidebarMiniClick, true);\r\n }\r\n };\r\n\r\n public componentWillUnmount() {\r\n const fixedContent = document.querySelector('#react-app');\r\n\r\n if (fixedContent) {\r\n fixedContent.classList.remove('mobile-app');\r\n //document.querySelector('.sidebar-toggle-mini').removeEventListener('click', handleSidebarMiniClick, true);\r\n //document.querySelector('#toggle_sidemenu_l').removeEventListener('click', handleToggleSidebar, true);\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: CandidateListMobileProps) {\r\n // Make sure the component update when comming from candidates to unsolisited Candidates\r\n const oldjobId = prevProps.match.params.jobId;\r\n const newjobId = this.props.match.params.jobId;\r\n\r\n if (oldjobId !== newjobId) {\r\n this.setState(\r\n () => {\r\n return {\r\n statusFilterValue: null,\r\n searchString: null,\r\n sortOn: 'applicationDate',\r\n pageNumber: 1,\r\n direction: 'DESC'\r\n };\r\n },\r\n () => this.fetchCandidates()\r\n );\r\n }\r\n }\r\n\r\n private fetchCandidates() {\r\n const { searchString, statusFilterValue, jobFilterValue, sortOn, direction, pageNumber, itemsCountPerPage, includeDeletedStatus } = this.state;\r\n const { jobId } = this.props.match.params;\r\n\r\n this.props.getCandidatesByJobId(\r\n jobId,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n direction,\r\n pageNumber,\r\n itemsCountPerPage\r\n );\r\n }\r\n\r\n private concatenateCandidates() {\r\n const { searchString, statusFilterValue, jobFilterValue, sortOn, direction, pageNumber, itemsCountPerPage, includeDeletedStatus } = this.state;\r\n const { jobId } = this.props.match.params;\r\n\r\n this.props.concatenateCandidatesByJobId(\r\n jobId,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n direction,\r\n pageNumber,\r\n itemsCountPerPage\r\n );\r\n }\r\n\r\n private loadMoreItems = () => {\r\n this.setState(\r\n (prevState) => {\r\n return {\r\n pageNumber: prevState.pageNumber + 1\r\n };\r\n },\r\n () => this.concatenateCandidates()\r\n );\r\n };\r\n\r\n public render() {\r\n const { candidates, isFetching, updateCandidateNote, addCandidateNote, updateCandidateStatus, itemsCount } = this.props;\r\n\r\n return (\r\n updateCandidateNote(candidateId, noteId, note)}\r\n onAddNote={(candidateId: string, note) => addCandidateNote(candidateId, note)}\r\n onStatusChanged={(selectedStatus, selectedCandidates) => updateCandidateStatus(selectedStatus, selectedCandidates)}\r\n onFilterStatus={(statusFilterValue: Status, includeDeletedStatus: boolean) => {\r\n this.setState({ statusFilterValue, includeDeletedStatus, pageNumber: 1 }, () => this.fetchCandidates());\r\n }}\r\n onSortClicked={(sortOn, direction) => {\r\n this.setState({ sortOn, direction, pageNumber: 1 }, () => this.fetchCandidates());\r\n }}\r\n onFilterJob={() => { }}\r\n totalItemsCount={itemsCount}\r\n loadMoreItems={this.loadMoreItems}\r\n hasMore={itemsCount > candidates.length}\r\n onSearch={(searchString) => {\r\n this.setState({ searchString, pageNumber: 1 }, () => this.fetchCandidates());\r\n }}\r\n isFetching={isFetching}\r\n sortOn={this.state.sortOn}\r\n direction={this.state.direction}\r\n />\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (\r\n state: {\r\n candidateModelState: reducer.CandidateModelState;\r\n },\r\n ownProps: IStateProps\r\n): IStateProps => {\r\n return {\r\n candidates: state.candidateModelState.candidates,\r\n itemsCount: state.candidateModelState.itemsCount,\r\n isFetching: state.candidateModelState.isFetching\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: any, ownProps: IStateProps): DispatchProps => {\r\n return {\r\n getCandidatesByJobId: (\r\n jobId: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n ) => {\r\n dispatch(\r\n reducer.getCandidatesByJobId(\r\n jobId,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n sortDirection,\r\n pageNumber,\r\n itemsCountPerPage\r\n )\r\n );\r\n },\r\n updateCandidateStatus: (selectedStatus: string, items: CandidateListShortModel[]) => {\r\n dispatch(reducer.updateCandidateStatus(selectedStatus, items));\r\n },\r\n updateCandidateNote: (candidateId: string, noteId: string, note: NoteModel) => {\r\n dispatch(reducer.updateCandidateNote(candidateId, noteId, note));\r\n },\r\n addCandidateNote: (candidateId: string, note: NoteModel) => {\r\n dispatch(reducer.addCandidateNote(candidateId, note));\r\n },\r\n concatenateCandidatesByJobId: (\r\n jobId: string,\r\n searchString: string,\r\n statusFilterValue: Status,\r\n includeDeletedStatus: boolean,\r\n jobFilterValue: string,\r\n sortOn: string,\r\n sortDirection: string,\r\n pageNumber: number,\r\n itemsCountPerPage: number\r\n ) => {\r\n dispatch(\r\n reducer.concatenateCandidates(\r\n jobId,\r\n searchString,\r\n statusFilterValue,\r\n includeDeletedStatus,\r\n jobFilterValue,\r\n sortOn,\r\n sortDirection,\r\n pageNumber,\r\n itemsCountPerPage\r\n )\r\n );\r\n }\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CandidateMobileList) as any;\r\n","import * as React from 'react';\r\n\r\nexport const useMedia = (mediaQuery) => {\r\n if (!('matchMedia' in window)) {\r\n console.log('matchMedia is not supported');\r\n };\r\n\r\n const [isVerified, setIsVerified] = React.useState(!!window.matchMedia(mediaQuery).matches);\r\n\r\n React.useEffect(() => {\r\n const mediaQueryList = window.matchMedia(mediaQuery);\r\n const documentChangeHandler = () => setIsVerified(!!mediaQueryList.matches);\r\n\r\n mediaQueryList.addListener(documentChangeHandler);\r\n\r\n documentChangeHandler();\r\n\r\n return () => {\r\n mediaQueryList.removeListener(documentChangeHandler);\r\n };\r\n }, [mediaQuery]);\r\n\r\n return isVerified;\r\n};\r\n","import * as React from 'react';\r\nimport moment, { Moment } from 'moment';\r\nimport 'react-dates/initialize';\r\nimport { DateRangePicker as RangePicker } from 'react-dates';\r\nimport { OPEN_DOWN } from 'react-dates/constants';\r\nimport { faCalendarAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport ControlLabel from '../ControlLabel/ControlLabel';\r\nimport { useMedia } from '../../../../../Utils/hooks/useMedia';\r\nimport { Utils } from '../../../../../Utils/Utils';\r\n\r\nimport './assets/_datepicker.css';\r\nimport './assets/DateRangePicker.scss';\r\n\r\nconst DATE_TYPES = {\r\n START_DATE: 'startDate',\r\n END_DATE: 'endDate',\r\n};\r\n\r\nexport default function DateRangePicker({\r\n title,\r\n name,\r\n onChange,\r\n value,\r\n required,\r\n placeholder,\r\n minDate,\r\n maxDate,\r\n disabledFrom,\r\n disabledTo,\r\n maxDaysCount,\r\n openingDirection,\r\n}: {\r\n title?: string;\r\n name: string;\r\n value: Date[];\r\n onChange(value: Date[]): void;\r\n required?: boolean;\r\n placeholder: string[];\r\n minDate?: Date;\r\n maxDate?: Date;\r\n disabledFrom?: boolean;\r\n disabledTo?: boolean;\r\n maxDaysCount?: number;\r\n openingDirection?: 'up' | 'down';\r\n}) {\r\n const localValue = [moment(value[0]).startOf('day'), moment(value[1]).endOf('day')];\r\n const isMobile = useMedia('(max-width: 767px)');\r\n const orientation = isMobile ? 'vertical' : 'horizontal';\r\n const numberOfMonths = isMobile ? 1 : 2;\r\n const today = React.useMemo(() => moment(new Date()).startOf('day'), []);\r\n\r\n const [focusState, setFocusState] = React.useState(null);\r\n\r\n const handleChange = ({ startDate, endDate }) => {\r\n let start = startDate ? startDate.clone().startOf('day') : null;\r\n let end = endDate ? endDate.clone().endOf('day') : null;\r\n const daysDiff = start && end ? parseInt(end.diff(start, 'days')) + 1 : 0;\r\n\r\n if (daysDiff > maxDaysCount && focusState === DATE_TYPES.START_DATE) {\r\n end = start.clone().add(maxDaysCount - 1, 'days');\r\n }\r\n\r\n if (start.isBefore(localValue[0]) && focusState === DATE_TYPES.END_DATE) {\r\n end = start.clone();\r\n }\r\n\r\n if (daysDiff > maxDaysCount && end.isAfter(localValue[1])) {\r\n start = end.clone().subtract(maxDaysCount - 1, 'days');\r\n }\r\n\r\n const startDateToSave = start ? start.toDate() : null;\r\n const endDateToSave = end ? end.toDate() : null;\r\n const valueToSave: Date[] = [startDateToSave, endDateToSave];\r\n\r\n onChange(valueToSave);\r\n };\r\n\r\n const handleFocus = (focusedInput: string) => {\r\n setFocusState(focusedInput);\r\n };\r\n\r\n const handleBlockingDay = (date: Moment) => {\r\n if (date.isBefore(moment(minDate)) || date.isBefore(today)) {\r\n return true;\r\n }\r\n\r\n if (maxDate && date.endOf('day').isAfter(moment(maxDate))) {\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const getDisabledState = () => {\r\n if (disabledFrom && disabledTo) {\r\n return true;\r\n }\r\n\r\n if (disabledFrom) {\r\n return DATE_TYPES.START_DATE;\r\n }\r\n\r\n if (disabledTo) {\r\n return DATE_TYPES.END_DATE;\r\n }\r\n\r\n return false;\r\n };\r\n Utils.initMomentLocale();\r\n\r\n return (\r\n

    \r\n {title}\r\n
    \r\n
    \r\n \r\n
    \r\n -
    }\r\n isOutsideRange={handleBlockingDay}\r\n />\r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport moment from 'moment';\r\nimport { useTranslation } from 'react-i18next';\r\nimport DateRangePicker from '../../_shared/Controls/DateRangePicker/DateRangePicker';\r\nimport { JobAdStatuses } from '../../../../store/JobsListStore';\r\n\r\nimport './assets/JaeAdvertising.scss';\r\n\r\nconst { Active, Deactivated, Expired, Draft } = JobAdStatuses;\r\n\r\nexport default function JaeAdvertising({\r\n datepickerValue,\r\n onDatePickerChange,\r\n maxDaysCount,\r\n status,\r\n isExtendable,\r\n}: {\r\n datepickerValue: Date[];\r\n onDatePickerChange(e: any): void;\r\n maxDaysCount: number;\r\n status: number;\r\n isExtendable: boolean;\r\n}) {\r\n const { t } = useTranslation();\r\n const datePickerOpenDirection = status === Draft ? 'down' : 'up';\r\n const minDate = status === Active ? datepickerValue[0] : new Date();\r\n const minDateMoment = moment(minDate).startOf('day').toDate();\r\n\r\n const getAdvertisingChoosenDaysCount = (): number => {\r\n const [from, to] = datepickerValue;\r\n const diff = moment(to).diff(moment(from), 'days') + 1;\r\n\r\n return diff > 0 ? diff : 0;\r\n };\r\n\r\n const isFromFieldDisabled = (): boolean => {\r\n const isFuture = moment(datepickerValue[0]).isAfter(moment());\r\n\r\n if (isFuture && status === Deactivated) {\r\n return false;\r\n }\r\n\r\n return status === Active || status === Deactivated || (status === Expired && !isExtendable);\r\n };\r\n\r\n const isToFieldDisabled = (): boolean => {\r\n return status === Expired && !isExtendable;\r\n };\r\n\r\n const getMaxDate = () => {\r\n if (disableFrom)\r\n return moment(status !== Deactivated ? minDateMoment : datepickerValue[0]).add('days', maxDaysCount).startOf('day').toDate();\r\n\r\n return undefined;\r\n }\r\n\r\n const disableFrom = isFromFieldDisabled();\r\n const disableTo = isToFieldDisabled();\r\n const maxDate = getMaxDate();\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n {getAdvertisingChoosenDaysCount()} \r\n {t('JAE_JOBAD_DAYS_CHOSEN')}\r\n
    \r\n
    {t('JAE_JOBAD_MAX_DAYS_TO_CHOOSE').replace('{0}', maxDaysCount)}
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faQuestionCircle, faCheck, faTrash } from \"@fortawesome/free-solid-svg-icons\";\r\nimport InfoModal from \"../../InfoModal/InfoModal\";\r\nimport TooltipMessage from \"../../TooltipMessage/TooltipMessage\";\r\nimport { PackageProduct } from \"../../../../models/job/package\";\r\n\r\nimport \"./PackageCardProduct.scss\";\r\n\r\nexport default function PackageCardProduct({\r\n data,\r\n isPresent,\r\n onDelete,\r\n onAdd,\r\n isEdit,\r\n}: {\r\n data: PackageProduct;\r\n isPresent?: boolean;\r\n onDelete?: (id: any) => void;\r\n onAdd?: (e: PackageProduct) => void;\r\n isEdit?: boolean;\r\n}) {\r\n const { Icon: productIcon, Item } = data;\r\n const { t } = useTranslation();\r\n const [infoMessageIsVisible, setInfoMessageState] = React.useState(false);\r\n\r\n const handleMessageOpen = () => {\r\n setInfoMessageState(true);\r\n };\r\n\r\n const handleMessageClose = () => {\r\n setInfoMessageState(false);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    {Item.Name}
    \r\n
    \r\n\r\n {isEdit && (\r\n <>\r\n {isPresent ? (\r\n \r\n onDelete(Item[\"@id\"])}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\nimport './PackageCardCounter.scss';\r\n\r\nexport default function PackageCardCounter({ value }: { value: number }) {\r\n let counterValue = value;\r\n\r\n if (counterValue < 1) {\r\n counterValue = 1;\r\n } else if (counterValue > 100) {\r\n counterValue = 100;\r\n }\r\n\r\n const pointerStyles = { transform: `scale(0.5) rotate(${-90 + (counterValue * 180) / 100}deg)` };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { useTranslation } from 'react-i18next';\r\nimport PackageCardProduct from './PackageCardProduct/PackageCardProduct';\r\nimport PackageCardCounter from './PackageCardCounter/PackageCardCounter';\r\nimport { PackageProduct } from '../../../models/job/package';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport CommonInput from \"../../_shared/Controls/CommonInput/CommonInput\";\r\nimport './assets/PackageCard.scss';\r\n\r\nexport default function PackageCard({\r\n name,\r\n price,\r\n currency,\r\n description,\r\n productsData,\r\n recommendText,\r\n counterValue,\r\n duration,\r\n isActive,\r\n isDowngrade,\r\n onSelect,\r\n isEdit,\r\n onEdit,\r\n totalProducts,\r\n onAdd,\r\n onDelete,\r\n handlePriceChange\r\n}: {\r\n name: string;\r\n price: string | number;\r\n currency: string;\r\n description: string;\r\n duration: string;\r\n productsData: PackageProduct[];\r\n totalProducts?: PackageProduct[];\r\n recommendText?: string;\r\n counterValue: number;\r\n isActive?: boolean;\r\n isDowngrade?: boolean;\r\n isEdit?: boolean;\r\n onEdit?: (e?: any) => void;\r\n onSelect: (e?: any)=> void;\r\n onAdd?: (e: any) => void;\r\n onDelete?:(e: string)=> void;\r\n handlePriceChange?:(e:any) => void;\r\n}) {\r\n const { t } = useTranslation();\r\n const isSuperAdmin = Utils.isSuperAdmin();\r\n const cardClassNames = classNames([\r\n 'package-card',\r\n {\r\n 'package-card--recommend': recommendText.length,\r\n 'package-card--selected': isActive,\r\n 'package-card--downgrade': isDowngrade\r\n }\r\n ]);\r\n\r\n const buttonClassName = classNames(['package-card__btn', { 'package-card__btn--downgrade': isDowngrade }]);\r\n\r\n return (
    \r\n {!!recommendText.length &&
    {recommendText}
    }\r\n
    \r\n
    \r\n
    {name}
    \r\n
    \r\n {duration} {t('DAYS')}\r\n
    \r\n
    \r\n {isEdit ? : price}\r\n {currency}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {description}
    \r\n
    \r\n {isEdit ? (<>\r\n {totalProducts?.map((item: PackageProduct, index) => {\r\n return e.Item[\"@id\"] === item.Item[\"@id\"])} key={index} data={item} onAdd={onAdd} onDelete={onDelete} isEdit={isEdit}/>;\r\n })}\r\n ) : (<>\r\n {productsData.map((item: PackageProduct, index) => {\r\n return ;\r\n })})}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {((isSuperAdmin && isDowngrade) || (!isDowngrade)) && ()}\r\n {isSuperAdmin && ()} \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport { ApplicationState } from '../../../../store';\r\nimport { LoadingState } from '../../../../store/LoadingStore';\r\nimport { checkDiscountCode, removeCouponCode } from '../../../../store/JaeStore';\r\nimport { JobState } from '../../../../store/JobStore';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { UtilsJob } from '../../../../Utils/UtilsJob';\r\nimport { ProductEntity } from '../../../models/job/package';\r\n\r\nimport './JaeCoupon.scss';\r\n\r\nexport default function JaeCoupon({ update, useAlternativeBilling }: { update?: boolean; useAlternativeBilling?: boolean }) {\r\n const dispatch = useDispatch();\r\n const jobState = useSelector((s) => s.job);\r\n const loading = useSelector((s) => s.loading);\r\n const { couponCode, packages } = jobState;\r\n const [localCouponCode, setCouponCode] = React.useState('');\r\n const [discountProduct, setDiscountProduct] = React.useState(null);\r\n const company = useSelector((state) => state.companyData.companyData);\r\n\r\n const companyCouponeCode = company?.couponeCode;\r\n\r\n React.useEffect(() => {\r\n const product = UtilsJob.getDiscountProductData(packages);\r\n setDiscountProduct(product);\r\n }, [couponCode]);\r\n\r\n const handleCouponCodeChange = (e: React.ChangeEvent) => {\r\n // console.log(e.target.value)\r\n setCouponCode(e.target.value);\r\n };\r\n\r\n const handleCheckCouponCode = (e: React.FormEvent) => {\r\n e.preventDefault();\r\n\r\n if (localCouponCode.length) {\r\n dispatch(checkDiscountCode(localCouponCode, false));\r\n }\r\n };\r\n\r\n const handleCouponeRemove = () => {\r\n setCouponCode('');\r\n dispatch(removeCouponCode(update));\r\n };\r\n return (<>\r\n { (!useAlternativeBilling || !companyCouponeCode) && (\r\n < div className = \"jae-coupon\" >\r\n
    {i18n.t('JAE_JOBAD_COUPON_LABEL')}
    \r\n
    \r\n \r\n \r\n \r\n {\r\n couponCode && discountProduct && (\r\n
    \r\n
    \r\n {couponCode} - {discountProduct.Item.Name}\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n
    \r\n )}\r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Row, Col } from \"antd\";\r\nimport PackageCard from \"../../_shared/PackageCard/PackageCard\";\r\nimport JaeCoupon from \"../JaeCoupon/JaeCoupon\";\r\nimport { Recommendations, RecommendationEntity, ProductEntity, ProductsData } from \"../../../models/job/package\";\r\nimport { ApplicationState } from \"../../../../store\";\r\nimport { JobState } from \"../../../../store/JobStore\";\r\nimport { JobAdModalEx } from \"../../../models/modelExtentions/JobAdModelEx\";\r\nimport { Utils } from \"../../../../Utils/Utils\";\r\n\r\nimport \"./assets/JaePackages.scss\";\r\nimport packageData from \"../../_shared/PackageCard/Stories/packageData\";\r\nconst PACKAGE_COUNTER_POSITIONS = {\r\n advertiser: \"Ansøgersite\",\r\n minimum: \"Basis\",\r\n medium: \"Medium\",\r\n premium: \"Premium\",\r\n PremiumPlus: \"Premium+\",\r\n};\r\n\r\nexport default function JaePackages({\r\n onSelect,\r\n update,\r\n useAlternativeBilling,\r\n}: {\r\n onSelect(selectedItem: RecommendationEntity, products: ProductEntity[], manualEdit: boolean, customPrice?: string | number): void;\r\n update?: boolean;\r\n useAlternativeBilling?: boolean;\r\n}) {\r\n const jobState = useSelector((s) => s.job);\r\n const jaeState = useSelector((s) => s.jae);\r\n const packagesData: ProductsData = jobState.packages;\r\n const packagesRecommendations: Recommendations = packagesData.Recommendations;\r\n const packages = packagesRecommendations.Recommendation;\r\n const products: ProductEntity[] = packagesRecommendations.Products?.Product;\r\n const renderPackages = () => {\r\n let handledPackages = packages;\r\n if (!Array.isArray(handledPackages)) {\r\n handledPackages = [handledPackages];\r\n }\r\n\r\n return handledPackages.map((item: RecommendationEntity, index: number) => {\r\n\r\n const calculatePrice = (x) => {\r\n let pricePackage = parseFloat(x.TotalPrice.PriceAmount[\"#text\"]);\r\n x.Products.Id.forEach(x => {\r\n var item = packagesData.Recommendations.Products.Product.find((productItem: ProductEntity) => {\r\n return productItem.Item[\"@id\"] === x;\r\n });\r\n if (item.Item.Price.AllowanceCharge == undefined) {\r\n pricePackage += parseFloat(item.Item.Price.PriceAmount[\"#text\"]);\r\n }\r\n })\r\n\r\n return pricePackage.toFixed(2).toString();\r\n };\r\n const { SelectionOptions, Products } = item;\r\n let TotalPrice = item.TotalPrice;\r\n let price = TotalPrice.PriceAmount;\r\n let calculate_price = calculatePrice(item).toString();\r\n let counterValue = 0;\r\n\r\n const isActive = jaeState.requestedPackageId === item[\"@packageId\"];\r\n const [customPriceValue, setCustomPriceValue] = React.useState(\"\");\r\n const [originalTotalPrice, setOriginalTotalPrice] = React.useState(null);\r\n const [isEdit, setEdit] = React.useState(false);\r\n const [packageProducts, setPackageProducts] = React.useState([]);\r\n const [manualPrice, setManualPrice] = React.useState(false);\r\n\r\n const handlePriceChange = (e: React.ChangeEvent) => {\r\n setCustomPriceValue(e.target.value);\r\n setManualPrice(true);\r\n };\r\n\r\n const setupCustomPrice = (x) => {\r\n setCustomPriceValue(x);\r\n };\r\n\r\n const setOriginalPrice = () => {\r\n if (originalTotalPrice == null) {\r\n setOriginalTotalPrice(parseFloat(item.TotalPrice.PriceAmount[\"#text\"]));\r\n }\r\n }\r\n\r\n const setupPackageProducts = (x) => {\r\n setPackageProducts([\r\n ...x.Id.map((packageProductId) => {\r\n return products?.find((productItem: ProductEntity) => {\r\n return productItem.Item[\"@id\"] === packageProductId;\r\n }) as any;\r\n }),\r\n ]);\r\n };\r\n\r\n //const rv =\r\n React.useEffect(() => {\r\n setupPackageProducts(Products);\r\n }, [jobState.packages]);\r\n\r\n\r\n const selectPackage = React.useCallback(() => {\r\n onSelect(item, packageProducts, manualPrice, customPriceValue);\r\n }, [item, packageProducts, customPriceValue, manualPrice]);\r\n\r\n switch (item[\"@name\"]) {\r\n case PACKAGE_COUNTER_POSITIONS.advertiser:\r\n counterValue = 10;\r\n break;\r\n case PACKAGE_COUNTER_POSITIONS.minimum:\r\n counterValue = 10;\r\n break;\r\n case PACKAGE_COUNTER_POSITIONS.medium:\r\n counterValue = 35;\r\n break;\r\n case PACKAGE_COUNTER_POSITIONS.premium:\r\n counterValue = 60;\r\n break;\r\n case PACKAGE_COUNTER_POSITIONS.PremiumPlus:\r\n counterValue = 90;\r\n break;\r\n default:\r\n counterValue = 0;\r\n }\r\n\r\n const calculatePackagePrice = (arrayItems) => {\r\n let pricePackage = 0;\r\n arrayItems.forEach(x => {\r\n if (x.Item.Price.AllowanceCharge == undefined) {\r\n pricePackage += parseFloat(x.Item.Price.PriceAmount[\"#text\"]);\r\n }\r\n });\r\n pricePackage += originalTotalPrice;\r\n return pricePackage;\r\n };\r\n\r\n const removeProduct = (id: string) => {\r\n const remIndex = packageProducts.findIndex((remEl) => remEl.Item[\"@id\"] === id);\r\n setPackageProducts((c) => {\r\n const newArr = [...c];\r\n newArr.splice(remIndex, 1);\r\n setCustomPriceValue(calculatePackagePrice(newArr).toFixed(2));\r\n return newArr;\r\n });\r\n };\r\n\r\n return (\r\n \r\n { setOriginalPrice(); setEdit(!isEdit); }}\r\n duration={item[\"@durationInDays\"]}\r\n isActive={isActive}\r\n isEdit={isEdit}\r\n handlePriceChange={handlePriceChange}\r\n onAdd={(data) => {\r\n setPackageProducts((c) => {\r\n const newArr = [...c, data];\r\n setupCustomPrice(calculatePackagePrice(newArr).toFixed(2));\r\n return newArr;\r\n });\r\n }}\r\n onDelete={removeProduct}\r\n isDowngrade={item[\"@isDowngrade\"] == 'true'}\r\n />\r\n \r\n );\r\n });\r\n };\r\n\r\n if (!packages) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {renderPackages()}\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useTranslation } from 'react-i18next';\r\nimport moment from 'moment';\r\nimport classNames from 'classnames';\r\nimport Dotdotdot from 'react-dotdotdot';\r\nimport { Row, Col, Icon } from 'antd';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faExternalLinkSquareAlt, faFileInvoice, faArrowAltCircleLeft, faBackward } from '@fortawesome/free-solid-svg-icons';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport { JobAdModalEx } from '../../../models/modelExtentions/JobAdModelEx';\r\nimport { JobAdStatuses } from '../../../../store/JobsListStore';\r\nimport { LoadingState } from '../../../../store/LoadingStore';\r\nimport { JobState } from '../../../../store/JobStore';\r\nimport { showJobPreview } from '../../../../store/JaeStore';\r\nimport { ApplicationState } from '../../../../store';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/JaeFooter.scss';\r\nimport { isNull } from 'util';\r\nimport Jae from '../../../../Pages/Jae/Jae';\r\n\r\nconst { Active, Expired, Future, Draft } = JobAdStatuses;\r\n\r\nexport default function JaeFooter({\r\n fieldsIsChanged,\r\n onSubmit,\r\n onChangesUpdate,\r\n isExtendable,\r\n isVisible,\r\n disablePublishAd,\r\n isReview,\r\n onReview,\r\n onDiscard,\r\n}: {\r\n fieldsIsChanged: boolean;\r\n isReview: boolean;\r\n isExtendable: boolean;\r\n isVisible: boolean;\r\n onSubmit(e: any): void;\r\n onChangesUpdate(e: any): void;\r\n maxDaysCount: number;\r\n disablePublishAd?: boolean;\r\n onReview: () => void;\r\n onDiscard: () => void;\r\n }) {\r\n const w = window as any;\r\n const pref = w[\"PREF\"];\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch();\r\n const jaeState: JobAdModalEx = useSelector((s) => s.jae);\r\n const jobState = useSelector((s) => s.job);\r\n const loadingState: LoadingState = useSelector((s) => s.loading);\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const status = jaeState.status;\r\n const activationDate = moment(jaeState.activationDate);\r\n const expiryDate = moment(jaeState.expiryDate);\r\n const productDurationDays = Math.floor(moment.duration(expiryDate.diff(activationDate)).asDays()) + 1;\r\n const saveTitle = loadingState.jobSaving ? t('JAE_LOADER_STATE_SAVING') : t('JAE_LOADER_STATE_SAVED');\r\n const footerClassName = classNames([\r\n 'jae-footer',\r\n {\r\n 'jae-footer--expired': status === Expired && !isExtendable,\r\n },\r\n ]);\r\n const footerActionsClass = classNames([\r\n 'jae-footer__actions jae-footer__wrapper',\r\n {\r\n 'jae-footer__actions--small': isOfirAdvertiser,\r\n },\r\n ]);\r\n\r\n const [showLoader, setLoadeState] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (loadingState.jobSaving && !showLoader) {\r\n setLoadeState(true);\r\n }\r\n }, [loadingState.jobSaving]);\r\n\r\n const showPublishButton = (): boolean => {\r\n if (jobState.confirmationModalVisibility || loadingState.jobPublishing) {\r\n return true;\r\n }\r\n\r\n if (status === Active) {\r\n return false;\r\n }\r\n\r\n return (status !== Active && status !== Expired && status !== Future) || isExtendable;\r\n };\r\n\r\n const showSaveChangesButton = (): boolean => {\r\n if (jobState.confirmationModalVisibility || loadingState.jobPublishing) {\r\n return false;\r\n }\r\n\r\n return status === Active || (status === Future && !jobState.confirmationModalVisibility);\r\n };\r\n\r\n const showPreview = (e: any) => {\r\n e.preventDefault();\r\n\r\n dispatch(showJobPreview(true));\r\n };\r\n\r\n const showJobOrder = () => {\r\n window.open(`${pref}/admin/jae/order/${jaeState.id}`);\r\n };\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {jaeState.title ? (\r\n

    \r\n {jaeState.title}\r\n

    \r\n ) : (\r\n
    {t('JAE_FOOTER_TITLE_PLACEHOLDER')}
    \r\n )}\r\n {showLoader && (\r\n
    \r\n {loadingState.jobSaving && }\r\n {saveTitle}\r\n
    \r\n )}\r\n {(jaeState.isPublished === false && jaeState.status === 1) && (\r\n
    \r\n {t('JAE_FOOTER_NOT_PUBLISHED')}\r\n
    \r\n )\r\n }\r\n
    \r\n \r\n \r\n
    \r\n {jaeState.requestedPackageId ? (\r\n <>\r\n
    {jaeState.requestedPackageName}
    \r\n
    \r\n {activationDate.format(Utils.dateStringDisplayFormat())} - {expiryDate.format(Utils.dateStringDisplayFormat())}\r\n
    \r\n
    \r\n ({productDurationDays} {t('DAYS')}) {jaeState.requestedPackagePrice}\r\n
    \r\n \r\n ) : (\r\n
    {t('JAE_FOOTER_PACKAGE_PLACEHOLDER')}
    \r\n )}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {isReview ? (\r\n // backbutton\r\n }\r\n title={ t('JAE_ADVERTISE_BUTTON_REVIEW_BACK')}\r\n size={ 'icon'}\r\n /> ) : (\r\n <>\r\n {/* Preview button */}\r\n }\r\n title={ t('JAE_JOBAD_APPLICATION_ADVERT_LINK_OFIR_ADV')}\r\n size={'icon'}\r\n disabled={status === JobAdStatuses.Draft && isOfirAdvertiser}\r\n />\r\n {/* Order button */}\r\n }\r\n title={ i18n.t('JOB_LIST_BUTTON_ORDER_OFIR_ADV')}\r\n size={ 'icon'}\r\n />)}\r\n \r\n
    \r\n {/* Job publishing button */}\r\n {showPublishButton() && (\r\n : \"\"}\r\n />\r\n )}\r\n {/* Save changes button */}\r\n {showSaveChangesButton() && (\r\n \r\n )}\r\n {!isReview && (}\r\n disabled={!loadingState.discardEnable}\r\n toolTipPlacement=\"top\"\r\n onClick={onDiscard}\r\n color=\"#337ab7\"\r\n />\r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport { Modal } from 'antd';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/JaeConfirmation.scss';\r\n\r\nexport default function JaeConfirmation({\r\n email,\r\n eanNumber,\r\n isActive,\r\n isEAN,\r\n showPreviewButton,\r\n onPreviewClick\r\n}: {\r\n email: string;\r\n eanNumber: string;\r\n isActive: boolean;\r\n isEAN: boolean;\r\n showPreviewButton: boolean;\r\n onPreviewClick(): void;\r\n}) {\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const eanText = isOfirAdvertiser ? i18n.t('JAE_CONFIRMATION_BODY_INVOICE_TEXT_EAN_OFIR_ADV') : i18n.t('JAE_CONFIRMATION_BODY_INVOICE_TEXT_EAN');\r\n const emailText = isOfirAdvertiser ? i18n.t('JAE_CONFIRMATION_BODY_INVOICE_TEXT_OFIR_ADV') : i18n.t('JAE_CONFIRMATION_BODY_INVOICE_TEXT');\r\n const w = window as any;\r\n const pref = w.PREF;\r\n\r\n const handleNewJobCreation = () => {\r\n window.location.href = `${pref}/admin/jae`;\r\n };\r\n\r\n const handleJobListRedirect = () => {\r\n window.location.href = `${pref}/admin/jobslist`;\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    {i18n.t('JAE_CONFIRMATION_H1_TITLE')}

    \r\n

    {i18n.t('JAE_CONFIRMATION_H2_TITLE')}

    \r\n {isEAN ? (\r\n
    \r\n ) : (\r\n
    \r\n )}\r\n
    \r\n \r\n {\r\n showPreviewButton ?\r\n :\r\n
    \r\n }\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport RadioGroup from '../../_shared/Controls/RadioGroup/RadioGroup';\r\nimport { ImageType } from '../../../../services/autorest/models';\r\nimport DropZoneHelper from '../../_shared/DropZoneHelper/DropZoneHelper';\r\nimport ControlLabel from '../../_shared/Controls/ControlLabel/ControlLabel';\r\nimport ConrolError from '../../_shared/Controls/ConrolError/ControlError';\r\nimport ApiConstants from '../../../../cms/common/apiConstants';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/JaeBackgroundSelector.scss';\r\n\r\nconst BACKGROUND_OPTIONS = [\r\n {\r\n value: 1,\r\n name: i18n.t('JAE_JOBAD_IMAGE_OPTION_COLOR2')\r\n },\r\n {\r\n value: 2,\r\n name: i18n.t('JAE_JOBAD_IMAGE_OPTION_IMG2')\r\n }\r\n];\r\n\r\nexport default function JaeBackgroundSelector({\r\n value,\r\n title,\r\n error,\r\n imageFileName,\r\n onChange,\r\n onFileUpload\r\n}: {\r\n value: number;\r\n title: string;\r\n error?: string;\r\n imageFileName: string;\r\n onChange(e: any): void;\r\n onFileUpload(filename: string): void;\r\n}) {\r\n const w = window as any;\r\n const primaryColor: string = w.primaryColor;\r\n const filePath = `${ApiConstants.siteOptions.fileStoreCDN}/${w.SITE_ID}/${ImageType.JobAd}/${imageFileName}`;\r\n\r\n const [showSelector, setSelectorState] = React.useState(false);\r\n\r\n const handleFileUpload = (filename: any[]) => {\r\n onFileUpload(filename[0]);\r\n };\r\n\r\n const toggleSelectorState = () => {\r\n setSelectorState(!showSelector);\r\n };\r\n\r\n const fieldClassName = classNames('jae-background', [\r\n {\r\n 'jae-background-error': error,\r\n 'control-error': error\r\n }\r\n ]);\r\n\r\n const dropZoneClassName = classNames('jae-background__dropzone', [\r\n {\r\n 'jae-background__dropzone--error': error\r\n }\r\n ]);\r\n\r\n return (\r\n
    \r\n \r\n {i18n.t('JAE_JOBAD_IMAGE_TITLE2')}\r\n \r\n {!showSelector ? (\r\n
    \r\n {value === 2 ? i18n.t('JAE_SHOW_BACKGROUND_IMAGE_SELECTED') : i18n.t('JAE_SHOW_BACKGROUND_COLOR_SELECTED')}.\r\n \r\n
    \r\n ) : (\r\n <>\r\n
    {i18n.t('JAE_BACKGROUND_PREVIEW_TITLE')}
    \r\n
    \r\n
    {title}
    \r\n {imageFileName && (\r\n
    \r\n )}\r\n
    \r\n
    {i18n.t('JAE_BACKGROUND_OPTIONS_TITLE')}
    \r\n
    \r\n \r\n
    \r\n {value === 2 && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n
    {i18n.t('JAE_BACKGROUND_INFO_TEXT')}
    \r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport RadioGroup from '../../_shared/Controls/RadioGroup/RadioGroup';\r\nimport { ImageType } from '../../../../services/autorest/models';\r\nimport DropZoneHelper from '../../_shared/DropZoneHelper/DropZoneHelper';\r\nimport ControlLabel from '../../_shared/Controls/ControlLabel/ControlLabel';\r\nimport ConrolError from '../../_shared/Controls/ConrolError/ControlError';\r\nimport ApiConstants from '../../../../cms/common/apiConstants';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/JaeTopImageSelector.scss';\r\n\r\nconst BACKGROUND_OPTIONS = [\r\n {\r\n value: 1,\r\n name: i18n.t('JAE_JOBAD_IMAGE_OPTION_COLOR2')\r\n },\r\n {\r\n value: 2,\r\n name: i18n.t('JAE_JOBAD_IMAGE_OPTION_IMG2')\r\n }\r\n];\r\n\r\nexport default function JaeTopImageSelector({\r\n value,\r\n title,\r\n error,\r\n imageFileName,\r\n onChange,\r\n onFileUpload,\r\n onClear\r\n}: {\r\n value: number;\r\n title: string;\r\n error?: string;\r\n imageFileName: string;\r\n onChange(e: any): void;\r\n onFileUpload(filename: string): void;\r\n onClear(): void;\r\n}) {\r\n const w = window as any;\r\n const primaryColor: string = w.primaryColor;\r\n const filePath = `${ApiConstants.siteOptions.fileStoreCDN}/${w.SITE_ID}/${ImageType.JobAd}/${imageFileName}`;\r\n\r\n const [showTopSelector, setTopSelectorState] = React.useState(false);\r\n\r\n const handleFileUpload = (filename: any[]) => {\r\n onFileUpload(filename[0]);\r\n };\r\n\r\n const toggleSelectorState = () => {\r\n setTopSelectorState(!showTopSelector);\r\n };\r\n\r\n const clearImage = () => {\r\n\r\n }\r\n\r\n const fieldClassName = classNames('jae-background', 'jae-topimage', [\r\n {\r\n 'jae-background-error': error,\r\n 'control-error': error\r\n }\r\n ]);\r\n\r\n const dropZoneClassName = classNames('jae-background__dropzone', [\r\n {\r\n 'jae-background__dropzone--error': error\r\n }\r\n ]);\r\n\r\n return (\r\n
    \r\n \r\n {i18n.t('JAE_JOBAD_TOPIMAGE_TITLE')}\r\n \r\n {!showTopSelector ? (\r\n
    \r\n {i18n.t('JAE_SHOW_TOP_IMAGE_SELECTED')}.\r\n \r\n
    \r\n ) : (\r\n <>\r\n
    \r\n {i18n.t('JAE_TOP_IMAGE_PREVIEW_TITLE')}\r\n \r\n
    \r\n
    \r\n {imageFileName && (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    {i18n.t('JAE_TOP_IMAGE_INFO_TEXT')}
    \r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport classNames from \"classnames\";\r\nimport ControlLabel from \"../ControlLabel/ControlLabel\";\r\nimport { Utils } from \"../../../../../Utils/Utils\";\r\n\r\nimport \"../BranderoEditor/assets/BranderoEditor.scss\";\r\nimport { Editor as TinyEditor } from \"@tinymce/tinymce-react\";\r\nconst isIE = Utils.isIE();\r\nexport default function TinyoEditor({\r\n title,\r\n className,\r\n required,\r\n value,\r\n initialValue,\r\n onChange,\r\n onBlur,\r\n onFocus,\r\n error,\r\n autoCompleteList,\r\n autoCompletePrefix,\r\n hideMarkupButtons,\r\n reduceHeight,\r\n isImageUploadOpen,\r\n imgSet,\r\n mediaLibraryData,\r\n getImageData,\r\n}: {\r\n title?: string;\r\n className?: string;\r\n required?: boolean;\r\n value?: string;\r\n initialValue?: string;\r\n onChange?(e: any, editor?, bookmark?): void;\r\n onBlur?(e: any): void;\r\n onFocus?(e: any): void;\r\n error?: string;\r\n isImageUploadOpen?: () => void;\r\n autoCompleteList?: string[];\r\n autoCompletePrefix?: string;\r\n hideMarkupButtons?: boolean;\r\n reduceHeight?: boolean;\r\n imgSet?: any;\r\n mediaLibraryData?: any;\r\n getImageData?: () => void;\r\n}) {\r\n const { t } = useTranslation();\r\n\r\n const [tinyValue, setTinyValue] = React.useState(value);\r\n const [imagesList, setimagesList] = React.useState([]);\r\n\r\n React.useEffect(() => {\r\n if (value) {\r\n setTinyValue(value);\r\n }\r\n }, [value]);\r\n React.useEffect(() => {\r\n getImageData();\r\n }, []);\r\n React.useEffect(() => {\r\n setimagesList(\r\n mediaLibraryData?.files?.map((f) => {\r\n const isHadImage = !!f.fileName;\r\n return {\r\n title: f.title,\r\n value: `${Utils.getCDNUrl()}customer/${Utils.getSiteID()}/imagelibrary/${f.fileName}`,\r\n };\r\n })\r\n );\r\n }, [mediaLibraryData]);\r\n const tinySetup = (editor) => {\r\n editor.on(\"SaveContent\", (e) => {\r\n // e.content = e.content.replace(/'/g, \"&apos\")\r\n });\r\n editor.on(\"keydown\", (e) => {\r\n if (e.keyCode == 13 && e.shiftKey) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return false;\r\n }\r\n });\r\n };\r\n const handleConvertUploadFile = function (cb, value, meta) {\r\n var input = document.createElement(\"input\");\r\n input.setAttribute(\"type\", \"file\");\r\n input.setAttribute(\"accept\", \"image/*\");\r\n input.onchange = function () {\r\n var file = (this as any).files[0];\r\n\r\n var reader = new FileReader();\r\n reader.onload = function () {\r\n var id = \"blobid\" + new Date().getTime();\r\n var blobCache = (window as any).tinymce.activeEditor.editorUpload.blobCache;\r\n var base64 = (reader as any).result.split(\",\")[1];\r\n var blobInfo = blobCache.create(id, file, base64);\r\n blobCache.add(blobInfo);\r\n cb(blobInfo.blobUri(), { title: file.name });\r\n };\r\n reader.readAsDataURL(file);\r\n };\r\n\r\n input.click();\r\n };\r\n const tinyDefaultStyle =\r\n \"body {font-size: 14px;} body p{ margin: 0; min-height: 20px; } body figure{display: block; margin: 0} body ul,body ol{margin: 0;}\";\r\n const tinyPlugins = [\r\n \"advlist autolink lists link image charmap print preview anchor\",\r\n \"searchreplace visualblocks code fullscreen\",\r\n \"insertdatetime media table paste code help wordcount\",\r\n ];\r\n\r\n const formatUnicodeCharacters = (content: string) => {\r\n content = content.replace(/[ ]/g, ''); // ' ' 8239 narrow no-break space\r\n return content;\r\n }\r\n\r\n const convertPastedContent = (pl, data) => {\r\n const isPDF = !!data.content.search(\"

    \");\r\n let content = data.content;\r\n if (!data.wordContent) {\r\n if (isPDF) {\r\n // pdf content\r\n content = `

    ${data.content.replace(/
    /g, \"

    \")}

    `;\r\n } else {\r\n // txt content\r\n content = data.content.replace(/
    /g, \"

    \");\r\n }\r\n }\r\n // word content\r\n data.content = formatUnicodeCharacters(content);\r\n setTinyValue(content);\r\n };\r\n return (\r\n <>\r\n

    \r\n {title}\r\n {\r\n const bm = editor.selection.getBookmark(2, true);\r\n setTinyValue(content);\r\n onChange(content, editor, bm);\r\n }}\r\n onFocus={(e) => {\r\n if (onFocus) {\r\n onFocus(e);\r\n }\r\n }}\r\n onBlur={() => {\r\n onBlur(tinyValue);\r\n }}\r\n >\r\n
    \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\n\r\nimport './assets/InfoMessage.scss';\r\n\r\nexport default function InfoMessage({ children }: { children: React.ReactNode }) {\r\n return
    {children}
    ;\r\n}\r\n","import { emailRegex, ogimageUrlRegex } from '../../Utils/Validation/ValidationRules';\r\n\r\nexport const saveValidationDescription = {\r\n title: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n description: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n jobType: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n condition: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n category: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n positionLocal: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n numberOfVacanciesLocal: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n ogimage: {\r\n regex: { pattern: ogimageUrlRegex, resource: 'OG_IMAGE_URL_NOT_VALID' }\r\n },\r\n applicationMethodLocal: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n contactEmail: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n companyEmail: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n companyContactPerson: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n locationAddress: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n locationZipCode: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT4',\r\n validation: 4\r\n },\r\n required: 'MUST_BE_EXACT4'\r\n },\r\n locationCity: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n contactName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n pNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT10',\r\n validation: 10\r\n },\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n applicationUrl: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n max: {\r\n resource: 'MUST_BE_NOT_MORE_512_CHARACTERS',\r\n validation: 512\r\n }\r\n },\r\n companyPhone: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n }\r\n};\r\n\r\nexport const packagesValidationDescription = {\r\n title: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n description: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n jobType: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n condition: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n category: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n positionLocal: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n numberOfVacanciesLocal: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n applicationMethodLocal: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n contactEmail: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n companyEmail: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n companyContactPerson: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n locationAddress: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n locationZipCode: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT4',\r\n validation: 4\r\n },\r\n required: 'MUST_BE_EXACT4'\r\n },\r\n locationCity: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n contactName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n pNumber: {\r\n exact: {\r\n resource: 'MUST_BE_EXACT10',\r\n validation: 10\r\n },\r\n required: 'MUST_BE_EXACT10'\r\n }\r\n};\r\n\r\nexport const emailPaymentValidationDescription = {\r\n commercialContactName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n commercialContact: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n companyCommercialContactName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n companyCommercialContact: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n companyCommercialExternalId: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n companyCommercialVatNumber: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n customerName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n};\r\n\r\nexport const eanPaymentValidationDescription = {\r\n globalLocationNumber: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n exact: {\r\n resource: 'MUST_BE_EXACT13',\r\n validation: 13\r\n },\r\n }\r\n};\r\n","import { actionCreator, Action, isType } from './Action';\r\nimport { ApiService } from '../services/apiService';\r\nimport { ImageType } from '../../src/services/autorest/models';\r\n\r\nexport interface MediaLibraryStoreState {\r\n files?:({alt?: string\r\n description?: string\r\n fileName?: string\r\n id?: string\r\n originalFileName?: string\r\n siteId?: string\r\n title?: string\r\n lastModified?: string | number,\r\n lastModifiedDate?: string,\r\n name?: string,\r\n path?: string,\r\n preview?: string,\r\n size?: string | number,\r\n type?: string,\r\n webkitRelativePath?: string})[];\r\n file: {}\r\n}\r\nconst defaultState = {\r\n files:[],\r\n file:{}\r\n};\r\n\r\nconst actions = {\r\n getMediaLibrary: actionCreator('GET_MEDIALIBRARY_FILE'),\r\n getImageById: actionCreator('GET_IMAGE_BY_ID'),\r\n updateMediaLibrary: actionCreator('UPDATE_MEDIALIBRARY_FILE'),\r\n deleteMediaLibrary: actionCreator('DELETE_MEDIALIBRARY_FILE'),\r\n};\r\n\r\nexport function reducer(state: MediaLibraryStoreState = defaultState, action: Action): MediaLibraryStoreState {\r\n if (isType(action, actions.getMediaLibrary)) { \r\n return {...state, files: action.payload};\r\n }else if (isType(action, actions.updateMediaLibrary)) {\r\n const stateFiles = [...state.files];\r\n const selfAction = action as any;\r\n stateFiles.unshift(selfAction.payload)\r\n return {...state, files: stateFiles};\r\n } else if(isType(action, actions.deleteMediaLibrary)){\r\n const stateFiles = [...state.files];\r\n const selfAction = action as any\r\n const file = selfAction.payload.file\r\n stateFiles.splice(file.index, 1)\r\n return {...state, files: stateFiles};\r\n } else if(isType(action, actions.getImageById)){\r\n const selfAction = action as any\r\n return {...state, file: selfAction.payload};\r\n }\r\n return state;\r\n}\r\nexport function getJobImages(){\r\n return async (dispatch: Function) =>{\r\n const data = await ApiService.getImagesForJobAd()\r\n dispatch(actions.getMediaLibrary(data));\r\n }\r\n}\r\n\r\nexport function deleteMediaLibrary(files: any[]) {\r\n return (dispatch: Function) => {\r\n dispatch(actions.deleteMediaLibrary(files));\r\n };\r\n}\r\n\r\nexport function sendImageToServer(file:any){\r\n return async (dispatch: Function, getState) => {\r\n const data = await ApiService.sendImageToSave(file);\r\n if (!!data.fileName){\r\n dispatch(actions.updateMediaLibrary(data));\r\n }\r\n }\r\n}\r\n\r\nexport function updateImageData(file:any){\r\n return async (dispatch: Function, getState) => {\r\n const data = await ApiService.updateImageDataToServer(file);\r\n dispatch(getJobImages())\r\n }\r\n}\r\nexport function deleteImageData(file:any){\r\n return async (dispatch: Function, getState) => {\r\n const data = await ApiService.deleteImageDataFromServer(file);\r\n dispatch(getJobImages())\r\n }\r\n}\r\nexport function getImageById(id: string){\r\n return async (dispatch:Function) =>{\r\n const rv = await ApiService.getMediaLibraryImageById(id);\r\n dispatch(actions.getImageById(rv))\r\n }\r\n}","import * as React from \"react\";\r\nimport { Col, Row } from \"antd\";\r\nimport classNames from \"classnames\";\r\nimport i18n from \"../../../resources/i18n\";\r\nimport CommonButton from \"../../../cms/components/_shared/Controls/CommonButton/CommonButton\";\r\nimport { ApplicationState } from \"../../../store\";\r\nimport \"./assets/mediaLibrary.scss\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { MediaLibraryStoreState } from \"../../../store/mediaLibraryStore\";\r\nimport { Utils } from \"../../../Utils/Utils\";\r\nimport { actionCreators } from \"../../../../src/store/SiteDataStore\";\r\nimport CommonInput from \"../_shared/Controls/CommonInput/CommonInput\";\r\nimport { useDropzone } from \"react-dropzone\";\r\nimport * as uuidv4 from 'uuid/v4';\r\n\r\ntype TMediaLibrary = {\r\n isOpen: boolean;\r\n onClose?: () => void;\r\n onUpdateData?: (e: any) => void;\r\n onGetData?: () => void;\r\n onDelete?: (e: any) => void;\r\n autoSave?: (e: any) => void;\r\n};\r\n\r\nexport default function MediaLibrary({\r\n isOpen,\r\n onClose,\r\n onUpdateData,\r\n onGetData,\r\n autoSave,\r\n onDelete,\r\n}: TMediaLibrary) {\r\n const dispatch = useDispatch();\r\n const mediaLibrary = useSelector((s: any) => s.mediaLibrary);\r\n const sortedLibrary = mediaLibrary.files.filter((set => f => !set.has(f.originalFileName) && set.add(f.originalFileName))(new Set));\r\n const [selectedFile, setIsSelected] = React.useState({});\r\n\r\n const { getRootProps, getInputProps, open } = useDropzone({\r\n accept: \"image/*\",\r\n noClick: true,\r\n noKeyboard: true,\r\n onDrop: acceptedFiles => {\r\n const addedFiles = acceptedFiles.map(file => Object.assign(file, {\r\n preview: URL.createObjectURL(file),\r\n id: uuidv4()\r\n }));\r\n autoSave(addedFiles);\r\n },\r\n multiple: false\r\n });\r\n \r\n React.useEffect(() => {\r\n if (mediaLibrary.file)\r\n setIsSelected(mediaLibrary.file);\r\n else if (mediaLibrary.files && mediaLibrary.files.length > 0)\r\n setIsSelected(mediaLibrary.files[0]);\r\n else\r\n setIsSelected({});\r\n }, [mediaLibrary]);\r\n\r\n React.useEffect(() => {\r\n isOpen ? onGetData() : setIsSelected({});\r\n }, [isOpen]);\r\n\r\n React.useEffect(() => {\r\n dispatch(actionCreators.fetchSiteData());\r\n }, []);\r\n\r\n return (\r\n <>\r\n {isOpen && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {sortedLibrary && sortedLibrary.length > 0 ? sortedLibrary.map((f, i) => {\r\n let fileFound = true;\r\n return (\r\n setIsSelected(f)}\r\n onDoubleClick={() => onUpdateData({ ...f })}\r\n >\r\n
    \r\n fileFound = false}\r\n style={{ background: fileFound ? \"transparent\" : null, }}\r\n />\r\n
    \r\n
    \r\n );\r\n }) : null}\r\n
    \r\n {sortedLibrary && sortedLibrary.length > 0 && (\r\n
    \r\n \r\n \r\n

    \r\n {selectedFile.originalFileName || ''}\r\n

    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n {Utils.isSuperAdmin() && (\r\n {\r\n setIsSelected({});\r\n onDelete({ ...selectedFile });\r\n }}\r\n />\r\n )}\r\n onUpdateData({ ...selectedFile })}\r\n title={i18n.t(\"MEDIA_LIBRARY_SELECT_IMG\")}\r\n />\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    open()}>\r\n {i18n.t(\"TEMPLATE_EDIT_SLIDER_DROPZONE_TEXT\")}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};","import React from \"react\"\r\nimport { Row, Col } from '../../_shared/Grid/Grid';\r\nimport i18n from '../../../../resources/i18n';\r\nimport \"./assets/Collaps.scss\";\r\n\r\nexport function Collapse({header, children}:{header: string, children: React.ReactNode}){\r\nconst [isOpen, setOpen] = React.useState(false)\r\n\r\nreturn (
    \r\n \r\n \r\n
    setOpen(!isOpen)}>\r\n
    \r\n
    \r\n

    \r\n {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_TITLE')}: {header}\r\n

    \r\n
    \r\n
    \r\n
    {isOpen ? : }
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n
    \r\n );\r\n}","import React from \"react\";\r\nimport i18n from '../../../resources/i18n';\r\nimport { Utils } from \"../../../Utils/Utils\";\r\nimport moment from \"moment\"\r\ntype TOrerTable = {\r\n packageName: string,\r\n price: string,\r\n currencyCode?: string,\r\n contactName: string,\r\n contactEmail: string,\r\n activationDate: Date,\r\n expiryDate: Date,\r\n jobOrder?: string | number,\r\n jobOrderCreate?: string,\r\n author: string,\r\n CVR?: string,\r\n EAN?: string,\r\n OrderReference?: string,\r\n AlternativeBillingExternalId: string,\r\n AlternativeBillingCustomerName: string,\r\n AlternativeBillingContactName: string,\r\n AlternativeBillingContact: string,\r\n AlternativeBillingVatNumber: string\r\n}\r\nexport function OrederTable({data, isPrevious}:{data: TOrerTable, isPrevious?: boolean}){\r\n const {\r\n activationDate,\r\n author,\r\n contactEmail,\r\n contactName,\r\n currencyCode,\r\n expiryDate,\r\n EAN,\r\n jobOrder,\r\n jobOrderCreate,\r\n packageName,\r\n price,\r\n CVR,\r\n OrderReference,\r\n AlternativeBillingExternalId,\r\n AlternativeBillingCustomerName,\r\n AlternativeBillingContactName,\r\n AlternativeBillingContact,\r\n AlternativeBillingVatNumber,\r\n } = data\r\n\r\nreturn(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isPrevious && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {jobOrder && (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {AlternativeBillingExternalId && (<>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PACKAGE')}:{packageName}
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PRICE')}:\r\n {price} {currencyCode || \"DKK\"}\r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_COMMERCIAL_CONTACT')}:\r\n {contactName} ({contactEmail})\r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PUBLICATION_DATE')}:\r\n
    {Utils.getFormatedDateWithFullMonth(activationDate)}
    \r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_EXPIRATION_DATE')}:\r\n
    {moment(expiryDate).format('DD. MMMM YYYY')}
    \r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_ORDER_ID')}:{jobOrder}
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_ORDER_DATE')}:{moment.utc(jobOrderCreate).format('DD. MMMM YYYY HH:mm')}
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_ORDER_AUTHOR')}:{author}
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_VAT')}:{CVR}
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_EAN')}:{EAN}
    {i18n.t('ORDER_REFERENCE_FIELD_LABEL')}:{OrderReference}
    {i18n.t('COMPANYMANAGEMENT_COMPANY_OTHER_INVOICE_HEADLINE')}
    {i18n.t('COMPANYMANAGEMENT_COMPANY_CRMID')}:{AlternativeBillingExternalId}
    {i18n.t('COMPANYMANAGEMENT_COMPANY_NAME')}:{AlternativeBillingCustomerName}
    {i18n.t('COMPANYMANAGEMENT_COMPANY_VATID_DK')}:{AlternativeBillingVatNumber}
    {i18n.t('COMPANYMANAGEMENT_COMPANY_INVOICE_NAME')}:{AlternativeBillingContactName}
    {i18n.t('COMPANYMANAGEMENT_COMPANY_INVOICE')}:{AlternativeBillingContact}
    \r\n)\r\n}","import React from \"react\";\r\nimport { ProductItem } from '../../models/job/jobOrder';\r\nexport function PackageProduct({productsData}:{productsData: any}){\r\nreturn (\r\n <>\r\n {!Array.isArray(productsData) ? (\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    {productsData?.Item.Name}
    \r\n
    \r\n ) : (productsData?.map((item: ProductItem) => {\r\n return (\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    {item.Item.Name}
    \r\n
    \r\n );\r\n }))}\r\n \r\n)}","import React from \"react\"\r\nimport { Collapse } from \"../../cms/components/_shared/Collapse/Collapse\"\r\nimport { Row, Col } from '../../cms/components/_shared/Grid/Grid';\r\nimport i18n from '../../resources/i18n';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {OrederTable} from \"../../cms/components/jobOrder/OrderTable\"\r\nimport { JobAdModalEx } from '../../cms/models/modelExtentions/JobAdModelEx';\r\nimport { PackageProduct } from \"../../cms/components/jobOrder/PackageProducts\";\r\nimport { Utils } from \"../../Utils/Utils\";\r\nimport Loader from \"../../cms/components/_shared/Loader/Loader\"\r\nimport { Checkbox } from \"antd\";\r\nimport ControlLabel from \"../../cms/components/_shared/Controls/ControlLabel/ControlLabel\";\r\nimport CommonCheckbox from '../../cms/components/_shared/Controls/CommonCheckbox/CommonCheckbox';\r\n\r\nexport function Review({ jae, job, logoName, onAccept, acceptValue }: { jae: JobAdModalEx, job: any, logoName?: string, onAccept: () => void, acceptValue: boolean }) {\r\n const packageItems = () =>{\r\n const ProductsIdList = job.packages?.Recommendations?.Recommendation?.find(c => c[\"@packageId\"] === jae.requestedPackageId)?.Products?.Id\r\n const Items = [];\r\n ProductsIdList && job.packages?.Recommendations?.Products?.Product?.map(c => {\r\n if (ProductsIdList?.find(p => p === c.Item[\"@id\"])) {\r\n Items.push(c);\r\n }\r\n })\r\n return Items\r\n }\r\n const { t } = useTranslation();\r\n const Items = packageItems();\r\n return (
    \r\n
    \r\n
    \r\n

    {jae?.title}

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PRODUCTS')}:
    \r\n {\r\n !Items ? (\r\n \r\n ) : (\r\n \r\n ) \r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n {!Utils.isSuperAdmin() && (jae.applicationMethodLocal == 4) && (\r\n *\"}\r\n />\r\n )}\r\n {!Utils.isSuperAdmin() && (jae.applicationMethodLocal != 4) && (\r\n *\"}\r\n />\r\n )}\r\n
    \r\n

    {t(\"JAE_CREATE_AD_TEXT_REVIEW\")}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    )\r\n}","//https://react-redux.js.org/next/api/hooks\r\nimport * as React from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { Col, Row, Checkbox } from \"antd\";\r\nimport { debounce } from \"throttle-debounce\";\r\nimport classNames from \"classnames\";\r\nimport { Element, scroller } from \"react-scroll\";\r\nimport JaeAdvertising from \"../../cms/components/jae/JaeAdvertising/JaeAdvertising\";\r\nimport JaePackages from \"../../cms/components/jae/JaePackages/JaePackages\";\r\nimport JaeFooter from \"../../cms/components/jae/JaeFooter/JaeFooter\";\r\nimport JaeConfirmation from \"../../cms/components/jae/JaeConfirmation/JaeConfirmation\";\r\nimport JaeBackgroundSelector from \"../../cms/components/jae/JaeBackgroundSelector/JaeBackgroundSelector\";\r\nimport JaeTopImageSelector from \"../../cms/components/jae/JaeTopImageSelector/JaeTopImageSelector\";\r\nimport CommonCard from \"../../cms/components/_shared//CommonCard/CommonCard\";\r\nimport CommonInput from \"../../cms/components/_shared/Controls/CommonInput/CommonInput\";\r\nimport SelectMenu, {\r\n SelectMenuGroup,\r\n SelectMenuOption,\r\n} from \"../../cms/components/_shared/Controls/SelectMenu/SelectMenu\";\r\nimport CommonButton from \"../../cms/components/_shared/Controls/CommonButton/CommonButton\";\r\nimport BranderoEditor from \"../../cms/components/_shared/Controls/BranderoEditor/BranderoEditor\";\r\nimport TinyEditor from \"../../cms/components/_shared/Controls/TinyEditor/TinyEditor\";\r\n//import JaeLogoUploader from '../../cms/components/jae/JaeLogoUploader/JaeLogoUploader';\r\nimport InfoMessage from \"../../cms/components/_shared/InfoMessage/InfoMessage\";\r\nimport * as moment from \"moment\";\r\nimport {\r\n updateJobProperty,\r\n saveJob,\r\n updateJobProperties,\r\n publishJob,\r\n setJobDefaultValues,\r\n setLoadedJob,\r\n publishChanges,\r\n loadJobPackages,\r\n selectPackage,\r\n resetExpiredJob,\r\n showJobPreview,\r\n findJobTitles,\r\n findJobCategory,\r\n findAreaLocation,\r\n getJobById,\r\n setJobLocationDefaultValue,\r\n checkDiscountCode,\r\n removeCouponCode,\r\n} from \"../../store/JaeStore\";\r\nimport { RecommendationEntity } from \"../../cms/models/job/package\";\r\nimport { JobAdModel } from \"../../services/autorest/models\";\r\nimport ValidateObject, { scrollToFirstInvalidField } from \"../../Utils/Validation/Validation\";\r\nimport { Utils } from \"../../Utils/Utils\";\r\nimport {\r\n saveValidationDescription,\r\n eanPaymentValidationDescription,\r\n emailPaymentValidationDescription,\r\n} from \"./validationDescription\";\r\nimport { JobState, loadJobSuggestions, setCouponCode, setSavingState } from \"../../store/JobStore\";\r\nimport { SiteDataState, actionCreators } from \"../../store/SiteDataStore\";\r\nimport { LoadingState } from \"../../store/LoadingStore\";\r\nimport { JobAdModalEx } from \"../../cms/models/modelExtentions/JobAdModelEx\";\r\nimport {\r\n getJobImages,\r\n sendImageToServer,\r\n updateImageData,\r\n deleteImageData,\r\n getImageById,\r\n} from \"../../store/mediaLibraryStore\";\r\nimport { ApplicationState } from \"../../store\";\r\nimport i18n from \"../../resources/i18n\";\r\nimport Cookies from \"js-cookie\";\r\nimport MediaLibrary from \"../../cms/components/mediaLibrary/mediaLibrary\";\r\nimport \"./assets/Jae.scss\";\r\nimport ControlLabel from \"../../cms/components/_shared/Controls/ControlLabel/ControlLabel\";\r\nimport ApiConstants from \"../../cms/common/apiConstants\";\r\nimport { getCompanyData } from \"../../store/CompanyDataStore\";\r\nimport { Review } from \"./Review\";\r\nimport Loader from \"../../cms/components/_shared/Loader/Loader\";\r\nimport { identityMatrix } from \"pdf-lib/cjs/types/matrix\";\r\nimport { JobAdStatuses } from \"../../store/JobsListStore\";\r\nimport { ApiService } from \"../../services/apiService\";\r\nimport { showErrorSnak } from \"../../store/MetadataStore\";\r\nimport { Set } from \"immutable\";\r\nimport { showConfirmModal } from '../../cms/components/_shared/CommonModal/CommonModalUtils';\r\nimport { updateLoadingState } from '../../store/LoadingStore';\r\nimport { ImageType } from '../../services/autorest/models';\r\n\r\nconst { Draft, Active, Expired, Deactivated, Future } = JobAdStatuses;\r\nconst isExtend = parseInt(Utils.getUrlParameterByKey(\"extend\")) === 1;\r\n\r\ninterface CountriesViewModel {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport default function Jae() {\r\n const w = window as any;\r\n const jae = useSelector((s) => s.jae) as JobAdModalEx;\r\n const jobState = useSelector((s) => s.job);\r\n const loading = useSelector((s) => s.loading);\r\n const jaeLogo = useSelector((s) => s.mediaLibrary?.file);\r\n const company = useSelector((state) => state.companyData.companyData);\r\n const [reloadTimerId, setReloadTimerId] = React.useState(null)\r\n const dispatch = useDispatch();\r\n const isDisablePublishAd = company?.disablePublishAd;\r\n const errors: { [key: string]: any } = { locations: []};\r\n const initialData = w.initialize;\r\n const messageEmail = jae.commercialContact;\r\n const jobTypes: string[] = initialData.jobTypes;\r\n const jobConditions: string[] = initialData.conditions;\r\n const ogimageRef = React.useRef(null);\r\n const [anonymousLocation, setAnonymousLocation] = React.useState(false);\r\n const countries = w?.countries;\r\n const [showAdditionalLocations, setShowAdditionalLocations] = React.useState(false);\r\n const companyCouponCode = company?.couponeCode;\r\n\r\n const listCountries: CountriesViewModel[] = countries[Utils.getLanguage()];\r\n\r\n const [useAreaArray, setUseAreaArray] = React.useState([]);\r\n const [loadedOgImage, setLoadedOgImage] = React.useState(false);\r\n\r\n //React.useEffect(() => {\r\n // loadPackages();\r\n //}, []);\r\n\r\n React.useEffect(() => {\r\n dispatch(getCompanyData());\r\n w?.job?.id && dispatch(getJobById(w?.job?.id));\r\n if (Utils.isSuperAdmin()) {\r\n dispatch(updateLoadingState('acceptTradeConditions', true))\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (jae.id != '' && w.location.pathname.endsWith(\"jae\")) {\r\n updateUrl(jae.id);\r\n }\r\n }, [jae.id]);\r\n\r\n React.useEffect(() => {\r\n dispatch(setJobDefaultValues());\r\n }, [company]);\r\n const companyLogoFileName = w.companyLogoFilename;\r\n const SITE_ID = w.SITE_ID;\r\n\r\n const [isReview, setReview] = React.useState(false);\r\n // const jobCategories: string[] = w.jobCategory;\r\n const jobCategories: any[] = jae.categoryLocalList;\r\n const areaLocations: any[] = jae.areaLocalList;\r\n const job: JobAdModel = w.job;\r\n const packagesData = jobState.packages;\r\n const status = jae.status;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const APPLY_FORM_OPTIONS = React.useMemo(() => {\r\n const options = [\r\n {\r\n name: i18n.t(\"JAE_JOBAD_APPLICATION_OPTION_EMAIL\"),\r\n value: 0,\r\n },\r\n {\r\n name: i18n.t(\"JAE_JOBAD_APPLICATION_OPTION_URL\"),\r\n value: 1,\r\n },\r\n {\r\n name: i18n.t(\"JAE_JOBAD_APPLICATION_OPTION_PHONE\"),\r\n value: 2,\r\n },\r\n {\r\n name: i18n.t(\"JAE_JOBAD_APPLICATION_OPTION_LETTER\"),\r\n value: 3,\r\n },\r\n {\r\n name: i18n.t(\"JAE_JOBAD_APPLICATION_OPTION_CANDIDATE_LIST\"),\r\n value: 4,\r\n },\r\n ];\r\n\r\n return options;\r\n }, [isOfirAdvertiser]);\r\n const sectionClassNames = classNames([\r\n \"jae\",\r\n {\r\n \"jae--creating\": loading.jobCreation,\r\n },\r\n ]);\r\n const emailsCardClassName = classNames(\"emails-card\", {\r\n \"emails-card--ofir\": isOfirAdvertiser,\r\n });\r\n const showPackagesSection = (): boolean => {\r\n if (statusJobDeactiveted === Deactivated) {\r\n return false;\r\n }\r\n if (jobState.confirmationModalVisibility || loading.jobPublishing) {\r\n return true;\r\n }\r\n\r\n if (status === Draft || extendable) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const showPaymentsSection = (): boolean => {\r\n if (statusJobDeactiveted === Deactivated) {\r\n return false;\r\n }\r\n if ((jobState.confirmationModalVisibility || loading.jobPublishing) && !extendable) {\r\n return true;\r\n }\r\n\r\n if (isExtend) {\r\n return true;\r\n }\r\n\r\n if (status === Draft) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const getOtherBillingInformationName = async () => {\r\n try {\r\n const customer = await ApiService.getCustomerByCustomerId(parseInt(jae.companyCommercialExternalId));\r\n dispatch(updateJobProperty('customerName', customer.name));\r\n } catch {\r\n dispatch(showErrorSnak(i18n.t('INVALID_CUSTOMER_ERROR_MESSAGE')));\r\n }\r\n\r\n };\r\n\r\n const [validationObject, setValidationObject] = React.useState(errors);\r\n const [comercialType, setComercialType] = React.useState(false);\r\n const [dataIsChanged, setDataChangedState] = React.useState(false);\r\n const [backgroundType, setBackgroundType] = React.useState(2);\r\n const [scrollToAdvertising, setScrollToAdvertising] = React.useState(false);\r\n const [extendable, setExtendableState] = React.useState(false);\r\n const [logoFile, setLogoFile] = React.useState(false);\r\n const [statusJobDeactiveted, setstatusJobDeactiveted] = React.useState(-1);\r\n const [isDetectJobTitles, setIsDetectJobTitles] = React.useState(true);\r\n\r\n React.useEffect(() => {\r\n if (dataIsChanged)\r\n dispatch(updateJobProperty(\"isPublished\", false));\r\n }, [dataIsChanged])\r\n\r\n React.useEffect(() => {\r\n //dispatch(updateJobProperty(\"globalLocationNumber\", jae.globalLocationNumber));\r\n dispatch(updateJobProperty(\"useEAN\", comercialType));\r\n }, [comercialType])\r\n\r\n React.useEffect(() => {\r\n if (jae.useEAN) {\r\n dispatch(updateJobProperty(\"globalLocationNumber\", jae.globalLocationNumber && jae.globalLocationNumber != \"\" ? jae.globalLocationNumber : company?.eannumber));\r\n } else {\r\n dispatch(updateJobProperty(\"globalLocationNumber\", \"\"));\r\n }\r\n \r\n }, [jae.useEAN]);\r\n\r\n React.useEffect(() => {\r\n dispatch(updateJobProperties({\r\n applicationUrl: \"\",\r\n companyPhone: \"\"\r\n }))\r\n }, [jae.applicationMethodLocal])\r\n\r\n React.useEffect(() => {\r\n if (jae && !Boolean(jae.orderByName) && !Utils.isSuperAdmin())\r\n dispatch(updateJobProperty('orderByName', Utils.getLogedInUserFullName()));\r\n }, [jae.orderByName]);\r\n\r\n React.useEffect(() => {\r\n if (jae && !Boolean(jae.orderByEmail) && !Utils.isSuperAdmin())\r\n dispatch(updateJobProperty('orderByEmail', Utils.getLogedInUserEmail()));\r\n }, [jae.orderByEmail]);\r\n\r\n React.useEffect(() => {\r\n dispatch(findJobCategory());\r\n dispatch(findAreaLocation());\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n dispatch(findJobCategory());\r\n if (jae && jae.companyCommercialExternalId && jae.companyCommercialExternalId != '')\r\n getOtherBillingInformationName();\r\n }, [jae.companyCommercialExternalId]);\r\n\r\n const detectJobTitles = () => {\r\n if (isDetectJobTitles) {\r\n const pos = jae.positionLocalList.find((c: any) => c.Value === jae.positionLocal) as any;\r\n dispatch(updateJobProperty(\"positionLocal\", pos?.Value));\r\n setIsDetectJobTitles(false);\r\n }\r\n };\r\n React.useEffect(() => {\r\n if (jae.positionLocalList.length) {\r\n detectJobTitles();\r\n } else {\r\n dispatch(updateJobProperty(\"positionLocal\", \"\"));\r\n }\r\n }, [jae.positionLocalList]);\r\n\r\n React.useEffect(() => {\r\n jae.positionLocal && dispatch(findJobTitles(jae.positionLocal));\r\n }, [jae.positionLocal]);\r\n React.useEffect(() => {\r\n if (status === Deactivated) {\r\n setstatusJobDeactiveted(Deactivated);\r\n }\r\n }, [jae]);\r\n React.useEffect(() => {\r\n const body = document.querySelector(\"body\");\r\n\r\n body.classList.add(\"jae-page\");\r\n\r\n if (job) {\r\n dispatch(setLoadedJob(job));\r\n\r\n if (isExtend) {\r\n setExtendableState(true);\r\n\r\n dispatch(resetExpiredJob());\r\n }\r\n } else {\r\n dispatch(setJobDefaultValues());\r\n dispatch(setJobLocationDefaultValue());\r\n }\r\n setBackgroundType(jae.backgroundImage ? 2 : 1);\r\n\r\n if (job && job.title) {\r\n loadPackages();\r\n }\r\n\r\n if (isOfirAdvertiser) {\r\n dispatch(actionCreators.fetchSiteData());\r\n }\r\n setComercialType(jae.useEAN);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (scrollToAdvertising) {\r\n scroller.scrollTo(\"advertisingScrollElement\", {\r\n duration: 1000,\r\n smooth: true,\r\n offset: -50,\r\n });\r\n\r\n setScrollToAdvertising(false);\r\n }\r\n }, [scrollToAdvertising]);\r\n\r\n React.useEffect(() => {\r\n if (jae.backgroundImage) {\r\n setBackgroundType(2);\r\n\r\n setValidationObject({\r\n ...validationObject,\r\n backgroundType: null,\r\n });\r\n }\r\n }, [jae.backgroundImage]);\r\n\r\n const debouncedSaveToRedux = React.useCallback(\r\n debounce(300, (fieldName: string, value: string) => {\r\n\r\n if (status === Draft && fieldName === \"title\") {\r\n //dispatch(loadJobSuggestions(value, jae.description));\r\n }\r\n\r\n dispatch(updateJobProperty(fieldName, value));\r\n }),\r\n [jae.description]\r\n );\r\n\r\n const loadCategoriesTitles = () => {\r\n if (status === Draft) {\r\n dispatch(updateJobProperties({\r\n category: [],\r\n positionLocal: \"\"\r\n }));\r\n dispatch(loadJobSuggestions(jae.title, jae.description, jobCategories));\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n const storage = Utils.getCookie(\"Recommendation\") && JSON.parse(Utils.getCookie(\"Recommendation\"));\r\n if (storage && storage?.name && storage?.packageId) {\r\n if (!!!packagesData) {\r\n debouncedSaveToRedux(\"title\", storage.name);\r\n } else {\r\n debouncedSaveToRedux(\"requestedPackageId\", storage.packageId);\r\n dispatch(\r\n selectPackage({ packageData: packagesData.Recommendations.Recommendation.find((p) => p[\"@packageId\"] == storage.packageId), manualEdit: false })\r\n );\r\n }\r\n }\r\n }, [packagesData?.Recommendations?.Recommendation]);\r\n\r\n const handleCheckBoxChange = (e: any) => {\r\n jae.anonymousLocation = e.target.checked;\r\n setAnonymousLocation(e.target.checked);\r\n setDataChangedState(true);\r\n }\r\n\r\n const handleAccept = () => {\r\n if (loading.acceptTradeConditions) {\r\n dispatch(updateLoadingState(\"acceptTradeConditions\", false));\r\n }\r\n else {\r\n dispatch(updateLoadingState(\"acceptTradeConditions\", true));\r\n }\r\n }\r\n\r\n const handleLocationFieldChange = (e: React.ChangeEvent, id) => {\r\n const { name, value } = e.target;\r\n var elements = jae.locations.map(item => {\r\n if (item.id === id) {\r\n return { ...item, [name]: value }\r\n }\r\n else {\r\n return item;\r\n };\r\n });\r\n dispatch(updateJobProperty(\"locations\", elements));\r\n setDataChangedState(true);\r\n };\r\n\r\n const handleAreaLocationSelectChange = (value: any, name: string, id) => {\r\n\r\n var itemArea = findAreaObject(value);\r\n\r\n var elements = jae.locations.map(item => {\r\n if (item.id === id) {\r\n return { ...item, area: itemArea.Name, areaId: itemArea.Id }\r\n }\r\n else {\r\n return item;\r\n };\r\n });\r\n dispatch(updateJobProperty(\"locations\", elements));\r\n setDataChangedState(true);\r\n };\r\n\r\n\r\n const handleLocationCountrySelectChange = (value: any, name: string, id) => {\r\n var elements = jae.locations.map(item => {\r\n if (item.id === id) {\r\n return { ...item, locationCountry: value }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n dispatch(updateJobProperty(\"locations\", elements));\r\n setDataChangedState(true);\r\n };\r\n\r\n const handleAreaLocationFieldSave = (e: string, id) => {\r\n\r\n dispatch(saveJob({ job: jae }));\r\n };\r\n\r\n const findAreaObject = (name: string) => {\r\n return areaLocations.find((item) => item[\"Name\"] === name);\r\n };\r\n\r\n const handleFieldChange = (e: React.ChangeEvent) => {\r\n\r\n dispatch(setSavingState(false));\r\n\r\n if (reloadTimerId) clearTimeout(reloadTimerId)\r\n const { name, value } = e.target;\r\n if (validationObject[name]) {\r\n setValidationObject({\r\n ...validationObject,\r\n [name]: null,\r\n });\r\n }\r\n if (jae[name] !== value && !dataIsChanged) {\r\n setDataChangedState(true);\r\n }\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n [name]: value,\r\n };\r\n\r\n if (e.target.type === \"radio\") {\r\n dispatch(saveJob({ job: dataForSave }));\r\n }\r\n\r\n\r\n setReloadTimerId(setTimeout(() => {\r\n dispatch(saveJob({ job: dataForSave }));\r\n if (name === \"title\" || name === \"positionLocal\" || name === \"locationZipCode\") {\r\n loadPackages();\r\n }\r\n }, 10000))\r\n debouncedSaveToRedux(name, value);\r\n\r\n };\r\n\r\n const handleLocationFieldSave = (e: React.ChangeEvent, id) => {\r\n const { name, value } = e.target;\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n [name]: value,\r\n };\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n\r\n const handleFieldSave = (e: React.ChangeEvent) => {\r\n if (reloadTimerId) clearTimeout(reloadTimerId);\r\n\r\n const { name, value } = e.target;\r\n\r\n var dataForSave: JobAdModalEx = {\r\n ...jae,\r\n [name]: value,\r\n };\r\n\r\n if (dataIsChanged) {\r\n dataForSave[\"isPublished\"] = false;\r\n dispatch(updateJobProperty(\"isPublished\", false));\r\n }\r\n\r\n dispatch(saveJob({ job: dataForSave }));\r\n if (name === \"title\" || name === \"positionLocal\" || name === \"locationZipCode\") {\r\n loadPackages();\r\n }\r\n if (name === \"title\") {\r\n loadCategoriesTitles();\r\n }\r\n };\r\n const loadPackages = async () => {\r\n if (jae.status === 0 || isExtend) {\r\n var couponCode = companyCouponCode !== \"\" && isAlternateInvoice ? companyCouponCode : '';\r\n dispatch(setCouponCode(couponCode));\r\n dispatch(loadJobPackages(null, null, couponCode));\r\n }\r\n };\r\n const handleFieldFocus = (e: React.ChangeEvent) => { };\r\n const handleSelectSearch = (value: string) => {\r\n dispatch(findJobTitles(value));\r\n };\r\n\r\n\r\n\r\n const handleSelectChange = (value: any, name: string) => {\r\n setDataChangedState(true);\r\n if (validationObject[name]) {\r\n setValidationObject({\r\n ...validationObject,\r\n [name]: null,\r\n });\r\n }\r\n\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n [name]: value,\r\n };\r\n\r\n dispatch(saveJob({ job: dataForSave }));\r\n dispatch(updateJobProperty(name, value));\r\n };\r\n\r\n const handleTextEditorValueChange = (value: string, editor, bookmark): void => {\r\n dispatch(setSavingState(false));\r\n if (reloadTimerId) clearTimeout(reloadTimerId);\r\n setDataChangedState(true);\r\n setReloadTimerId(setTimeout(() => {\r\n handleTextEditorValueSave(value);\r\n }, 10000))\r\n };\r\n\r\n const handleTextEditorValueSave = (value: string): void => {\r\n if (reloadTimerId) clearTimeout(reloadTimerId);\r\n\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n description: value,\r\n };\r\n\r\n if (status === Draft) {\r\n dispatch(loadJobSuggestions(jae.title, value, jobCategories));\r\n }\r\n\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n\r\n const handleTextEditorFocus = () => {\r\n if (validationObject.description) {\r\n setValidationObject({\r\n ...validationObject,\r\n description: null,\r\n });\r\n }\r\n };\r\n\r\n const handleAdvertisingDateRangeChange = (value: string | Date[]) => {\r\n const values = {\r\n activationDate: new Date(value[0]),\r\n expiryDate: new Date(value[1]),\r\n };\r\n\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n ...values,\r\n };\r\n\r\n setDataChangedState(true);\r\n\r\n dispatch(updateJobProperties({ ...values }));\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n\r\n const handleBackgroundTypeChange = (e: any) => {\r\n const { value } = e.target;\r\n\r\n if (validationObject.backgroundType) {\r\n setValidationObject({\r\n ...validationObject,\r\n backgroundType: null,\r\n });\r\n }\r\n\r\n if (value == 1) {\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n backgroundImage: \"\",\r\n };\r\n dispatch(updateJobProperty(\"backgroundImage\", \"\"));\r\n dispatch(saveJob({ job: dataForSave }));\r\n }\r\n\r\n setBackgroundType(value);\r\n };\r\n\r\n const handleValidationScroll = () => {\r\n scrollToFirstInvalidField(\"control-error\", 150);\r\n };\r\n\r\n const handleLogoChange = (file: any) => {\r\n setLogoFile(file);\r\n setDataChangedState(true);\r\n };\r\n const validator = async () => {\r\n const paymetValidationObject = comercialType\r\n ? { ...eanPaymentValidationDescription }\r\n : { ...emailPaymentValidationDescription };\r\n let commonValidationObject = { ...saveValidationDescription, ...paymetValidationObject };\r\n if (jae.applicationMethodLocal !== 0 && jae.applicationMethodLocal !== 4) {\r\n delete commonValidationObject[\"companyContactPerson\"];\r\n delete commonValidationObject[\"companyEmail\"];\r\n }\r\n\r\n if (jae.applicationMethodLocal !== 1)\r\n delete commonValidationObject[\"applicationUrl\"];\r\n\r\n if (jae.applicationMethodLocal !== 2)\r\n delete commonValidationObject[\"companyPhone\"];\r\n\r\n if (isOfirAdvertiser) {\r\n delete commonValidationObject.pNumber;\r\n }\r\n\r\n if (initialData.company.countryCode != 'DK') {\r\n delete commonValidationObject.locationZipCode.exact;\r\n }\r\n\r\n if (!isAlternateInvoice) {\r\n delete commonValidationObject[\"companyCommercialContactName\"];\r\n delete commonValidationObject[\"companyCommercialContact\"];\r\n delete commonValidationObject[\"companyCommercialExternalId\"];\r\n delete commonValidationObject[\"companyCommercialVatNumber\"];\r\n delete commonValidationObject[\"customerName\"];\r\n }\r\n\r\n var errorsObj = await ValidateObject(jae, commonValidationObject);\r\n if (backgroundType === 2 && !jae.backgroundImage) {\r\n errorsObj.hasError = true;\r\n errorsObj[\"backgroundType\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n }\r\n\r\n if (jae.ogimage && jae.ogimage != \"\" && !loadedOgImage) {\r\n errorsObj.hasError = true;\r\n errorsObj[\"ogimage\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\"\r\n }\r\n\r\n locationsValidator(jae.locations, errorsObj);\r\n\r\n setValidationObject(errorsObj);\r\n return errorsObj;\r\n };\r\n\r\n const updateUrl = (jobid: string) => {\r\n if (history.pushState) {\r\n let newurl = w.location.protocol + \"//\" + w.location.host + w.location.pathname + '/edit/' + jobid;\r\n w.history.pushState({ path: newurl }, '', newurl);\r\n }\r\n }\r\n\r\n const locationsValidator = async (locations: any, errors: any) => {\r\n if (locations.length == 0) {\r\n errors[\"hasError\"] = true;\r\n errors[\"locationsError\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n }\r\n\r\n locations.forEach(item => {\r\n var itemErrors = {};\r\n if (item.useArea) {\r\n if (!item.area || item.area.length == 0) {\r\n errors[\"hasError\"] = true;\r\n itemErrors[\"area\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n itemErrors[\"id\"] = item.id;\r\n }\r\n }\r\n else {\r\n if (!item.locationAddress || item.locationAddress.length == 0) {\r\n errors[\"hasError\"] = true;\r\n itemErrors[\"locationAddress\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n itemErrors[\"id\"] = item.id;\r\n }\r\n if (!item.locationZipCode || item.locationZipCode.length == 0) {\r\n errors[\"hasError\"] = true;\r\n itemErrors[\"locationZipCode\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n itemErrors[\"id\"] = item.id;\r\n }\r\n if (!item.locationCity || item.locationCity.length == 0) {\r\n errors[\"hasError\"] = true;\r\n itemErrors[\"locationCity\"] = \"JAE_JOBAD_VALIDATION_REQUIRED\";\r\n itemErrors[\"id\"] = item.id;\r\n }\r\n if (!item.locationCountry || item.locationCountry.length == 0) {\r\n item.locationCountry = \"Danmark\";\r\n }\r\n }\r\n if (!errors[\"locations\"]) {\r\n errors[\"locations\"] = [];\r\n }\r\n errors[\"locations\"].push(itemErrors)\r\n if (Object.keys(itemErrors).length != 0) {\r\n setShowAdditionalLocations(true);\r\n }\r\n\r\n });\r\n };\r\n\r\n\r\n const handleSubmit = async () => {\r\n let host = \"\";\r\n const isLocal = window.location.hostname == \"localhost\";\r\n if (isLocal) {\r\n host = \"testmatchworkcareersite\";\r\n } else {\r\n host = window.location.hostname.split(\".\")[1];\r\n }\r\n const _addres = window.location.hostname.split(\".\").pop();\r\n localStorage.removeItem(\"recommendation\");\r\n Cookies.remove(\"Recommendation\", { expires: 0, domain: isLocal ? \"localhost\" : `.${host}.${_addres}` });\r\n const errorsObj = await validator();\r\n if (errorsObj.hasError) {\r\n handleValidationScroll();\r\n } else if (!jae.requestedPackageId) {\r\n scroller.scrollTo(\"packagesScrollElement\", {\r\n duration: 1000,\r\n smooth: true,\r\n offset: -150,\r\n });\r\n } else {\r\n dispatch(publishJob(comercialType, selectedLogo.fileName));\r\n }\r\n };\r\n\r\n const handlerReview = async () => {\r\n const valid = await validator();\r\n if (valid.hasError) {\r\n handleValidationScroll();\r\n } else if (!jae.requestedPackageId) {\r\n scroller.scrollTo(\"packagesScrollElement\", {\r\n duration: 1000,\r\n smooth: true,\r\n offset: -150,\r\n });\r\n } else {\r\n if (typeof window !== \"undefined\") {\r\n window.scrollTo(0, 0);\r\n setReview(!isReview);\r\n }\r\n }\r\n };\r\n\r\n const handleUseArea = (e: any, id) => {\r\n var elements = jae.locations.map(item => {\r\n if (item.id === id) {\r\n return {...item, useArea: e.target.checked};\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n dispatch(updateJobProperty(\"locations\", elements));\r\n dispatch(saveJob({ job: jae }));\r\n setDataChangedState(true);\r\n };\r\n\r\n const showPreview = () => {\r\n dispatch(showJobPreview(false, isOfirAdvertiser ? jae.externalID : null));\r\n };\r\n const updateChanges = async () => {\r\n const validationObject = { ...saveValidationDescription };\r\n if (isOfirAdvertiser) {\r\n delete validationObject.pNumber;\r\n }\r\n\r\n const errorsObj = await validator();\r\n\r\n if (!errorsObj.hasError) {\r\n dispatch(publishChanges({ selectedLogo: selectedLogo.fileName }));\r\n } else {\r\n handleValidationScroll();\r\n }\r\n };\r\n\r\n const storeFileName = (filename: string) => {\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n backgroundImage: filename,\r\n };\r\n\r\n dispatch(saveJob({ job: dataForSave }));\r\n dispatch(updateJobProperty(\"backgroundImage\", filename));\r\n setDataChangedState(true);\r\n };\r\n\r\n const storeTopImageFile = (filename: string) => {\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n topImage: filename,\r\n };\r\n dispatch(saveJob({ job: dataForSave }));\r\n dispatch(updateJobProperty(\"topImage\", filename));\r\n if (jae.ogimage == undefined || jae.ogimage == \"\") {\r\n const topImageUrl = `${ApiConstants.siteOptions.fileStoreCDN}/${w.SITE_ID}/${ImageType.JobAd}/${filename}`;\r\n dispatch(updateJobProperty(\"ogimage\", topImageUrl));\r\n }\r\n setDataChangedState(true);\r\n }\r\n\r\n const selectJobPackage = (packageData: RecommendationEntity, products: any, manualEdit: boolean, customPrice: any) => {\r\n packageData.Products.Id = products.map(c => c.Item[\"@id\"]);\r\n if (customPrice) packageData.TotalPrice.PriceAmount[\"#text\"] = customPrice;\r\n dispatch(selectPackage({ packageData, manualEdit, customPrice}));\r\n setScrollToAdvertising(true);\r\n };\r\n\r\n const isPackagesActive = (): boolean => {\r\n if (jobState.confirmationModalVisibility || loading.jobPublishing) {\r\n return true;\r\n }\r\n\r\n if (status === Active || status === Future || status === Deactivated) {\r\n return false;\r\n }\r\n\r\n if (!jae.title) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n const discardChanges = () => {\r\n dispatch(updateJobProperties({ ...job }));\r\n const dataForSave: JobAdModalEx = {\r\n ...jae, ...job\r\n };\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n\r\n const showWarningDiscardCanges = () => {\r\n showConfirmModal({\r\n title: `${i18n.t('JAE_DISCARD_CHANGES_BUTTON')}`,\r\n content: i18n.t('JAE_DISCARD_CHANGES_MODAL_TEXT'),\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n okText: i18n.t('JAE_DISCARD_CHANGES_BUTTON'),\r\n onOk: () => {\r\n discardChanges();\r\n }\r\n });\r\n };\r\n\r\n const [isAlternateInvoice, setIsAlternateInvoice] = React.useState(!!jae.companyCommercialExternalId);\r\n\r\n React.useEffect(() => {\r\n if (!isAlternateInvoice) {\r\n dispatch(updateJobProperties({\r\n companyCommercialContactName: \"\",\r\n companyCommercialContact: \"\",\r\n companyCommercialExternalId: \"\",\r\n companyCommercialVatNumber: \"\"\r\n }));\r\n if (companyCouponCode) {\r\n dispatch(removeCouponCode(false));\r\n }\r\n } else {\r\n dispatch(updateJobProperties({\r\n companyCommercialContactName: company?.commercialContactNameExtended ?? company?.commercialContactName,\r\n companyCommercialContact: company?.commercialContactExtended ?? company?.commercialContact,\r\n companyCommercialExternalId: company?.commercialExternalId,\r\n companyCommercialVatNumber: company?.commercialVatNumber\r\n }));\r\n if (companyCouponCode && (jae.status === 0) || isExtend) {\r\n dispatch(setCouponCode(companyCouponCode));\r\n dispatch(checkDiscountCode(companyCouponCode, false));\r\n };\r\n }\r\n }, [isAlternateInvoice])\r\n\r\n React.useEffect(() => {\r\n if (jae.companyCommercialExternalId) {\r\n setIsAlternateInvoice(true);\r\n }\r\n }, [jae]);\r\n\r\n React.useEffect(() => {\r\n if (jae.anonymousLocation) {\r\n setAnonymousLocation(jae.anonymousLocation);\r\n }\r\n\r\n }, [jae.anonymousLocation]);\r\n\r\n const renderApplicationFields = () => {\r\n switch (jae.applicationMethodLocal) {\r\n case 1: {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n case 2: {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n case 3: {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n default: {\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n };\r\n const renderTemplateCategory = (data: any) => {\r\n const userTemplateOptions =\r\n Array.isArray(data) &&\r\n data?.map((category: any) => {\r\n return (\r\n \r\n {category?.Items?.map((item: any) => {\r\n return (\r\n \r\n {item.Value}\r\n \r\n );\r\n })}\r\n \r\n );\r\n });\r\n\r\n return [userTemplateOptions];\r\n };\r\n\r\n const renderTemplateAreaLocation = (data: any) => {\r\n const userTemplateOptions =\r\n Array.isArray(data) &&\r\n data?.map((item: any) => {\r\n return (\r\n \r\n {item.Name}\r\n \r\n );\r\n });\r\n return [userTemplateOptions];\r\n };\r\n\r\n const showPackages = isPackagesActive();\r\n const isShowPaymentSection = showPaymentsSection();\r\n const isShowPackageSection = showPackagesSection();\r\n const [openMediagalery, setopenMediagalery] = React.useState(false);\r\n const [selectedLogo, setselectedLogo] = React.useState({} as any);\r\n const [isMediaGaleryForText, setisMediaGaleryForText] = React.useState(false);\r\n const [selectedImage, setselectedImage] = React.useState(null);\r\n const handleSelectLogo = (e) => {\r\n setselectedLogo(e);\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n logoId: e.id,\r\n };\r\n debouncedSaveToRedux(\"logoId\", e.id);\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n const handleUpdateImageData = (e) => {\r\n dispatch(updateImageData(e));\r\n isMediaGaleryForText ? setselectedImage(e) : handleSelectLogo(e);\r\n setisMediaGaleryForText(false);\r\n setopenMediagalery(false);\r\n setDataChangedState(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n jae.logoId && dispatch(getImageById(jae.logoId));\r\n }, [jae.logoId]);\r\n\r\n React.useEffect(() => {\r\n !selectedLogo?.id && jaeLogo?.id && handleSelectLogo(jaeLogo);\r\n }, [jaeLogo]);\r\n const handleDeleteLogo = (e) => {\r\n dispatch(deleteImageData(e));\r\n if (e.id === selectedLogo?.id) {\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n logoId: null,\r\n };\r\n debouncedSaveToRedux(\"logoId\", e.id);\r\n dispatch(saveJob({ job: dataForSave }));\r\n handleUpdateImageData({});\r\n }\r\n };\r\n React.useEffect(() => {\r\n if (extendable && jae.requestedPackageDurationDays) {\r\n const maxPackageDate = moment()\r\n .add(jae.requestedPackageDurationDays - 1, \"days\")\r\n .endOf(\"day\")\r\n .toDate();\r\n\r\n const values = {\r\n activationDate: new Date(),\r\n expiryDate: maxPackageDate,\r\n };\r\n\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n ...values,\r\n };\r\n setTimeout(() => {\r\n dispatch(updateJobProperties({ ...values }));\r\n dispatch(saveJob({ job: dataForSave }));\r\n }, 500);\r\n }\r\n }, [extendable, jae.requestedPackageDurationDays]);\r\n const mediaLibrary = useSelector((s: any) => s.mediaLibrary);\r\n\r\n const handleNewLocation = (e) => {\r\n var isPrimary = true;\r\n if (jae.locations.length != 0) {\r\n isPrimary = false;\r\n }\r\n var element = { id: Utils.generateGuid(), jobAdId: jae.id, primary: isPrimary };\r\n\r\n jae.locations.push(element);\r\n dispatch(updateJobProperty(\"locations\", jae.locations));\r\n if (!validationObject[\"locations\"]) {\r\n validationObject[\"locations\"] = [];\r\n }\r\n };\r\n\r\n const handleDeleteLocation = (id) => {\r\n var index = jae.locations.findIndex(item => item.id === id);\r\n var updatePrimary = false;\r\n if (jae.locations.length > 1 && jae.locations[index].primary) {\r\n updatePrimary = true;\r\n }\r\n jae.locations.splice(index, 1);\r\n if (updatePrimary) {\r\n jae.locations[0].primary = true;\r\n }\r\n dispatch(updateJobProperty(\"locations\", jae.locations));\r\n setDataChangedState(true);\r\n };\r\n\r\n const handlePrimaryLocation = (id) => {\r\n var elements = jae.locations.map(item => {\r\n if (item.id === id) {\r\n return { ...item, primary: true };\r\n }\r\n else {\r\n return { ...item, primary: false };\r\n }\r\n });\r\n dispatch(updateJobProperty(\"locations\", elements));\r\n if (jae.locations.length > 0) {\r\n setDataChangedState(true);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n dispatch(sendImageToServer(file))}\r\n onDelete={handleDeleteLogo}\r\n onGetData={() => dispatch(getJobImages())}\r\n onClose={() => setopenMediagalery(false)}\r\n onUpdateData={handleUpdateImageData}\r\n isOpen={openMediagalery}\r\n />\r\n {status === Expired && !extendable && (\r\n {i18n.t(\"JAE_JOBAD_ADVERTISE_EXPIRED_INFO\")}\r\n )}\r\n {!isReview ? (\r\n
    \r\n
    \r\n \r\n \r\n {isOfirAdvertiser &&

    {i18n.t(\"MENU_SIDEBAR_JAE\")}

    }\r\n

    {i18n.t(\"JAE_MAIN_BLOCK_TITLE2\")}

    \r\n \r\n \r\n {!isOfirAdvertiser && (\r\n \r\n )}\r\n storeTopImageFile(\"\")}\r\n imageFileName={jae.topImage}\r\n error={i18n.t(validationObject.backgroundType)}\r\n />\r\n {\r\n setisMediaGaleryForText(true);\r\n setopenMediagalery(true);\r\n }}\r\n mediaLibraryData={mediaLibrary}\r\n error={i18n.t(validationObject.description)}\r\n onChange={handleTextEditorValueChange}\r\n onBlur={(value) => {\r\n dispatch(updateJobProperty(\"description\", value));\r\n handleTextEditorValueSave(value);\r\n }}\r\n onFocus={handleTextEditorFocus}\r\n getImageData={() => dispatch(getJobImages())}\r\n imgSet={selectedImage} />\r\n \r\n \r\n \r\n

    {i18n.t(\"JAE_EXTRA_BLOCK_TITLE2\")}

    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {renderTemplateCategory(jobCategories)}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n );\r\n },\r\n }}\r\n name=\"positionLocal\"\r\n value={jae.positionLocal}\r\n onChange={handleSelectChange}\r\n options={jae?.positionLocalList?.map((l: any) => l.Value)}\r\n onSearch={handleSelectSearch}\r\n error={i18n.t(validationObject.positionLocal)}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setLoadedOgImage(true);\r\n dispatch(updateJobProperty(\"ogImageSize\", {\r\n ogImageWidth: ogimageRef.current.naturalWidth,\r\n ogImageHeight: ogimageRef.current.naturalHeight\r\n }));\r\n }}\r\n src={jae.ogimage}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {i18n.t(\"SITEMANAGEMENT_ADD_LOGO_LABEL\")}\r\n {selectedLogo?.id ? (\r\n \r\n setopenMediagalery(true)}\r\n style={{\r\n width: 250,\r\n display: \"block\",\r\n cursor: \"pointer\",\r\n height: 200,\r\n objectFit: \"contain\",\r\n }}\r\n onError={(e: any) =>\r\n (e.target.src = `${Utils.getCDNUrl()}${Utils.getSiteID()}/Logo/${selectedLogo.fileName\r\n }`)\r\n }\r\n src={`${Utils.getCDNUrl()}${Utils.getSiteID()}/imagelibrary/${selectedLogo?.fileName\r\n }`}\r\n alt=\"\"\r\n />\r\n {\r\n handleSelectLogo({});\r\n setDataChangedState(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n ) : (\r\n setopenMediagalery(true)}\r\n >\r\n \r\n
    \r\n )}\r\n setopenMediagalery(true)}\r\n title={i18n.t(\"JAE_SELECT_NEW_LOGO_BTN\")}\r\n type=\"secondary\"\r\n asLink\r\n />\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {renderApplicationFields()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {jae.locations.map(item => {\r\n if (item.primary) {\r\n return (\r\n {Utils.isSuperAdmin() && ( { handleUseArea(e, item.id); }}\r\n style={{ paddingBottom: 12, marginRight: 8, display: \"flex\", alignItems: \"center\" }}>\r\n \r\n {i18n.t(\"JAE_JOBAD_LOCATION_USEAREA_TITLE\")}\r\n \r\n \r\n )}\r\n\r\n {!item.useArea ? (\r\n\r\n <>\r\n \r\n { handleLocationFieldChange(e, item.id) }}\r\n onBlur={(e) => { handleLocationFieldSave(e, item.id) }}\r\n onFocus={handleFieldFocus}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationAddress)}\r\n required\r\n />\r\n \r\n \r\n { handleLocationFieldChange(e, item.id) }}\r\n onBlur={(e) => { handleLocationFieldSave(e, item.id) }}\r\n onFocus={handleFieldFocus}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationZipCode)}\r\n required\r\n />\r\n \r\n \r\n { handleLocationFieldChange(e, item.id) }}\r\n onBlur={(e) => { handleLocationFieldSave(e, item.id) }}\r\n onFocus={handleFieldFocus}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationCity)}\r\n required\r\n />\r\n \r\n \r\n\r\n { handleLocationCountrySelectChange(value, name, item.id) }}\r\n selectProps={{\r\n showSearch: true,\r\n filterOption: (input, option) => {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n );\r\n },\r\n }}\r\n required\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationCountry)}>\r\n {listCountries.map((x, i) => {\r\n return (\r\n \r\n {x['Value']}\r\n \r\n );\r\n })}\r\n \r\n\r\n \r\n \r\n\r\n ) : (\r\n \r\n { handleAreaLocationSelectChange(value, name, item.id) }}\r\n onBlur={(e) => { handleAreaLocationFieldSave(e, item.id) }}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.area)}\r\n selectProps={{\r\n showSearch: true,\r\n filterOption: (input, option) => {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n );\r\n },\r\n }}\r\n >\r\n {renderTemplateAreaLocation(areaLocations)}\r\n \r\n \r\n )}\r\n\r\n )\r\n\r\n }\r\n\r\n\r\n })}\r\n \r\n\r\n\r\n { showAdditionalLocations ? setShowAdditionalLocations(false) : setShowAdditionalLocations(true); }}\r\n style={showAdditionalLocations ? { width: \"100%\", marginBottom: \"24px\" } : { width: \"100%\"}} />\r\n\r\n\r\n\r\n\r\n\r\n {showAdditionalLocations && (<>\r\n \r\n {jae.locations.map(item => {\r\n if (!item.primary) {\r\n return (\r\n \r\n \r\n { handleDeleteLocation(item.id); }}\r\n style={{ float: \"right\" }} />\r\n\r\n {Utils.isSuperAdmin() && ( { handleUseArea(e, item.id); }}\r\n style={{ paddingBottom: 12, marginRight: 8, display: \"flex\", alignItems: \"center\" }}>\r\n \r\n {i18n.t(\"JAE_JOBAD_LOCATION_USEAREA_TITLE\")}\r\n \r\n \r\n )}\r\n \r\n {!item.useArea ? (\r\n\r\n <>\r\n \r\n { handleLocationFieldChange(e, item.id) }}\r\n onBlur={(e) => { handleLocationFieldSave(e, item.id) }}\r\n onFocus={handleFieldFocus}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationAddress)}\r\n required\r\n />\r\n \r\n \r\n { handleLocationFieldChange(e, item.id) }}\r\n onBlur={(e) => { handleLocationFieldSave(e, item.id) }}\r\n onFocus={handleFieldFocus}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationZipCode)}\r\n required\r\n />\r\n \r\n \r\n { handleLocationFieldChange(e, item.id) }}\r\n onBlur={(e) => { handleLocationFieldSave(e, item.id) }}\r\n onFocus={handleFieldFocus}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationCity)}\r\n required\r\n />\r\n \r\n \r\n\r\n { handleLocationCountrySelectChange(value, name, item.id) }}\r\n selectProps={{\r\n showSearch: true,\r\n filterOption: (input, option) => {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >=\r\n 0\r\n );\r\n },\r\n }}\r\n required\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.locationCountry)}>\r\n {listCountries.map((x, i) => {\r\n return (\r\n \r\n {x['Value']}\r\n \r\n );\r\n })}\r\n \r\n\r\n \r\n \r\n\r\n ) : (\r\n \r\n { handleAreaLocationSelectChange(value, name, item.id) }}\r\n onBlur={(e) => { handleAreaLocationFieldSave(e, item.id) }}\r\n error={i18n.t(validationObject.locations.find(i => i.id === item.id)?.area)}\r\n selectProps={{\r\n showSearch: true,\r\n filterOption: (input, option) => {\r\n return (\r\n option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0\r\n );\r\n },\r\n }}\r\n >\r\n {renderTemplateAreaLocation(areaLocations)}\r\n \r\n \r\n )}\r\n \r\n { handlePrimaryLocation(item.id); }}\r\n style={{ marginBottom:\"24px\" }} />\r\n\r\n \r\n\r\n \r\n )\r\n }\r\n })}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n handleCheckBoxChange(e)}\r\n style={{ paddingBottom: 12, marginRight: 8, display: \"flex\", alignItems: \"center\" }}\r\n >\r\n \r\n {i18n.t('JAE_JOBAD_ANONIMOUS_LOCATION_ENABLE')}\r\n \r\n \r\n\r\n {jae.anonymousLocation && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n {/* {isOfirAdvertiser && (\r\n \r\n \r\n \r\n \r\n \r\n )} */}\r\n {isShowPackageSection && (\r\n \r\n \r\n
    \r\n

    {i18n.t(\"JAE_PACKAGES_TITLE\")}

    \r\n \r\n {showPackages && packagesData ? (\r\n \r\n ) : (\r\n <>\r\n {loading.jaePackages ? (\r\n \r\n ) : (\r\n
    \r\n {i18n.t(\"JAE_PLACEHOLDER_PACKAGES\")}\r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n \r\n \r\n {jae.requestedPackageId ? (\r\n \r\n ) : (\r\n
    \r\n {i18n.t(\"JAE_PLACEHOLDER_ADVERTISING\")}\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n {isShowPaymentSection && (\r\n \r\n \r\n {jae.requestedPackageId ? (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {i18n.t(\"JAE_PAYMENT_TITLE\")}\r\n
    \r\n
    \r\n {\r\n setComercialType(false);\r\n }}\r\n />\r\n {\r\n setComercialType(true);\r\n }}\r\n />\r\n
    \r\n
    \r\n {!jae.useEAN && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {jae.useEAN && (\r\n \r\n )}\r\n\r\n \r\n\r\n {\r\n (companyCouponCode || !jae.useEAN) && (\r\n company?.commercialExternalId &&\r\n company?.commercialVatNumber &&\r\n company?.commercialContactName\r\n ) && setIsAlternateInvoice(e.target.checked)}\r\n style={{ paddingBottom: 12, marginRight: 8, display: \"flex\", alignItems: \"center\" }}\r\n >\r\n \r\n {i18n.t('COMPANYMANAGEMENT_SITE_ALTERNETIVE_INVOICE')}\r\n \r\n \r\n }\r\n
    \r\n\r\n \r\n
    \r\n ) : (\r\n
    {i18n.t(\"JAE_PLACEHOLDER_PAYMENTS\")}
    \r\n )}\r\n
    \r\n {isAlternateInvoice && (\r\n \r\n {jae.requestedPackageId ? (\r\n <>\r\n

    \r\n {i18n.t(\"COMPANYMANAGEMENT_COMPANY_OTHER_INVOICE_HEADLINE\")}\r\n

    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n\r\n {Utils.isSuperAdmin() &&\r\n\r\n \r\n \r\n \r\n\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Utils.isSuperAdmin() &&\r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n \r\n ) : (\r\n
    \r\n {i18n.t(\"JAE_PLACEHOLDER_PAYMENTS\")}\r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n\r\n )}\r\n {\r\n Utils.isSuperAdmin() && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { OrderItem} from '../../../models/job/jobOrder';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { JobAdModalEx } from '../../../models/modelExtentions/JobAdModelEx';\r\nimport { ApplicationState } from '../../../../store';\r\nimport CommonButton from '../../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport * as gears from './assets/gears.png';\r\nimport { Row, Col } from '../../_shared/Grid/Grid';\r\nimport { OrederTable } from \"../OrderTable\";\r\nimport { PackageProduct } from \"../PackageProducts\";\r\nimport './JobOrderCard.scss';\r\n\r\nexport default function JobOrderCard({\r\n data,\r\n isReady,\r\n isNotReady,\r\n isPrevious,\r\n handleOpenChanges,\r\n isExpiredTime\r\n}: {\r\n data: OrderItem;\r\n isReady: boolean;\r\n isNotReady: boolean;\r\n isPrevious?: boolean;\r\n isExpiredTime?: boolean\r\n handleOpenChanges?: () => void\r\n}) {\r\n const jobOrder = { ...data };\r\n const jae: JobAdModalEx = useSelector((s) => s.jae);\r\n const [isOpen, setOpen] = React.useState(false)\r\n const isNegative = Math.floor(+jobOrder?.Package?.TotalPrice?.PriceAmount['#text']) < 0;\r\n\r\n return (\r\n
    \r\n \r\n \r\n {isReady && (\r\n
    {isPrevious && setOpen(!isOpen)}\r\n }>\r\n
    \r\n {!isPrevious &&

    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_HEADLINE')}

    }\r\n
    \r\n

    \r\n {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_TITLE')}: {jae.title}\r\n

    \r\n {isPrevious && (

    \r\n {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PRICE')}: {jobOrder.Package.TotalPrice.PriceAmount['#text']} {jobOrder.Package.TotalPrice.PriceAmount['@currencyCode']}\r\n

    )}\r\n
    \r\n
    \r\n
    {isPrevious ? isOpen ? : : \"\"}
    \r\n
    \r\n )}\r\n {isNotReady &&

    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_HEADLINE_NOT_READY')}

    }\r\n \r\n {isNotReady && (\r\n
    \r\n \r\n

    \r\n {i18n.t('JAE_ADVERTISE_EMPTY_STATE_TITLE')}\r\n

    \r\n

    {i18n.t('JAE_ADVERTISE_EMPTY_STATE_TEXT')}

    \r\n
    \r\n )}\r\n
    \r\n {isReady && (\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PRODUCTS')}:
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n )}\r\n {!isNotReady && isExpiredTime && (\r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { getJobOrderData, getJobById, updateJobProperties } from '../../store/JaeStore';\r\nimport { JobState, getJobPackagesForUpdate, setCouponCode } from '../../store/JobStore';\r\nimport { JobAdStatuses } from '../../store/JobsListStore';\r\nimport { ApplicationState } from '../../store';\r\nimport { OrderItem } from '../../cms/models/job/jobOrder';\r\nimport { JobAdModalEx } from '../../cms/models/modelExtentions/JobAdModelEx';\r\nimport { Utils } from '../../Utils/Utils';\r\nimport { Row, Col } from '../../cms/components/_shared/Grid/Grid';\r\nimport JobOrderCard from '../../cms/components/jobOrder/JobOrderCard/JobOrderCard';\r\nimport i18n from '../../resources/i18n';\r\nimport { Element, scroller } from 'react-scroll';\r\nimport CommonCard from '../../cms/components/_shared//CommonCard/CommonCard';\r\nimport JaePackages from '../../cms/components/jae/JaePackages/JaePackages';\r\nimport { RecommendationEntity } from '../../cms/models/job/package';\r\nimport JaeAdvertising from '../../cms/components/jae/JaeAdvertising/JaeAdvertising';\r\nimport CommonInput from '../../cms/components/_shared/Controls/CommonInput/CommonInput';\r\nimport CommonButton from '../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport { getCompanyData } from \"../../store/CompanyDataStore\";\r\nimport { debounce } from 'throttle-debounce';\r\nimport {\r\n selectPackage,\r\n saveJob,\r\n updateJobProperty,\r\n publishJob,\r\n publishChanges,\r\n} from '../../store/JaeStore';\r\nimport './assets/JobOrder.scss';\r\nimport { UtilsJob } from '../../Utils/UtilsJob';\r\nimport { setTimeout } from 'timers';\r\n\r\nexport default function JobOrder() {\r\n const w = window as any;\r\n const job: JobState = useSelector((s) => s.job);\r\n const loading: any = useSelector((s: any) => s.loading) as any;\r\n const jae: JobAdModalEx = useSelector((s) => s.jae);\r\n const { t } = useTranslation();\r\n const dispatch = useDispatch();\r\n const jobOrders: OrderItem[] = job.jobOrders;\r\n const company = useSelector((state) => state.companyData.companyData);\r\n React.useEffect(() => {\r\n const jobId: string = Utils.getLastUrlItem(w.location.pathname);\r\n dispatch(getCompanyData());\r\n dispatch(getJobOrderData(jobId));\r\n // TODO: Replace job data loading with\r\n dispatch(getJobById(jobId));\r\n }, []);\r\n React.useEffect(() => {\r\n if (jae.id) {\r\n dispatch(getJobPackagesForUpdate(jae, job.couponCode));\r\n }\r\n }, [jae]);\r\n\r\n const clickUpdate = () => {\r\n setIsShowOrderPackages(true);\r\n\r\n if (company?.couponeCode) {\r\n dispatch(setCouponCode(company?.couponeCode));\r\n }\r\n let coupon = job.couponCode === \"\" ? company?.couponeCode : job.couponCode;\r\n dispatch(getJobPackagesForUpdate(jae, coupon));\r\n };\r\n\r\n const [isShowOrderPackages, setIsShowOrderPackages] = React.useState(false)\r\n const renderPreviousOrders = () => {\r\n const previousOrders: OrderItem[] = jobOrders.slice(1, jobOrders.length);\r\n\r\n return previousOrders.map((item: OrderItem, index: number) => {\r\n return ;\r\n });\r\n };\r\n\r\n const jobOrderIsExists = jobOrders.length && jae.id && jae.status;\r\n const jobOrderIsNotExists = !jobOrders.length && job.jobOrderIsLoaded;\r\n const { Active, Deactivated, Future, Expired } = JobAdStatuses;\r\n\r\n const showPackagesSection = () => {\r\n if (jae.status == Active || jae.status == Deactivated || jae.status == Future) return true\r\n return false\r\n }; \r\n \r\n const [isShowBtnUpdate, setShowBtnUpdate] = React.useState(false)\r\n React.useEffect(()=>{\r\n const Show = () => {\r\n const isExtendExpired = UtilsJob.isJobminTwoDays(jae.expiryDate.toString());\r\n if (isExtendExpired) {\r\n return false;\r\n }\r\n return jae.status == Future || jae.status == Active || jae.status == Deactivated;\r\n };\r\n setShowBtnUpdate(Show());\r\n }, [jae.status])\r\n const isShowPackageSection = showPackagesSection();\r\n const packagesData = job.packages;\r\n const selectJobPackage = (packageData: RecommendationEntity, products: any, manualEdit: boolean, customPrice: any) => {\r\n packageData.Products.Id = products.map(c => c.Item[\"@id\"]);\r\n if (customPrice) packageData.TotalPrice.PriceAmount[\"#text\"] = customPrice;\r\n dispatch(selectPackage({ packageData, customPrice, manualEdit, updateDates: false }));\r\n };\r\n \r\n const [comercialType, setComercialType] = React.useState(false);\r\n const handleAdvertisingDateRangeChange = (value: string | Date[]) => {\r\n const values = {\r\n activationDate: new Date(value[0]),\r\n expiryDate: new Date(value[1]),\r\n };\r\n\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n ...values,\r\n };\r\n dispatch(updateJobProperties({ ...values }));\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n const handleFieldFocus = (e: React.ChangeEvent) => {};\r\n const handleFieldSave = (e: React.ChangeEvent) => {\r\n const { name, value } = e.target;\r\n const dataForSave: JobAdModalEx = {...jae, [name]: value};\r\n dispatch(saveJob({ job: dataForSave }));\r\n };\r\n const handleSubmit = () => { dispatch(publishChanges({ comercialType, couponCode: job.couponCode })); setIsShowOrderPackages(false); }\r\n const handleFieldChange = (e: React.ChangeEvent) => {\r\n const { name, value } = e.target;\r\n if (e.target.type === 'radio') {\r\n const dataForSave: JobAdModalEx = {\r\n ...jae,\r\n [name]: value,\r\n };\r\n dispatch(saveJob({ job: dataForSave }));\r\n }\r\n dispatch(updateJobProperty(name, value));\r\n };\r\n \r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n

    {jae.title}

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {isShowPackageSection && isShowOrderPackages && !jobOrderIsNotExists && isShowBtnUpdate &&\r\n <>\r\n \r\n \r\n
    \r\n

    {i18n.t('JAE_PACKAGES_TITLE')}

    \r\n \r\n {packagesData ? (\r\n \r\n ) : (\r\n
    You don't have any propose
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {jae.requestedPackageId ? (\r\n \r\n ) : (\r\n
    {i18n.t('JAE_PLACEHOLDER_ADVERTISING')}
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {jae.requestedPackageId ? (\r\n \r\n \r\n
    \r\n
    \r\n
    {i18n.t('JAE_PAYMENT_TITLE')}
    \r\n
    \r\n {\r\n setComercialType(false);\r\n }}\r\n />\r\n {\r\n setComercialType(true);\r\n }}\r\n />\r\n
    \r\n
    \r\n {!comercialType && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {comercialType && (\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n ) : (\r\n
    {i18n.t('JAE_PLACEHOLDER_PAYMENTS')}
    \r\n )}\r\n
    \r\n \r\n }\r\n {jobOrders.length > 1 && (\r\n
    \r\n
    {i18n.t('JAE_ADVERTISE_JOB_DESCRIPTION_PREVIOUS_ORDERS_HEADLINE')}
    \r\n {renderPreviousOrders()}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { Icon } from 'antd';\r\nimport { Utils } from '../../Utils/Utils';\r\n\r\nexport const getAccessList = (accessList, title) => {\r\n return (\r\n
    \r\n

    {title}

    \r\n {accessList.map((x) => {\r\n return (\r\n

    \r\n \r\n {x}\r\n

    \r\n );\r\n })}\r\n
    \r\n );\r\n};\r\n\r\nexport const isOfirAdvertiserLogin = (): boolean => {\r\n const advertiserParam = Utils.getUrlParameterByKey('advertiser');\r\n\r\n if (advertiserParam === 'true') {\r\n return true;\r\n }\r\n\r\n return false;\r\n};\r\n","import React from \"react\"\r\nimport { Formik, Field as RField, FormikProps, useFormikContext} from \"formik\";\r\nimport CommonInput from '../_shared/Controls/CommonInput/CommonInput';\r\nimport * as Yup from \"yup\";\r\nimport { useDropzone } from \"react-dropzone\";\r\nimport * as uuidv4 from 'uuid/v4';\r\nimport { Select as RSelect, Form as AForm } from 'antd';\r\nimport i18n from \"../../../resources/i18n\";\r\n\r\nconst { Option, OptGroup } = RSelect;\r\n\r\ntype TForm = {onSubmit: (data: any) => void, initialValues?: object, validation?: any, children: React.ReactNode, id?: string, getState?: (e: any)=> void}\r\ntype TRenderField = {\r\n field: {name: string, value: string, onChange: () => void, onBlur: () => void}\r\n form: FormikProps\r\n meta: {\r\n error: string\r\n initialError: string\r\n initialTouched: boolean\r\n initialValue: string\r\n touched: boolean\r\n value: string\r\n };\r\n}\r\ntype TFieldProps = {placeholder?: string, title:string, name: string, children?: React.ReactNode, disabled?: boolean, type?: string}\r\ntype DesignProps = {style?: object, className?: string}\r\n \r\n\r\nexport function Form (props: TForm){\r\n const {onSubmit, initialValues = {}, validation, children, id, getState} = props\r\n return(\r\n {\r\n if (getState && e && e.values) {\r\n getState(e.values);\r\n }\r\n }}\r\n >\r\n {props => {\r\n const { handleSubmit, values } = props;\r\n return (\r\n
    \r\n {children}\r\n
    \r\n );\r\n }}\r\n \r\n)};\r\n\r\n\r\nexport namespace Form{\r\n export const Select = ({ \r\n placeholder, \r\n title, \r\n name, \r\n multiple, \r\n options, \r\n children, \r\n labelKey, \r\n className,\r\n valueKey }: TFieldProps & DesignProps & { multiple?: boolean; options?: any, valueKey?: string; labelKey?: string }) => {\r\n\r\n const filterOption = (input, option) => {\r\n\r\n console.log(\"option: \", option);\r\n\r\n return (option?.props.children ?? '').toLowerCase().includes(input.toLowerCase());\r\n };\r\n\r\n const renderOptions = () => {\r\n if (children) {\r\n return children;\r\n }\r\n return options.map((item: string | number, index: number) => {\r\n if (valueKey && labelKey) {\r\n return (\r\n \r\n );\r\n }\r\n return (\r\n \r\n );\r\n });\r\n };\r\n return( \r\n \r\n {({field, form}: TRenderField) => {\r\n const handleChange = (value: any) => form.setFieldValue(name, value);\r\n const handleBlur = () => form.setFieldTouched(name, true);\r\n return(\r\n <>\r\n \r\n triggerNode.parentNode}\r\n showSearch\r\n filterOption={filterOption}\r\n >\r\n {renderOptions()}\r\n \r\n \r\n )\r\n }}\r\n \r\n )}\r\n export const Text = (props:TFieldProps & DesignProps) => {\r\n return (\r\n \r\n {(form: TRenderField) => ()}\r\n \r\n );\r\n };\r\n export const File = (props:TFieldProps & DesignProps & {customOpen?: (e:Function) => void}) => {\r\n return (\r\n \r\n {(form: TRenderField) => ()}\r\n \r\n );\r\n };\r\n}\r\nconst UploadComponent = props => {\r\n const { form, children, customOpen } = props;\r\n const { getRootProps, getInputProps, isDragActive, open } = useDropzone({\r\n accept: \"image/*\",\r\n noClick: true,\r\n noKeyboard: true,\r\n onDrop: acceptedFiles => {\r\n form.setFieldValue(\"files\", acceptedFiles.map(file => Object.assign(file, {\r\n preview: URL.createObjectURL(file),\r\n id: uuidv4()\r\n })));\r\n },\r\n multiple: false\r\n });\r\n customOpen && customOpen(open)\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {children ? children : isDragActive ? (\r\n

    Drop the files here ...

    \r\n ) : (\r\n
    \r\n {i18n.t('TEMPLATE_EDIT_SLIDER_DROPZONE_TEXT')}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n };","import * as React from 'react';\r\nimport CommonButton from '../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport { getAccessList } from '../loginUtils';\r\nimport i18n from '../../../resources/i18n';\r\n\r\ninterface Props {\r\n onClick();\r\n}\r\n\r\nconst ForgotReciepe = ({ onClick }: Props) => {\r\n return (\r\n
    \r\n
    \r\n {getAccessList(\r\n [i18n.t('RESET_PASSWORD_CONFIRMED_TEXT_1'), i18n.t('RESET_PASSWORD_CONFIRMED_TEXT_2')],\r\n i18n.t('RESET_PASSWORD_CONFIRMED_HEADER')\r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\nexport default ForgotReciepe;\r\n","import * as React from 'react';\r\nimport * as logo from './assets/ofirlogo-std.png';\r\nimport ForgotReciepe from './components/ForgotReciepe';\r\nimport Forgot from './components/Forgot';\r\nimport LoginForm from './components/LoginForm';\r\nimport { Base64 } from 'js-base64';\r\nimport { isOfirAdvertiserLogin } from './loginUtils';\r\nimport i18n from '../../resources/i18n';\r\nimport { ROUTES } from '../../cms/common/routes';\r\nimport { Utils } from '../../Utils/Utils';\r\nimport history from \"../../cms/common/history\"\r\nimport './assets/Login.scss';\r\nimport validator from \"validator\"\r\nimport { ApiService } from \"../../services/apiService\"\r\nexport interface Site {\r\n id: string;\r\n name: string;\r\n host: string;\r\n company: any\r\n}\r\n\r\nenum Page {\r\n Login = 'login',\r\n Forgot = 'forgot',\r\n ForgotReciepe = 'forgotreciepe',\r\n}\r\n\r\nconst Login = React.memo( (props: any) => {\r\n const isOfirAdviertiser = isOfirAdvertiserLogin();\r\n const [siteCollection, setSiteCollection] = React.useState([]);\r\n const [showPage, setShowPage] = React.useState(Page.Login);\r\n const [isfetching, setIsfetching] = React.useState(false);\r\n const [errorMessage, setErrorMessage] = React.useState('');\r\n const [showTokenField, setShowTokenField] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n const loginErrorBox = document.querySelector('#login-error ul li');\r\n if (loginErrorBox) setErrorMessage(loginErrorBox.textContent);\r\n }, []);\r\n\r\n //Get cookie from storage for Recomendation OFIR\r\n React.useEffect(()=>{\r\n const storeCookie = JSON.parse(localStorage.getItem(\"recommendation\")) as any\r\n \r\n let host =\"\";\r\n const isLocal = window.location.hostname == \"localhost\"\r\n if (isLocal){\r\n host= \"testmatchworkcareersite\"\r\n } else {\r\n host = window.location.hostname.split(\".\")[1]\r\n }\r\n const _addres = window.location.hostname.split(\".\").pop()\r\n if (storeCookie && storeCookie.name){\r\n const cookRec = `Recommendation=${JSON.stringify({name: storeCookie?.name, packageId: storeCookie?.packageId}).toString()}; expires=0; domain=${isLocal ? \"localhost\" : `.${host}.${_addres}`}`;\r\n document.cookie = cookRec\r\n } \r\n }, [])\r\n\r\n let w = {} as any;\r\n\r\n try {\r\n w = window as any;\r\n } catch (error) { }\r\n\r\n const pref = w.PREF;\r\n const site_extention = w.SITE_EXTENTION;\r\n const baseAddress = w.BASE_ADDRESS;\r\n const site_advertiser_domain = w.SITE_ADVERTISER_DOMAIN;\r\n\r\n const siteName = w.location.hostname.split(\".\");\r\n const isAppSite = (siteName[0] === \"app\") || w.location.hostname.endsWith(\"ofir.dk\");\r\n i18n.changeLanguage(w[\"SITE_CULTURE_CODE\"])\r\n React.useEffect(() => {\r\n setShowPage(Page.Login);\r\n }, []);\r\n const mail = Base64.decode(Utils.getUrlParameterByKey('cid'));\r\n const pwd = Base64.decode(Utils.getUrlParameterByKey('pwd'));\r\n const auth = async () => {\r\n const formData = new FormData();\r\n formData.append('Email', mail);\r\n formData.append('Password', pwd);\r\n formData.append('__RequestVerificationToken', w.__RequestVerificationToken);\r\n const response = await fetch(`${pref}/Account/Login?advertiser=true&ReturnUrl=%2Fadmin%2Fjae`, {\r\n body: formData,\r\n method: 'POST',\r\n });\r\n setTimeout(()=>{\r\n const origin = w.location.origin\r\n w.open(`${origin}${pref}/admin/jae`, \"_self\")\r\n }, 500);\r\n }\r\n if (mail && pwd){\r\n auth();\r\n return
    \r\n \r\n Redirecting...!\r\n
    \r\n ;\r\n }\r\n const fetchSiteCollection = async (username: string, password: string, otpToken?: string) => {\r\n setIsfetching(true);\r\n const formData = new FormData();\r\n formData.append('Email', username);\r\n formData.append('Password', password);\r\n formData.append('OtpToken', otpToken);\r\n formData.append('__RequestVerificationToken', w.__RequestVerificationToken);\r\n const response = await fetch(`${pref}/account/GetSites`, {\r\n body: formData,\r\n method: 'POST',\r\n });\r\n const text = await response.text();\r\n setIsfetching(false);\r\n setErrorMessage(\"\");\r\n\r\n if (!response.ok || response.status == 202) {\r\n response.status == 202 ? setShowTokenField(true) : setErrorMessage(text);\r\n return;\r\n }\r\n console.log(\"sa\", !text);\r\n !text && login({ Email: username, Password: password, OtpToken: otpToken, superUser: true });\r\n const sites = JSON.parse(text) as Site[];\r\n for (const key in sites) {\r\n const site = sites[key];\r\n const companyForSite = await ApiService.getCompanyBySite(site.id);\r\n site[\"company\"] = { name: `${site?.name || \"Unknown\"} | ${companyForSite?.name || \"Unexisting\"}`, id: companyForSite?.id || \"Unexisting\" };\r\n }\r\n let hostNameAdvertiser = w.location.hostname;\r\n if (pref != '') {\r\n var prefixes = pref.split('/');\r\n hostNameAdvertiser = `${prefixes[2]}${site_extention}`;\r\n };\r\n if (!isAppSite) {\r\n const site: Site = sites.find(c => c.host == hostNameAdvertiser);\r\n\r\n if (site)\r\n handleSiteChange(hostNameAdvertiser, site, username, password);\r\n else\r\n login({ Email: username, Password: password, OtpToken: otpToken, superUser: true });\r\n\r\n return;\r\n }\r\n if (sites.length === 1) {\r\n\r\n handleSiteChange(hostNameAdvertiser, sites[0], username, password);\r\n }\r\n\r\n setSiteCollection(sites);\r\n setIsfetching(false);\r\n \r\n };\r\n const login = async (props: { Email: string, Password: string, OtpToken?: string, Site?: string, superUser?: boolean }) => {\r\n const { Email, Password, OtpToken, Site, superUser } = props;\r\n const totp = OtpToken != null ? OtpToken : \"\";\r\n if (Site) handleSiteChange(Site, siteCollection.find(c => c.host == Site), Email, Password);\r\n const route = window.location.pathname.toLocaleLowerCase();\r\n const hostDetect = w.location.hostname?.split(\".\");\r\n hostDetect.shift();\r\n const localHost = hostDetect?.join(\".\");\r\n const localCookie = isAppSite ? `UserFromAPP=1;domain=.${localHost}` : `UserFromAPP=0;domain=.${!!localHost ? localHost : \"testmatchworkcareersite.com\"}`;\r\n document.cookie = localCookie;\r\n if ((route === ROUTES.LOGIN || route === ROUTES.A_LOGIN || route === ROUTES.O_LOGIN) && (!superUser)) {\r\n await fetchSiteCollection(Email, Password, totp);\r\n } else {\r\n //setIsfetching(true);\r\n await fetchSiteCollection(Email, Password, totp);\r\n var formData = new FormData();\r\n const data = {\r\n __RequestVerificationToken: w.__RequestVerificationToken,\r\n Host: w.returnUrl,\r\n Email,\r\n Password,\r\n OtpToken: totp\r\n };\r\n for ( var key in data ) {\r\n formData.append(key, data[key]);\r\n }\r\n const rv = await fetch(`${pref}/Account/Login`, {\r\n method: \"POST\",\r\n body: formData\r\n });\r\n setIsfetching(false);\r\n if (rv.status == 202) {\r\n setShowTokenField(true);\r\n } else if (rv.ok) {\r\n if (!!w.returnUrl) {\r\n history.push(w.returnUrl);\r\n }\r\n else {\r\n history.push(`${pref}/admin`)\r\n }\r\n w.location.reload();\r\n } \r\n return;\r\n }\r\n };\r\n\r\n const handleForgotPassword = async (forgotPasswordEmail) => {\r\n\r\n setIsfetching(true);\r\n const formData = new FormData();\r\n formData.append('Email', forgotPasswordEmail);\r\n formData.append('__RequestVerificationToken', w.__RequestVerificationToken);\r\n if (isOfirAdviertiser) formData.append('Advertiser', JSON.stringify(isOfirAdviertiser));\r\n const response = await fetch(`${pref}/Account/Password/Forgot`, {\r\n body: formData,\r\n method: 'POST',\r\n });\r\n const sites = await response.text();\r\n setIsfetching(false);\r\n setShowPage(Page.ForgotReciepe);\r\n };\r\n \r\n const handleSiteChange = (url, site, username, password) => {\r\n setIsfetching(true);\r\n const port = location.port ? ':' + location.port : '';\r\n var _pref = \"\";\r\n if (isAppSite) {\r\n _pref = \"/site/\" + site.host.split('.')[0];\r\n } else {\r\n _pref = pref;\r\n }\r\n const _url = `${location.protocol}//${url}${port}${_pref}/Account/Redirect?siteid=${site.id}`\r\n //It's need for redirecting \r\n const form = document.getElementById('form') as HTMLFormElement;\r\n const token = document.createElement('INPUT') as HTMLInputElement;\r\n const host = document.createElement('INPUT') as HTMLInputElement;\r\n const usernameI = document.createElement('INPUT') as HTMLInputElement;\r\n const passwordI = document.createElement('INPUT') as HTMLInputElement;\r\n token.type = 'hidden';\r\n host.type = 'hidden';\r\n usernameI.type = 'hidden';\r\n passwordI.type = 'hidden';\r\n token.name = '__RequestVerificationToken';\r\n token.value = w.__RequestVerificationToken;\r\n form.appendChild(token);\r\n form.action = _url;\r\n host.id = 'Host';\r\n form.method = \"post\";\r\n host.name = 'Host';\r\n host.value = url;\r\n form.appendChild(host);\r\n usernameI.name = 'Email';\r\n usernameI.id = 'Email';\r\n usernameI.value = username;\r\n form.appendChild(usernameI);\r\n passwordI.name = 'Password';\r\n passwordI.id = 'Password';\r\n passwordI.value = password;\r\n form.appendChild(passwordI);\r\n form.submit()\r\n };\r\n\r\n const handleCreateAccount = () => {\r\n window.open(`${pref}/sitecreate?sitetype=advertiser`, '_self');\r\n };\r\n\r\n const handleLoginPageReturn = () => {\r\n console.log(history, \"login\")\r\n\r\n if (pref != '') {\r\n w.history.pushState({}, null, !isOfirAdviertiser ? site_advertiser_domain + pref + ROUTES.LOGIN : `${site_advertiser_domain}${pref}/login?advertiser=true`);\r\n }\r\n else {\r\n w.history.pushState({}, null, !isOfirAdviertiser ? pref + ROUTES.LOGIN : `${pref}/login?advertiser=true`);\r\n }\r\n setShowPage(Page.Login);\r\n };\r\n const onSiteChange = async (props: {Email: string, Password: string, Site: string}) => {\r\n if (props?.Site) {\r\n handleSiteChange((isAppSite ? w.location.hostname : props.Site), siteCollection.find(c => c.host == props.Site), props.Email, props.Password)\r\n }\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n {!isOfirAdviertiser &&

    {i18n.t('ACCOUNT_CARD_TITLE')}

    }\r\n
    \r\n \r\n
    \r\n {showPage == Page.Login && (\r\n <>\r\n {errorMessage &&
    {errorMessage}
    }\r\n setShowPage(Page.Forgot)}\r\n onSiteChange={onSiteChange}\r\n onLoginClick={login}\r\n disabled={isfetching}\r\n showTokenField={showTokenField}\r\n />\r\n \r\n )}\r\n {showPage == Page.ForgotReciepe && }\r\n {showPage == Page.Forgot && setShowPage(Page.Login)} />}\r\n
    \r\n
    \r\n );\r\n});\r\n\r\nexport default Login;\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { getAccessList, isOfirAdvertiserLogin } from '../loginUtils';\r\nimport CommonButton from '../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport { Site } from '../Login';\r\nimport i18n from '../../../resources/i18n';\r\nimport { Utils } from '../../../Utils/Utils';\r\nimport { SelectMenuOption } from '../../../cms/components/_shared/Controls/SelectMenu/SelectMenu';\r\nimport { Row, Col } from '../../../cms/components/_shared/Grid/Grid';\r\nimport { Form } from \"../../../cms/components/form\"\r\ninterface Props {\r\n siteCollection: Site[];\r\n disabled: boolean;\r\n onCreateAccountClick: () => void;\r\n onForgotClick: () => void;\r\n onSiteChange: (e:any) => void;\r\n onLoginClick: (data:any) => void;\r\n showTokenField: boolean;\r\n}\r\n\r\nconst LoginForm = ({ siteCollection, onCreateAccountClick, onForgotClick, onSiteChange, onLoginClick, disabled, showTokenField }: Props) => {\r\n const isOfirAdvertiser = isOfirAdvertiserLogin();\r\n const isOfirAdvertiserSite = Utils.isUserOfirAdvertiser();\r\n const headline = isOfirAdvertiser ? i18n.t('ACCOUNT_SIDEBAR_TITLE_ADVERTISER') : i18n.t('ACCOUNT_SIDEBAR_TITLE');\r\n const sitesListHeadline = isOfirAdvertiserSite ? i18n.t('ACCOUNT_LOGIN_MULTIPLE_SITES_OFIR_ADV') : i18n.t('ACCOUNT_LOGIN_MULTIPLE_SITES');\r\n const accessList = isOfirAdvertiser\r\n ? [\r\n i18n.t('ACCOUNT_SIDEBAR_ADVERTISER_OPTION_1'),\r\n i18n.t('ACCOUNT_SIDEBAR_ADVERTISER_OPTION_2'),\r\n i18n.t('ACCOUNT_SIDEBAR_ADVERTISER_OPTION_3'),\r\n i18n.t('ACCOUNT_SIDEBAR_ADVERTISER_OPTION_4'),\r\n ]\r\n : [i18n.t('ACCOUNT_SIDEBAR_OPTION_1'), i18n.t('ACCOUNT_SIDEBAR_OPTION_2'), i18n.t('ACCOUNT_SIDEBAR_OPTION_3'), i18n.t('ACCOUNT_SIDEBAR_OPTION_4')];\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {showTokenField ?\r\n : null}\r\n {!!siteCollection.length && (\r\n \r\n {siteCollection?.map((x) => (\r\n \r\n {x.company.name} \r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n {getAccessList(accessList, headline)}\r\n \r\n \r\n \r\n \r\n {isOfirAdvertiser && }\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default LoginForm;\r\n","import * as React from 'react';\r\nimport { getAccessList } from '../loginUtils';\r\nimport CommonButton from '../../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport { Row, Col } from '../../../cms/components/_shared/Grid/Grid';\r\nimport CommonInput from '../../../cms/components/_shared/Controls/CommonInput/CommonInput';\r\nimport i18n from '../../../resources/i18n';\r\nimport { Form } from \"../../../cms/components/form\"\r\ninterface Props {\r\n disabled: boolean;\r\n onCancelClick();\r\n onOkClick(forgotPasswordEmail: string);\r\n}\r\n\r\nconst Forgot = ({ disabled, onCancelClick, onOkClick }: Props) => {\r\n \r\n return (\r\n
    onOkClick(Email)}\r\n validation={null}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {getAccessList(\r\n [\r\n i18n.t('RESET_PASSWORD_TEXT_1'),\r\n i18n.t('RESET_PASSWORD_TEXT_2'),\r\n i18n.t('RESET_PASSWORD_TEXT_3'),\r\n i18n.t('RESET_PASSWORD_TEXT_4'),\r\n i18n.t('RESET_PASSWORD_TEXT_5'),\r\n ],\r\n i18n.t('RESET_PASSWORD_HEADER')\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Forgot;\r\n","import { createBrowserHistory, createMemoryHistory,History } from 'history';\r\nlet history: History;\r\nif (typeof document !== 'undefined') {\r\n history = createBrowserHistory();\r\n} else {\r\n history = createMemoryHistory();\r\n}\r\nexport default history;","import * as React from 'react';\r\nimport {isOfirAdvertiserLogin } from './loginUtils';\r\nimport CommonButton from '../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport i18n from '../../resources/i18n';\r\nimport { Row, Col } from '../../cms/components/_shared/Grid/Grid';\r\nimport Breadcrumbs from \"../../cms/components/_shared/BreadCrumbs/BreadCrumbs\"\r\nimport * as logo from './assets/ofirlogo-std.png';\r\nconst StepLogin = ({onLogin, onCreateAccountClick}: {onLogin:()=>void, onCreateAccountClick: ( )=> void}) => {\r\n const isOfirAdviertiser = isOfirAdvertiserLogin();\r\n const [steps, setStep] = React.useState([{name: i18n.t(\"BREADCRUMBS_LOGIN_AND_CREATE_ACCOUNT\"), url: \"#\"}, {name: i18n.t(\"BREADCRUMBS_JOB_AD_IMPRESSION\"), url: \"#\"}, {name: i18n.t(\"BREADCRUMBS_APPROVED\"), url: \"#\"}])\r\n const storage = JSON.parse(localStorage.getItem(\"recommendation\"))\r\n const w = window as any;\r\n const pref = w.PREF;\r\n return (\r\n
    \r\n
    \r\n {storage?.name && }\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {i18n.t(\"ACCOUNT_LOGIN_QUSTION_USER_EXIST\")}:\r\n
    \r\n window.open(`${pref}/login?advertiser=true`, '_self')}\r\n title={i18n.t('ACCOUNT_LOGIN_BUTTON_TITLE')}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {i18n.t(\"ACCOUNT_LOGIN_QUSTION_NEW_USER\")}:\r\n
    \r\n window.open(`${pref}/sitecreate?sitetype=advertiser`, '_self')} title={i18n.t('ACCOUNT_LOGIN_CREATE_ACCOUNT')} />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* {getAccessList(accessList, headline)} */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default StepLogin;\r\n","import Cookies from 'js-cookie';\r\nimport { actionCreator, Action, isType } from './Action';\r\nimport { ApiService } from '../services/apiService';\r\nimport { ChangePasswordViewModel, UpdateUserViewModel, CreateUserViewModel } from '../services/autorest/models';\r\nimport { Utils } from '../Utils/Utils';\r\nimport { updateLoadingState } from './LoadingStore';\r\nimport { hideModal } from './ModalStore';\r\nimport { showSuccessSnak, showErrorSnak } from './MetadataStore';\r\nimport i18n from '../resources/i18n';\r\nimport { UserListItem, UserRole } from '../cms/models/user/user';\r\nimport { ApplicationState } from '.';\r\n\r\nexport interface UserState {\r\n usersList: UserListItem[];\r\n loadedUser: UserListItem;\r\n userRoles: UserRole[];\r\n}\r\n\r\nconst defaultState: UserState = {\r\n usersList: [],\r\n userRoles: [],\r\n loadedUser: {\r\n firstName: '',\r\n lastName: '',\r\n hashedPassword: '',\r\n notes: '',\r\n phone: '',\r\n roles: [],\r\n userId: '',\r\n userName: '',\r\n is2FA: false,\r\n deliveryType2FA: ''\r\n }\r\n};\r\n\r\nconst actions = {\r\n updateUsersList: actionCreator<{ usersList: UserListItem[] }>('UPDATE_USERS'),\r\n updateLoadedUser: actionCreator<{ loadedUser: UserListItem }>('UPDATE_LOADED_USER'),\r\n updateUserRoles: actionCreator<{ userRoles: UserRole[] }>('UPDATE_USER_ROLES')\r\n};\r\n\r\nexport function reducer(state: UserState = defaultState, action: Action): UserState {\r\n if (isType(action, actions.updateUsersList)) {\r\n return {\r\n ...state,\r\n usersList: action.payload.usersList\r\n };\r\n } else if (isType(action, actions.updateLoadedUser)) {\r\n return {\r\n ...state,\r\n loadedUser: action.payload.loadedUser\r\n };\r\n } else if (isType(action, actions.updateUserRoles)) {\r\n return {\r\n ...state,\r\n userRoles: action.payload.userRoles\r\n };\r\n }\r\n\r\n return state;\r\n}\r\n\r\nexport function changeUserPassword(data: ChangePasswordViewModel) {\r\n return async (dispatch: Function) => {\r\n dispatch(updateLoadingState('changePassword', true));\r\n\r\n const userData = Utils.getLogedInUserData();\r\n const { userId } = userData;\r\n\r\n const result = await ApiService.changeUserPassword(data, userId);\r\n\r\n if (result === userId) {\r\n dispatch(showSuccessSnak(i18n.t('USERMANAGEMENT_LBL_PASSWORD_CHANGED_SUCCESS')));\r\n } else {\r\n dispatch(showErrorSnak(i18n.t(result)));\r\n }\r\n\r\n dispatch(hideModal());\r\n dispatch(updateLoadingState('changePassword', false));\r\n };\r\n}\r\n\r\nexport function logOut(pref: string) {\r\n return () => {\r\n const logOutForm = document.querySelector(`form[action=\"${pref}/Account/Logout\"]`) as HTMLFormElement;\r\n\r\n logOutForm.submit();\r\n\r\n Cookies.remove('user');\r\n Cookies.remove('access_token');\r\n };\r\n}\r\n\r\nexport function getUsers() {\r\n return async (dispatch: Function) => {\r\n const usersResult: any = await ApiService.getUsers();\r\n\r\n dispatch(actions.updateUsersList({ usersList: usersResult }));\r\n };\r\n}\r\n\r\nexport function getUserById(userId: string) {\r\n return async (dispatch: Function) => {\r\n const userData = await ApiService.getUserById(userId);\r\n const rolesData = await ApiService.getUserRoles();\r\n\r\n if (userData) {\r\n dispatch(actions.updateUserRoles({ userRoles: rolesData }));\r\n dispatch(actions.updateLoadedUser({ loadedUser: userData }));\r\n }\r\n };\r\n}\r\n\r\nexport function deleteUser(userId: string) {\r\n return async (dispatch: Function, getState: Function) => {\r\n const state: ApplicationState = getState();\r\n const userList: UserListItem[] = state.user.usersList;\r\n const result: any = await ApiService.deleteUser(userId);\r\n\r\n if (result === userId) {\r\n const updatedList = userList.filter((user) => {\r\n return user.userId !== userId;\r\n });\r\n\r\n dispatch(actions.updateUsersList({ usersList: updatedList }));\r\n }\r\n };\r\n}\r\n\r\nexport function getUserRoles() {\r\n return async (dispatch: Function) => {\r\n const rolesData = await ApiService.getUserRoles();\r\n\r\n dispatch(actions.updateUserRoles({ userRoles: rolesData }));\r\n };\r\n}\r\n\r\nexport function updateUser(userId: string, data: UpdateUserViewModel, pref: string) {\r\n return async (dispatch: Function) => {\r\n const result = await ApiService.updateUser(userId, data);\r\n\r\n if (result) {\r\n dispatch(showSuccessSnak(i18n.t('USERMANAGEMENT_LBL_POPUP_SUCCESS_SAVE_BODY')));\r\n\r\n setTimeout(() => {\r\n window.open(`${pref}/admin/users`, '_self');\r\n }, 2000);\r\n } else {\r\n dispatch(showErrorSnak(i18n.t('COMMON_MESSAGE_ERROR')));\r\n }\r\n };\r\n}\r\n\r\nexport function createUser(data: CreateUserViewModel & { userId: string }, userExist?: boolean, pref?: string) {\r\n return async (dispatch: Function) => {\r\n const result = await ApiService.createUser(data);\r\n\r\n if (result) {\r\n !userExist && dispatch(showSuccessSnak(i18n.t('USERMANAGEMENT_LBL_POPUP_SUCCESS_SAVE_BODY')));\r\n userExist && window.open(`${pref}/Admin/Users/Edit/${data.userId}`, \"_self\")\r\n setTimeout(() => {\r\n window.open(`${pref}/admin/users`, '_self');\r\n }, 2000);\r\n } else {\r\n dispatch(showErrorSnak(i18n.t('COMMON_MESSAGE_ERROR')));\r\n }\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Row, Col, Modal } from 'antd';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTrashAlt, faEdit, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport BranderoTable, { BranderoTableItem } from '../../cms/components/_shared/BranderoTable/BranderoTable';\r\nimport CommonButton from '../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport i18n from '../../resources/i18n';\r\nimport { ApplicationState } from '../../store';\r\nimport { getUsers, UserState, deleteUser } from '../../store/UserStore';\r\nimport { UserListItem } from '../../cms/models/user/user';\r\nimport {Utils} from \"../../Utils/Utils\"\r\nimport './assets/Users.scss';\r\n\r\nconst { confirm } = Modal;\r\n\r\nexport default function Users() {\r\n const userState = useSelector((s) => s.user);\r\n const dispatch = useDispatch();\r\n const usersList = userState.usersList;\r\n const w = window as any;\r\n const pref = w.PREF;\r\n\r\n React.useEffect(() => {\r\n dispatch(getUsers());\r\n }, []);\r\n const logedUser = Utils.getLogedInUserEmail()\r\n const getTableRowsData = () => {\r\n return usersList.map((user: UserListItem) => {\r\n const handleUserDelete = () => {\r\n confirm({\r\n content: i18n.t('USERMANAGEMENT_USERS_POPUP_DELETE_BODY'),\r\n okText: i18n.t('POPUP_BUTTON_OK'),\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n onOk() {\r\n dispatch(deleteUser(user.userId));\r\n }\r\n });\r\n };\r\n\r\n return {\r\n dataItems: [\r\n { text: user.firstName },\r\n { text: user.lastName },\r\n { text: user.userName },\r\n { text: user.phone },\r\n {\r\n htmlElement: (\r\n
    \r\n \r\n }\r\n size=\"icon\"\r\n disabled={logedUser === user.userName}\r\n color=\"#e9573f\"\r\n onClick={handleUserDelete}\r\n toolTip={i18n.t('USERMANAGEMENT_USER_DELETE_TITLE')}\r\n />\r\n
    \r\n )\r\n }\r\n ]\r\n };\r\n });\r\n };\r\n\r\n const getTableItems = (): BranderoTableItem => {\r\n return {\r\n headers: [\r\n {\r\n columnName: 'firstName',\r\n headerTextResourceName: 'USERMANAGEMENT_USERS_LIST_HEADER_FIRSTNAME',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'lastName',\r\n headerTextResourceName: 'USERMANAGEMENT_USERS_LIST_HEADER_SURNAME',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'email',\r\n headerTextResourceName: 'USERMANAGEMENT_USERS_LIST_HEADER_EMAIL',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'phone',\r\n headerTextResourceName: 'USERMANAGEMENT_USERS_LIST_HEADER_PHONE',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'actions',\r\n headerTextResourceName: 'USERMANAGEMENT_USERS_LIST_HEADER_ACTION',\r\n disableSort: true\r\n }\r\n ],\r\n rows: getTableRowsData()\r\n };\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    {i18n.t('USERMANAGEMENT_USERS_TITLE')}
    \r\n }\r\n href={pref + \"/admin/users/create\"}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","export const userEditValidationRules = {\r\n firstName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n lastName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n roles: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { UserRole } from '../../../../cms/models/user/user';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport CommonCard from '../../_shared/CommonCard/CommonCard';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { ApplicationState } from '../../../../store';\r\nimport { UserState } from '../../../../store/UserStore';\r\nimport SelectMenu from '../../_shared/Controls/SelectMenu/SelectMenu';\r\nimport { UpdateUserViewModel } from '../../../../services/autorest/models';\r\nimport ValidateObject from '../../../../Utils/Validation/Validation';\r\nimport { userEditValidationRules } from './validationDescription';\r\n\r\nimport './assets/UserEditForm.scss';\r\nimport ControlLabel from '../../_shared/Controls/ControlLabel/ControlLabel';\r\nimport { Checkbox } from 'antd';\r\n\r\nexport default function UserEditForm({ onSubmit }: { onSubmit(data: UpdateUserViewModel): void }) {\r\n const dispatch = useDispatch();\r\n const userState = useSelector((s) => s.user);\r\n const { loadedUser, userRoles } = userState;\r\n const errors: { [key: string]: any } = {};\r\n const initialValue: UpdateUserViewModel = {\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n roles: [],\r\n notes: '',\r\n is2FA: false,\r\n deliveryType2FA: ''\r\n };\r\n\r\n const [validationObject, setValidationObject] = React.useState(errors);\r\n const [userData, setUserData] = React.useState(initialValue);\r\n\r\n React.useEffect(() => {\r\n if (loadedUser) {\r\n const roles = loadedUser.roles.map((role: UserRole) => {\r\n return role.roleId;\r\n });\r\n // Remove roles which don't exist in roles list\r\n const filteredRoles = roles.filter((item) => {\r\n return userRoles.find((role: UserRole) => {\r\n return role.roleId === item;\r\n });\r\n });\r\n\r\n const userEditData: UpdateUserViewModel = {\r\n firstName: loadedUser.firstName,\r\n lastName: loadedUser.lastName,\r\n phoneNumber: loadedUser.phone,\r\n notes: loadedUser.notes,\r\n is2FA: loadedUser.is2FA,\r\n deliveryType2FA: loadedUser.deliveryType2FA,\r\n roles: filteredRoles\r\n };\r\n\r\n setUserData(userEditData);\r\n }\r\n }, [loadedUser]);\r\n\r\n const handleFieldChange = (e: any) => {\r\n const name = e.target.name;\r\n\r\n if (name === \"is2FA\")\r\n setUserData({ ...userData, [name]: e.target.checked, ['deliveryType2FA']: 'email' });\r\n else\r\n setUserData({ ...userData, [name]: e.target.value });\r\n };\r\n\r\n const handleRoleChange = (rolesId: string[]) => {\r\n setUserData({\r\n ...userData,\r\n roles: rolesId\r\n });\r\n };\r\n\r\n const handleSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n const errorsObj = await ValidateObject(userData, userEditValidationRules);\r\n\r\n if (!errorsObj.hasError) {\r\n onSubmit(userData);\r\n }\r\n\r\n setValidationObject(errorsObj);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n {i18n.t('ENABLE_TWO_FACTOR_AUTHENTICATION_LABEL')}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { emailRegex } from '../../../../Utils/Validation/ValidationRules';\r\n\r\nexport const firstStepRules = {\r\n userName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n regex: { pattern: emailRegex, resource: 'EMAIL_NOT_VALID' }\r\n },\r\n};\r\n\r\nexport const secondStepRules = {\r\n firstName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n lastName: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n },\r\n password: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n },\r\n same: {\r\n target: 'passwordRepeat',\r\n resource: 'USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD_ERROR_TEXT',\r\n validation: 6\r\n }\r\n },\r\n passwordRepeat: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n },\r\n same: {\r\n target: 'password',\r\n resource: 'USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD_ERROR_TEXT',\r\n validation: 6\r\n }\r\n }\r\n};\r\n\r\nexport const thirdStepRules = {\r\n roles: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED'\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Tabs, { TabPane } from '../../_shared/Tabs/Tabs';\r\nimport i18n from '../../../../resources/i18n';\r\nimport { CreateUserViewModel } from '../../../../services/autorest/models';\r\nimport CommonInput from '../../_shared/Controls/CommonInput/CommonInput';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport SelectMenu from '../../_shared/Controls/SelectMenu/SelectMenu';\r\nimport { getUserRoles, UserState } from '../../../../store/UserStore';\r\nimport { ApplicationState } from '../../../../store';\r\nimport { firstStepRules, secondStepRules, thirdStepRules } from './validationDescription';\r\nimport ValidateObject from '../../../../Utils/Validation/Validation';\r\nimport { CreateUserViewModelExtended } from '../../../models/user/user';\r\nimport {ApiService} from \"../../../../services/apiService\"\r\nimport './assets/UserCreateForm.scss';\r\nimport { showConfirmModal } from '../../../../cms/components/_shared/CommonModal/CommonModalUtils';\r\nimport {Utils} from \"../../../../Utils/Utils\"\r\nimport { Checkbox } from 'antd';\r\nimport ControlLabel from '../../_shared/Controls/ControlLabel/ControlLabel';\r\n\r\nexport default function UserCreateForm({ onSubmit }: { onSubmit(data: CreateUserViewModel, userExist?: boolean): void }) {\r\n const dispatch = useDispatch();\r\n const userState = useSelector((s) => s.user);\r\n const { userRoles } = userState;\r\n const errors: { [key: string]: any } = {};\r\n const initialFormData: CreateUserViewModelExtended = {\r\n userName: '',\r\n password: '',\r\n passwordRepeat: '',\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n notes: '',\r\n roles: [],\r\n is2FA: false,\r\n deliveryType2FA: ''\r\n };\r\n\r\n const [validationObject, setValidationObject] = React.useState(errors);\r\n const [formData, setFormData] = React.useState(initialFormData);\r\n const [activeTabKey, setActiveTabKey] = React.useState(1);\r\n const isAdvertiser = Utils.isUserOfirAdvertiser();\r\n React.useEffect(() => {\r\n dispatch(getUserRoles());\r\n }, []);\r\n\r\n const handleFieldChange = (e: any) => {\r\n const name = e.target.name;\r\n\r\n if (name === \"is2FA\")\r\n setFormData({ ...formData, [name]: e.target.checked, ['deliveryType2FA']: 'email' });\r\n else\r\n setFormData({ ...formData, [name]: e.target.value });\r\n };\r\n\r\n const handleFieldFocus = (e: any) => {\r\n setValidationObject({\r\n ...validationObject,\r\n [e.target.name]: null\r\n });\r\n };\r\n\r\n const handleRoleChange = (rolesId: string[]) => {\r\n setFormData({\r\n ...formData,\r\n roles: rolesId\r\n });\r\n\r\n setValidationObject({\r\n ...validationObject,\r\n roles: null\r\n });\r\n };\r\n const checUser = async (email: string = \"\") => {\r\n const rv = await ApiService.getUserByName(email.trim());\r\n return {...rv, roles: [userRoles[0].roleId], password: \"000000\", phoneNumber: rv?.phone} as CreateUserViewModel & {userId: string}\r\n } \r\n\r\n const handleTabChange = async (tabKey: number) => {\r\n if (tabKey > activeTabKey) {\r\n switch (activeTabKey) {\r\n case 1: {\r\n const errorsObj = await ValidateObject(formData, firstStepRules); \r\n const validateEmailServer = await checUser(formData.userName)\r\n \r\n if (errorsObj.hasError) {\r\n setValidationObject(errorsObj);\r\n return;\r\n }\r\n if (validateEmailServer?.userName) {\r\n return showConfirmModal({\r\n title: isAdvertiser ? i18n.t(\"CREATE_USER_ADVERTISER_VALIDATION_POPUP_TITLE\") : i18n.t(\"CREATE_USER_VALIDATION_POPUP_TITLE\"),\r\n content: isAdvertiser ? i18n.t(\"CREATE_USER_ADVERTISER_VALIDATION_POPUP_CONTENT\") : i18n.t(\"CREATE_USER_VALIDATION_POPUP_CONTENT\"),\r\n width: 650,\r\n cancelText: i18n.t('POPUP_BUTTON_CANCEL'),\r\n onOk: () => {\r\n onSubmit(validateEmailServer, true)\r\n }\r\n });\r\n }\r\n setActiveTabKey(tabKey); \r\n break;\r\n }\r\n case 2: {\r\n const errorsObj = await ValidateObject(formData, secondStepRules);\r\n\r\n if (!errorsObj.hasError) {\r\n setActiveTabKey(tabKey);\r\n }\r\n\r\n setValidationObject(errorsObj);\r\n break;\r\n }\r\n default: {\r\n }\r\n }\r\n } else {\r\n setActiveTabKey(tabKey);\r\n }\r\n };\r\n\r\n const handlePrev = () => {\r\n // tslint:disable-next-line: no-floating-promises\r\n handleTabChange(activeTabKey - 1);\r\n };\r\n\r\n const handleNext = () => {\r\n // tslint:disable-next-line: no-floating-promises\r\n handleTabChange(activeTabKey + 1);\r\n };\r\n\r\n const handleSubmit = async (e: any) => {\r\n const commonValidationRules = {\r\n ...firstStepRules,\r\n ...secondStepRules,\r\n ...thirdStepRules\r\n };\r\n const errorsObj = await ValidateObject(formData, commonValidationRules);\r\n \r\n if (!errorsObj.hasError) {\r\n const { passwordRepeat, ...userData } = formData;\r\n\r\n onSubmit(userData);\r\n }\r\n\r\n setValidationObject(errorsObj);\r\n e.preventDefault();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {i18n.t('USERMANAGEMENT_LBL_PASSWORD_SECURITY_REQUIREMENTS')}
    \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n {i18n.t('ENABLE_TWO_FACTOR_AUTHENTICATION_LABEL')}\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n \r\n \r\n
    {i18n.t('USERMANAGEMENT_USER_ROLES_NOTICE')}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {activeTabKey !== 3 && }\r\n {activeTabKey === 3 && }\r\n
    \r\n
    \r\n );\r\n}\r\n","\r\nimport React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport {Utils} from \"../../Utils/Utils\"\r\nimport history from \"./history\"\r\n\r\n\r\nconst PrivateRoute = ({render: Component, ...rest}) => {\r\n const isUser = Utils.getAuthToken()\r\n React.useEffect(()=>{\r\n if(!isUser){\r\n history.push(\"/admin\")\r\n window.location.reload()\r\n }\r\n }, [])\r\n return (\r\n (\r\n isUser ?\r\n \r\n : \r\n )} />\r\n );\r\n};\r\nexport default PrivateRoute;","import * as React from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport { Switch } from 'react-router';\r\nimport Media from 'react-media';\r\nimport Home from './Components/Home';\r\nimport Edit from './Components/Edit';\r\nimport Dashboard from './Pages/Dashboard/Dashboard';\r\nimport JobsList from './Pages/JobsList/JobsList';\r\nimport CompanyEdit from './Pages/CompanyEdit/CompanyEdit';\r\nimport SiteEdit from './Pages/Site/Edit/Edit';\r\nimport SiteDesignEdit from './Pages/Site/Design/Design';\r\nimport SiteCreate from './Pages/Site/Create/Create';\r\nimport Recommendation from './Pages/Recommendation/Recommendation';\r\nimport Statistic from './Pages/Statistic/Statistic';\r\nimport ADStatistic from './Pages/Statistic/pdf/Report';\r\nimport CandidateList from './cms/containers/CandidateList/CandidateList';\r\nimport CandidateMobileList from './cms/containers/CandidateList/CandidateMobileList';\r\nimport Jae from './Pages/Jae/Jae';\r\nimport JobOrder from './Pages/JobOrder/JobOrder';\r\nimport Login from './Pages/Login/Login';\r\nimport StepLogin from './Pages/Login/StepLogin';\r\nimport Users from './Pages/Users/Users';\r\nimport UserEdit from './Pages/Users/UserEdit';\r\nimport UserCreate from './Pages/Users/UserCreate';\r\nimport { ROUTES } from './cms/common/routes';\r\nimport PrivateRoute from './cms/common/privaterouter';\r\nimport history from \"./cms/common/history\"\r\n// TODO: Change styles import location\r\nimport '../node_modules/antd/dist/antd.less';\r\nimport './styles/general.scss';\r\n\r\n\r\nexport const browserRoutes = (\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n);\r\n\r\nconst Candidate = (props) => (\r\n {(matches) => (matches ? : )}\r\n);\r\n\r\nexport const hashRoutes = (\r\n \r\n \r\n \r\n \r\n);\r\n\r\n// Enable Hot Module Replacement (HMR)\r\nif (module.hot) {\r\n module.hot.accept();\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Media from 'react-media';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faClock, faCalendarAlt, faFileSignature, faUser, faPlus } from '@fortawesome/free-solid-svg-icons';\r\nimport BranderoTable, { BranderoTableItem } from '../../cms/components/_shared/BranderoTable/BranderoTable';\r\nimport { Row, Col } from '../../cms/components/_shared/Grid/Grid';\r\nimport Badge from '../../cms/components/_shared/Badge/Badge';\r\nimport JobCard from '../../cms/components/_shared/JobCard/JobCard';\r\nimport { loadActiveJobs, JobState } from '../../store/JobStore';\r\nimport Base64 from '../../Utils/ts-base64';\r\nimport i18n from '../../resources/i18n';\r\nimport { Utils } from '../../Utils/Utils';\r\nimport { ApplicationState } from '../../store';\r\nimport { IJob } from '../../store/JobsListStore';\r\nimport CommonButton from '../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\n\r\nimport './assets/Dashboard.scss';\r\n\r\nexport default function Dashboard() {\r\n const jobsState = useSelector((s) => s.job);\r\n const dispatch = useDispatch();\r\n const activeJobs: IJob[] = jobsState.activeJobs;\r\n const userFullName = Utils.getLogedInUserFullName();\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const w = window as any;\r\n const pref = w.PREF;\r\n let pageTitle = i18n\r\n .t('DASHBOARD_INFO_TEXT_1')\r\n .replace('{0}', userFullName)\r\n .replace('{1}', '');\r\n const contactsTextRes = isOfirAdvertiser ? 'DASHBOARD_INFO_CONTACTS_OFIR_ADV' : 'DASHBOARD_INFO_CONTACTS';\r\n\r\n React.useEffect(() => {\r\n dispatch(loadActiveJobs());\r\n }, []);\r\n\r\n if (isOfirAdvertiser) {\r\n pageTitle = i18n.t('OFIR_ADVERTISER_DASHBOARD_TITLE').replace('{0}', userFullName);\r\n } else {\r\n pageTitle = i18n\r\n .t('DASHBOARD_INFO_TEXT_1')\r\n .replace('{0}', userFullName)\r\n .replace('{1}', '');\r\n }\r\n\r\n const getTableRowsData = () => {\r\n return activeJobs.map((job: IJob) => {\r\n const handleButtonClick = () => {\r\n window.location.href =\r\n job.applicationMethod.indexOf(4) > -1\r\n ? `${pref}/admin/candidatelist#/admin/candidatelist/${job.id}/${Base64.encodeWithUrlEncode(job.title)}`\r\n : 'javascript:void(0)';\r\n };\r\n\r\n const rowItems = [\r\n { htmlElement: {job.title} },\r\n {\r\n tdClassName: 'shrink',\r\n text: job.activationDate.indexOf('1970') == -1 ? Utils.dateStringFormatDefaultLanguage(job.activationDate) : ''\r\n },\r\n { tdClassName: 'shrink', text: job.expiryDate.indexOf('1970') == -1 ? Utils.dateStringFormatDefaultLanguage(job.expiryDate) : '' }\r\n ];\r\n\r\n if (!isOfirAdvertiser) {\r\n rowItems.push({\r\n htmlElement: (\r\n
    \r\n \r\n }\r\n disabled={job.applicationMethod.indexOf(4) === -1}\r\n onClick={handleButtonClick}\r\n />\r\n \r\n
    \r\n )\r\n });\r\n }\r\n\r\n return {\r\n dataItems: rowItems\r\n };\r\n });\r\n };\r\n\r\n const renderJobsTable = () => {\r\n const tableItems: BranderoTableItem = {\r\n headers: [\r\n {\r\n columnName: 'title',\r\n headerFontAwsome: faFileSignature,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_JOB_TITLE',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'activationDate',\r\n headerFontAwsome: faCalendarAlt,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_ACTIVATION',\r\n disableSort: true\r\n },\r\n {\r\n columnName: 'expiryDate',\r\n headerFontAwsome: faClock,\r\n headerTextResourceName: 'JOBS_LIST_HEADLINE_EXPIRATION',\r\n disableSort: true\r\n }\r\n ],\r\n rows: getTableRowsData()\r\n };\r\n\r\n return ;\r\n };\r\n\r\n const renderJobsCards = () => {\r\n return activeJobs.map((job: IJob, index: number) => {\r\n return ;\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    {pageTitle}

    \r\n

    {i18n.t('DASHBOARD_INFO_TEXT_2')}

    \r\n

    \r\n

    \r\n }\r\n onClick={() => (window.location.href = `${pref}/admin/jae`)}\r\n title={i18n.t('DASHBOARD_BUTTON_ADD')}\r\n />\r\n }\r\n onClick={() => (window.location.href = `${pref}/admin/jobslist`)}\r\n title={i18n.t('DASHBOARD_BUTTON_LIST')}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n

    {i18n.t('DASHBOARD_ACTIVE_JOBS_TITLE')}

    \r\n \r\n <>{renderJobsCards()}\r\n \r\n {renderJobsTable()}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport CompanyEditForm from '../../cms//components/companyEdit/CompanyEditForm/CompanyEditForm';\r\nimport CompanyEditLoader from '../../cms//components/companyEdit/CompanyEditLoader/CompanyEditLoader';\r\nimport { CompanyData } from '../../cms/models/companyData';\r\nimport { updateCompanyData, CompanyDataState, getCompanyData } from '../../store/CompanyDataStore';\r\nimport { ApplicationState } from '../../store';\r\nimport i18n from '../../resources/i18n';\r\nimport { LoadingState } from 'src/store/LoadingStore';\r\nimport { SiteDataState, actionCreators } from '../../store/SiteDataStore';\r\nimport { Utils } from '../../Utils/Utils';\r\n\r\nimport './assets/CompanyEdit.scss';\r\n\r\nexport default function CompanyEdit() {\r\n const dispatch = useDispatch();\r\n const companyState = useSelector((state) => state.companyData);\r\n const siteState = useSelector((state) => state.siteData);\r\n const loadingState = useSelector((state) => state.loading);\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const { companyData } = companyState;\r\n const { companyLoading, companySaving } = loadingState;\r\n const loaderText = companySaving ? i18n.t('COMPANYMANAGEMENT_SAVING_TEXT') : i18n.t('COMPANYMANAGEMENT_INIT_TEXT');\r\n\r\n React.useEffect(() => {\r\n dispatch(getCompanyData());\r\n dispatch(actionCreators.fetchSiteData());\r\n }, []);\r\n const handleSubmit = (data: CompanyData, logoFile: any) => {\r\n dispatch(updateCompanyData(data));\r\n if (isOfirAdvertiser) {\r\n dispatch(actionCreators.saveSiteData(siteState.siteData, true, logoFile, true));\r\n }\r\n };\r\n\r\n const countries = (window as any).COUNTRIES;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {i18n.t('COMPANYMANAGEMENT_TITLE')}

    \r\n
    \r\n \r\n {companyData && }\r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Col, Row } from 'antd';\r\nimport UserEditForm from '../../cms/components/users/UserEditForm/UserEditForm';\r\nimport i18n from '../../resources/i18n';\r\nimport { Utils } from '../../Utils/Utils';\r\nimport { getUserById, updateUser } from '../../store/UserStore';\r\nimport { UpdateUserViewModel } from '../../services/autorest/models';\r\n\r\n// Styles added in Users.tsx\r\n\r\nexport default function UserEdit() {\r\n const w = window as any;\r\n const dispatch = useDispatch();\r\n const pref = w.PREF;\r\n\r\n React.useEffect(() => {\r\n const userId: string = Utils.getLastUrlItem(w.location.pathname);\r\n\r\n dispatch(getUserById(userId));\r\n }, []);\r\n\r\n const handleUserSave = (data: UpdateUserViewModel) => {\r\n const userId: string = Utils.getLastUrlItem(w.location.pathname);\r\n\r\n dispatch(updateUser(userId, data, pref));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    {i18n.t('USERMANAGEMENT_USERPROFILE_TITLE')}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Col, Row } from 'antd';\r\nimport UserCreateForm from '../../cms/components/users/UserCreateForm/UserCreateForm';\r\nimport i18n from '../../resources/i18n';\r\nimport { CreateUserViewModel } from '../../services/autorest/models';\r\nimport { createUser } from '../../store/UserStore';\r\n\r\n// Styles added in Users.tsx\r\n\r\nexport default function UserCreate() {\r\n const w = window as any;\r\n const dispatch = useDispatch();\r\n const pref = w.PREF;\r\n\r\n const handleUserCreate = (data: CreateUserViewModel & {userId:string}, userExist?: boolean) => {\r\n dispatch(createUser(data, userExist, pref));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    {i18n.t('USERMANAGEMENT_USER_CREATE_TITLE1')}
    \r\n
    {i18n.t('USERMANAGEMENT_USER_CREATE_TITLE3')}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport CommonInput from '../../cms/components/_shared/Controls/CommonInput/CommonInput';\r\nimport i18n from '../../resources/i18n';\r\nimport { Col, Row } from 'antd';\r\nimport CommonButton from '../../cms/components/_shared/Controls/CommonButton/CommonButton';\r\nimport Loader from \"../../cms/components/_shared/Loader/Loader\"\r\nimport \"./assets/Recommendation.scss\"\r\nimport { ApiService } from '../../services/apiService';\r\nimport { Utils, TPackage } from '../..//Utils/Utils';\r\n\r\nexport default function Recommendation() { \r\n const [packages, setPackages] = React.useState([] as TPackage[]);\r\n const [recommendationName, setRecommendationName] = React.useState(\"\");\r\n const [loading, setLoading] = React.useState(false);\r\n const getData = async ()=> {\r\n setLoading(true)\r\n const response = await ApiService.getPackagesRecomendationByName(recommendationName)\r\n setLoading(false)\r\n const rv = Utils.normalizeRecommendation(response)\r\n setPackages(rv);\r\n }\r\n const packagesTypes = packages[packages.length - 1]?.productsData\r\n const saveData = (packageId: string) => {\r\n localStorage.setItem(\"recommendation\", JSON.stringify({name: recommendationName, packageId}))\r\n window.open(\"steplogin\", \"_blank\")\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n setRecommendationName(e.target.value)}\r\n />\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n !packages.length \r\n ? (<>\r\n \r\n ) \r\n : (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {i18n.t(\"RECOMMENDATION_VARIANT_TXT\")}

    \r\n
    \r\n
    \r\n {packages.map((c, i)=>( \r\n
    \r\n {
    {c.recommendText}
    }\r\n
    \r\n

    {c.name}

    \r\n {c.description}\r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {packagesTypes?.map((j, index) => (\r\n
    \r\n \"\"\r\n \r\n
    \r\n ))}\r\n
    \r\n {packages.map((c, index)=>{ \r\n return (\r\n
    \r\n {packagesTypes.map((m, i)=> {\r\n return c.productsData.find(p => p.name == m.name) \r\n ? (
    \r\n
    \r\n \r\n
    \r\n
    ) \r\n : (
    )\r\n })}\r\n
    \r\n )})}\r\n
    \r\n
    \r\n
    \r\n {packages.map((c, i)=>( \r\n
    \r\n

    {c.price} {c.currency}

    \r\n
    \r\n saveData(c.id)}/>\r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n
    \r\n );\r\n}\r\n","import { fetch, addTask } from 'domain-task';\r\nimport { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { JobAdModel } from 'src/services/autorest/models';\r\n\r\n// -----------------\r\n// STATE - This defines the type of data maintained in the Redux store.\r\nexport interface JobAdState {\r\n jobAds: JobAdModel[];\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n\r\ninterface ReceiveJobAdDataAction {\r\n type: 'RECEIVE_JOBAD_DATA';\r\n jobAds: JobAdModel[];\r\n}\r\n\r\n\r\n// Declare a 'discriminated union' type. This guarantees that all references to 'type' properties contain one of the\r\n// declared type strings (and not any other arbitrary string).\r\n//TODO: HACK\r\ntype KnownAction = ReceiveJobAdDataAction | any;\r\n\r\n// ----------------\r\n// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition.\r\n// They don't directly mutate state, but they can have external side-effects (such as loading data).\r\nexport const actionCreators = {\r\n setJobads: (jobAds: JobAdModel[]): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'RECEIVE_JOBAD_DATA', jobAds: jobAds });\r\n }\r\n};\r\n\r\n// ----------------\r\n// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state.\r\n\r\nconst unloadedState: JobAdState = { jobAds: null };\r\n\r\nexport const reducer: Reducer = (state: JobAdState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'RECEIVE_JOBAD_DATA':\r\n return {\r\n jobAds: action.jobAds\r\n };\r\n default:\r\n // The following line guarantees that every action in the KnownAction union has been covered by a case above\r\n //TODO: HACKS\r\n //const exhaustiveCheck: never = action;\r\n }\r\n return state || unloadedState;\r\n}","import { Action, Reducer, ActionCreator } from 'redux';\r\nimport { AppThunkAction } from './';\r\nimport { ApiService } from '../services/apiService';\r\n\r\n// -----------------\r\n// STATE - This defines the type of data maintained in the Redux store.\r\n\r\nexport interface LocalizationState {\r\n texts: { [key: string]: string };\r\n}\r\n\r\n// -----------------\r\n// ACTIONS - These are serializable (hence replayable) descriptions of state transitions.\r\n// They do not themselves have any side-effects; they just describe something that is going to happen.\r\n\r\ninterface SetLocalizationAction {\r\n type: 'SET_LOCALIZATION';\r\n texts: { [key: string]: string }\r\n}\r\n\r\n// Declare a 'discriminated union' type. This guarantees that all references to 'type' properties contain one of the\r\n// declared type strings (and not any other arbitrary string).\r\ntype KnownAction = SetLocalizationAction | any;\r\n\r\n// ----------------\r\n// ACTION CREATORS - These are functions exposed to UI components that will trigger a state transition.\r\n// They don't directly mutate state, but they can have external side-effects (such as loading data).\r\nexport const actionCreators = {\r\n SetLocalization: (texts: { [key: string]: string }): AppThunkAction => (dispatch, getState) => {\r\n dispatch({ type: 'SET_LOCALIZATION', texts: { ...texts } });\r\n }\r\n};\r\n\r\n// ----------------\r\n// REDUCER - For a given state and action, returns the new state. To support time travel, this must not mutate the old state.\r\n\r\nconst unloadedState: LocalizationState = { texts: {} };\r\n\r\nexport const reducer: Reducer = (state: LocalizationState, action: KnownAction) => {\r\n switch (action.type) {\r\n case 'SET_LOCALIZATION':\r\n return {\r\n texts: action.texts\r\n }\r\n default:\r\n // The following line guarantees that every action in the KnownAction union has been covered by a case above\r\n //TODO: HACK:\r\n //const exhaustiveCheck: never = action;\r\n }\r\n\r\n return state || unloadedState;\r\n}\r\n\r\nexport const changeLanguage = (langCode: string, pref: string) => {\r\n return async () => {\r\n await ApiService.changeLanguage(langCode, pref);\r\n\r\n window.location.reload();\r\n };\r\n};\r\n","import * as RootItem from './RootItem';\r\nimport * as CompanyDataStore from './CompanyDataStore';\r\nimport * as PageItemStore from './PageItemStore';\r\nimport * as PageItemInfoStore from './PageItemInfoStore';\r\nimport * as HtmlItemsStore from './HtmlItemStore';\r\nimport * as PropertyItemsStore from './PropertyItemStore';\r\nimport * as JobsListStore from './JobsListStore';\r\nimport * as JobAdStore from './JobAdStore';\r\nimport * as Localization from './LocalizationStore';\r\nimport * as SiteDataStore from './SiteDataStore';\r\nimport * as CandidateListStore from './CandidateListStore';\r\nimport * as CandidateDetailsStore from './CandidateDetailsStore';\r\nimport * as MetadataStore from './MetadataStore';\r\nimport * as UnsolicitedStore from './UnsolicitedApplicationStore';\r\nimport * as ModalStore from './ModalStore';\r\nimport * as JaeStore from './JaeStore';\r\nimport * as JobStore from './JobStore';\r\nimport * as LoadingStore from './LoadingStore';\r\nimport * as UserStore from './UserStore';\r\nimport * as MediaLibraryStore from './mediaLibraryStore';\r\nimport { JobAdModel } from '../services/autorest/models';\r\nimport * as JobStatistic from './JobStatistic';\r\n\r\n// The top-level state object\r\nexport interface ApplicationState {\r\n root: RootItem.RootState;\r\n companyData: CompanyDataStore.CompanyDataState;\r\n jobsList: JobsListStore.IJobsListState;\r\n pageItems: PageItemStore.PageItemsState;\r\n pageItemsInfo: PageItemInfoStore.PageItemInfoState;\r\n htmlItems: HtmlItemsStore.HtmlItemsState;\r\n propertyItems: PropertyItemsStore.PropertyItemsState;\r\n jobAds: JobAdStore.JobAdState;\r\n candidateModelState: CandidateListStore.CandidateModelState;\r\n candidateDetailsState: CandidateDetailsStore.CandidateDetailsState;\r\n localizations: Localization.LocalizationState;\r\n siteData: SiteDataStore.SiteDataState;\r\n metaData: MetadataStore.MetadataModelState;\r\n unsolicitedApplication: UnsolicitedStore.UnsolicitedApplicationState;\r\n modal: ModalStore.ModalState;\r\n jae: JobAdModel;\r\n jobStatistic: JobStatistic.JobStatisticState;\r\n job: JobStore.JobState;\r\n loading: LoadingStore.LoadingState;\r\n user: UserStore.UserState;\r\n mediaLibrary: MediaLibraryStore.MediaLibraryStoreState\r\n}\r\n\r\n// Whenever an action is dispatched, Redux will update each top-level application state property using\r\n// the reducer with the matching name. It's important that the names match exactly, and that the reducer\r\n// acts on the corresponding ApplicationState property type.\r\n\r\nexport const reducers = {\r\n root: RootItem.reducer,\r\n companyData: CompanyDataStore.reducer,\r\n jobsList: JobsListStore.reducer,\r\n pageItems: PageItemStore.reducer,\r\n pageItemsInfo: PageItemInfoStore.reducer,\r\n htmlItems: HtmlItemsStore.reducer,\r\n propertyItems: PropertyItemsStore.reducer,\r\n jobAds: JobAdStore.reducer,\r\n localizations: Localization.reducer,\r\n candidateModelState: CandidateListStore.reducer,\r\n candidateDetailsState: CandidateDetailsStore.reducer,\r\n siteData: SiteDataStore.reducer,\r\n metaData: MetadataStore.reducer,\r\n unsolicitedApplication: UnsolicitedStore.reducer,\r\n modal: ModalStore.reducer,\r\n job: JobStore.reducer,\r\n jobStatistic: JobStatistic.reducer,\r\n jae: JaeStore.reducer,\r\n loading: LoadingStore.reducer,\r\n user: UserStore.reducer,\r\n mediaLibrary: MediaLibraryStore.reducer\r\n};\r\n\r\n// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are\r\n// correctly typed to match your store.\r\nexport interface AppThunkAction {\r\n (dispatch: (action: TAction) => void, getState: () => ApplicationState): void;\r\n}\r\n","import { createStore, applyMiddleware, compose, combineReducers, StoreEnhancer, Store } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { routerReducer, routerMiddleware } from 'react-router-redux';\r\nimport * as StoreModule from './store';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport { ApplicationState, reducers } from './store';\r\nimport history from \"./cms/common/history\"\r\n\r\nexport default function configureStore(initialState?: ApplicationState) {\r\n // Build middleware. These are functions that can process the actions before they reach the store.\r\n const windowIfDefined = typeof window === 'undefined' ? null : (window as any);\r\n // If devTools is installed, connect to it\r\n const devToolsExtension = windowIfDefined && (windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__ as () => StoreEnhancer);\r\n // Combine all reducers and instantiate the app-wide store instance\r\n const middlewareHistory = routerMiddleware(history);\r\n const createStoreWithMiddleware = compose(\r\n applyMiddleware(...[thunk as any, middlewareHistory]),\r\n devToolsExtension ? devToolsExtension() : (f) => f\r\n )(createStore);\r\n\r\n const allReducers = buildRootReducer(reducers);\r\n const store = createStoreWithMiddleware(allReducers, initialState) as Store;\r\n\r\n // Enable Webpack hot module replacement for reducers\r\n if (module.hot) {\r\n module.hot.accept('./store', () => {\r\n // tslint:disable-next-line:no-require-imports\r\n const nextRootReducer = require('./store');\r\n store.replaceReducer(buildRootReducer(nextRootReducer.reducers));\r\n });\r\n }\r\n return store;\r\n}\r\n\r\nfunction buildRootReducer(allReducers: any) {\r\n return combineReducers({ ...allReducers, routing: routerReducer });\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCog, faSignOutAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { TooltipPlacement } from 'antd/lib/tooltip';\r\nimport classNames from 'classnames';\r\nimport Popover from '../Popover/Popover';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { showChangePassword } from '../../../../store/ModalStore';\r\nimport i18n from '../../../../../src/resources/i18n';\r\nimport { changeLanguage } from '../../../../store/LocalizationStore';\r\nimport { logOut } from '../../../../store/UserStore';\r\nimport {ApiService} from \"../../../../services/apiService\"\r\nimport './UserActions.scss';\r\n\r\nexport default function UserActions({ placement, lightTheme }: { placement?: TooltipPlacement; lightTheme?: boolean }) {\r\n const w = window as any;\r\n const pref = w.PREF;\r\n const { LANGUAGES } = w;\r\n const languagesStr = LANGUAGES || '';\r\n const languagesObject = JSON.parse(languagesStr);\r\n const currentLanguageCode = Utils.getLanguage();\r\n const dispatch = useDispatch();\r\n const userName = Utils.getLogedInUserFullName();\r\n const currentLanguage = languagesObject[currentLanguageCode];\r\n const isAdvertiser = Utils.isUserOfirAdvertiser();\r\n const [showLanguages, setLanguagesState] = React.useState(false);\r\n const [showUserOptions, setUserOptionsState] = React.useState(false);\r\n const [showSiteVariant, setSiteVariantState] = React.useState(false);\r\n i18n.changeLanguage(currentLanguageCode)\r\n const wrapperClass = classNames('uactions', {\r\n 'uactions--light': lightTheme,\r\n });\r\n\r\n const handleLanguagesVisibility = (visible: boolean) => {\r\n setLanguagesState(visible);\r\n };\r\n const handleSitesVisibility = () => {\r\n setSiteVariantState(!showSiteVariant);\r\n };\r\n\r\n const handleUserOptionsVisibility = (visible: boolean) => {\r\n setUserOptionsState(visible);\r\n };\r\n\r\n const handleChangePassword = () => {\r\n handleUserOptionsVisibility(false);\r\n\r\n dispatch(showChangePassword());\r\n };\r\n\r\n const handleLogOut = () => {\r\n dispatch(logOut(pref));\r\n };\r\n\r\n const renderLanguages = () => {\r\n const languagesKeys = Object.keys(languagesObject);\r\n return (\r\n <>\r\n {languagesKeys.map((key) => {\r\n const handleLanguageChange = React.useCallback(() => {\r\n document.getElementsByTagName('body')[0].click();\r\n dispatch(changeLanguage(key, pref));\r\n }, [key]);\r\n\r\n const langClassEding = key === 'en-GB' ? 'gb' : 'dk';\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n const [siteCollections, setSiteCollections] = React.useState([])\r\n React.useEffect(()=>{\r\n const getFetch = async () => {\r\n const rv = await ApiService.getSitesCollection(); \r\n setSiteCollections(rv)\r\n }\r\n getFetch()\r\n }, [])\r\n \r\n const renderSites = () => {\r\n const loginIntoSite = (site: { host: string, id: string }) => {\r\n\r\n const port = location.port ? ':' + location.port : '';\r\n if (pref === \"\") {\r\n window.open(`${location.protocol}//${site.host}${port}/login`, \"_self\")\r\n } else {\r\n var host = site.host.split('.');\r\n var localPref = `/site/${host[0]}`\r\n //window.open(`${location.protocol}//app.${host[1]}.${host[2]}${port}${localPref}/admin`, \"_self\")\r\n window.open(`${localPref}/login`, \"_self\")\r\n }\r\n }\r\n\r\n return (\r\n siteCollections.length\r\n ? siteCollections.map((site) => (\r\n \r\n ))\r\n : (\r\n \r\n )\r\n )\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n }\r\n placement={placement}\r\n className=\"uactions__options\"\r\n visible={showUserOptions}\r\n onVisibleChange={handleUserOptionsVisibility}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faHome, faBars, faCog, faSignOutAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport Popover from '../../_shared/Popover/Popover';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { showChangePassword } from '../../../../store/ModalStore';\r\nimport { logOut } from '../../../../store/UserStore';\r\nimport { changeLanguage } from '../../../../store/LocalizationStore';\r\nimport i18n from '../../../../resources/i18n';\r\nimport UserActions from '../../_shared/UserActions/UserActions';\r\n\r\nimport './assets/Header.scss';\r\n\r\nexport default function Header({ onMenuBtnClick }: { onMenuBtnClick(e: any): void }) {\r\n const w = window as any;\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const ofirBaseLink = w.ENV == 'Production' ? 'https://www.ofir.dk' : 'https://supernova.ofir.dk';\r\n const pref = w.PREF;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n \r\n {!isOfirAdvertiser && (\r\n \r\n {i18n.t('DASHBOARD_COMPANY_HEADLINE')}\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faArrowAltCircleRight, faArrowAltCircleLeft } from '@fortawesome/free-solid-svg-icons';\r\nimport classNames from 'classnames';\r\nimport { useRouteMatch } from 'react-router-dom';\r\nimport CommonButton from '../../_shared/Controls/CommonButton/CommonButton';\r\nimport i18n from '../../../../resources/i18n';\r\nimport Base64 from '../../../../Utils/ts-base64';\r\nimport { Utils } from '../../../../Utils/Utils';\r\nimport { ROUTES } from '../../../common/routes';\r\nimport { useSelector } from \"react-redux\";\r\nimport { ApplicationState } from \"../../../../store\";\r\nimport { JobState } from \"../../../../store/JobStore\";\r\n\r\nimport './assets/Sidebar.scss';\r\n\r\nexport default function Sidebar({ minified, onHide }: { onHide(e: any): void; minified: boolean }) {\r\n const w = window as any;\r\n const { COMPANY_NAME } = w;\r\n const isUnsolicited = useRouteMatch(ROUTES.CANDIDATE_LIST_UNSOLICITED);\r\n const unsolicitedCode = Base64.encode(i18n.t('MENU_SIDEBAR_UNSOLICITED_CANDIDATE_LIST'));\r\n const isSiteAdmin = Utils.isSiteAdmin();\r\n const pathName = window.location.pathname.toLowerCase();\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const activeClass = 'active';\r\n const job = useSelector((state) => state.job);\r\n\r\n const sidebarClasses = classNames([\r\n 'sidebar',\r\n {\r\n 'sidebar--minified': minified,\r\n },\r\n ]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    {i18n.t('MENU_SIDEBAR_TITLE')}
    \r\n \r\n
    \r\n
    \r\n
    {i18n.t('MENU_SIDEBAR_JOBS')}
    \r\n \r\n \r\n {!isOfirAdvertiser && (\r\n \r\n )}\r\n
    \r\n {!isOfirAdvertiser && (\r\n
    \r\n
    {i18n.t('MENU_SIDEBAR_PANEL_SITE_MANAGEMENT')}
    \r\n \r\n \r\n \r\n
    \r\n )}\r\n {isSiteAdmin && (\r\n
    \r\n
    {i18n.t('MENU_SIDEBAR_PANEL_USER_MANAGEMENT')}
    \r\n \r\n {isOfirAdvertiser && (\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    {i18n.t('COMPANYMANAGEMENT_HEADLINE')}
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport Header from '../Header/Header';\r\nimport Sidebar from '../Sidebar/Sidebar';\r\nimport { useMedia } from '../../../../Utils/hooks';\r\nimport i18n from '../../../../resources/i18n';\r\n\r\nimport './assets/RootLayout.scss';\r\n\r\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\r\n const w = window as any;\r\n const { IS_ADMIN, LOGIN_PAGE } = w;\r\n const isSmallScreen = window.innerWidth <= 1366;\r\n i18n.changeLanguage(w[\"SITE_CULTURE_CODE\"])\r\n const [minifiedSidebar, setSidebarMode] = React.useState(isSmallScreen);\r\n\r\n const pageWrapClass = classNames([\r\n 'page-wrap',\r\n {\r\n 'page-wrap--sidebar-minified': minifiedSidebar\r\n }\r\n ])\r\n\r\n const sidebarClass = classNames([\r\n 'page-wrap__sidebar',\r\n {\r\n 'page-wrap__sidebar--active': !minifiedSidebar,\r\n 'page-wrap__sidebar--minified': minifiedSidebar\r\n }\r\n ]);\r\n\r\n const contentClass = classNames([\r\n 'page-wrap__content',\r\n {\r\n 'page-wrap__content--admin': IS_ADMIN,\r\n 'page-wrap__content--login': LOGIN_PAGE,\r\n 'page-wrap__content--minified': minifiedSidebar\r\n }\r\n ]);\r\n\r\n const toggleContentMode = () => {\r\n setSidebarMode(!minifiedSidebar);\r\n };\r\n\r\n return (\r\n
    \r\n {IS_ADMIN &&
    }\r\n {IS_ADMIN && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    {children}
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Modal } from 'antd';\r\nimport classNames from 'classnames';\r\nimport { hideModal } from '../../../../store/ModalStore';\r\nimport { useSelector } from 'react-redux';\r\nimport { ModalState } from '../../../../store/ModalStore';\r\n\r\nimport './assets/CommonModal.scss';\r\n\r\nconst CommonModalLayout = React.memo(function CommonModalLayout({\r\n children,\r\n isOpen,\r\n className,\r\n width = 520, \r\n hover,\r\n style,\r\n}: {\r\n hover?: boolean,\r\n children: React.ReactNode;\r\n isOpen: boolean;\r\n className?: string;\r\n width?: number;\r\n style?: object\r\n}) {\r\n const dispatch = useDispatch();\r\n const closeModal = () => {\r\n dispatch(hideModal());\r\n };\r\n\r\n \r\n const wrapperClass = classNames('c-modal', {\r\n [className]: !!className\r\n });\r\n\r\n return (\r\n \r\n
    {children}
    \r\n
    \r\n );\r\n})\r\nexport default CommonModalLayout","export const changePasswordValidationDescription = {\r\n oldPassword: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n }\r\n },\r\n newPassword: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n },\r\n same: {\r\n target: 'confirmPassword',\r\n resource: 'USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD_ERROR_TEXT',\r\n validation: 6\r\n }\r\n },\r\n confirmPassword: {\r\n required: 'JAE_JOBAD_VALIDATION_REQUIRED',\r\n min: {\r\n resource: 'USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR',\r\n validation: 6\r\n },\r\n same: {\r\n target: 'newPassword',\r\n resource: 'USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD_ERROR_TEXT',\r\n validation: 6\r\n }\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport CommonInput from '../../../Controls/CommonInput/CommonInput';\r\nimport CommonButton from '../../../Controls/CommonButton/CommonButton';\r\nimport { hideModal } from '../../../../../../store/ModalStore';\r\nimport { changeUserPassword } from '../../../../../../store/UserStore';\r\nimport { ChangePasswordViewModel } from '../../../../../../services/autorest/models';\r\nimport i18n from '../../../../../../resources/i18n';\r\nimport { changePasswordValidationDescription } from './validationDescription';\r\nimport ValidateObject from '../../../../../../Utils/Validation/Validation';\r\nimport { ApplicationState } from '../../../../../../store';\r\nimport { LoadingState } from '../../../../../../store/LoadingStore';\r\n\r\nimport './ChangePassword.scss';\r\n\r\nexport default function ChangePassword() {\r\n const dispatch = useDispatch();\r\n const loading = useSelector((s) => s.loading);\r\n const errors: { [key: string]: any } = {};\r\n const [validationObject, setValidationObject] = React.useState(errors);\r\n\r\n const [formValues, setFormValues] = React.useState({\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: ''\r\n });\r\n\r\n const handleFieldChange = (e: React.ChangeEvent) => {\r\n setFormValues({\r\n ...formValues,\r\n [e.target.name]: e.target.value\r\n });\r\n };\r\n\r\n const handleCancel = () => {\r\n dispatch(hideModal());\r\n };\r\n\r\n const handleSubmit = async () => {\r\n const errorsObj = await ValidateObject(formValues, changePasswordValidationDescription);\r\n\r\n if (!errorsObj.hasError) {\r\n dispatch(changeUserPassword(formValues));\r\n } else {\r\n setValidationObject(errorsObj);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    {i18n.t('USERMANAGEMENT_POPUP_TITLE_CHANGE_PASSWORD')}
    \r\n
    \r\n
    \r\n
    {i18n.t('USERMANAGEMENT_POPUP_DESCRIPTION_CHANGE_PASSWORD')}
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    {i18n.t('USERMANAGEMENT_LBL_PASSWORD_SECURITY_ERROR')}
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n","export enum Substitutions {\r\n CLOGOURGL = '*|CLOGOURL|*',\r\n AFNAME = '*|AFNAME|*',\r\n ADHEADING = '*|ADHEADING|*',\r\n CNAME = '*|CNAME|*',\r\n CADDRESS = '*|CADDRESS|*',\r\n CPOSTALCODE = '*|CPOSTALCODE|*',\r\n CCITY = '*|CCITY|*',\r\n VATNO = '*|VATNO|*',\r\n CTELEPHONE = '*|CTELEPHONE|*',\r\n CEMAIL = '*|CEMAIL|*',\r\n CWEBADDRESS = '*|CWEBADDRESS|*',\r\n CAREERSITE = '*|CAREERSITE|*'\r\n}\r\n","import * as React from 'react';\r\nimport { Collapse } from 'antd';\r\n\r\nexport const ExpansionPanel = (props: { key: string | number; children: React.ReactNode; header: React.ReactNode | string }) => {\r\n const { children, header, key, ...restProps } = props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default function ExpansionPanels(props: { children: React.ReactNode }) {\r\n const { children } = props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport i18n from '../../../../../../resources/i18n';\r\n\r\nconst td = {\r\n padding: '3px'\r\n};\r\n\r\nconst table = {\r\n width: '100%'\r\n};\r\n\r\nexport const Variables = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    *|AFNAME|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_NAME')}
    *|ADHEADING|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_TITLE')}
    *|CAREERSITE|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_URL')}
    *|CNAME|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_COMP_NAME')}
    *|CADDRESS|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_COMP_ADDRESS')}
    *|CPOSTALCODE|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_ZIP')}
    *|CCITY|*{i18n.t('CANDIDATE_LIST_MESSAGE_VARIABLE_CITY')}
    \r\n );\r\n};\r\n","import { CandidateListShortModel } from '../../../../../../services/autorest/models';\r\nimport { Substitutions } from './Substitutions';\r\nimport Api from '../../../../../common/apiConstants';\r\nimport { SiteData } from 'src/cms/models/siteData';\r\nimport { CompanyData } from 'src/cms/models/companyData';\r\n\r\nexport interface EmailParts {\r\n header: string;\r\n body: string;\r\n footer: string;\r\n}\r\n\r\nclass EmailTransform {\r\n public static async replaceSubstitutions(body: string, candidate: CandidateListShortModel, site: SiteData, company: CompanyData, jobTitle: string) {\r\n let md = site.masterData;\r\n var base64Matcher = new RegExp(\"^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$\");\r\n\r\n if (base64Matcher.test(md))\r\n md = atob(md);\r\n\r\n let w = window as any;\r\n const pref = w.PREF;\r\n const host = w.location.hostname;\r\n const scheme = w.location.protocol;\r\n let siteHost = site.host;\r\n\r\n if (pref != '') {\r\n siteHost = `${host}${pref}`;\r\n }\r\n\r\n const masterData = JSON.parse(md);\r\n const replacedHtml = body\r\n .split(Substitutions.CLOGOURGL)\r\n .join(`${Api.siteOptions.fileStoreCDN}/${site.id}/Logo/${masterData.LogoFileName}`)\r\n .split(Substitutions.AFNAME)\r\n .join(candidate.name)\r\n .split(Substitutions.CAREERSITE)\r\n .join(`${scheme}//${siteHost}`)\r\n .split(Substitutions.ADHEADING)\r\n .join(jobTitle)\r\n .split(Substitutions.CADDRESS)\r\n .join(company.address)\r\n .split(Substitutions.CNAME)\r\n .join(company.name)\r\n .split(Substitutions.CPOSTALCODE)\r\n .join(company.zipCode)\r\n .split(Substitutions.CCITY)\r\n .join(company.city)\r\n .split(Substitutions.VATNO)\r\n .join(company.vatnumber)\r\n .split(Substitutions.CTELEPHONE)\r\n .join(company.phone)\r\n .split(Substitutions.CEMAIL)\r\n .join(company.email)\r\n .split(Substitutions.CWEBADDRESS)\r\n .join(company.websiteUrl);\r\n\r\n return replacedHtml;\r\n }\r\n\r\n public static getEmailParts(html: string): EmailParts {\r\n const mark = '';\r\n const parts = html.split(mark);\r\n\r\n return {\r\n header: parts[0],\r\n body: parts[1],\r\n footer: parts[2]\r\n };\r\n }\r\n\r\n public static combineEmailParts(parts: String[]): string {\r\n const mark = '';\r\n const body = parts.join(mark);\r\n\r\n return body;\r\n }\r\n}\r\n\r\nexport default EmailTransform;\r\n","import * as React from 'react';\r\nimport { getStyleObjectFromString } from \"../BranderoEditorUtils\"\r\nexport default function BranderoEditorLink(props: any) {\r\n const { children, entityKey, contentState } = props;\r\n const attr = contentState.getEntity(entityKey).getData();\r\n console.log(attr);\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport function BranderoImageEditor(props: any) {\r\n const { children, entityKey, contentState } = props;\r\n const attr = contentState.getEntity(entityKey).getData(); \r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\nexport function BranderoOlEditor(props: any) {\r\n const { children, entityKey, contentState } = props;\r\n const attr = contentState.getEntity(entityKey).getData(); \r\n return (\r\n
      \r\n {children}\r\n
    \r\n );\r\n}\r\nexport function BranderoUlEditor(props: any) {\r\n const { children, entityKey, contentState } = props;\r\n const attr = contentState.getEntity(entityKey).getData(); \r\n return (\r\n
      \r\n {children}\r\n
    \r\n );\r\n}\r\nexport function BranderoAnyEditor(props: any) {\r\n const { children, entityKey, contentState } = props;\r\n const attr = contentState.getEntity(entityKey).getData(); \r\n const CustomTag = contentState.getEntity(entityKey).getType();\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}","export interface EditorLink {\r\n url: string;\r\n text: string;\r\n newWindow: boolean;\r\n};\r\n\r\nexport const EDITOR_ELEMENTS_TYPES = {\r\n UNORDERED_LIST: 'unordered-list-item',\r\n ORDERED_LIST: 'ordered-list-item',\r\n BOLD: 'BOLD',\r\n UNDERLINE: 'UNDERLINE',\r\n ITALIC: 'ITALIC',\r\n LINK: 'LINK'\r\n};","import * as React from \"react\";\r\nimport { EditorState, Modifier, CompositeDecorator, Entity, RichUtils, AtomicBlockUtils, convertFromHTML as fromHtml } from \"draft-js\";\r\nimport { convertFromHTML, convertToHTML } from \"draft-convert\";\r\nimport { filterEditorState } from \"draftjs-filters\";\r\nimport { getEntityRange, getSelectionEntity } from \"draftjs-utils\";\r\nimport BranderoEditorLink, { BranderoImageEditor, BranderoAnyEditor, BranderoOlEditor, BranderoUlEditor } from \"./BranderoEditorLink/BranderoEditorLink\";\r\nimport { EditorLink, EDITOR_ELEMENTS_TYPES } from \"./models\";\r\nimport { Utils } from \"../../../../../Utils/Utils\";\r\nimport {stateToHTML} from 'draft-js-export-html';\r\n\r\nconst findLinkEntities = (contentBlock, callback, contentState) => {\r\n contentBlock.findEntityRanges((character) => {\r\n const entityKey = character.getEntity();\r\n if (entityKey !== null) {\r\n return contentState.getEntity(entityKey).getType() === \"a\";\r\n }\r\n }, callback);\r\n};\r\nconst findImageEntities = (contentBlock, callback, contentState) => {\r\n contentBlock.findEntityRanges((character) => {\r\n const entityKey = character.getEntity();\r\n if (entityKey !== null) {\r\n return contentState.getEntity(entityKey).getType() === \"img\";\r\n }\r\n }, callback);\r\n};\r\nconst findUlEntities = (contentBlock, callback, contentState) => {\r\n contentBlock.findEntityRanges((character) => {\r\n const entityKey = character.getEntity();\r\n if (entityKey !== null) {\r\n return contentState.getEntity(entityKey).getType() === \"ul\";\r\n }\r\n }, callback);\r\n};\r\nconst findOlEntities = (contentBlock, callback, contentState) => {\r\n contentBlock.findEntityRanges((character) => {\r\n const entityKey = character.getEntity();\r\n if (entityKey !== null) {\r\n return contentState.getEntity(entityKey).getType() === \"ol\";\r\n }\r\n }, callback);\r\n};\r\nconst findAnyEntities = (contentBlock, callback, contentState) => {\r\n contentBlock.findEntityRanges((character) => {\r\n const entityKey = character.getEntity();\r\n if (entityKey !== null) {\r\n return contentState.getEntity(entityKey).getType();\r\n }\r\n }, callback);\r\n};\r\n\r\nexport function getEditorDecorator() {\r\n return new CompositeDecorator([\r\n {\r\n strategy: findLinkEntities,\r\n component: BranderoEditorLink,\r\n },\r\n {\r\n strategy: findImageEntities,\r\n component: BranderoImageEditor,\r\n },\r\n {\r\n strategy: findAnyEntities,\r\n component: BranderoAnyEditor,\r\n },\r\n {\r\n strategy:findUlEntities,\r\n component: BranderoUlEditor,\r\n },\r\n {\r\n strategy: findOlEntities,\r\n component: BranderoOlEditor,\r\n },\r\n ]);\r\n}\r\n\r\n\r\nexport function deserialize(html: string): EditorState {\r\n \r\n const contentState = convertFromHTML({\r\n htmlToEntity: (nodeName: string, node: any, createEntity, replaceEntityData) => {\r\n if (nodeName === \"img\" && node.getAttribute(\"src\")) {\r\n return createEntity(\"img\", \"IMMUTABLE\", getDefaultsAttribute(node));\r\n }\r\n if (nodeName === \"ol\") {\r\n return createEntity(\"ol\", \"IMMUTABLE\", getDefaultsAttribute(node));\r\n }\r\n\r\n return null;\r\n },\r\n textToEntity: (text, createEntity) => {\r\n const result = []; \r\n text.replace(/\\*(\\w+)/g, (match: any, name: any, offset: any): any => {\r\n const entityKey = createEntity(\"AT-MENTION\", \"IMMUTABLE\", { name });\r\n result.push({\r\n entity: entityKey,\r\n offset,\r\n length: match.length,\r\n result: match,\r\n });\r\n });\r\n\r\n return result;\r\n },\r\n htmlToBlock: (nodeName, node) => {\r\n if ((nodeName === \"figure\" && node.firstChild.nodeName === \"IMG\") || nodeName === \"img\") {\r\n return \"atomic\";\r\n }\r\n if (nodeName === \"figure\") {\r\n return \"atomic\";\r\n }\r\n if (nodeName === \"strong\") {\r\n return EDITOR_ELEMENTS_TYPES.BOLD;\r\n }\r\n if (nodeName === \"strong\") {\r\n return EDITOR_ELEMENTS_TYPES.BOLD;\r\n }\r\n if (nodeName === \"em\") {\r\n return EDITOR_ELEMENTS_TYPES.ITALIC;\r\n }\r\n if (nodeName === \"u\") {\r\n return EDITOR_ELEMENTS_TYPES.UNDERLINE;\r\n }\r\n // if (nodeName === \"ol\") {\r\n // return EDITOR_ELEMENTS_TYPES.ORDERED_LIST;\r\n // }\r\n // if (nodeName === \"ul\") {\r\n // return EDITOR_ELEMENTS_TYPES.UNORDERED_LIST;\r\n // }\r\n },\r\n })(html);\r\n const decorator = getEditorDecorator();\r\n const decoratedState = EditorState.createWithContent(contentState, decorator);\r\n return decoratedState;\r\n}\r\n\r\nexport function serialize(editorState: EditorState): string {\r\n let html = convertToHTML({\r\n entityToHTML: (entity, originalText) => {\r\n if (entity.type === \"img\") {\r\n return ;\r\n }\r\n if (entity.type === \"script\") {\r\n return {\" \"};\r\n }\r\n if (entity.type === \"a\") {\r\n const formattedText = formatLinksText(originalText);\r\n return (\r\n \r\n {formattedText}\r\n \r\n );\r\n }\r\n \r\n if (entity.type === \"strong\") {\r\n return (\r\n \r\n {originalText}\r\n \r\n );\r\n }\r\n if (entity.type === \"i\") {\r\n return (\r\n \r\n );\r\n }\r\n if (entity.type === \"b\") {\r\n return (\r\n \r\n );\r\n }\r\n if (entity.type === \"li\") {\r\n return (\r\n \r\n );\r\n }\r\n \r\n // if (!entity.type.startsWith(\"#\")) {\r\n // const CustomTag = `${entity.type}` as keyof JSX.IntrinsicElements;\r\n // return (\r\n // \r\n // {originalText}\r\n // \r\n // );\r\n // }\r\n return originalText;\r\n },\r\n })(editorState.getCurrentContent() as any);\r\n // console.log({html});\r\n return html;\r\n}\r\n\r\nexport const getEditorCurrentStyles = (editorState: any) => {\r\n const inlineStyle = editorState.getCurrentInlineStyle();\r\n const styles = [];\r\n\r\n const isBold = inlineStyle.has(\"BOLD\");\r\n const isItalic = inlineStyle.has(\"ITALIC\");\r\n const isUnderline = inlineStyle.has(\"UNDERLINE\");\r\n\r\n if (isBold) {\r\n styles.push(\"BOLD\");\r\n }\r\n if (isItalic) {\r\n styles.push(\"ITALIC\");\r\n }\r\n if (isUnderline) {\r\n styles.push(\"UNDERLINE\");\r\n }\r\n\r\n return styles;\r\n};\r\n\r\nexport const hasEntityAtSelection = (editorState: any) => {\r\n const selection = editorState.getSelection();\r\n\r\n if (!selection.getHasFocus()) {\r\n return false;\r\n }\r\n\r\n const contentState = editorState.getCurrentContent();\r\n const block = contentState.getBlockForKey(selection.getStartKey());\r\n return !!block.getEntityAt(selection.getStartOffset() - 1);\r\n};\r\n\r\nexport const getAutocompleteRange = (trigger: string, editorState: any) => {\r\n const selection: any = window.getSelection();\r\n\r\n if (selection.rangeCount === 0) {\r\n return null;\r\n }\r\n\r\n if (hasEntityAtSelection(editorState)) {\r\n return null;\r\n }\r\n\r\n const range = selection.getRangeAt(0);\r\n let text = range.startContainer.textContent;\r\n\r\n text = text.substring(0, range.startOffset);\r\n\r\n const index = text.lastIndexOf(trigger);\r\n\r\n // TODO: Find a better way to preserve unnecessary prefix findings\r\n if (index === -1 || text[index - 1] === \"|\") {\r\n return null;\r\n }\r\n\r\n text = text.substring(index);\r\n\r\n return {\r\n text,\r\n start: index,\r\n end: range.startOffset,\r\n };\r\n};\r\n\r\nexport const getAutocompleteState = (editorState: any, prefix: string) => {\r\n let type = null;\r\n let trigger = null;\r\n const tagRange = getAutocompleteRange(prefix, editorState);\r\n\r\n if (!tagRange) {\r\n return null;\r\n }\r\n\r\n let range = null;\r\n\r\n range = tagRange;\r\n type = 1;\r\n trigger = prefix;\r\n\r\n // @ts-ignore\r\n const tempRange = window.getSelection().getRangeAt(0).cloneRange();\r\n tempRange.setStart(tempRange.startContainer, range.start);\r\n\r\n const rangeRect = tempRange.getBoundingClientRect();\r\n const [left, top] = [rangeRect.left, rangeRect.bottom];\r\n\r\n const autocompleteState = {\r\n trigger,\r\n type,\r\n left,\r\n top,\r\n text: range.text,\r\n selectedIndex: 0,\r\n };\r\n\r\n return autocompleteState;\r\n};\r\n\r\nexport const normalizeIndex = (selectedIndex: any, max: any) => {\r\n let index = selectedIndex % max;\r\n\r\n if (index < 0) {\r\n index += max;\r\n }\r\n\r\n return index;\r\n};\r\n\r\nexport const filterArray = (array: any, text: any) => {\r\n let filteredArray = null;\r\n\r\n filteredArray = array.filter((object: any) => {\r\n const query = text.toLowerCase();\r\n return object.toLowerCase().startsWith(query);\r\n });\r\n\r\n return filteredArray;\r\n};\r\n\r\nexport const getFilteredArray = (text: string, list: string[], prefix: string) => {\r\n // TODO: add dynamic regex variable\r\n return filterArray(list, text.replace(/^\\*/, \"\"));\r\n};\r\n\r\nexport const getInsertState = (selectedIndex: any, trigger: any, editorState: any) => {\r\n const currentSelectionState = editorState.getSelection();\r\n const end = currentSelectionState.getAnchorOffset();\r\n const anchorKey = currentSelectionState.getAnchorKey();\r\n const currentContent = editorState.getCurrentContent();\r\n const currentBlock = currentContent.getBlockForKey(anchorKey);\r\n const blockText = currentBlock.getText();\r\n const start = blockText.substring(0, end).lastIndexOf(trigger);\r\n\r\n return {\r\n editorState,\r\n start,\r\n end,\r\n trigger,\r\n selectedIndex,\r\n };\r\n};\r\n\r\nexport const addSuggestion = ({ editorState, start, end, trigger, text }: any) => {\r\n const currentSelectionState = editorState.getSelection();\r\n const mentionTextSelection = currentSelectionState.merge({\r\n anchorOffset: start,\r\n focusOffset: end,\r\n });\r\n const editorStyles: any = getEditorCurrentStyles(editorState);\r\n\r\n const strippedText = text.substr(1);\r\n let insertingContent = Modifier.replaceText(\r\n editorState.getCurrentContent(),\r\n mentionTextSelection,\r\n strippedText,\r\n editorStyles\r\n );\r\n\r\n const blockKey = mentionTextSelection.getAnchorKey();\r\n const blockSize = editorState.getCurrentContent().getBlockForKey(blockKey).getLength();\r\n if (blockSize === end) {\r\n insertingContent = Modifier.insertText(insertingContent, insertingContent.getSelectionAfter(), \" \");\r\n }\r\n\r\n const newEditorState = EditorState.push(editorState, insertingContent, \"insert-characters\");\r\n\r\n return EditorState.forceSelection(newEditorState, insertingContent.getSelectionAfter());\r\n};\r\n\r\nexport const getFilteredState = (editorState: EditorState): EditorState => {\r\n return filterEditorState(\r\n {\r\n blocks: [EDITOR_ELEMENTS_TYPES.ORDERED_LIST, EDITOR_ELEMENTS_TYPES.UNORDERED_LIST],\r\n styles: [\"BOLD\", \"ITALIC\", \"UNDERLINE\", \"LIST\"],\r\n entities: [\r\n {\r\n type: \"a\",\r\n attributes: [\"href\", \"style\", \"class\", \"target\"],\r\n },\r\n {\r\n type: \"strong\",\r\n attributes: [\"style\", \"class\"],\r\n },\r\n {\r\n type: \"img\",\r\n attributes: [\"src, alt\", \"style\", \"class\"],\r\n },\r\n ],\r\n maxNesting: 1,\r\n whitespacedCharacters: [\"\\t\", \"📷\"],\r\n },\r\n editorState\r\n );\r\n};\r\n\r\nexport const getCurrentLinkData = (editorState: EditorState): EditorLink => {\r\n const currentEntity = getSelectionEntity(editorState);\r\n const contentState: any = editorState.getCurrentContent();\r\n let currentValues: EditorLink = null;\r\n\r\n if (currentEntity && contentState.getEntity(currentEntity).get(\"type\") === \"a\") {\r\n const entityRange = currentEntity && getEntityRange(editorState, currentEntity);\r\n\r\n currentValues = {\r\n url: currentEntity && contentState.getEntity(currentEntity).get(\"data\").url,\r\n text: entityRange && entityRange.text,\r\n newWindow: currentEntity && contentState.getEntity(currentEntity).get(\"data\").target,\r\n };\r\n }\r\n\r\n return currentValues;\r\n};\r\n\r\nexport const getStateWithInsertedLink = (editorState: EditorState, linkData: EditorLink): EditorState => {\r\n const { url, text, newWindow } = linkData;\r\n const currentEntity = getSelectionEntity(editorState);\r\n let selection: any = editorState.getSelection();\r\n function validateEmail(email) {\r\n const re = /^(([^<>()\\[\\]\\\\.,;:\\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,}))$/;\r\n return re.test(String(email).toLowerCase());\r\n }\r\n const newUrl = (() => {\r\n let u = url;\r\n if (validateEmail(u)) return `mailto:${u}`;\r\n if (u.search(\"mailto:\") === 0) return `${u}`;\r\n if (u.search(\"http://\") === -1 && u.search(\"https://\") !== 0) return `//${u}`;\r\n if (u.search(\"https://\") === -1 && u.search(\"http://\") !== 0) return `//${u}`;\r\n return u;\r\n })();\r\n if (currentEntity) {\r\n const entityRange = getEntityRange(editorState, currentEntity);\r\n const isBackward = selection.getIsBackward();\r\n\r\n if (isBackward) {\r\n selection = selection.merge({\r\n anchorOffset: entityRange.end,\r\n focusOffset: entityRange.start,\r\n });\r\n } else {\r\n selection = selection.merge({\r\n anchorOffset: entityRange.start,\r\n focusOffset: entityRange.end,\r\n });\r\n }\r\n }\r\n\r\n const entityKey = editorState\r\n .getCurrentContent()\r\n .createEntity(\"a\", \"MUTABLE\", {\r\n href: newUrl,\r\n target: newWindow ? \"_blank\" : \"\",\r\n })\r\n .getLastCreatedEntityKey();\r\n\r\n let contentState = Modifier.replaceText(\r\n editorState.getCurrentContent(),\r\n selection,\r\n `${text}`,\r\n editorState.getCurrentInlineStyle(),\r\n entityKey\r\n );\r\n let newEditorState = EditorState.push(editorState, contentState, \"insert-characters\");\r\n\r\n // insert a blank space after link\r\n selection = newEditorState.getSelection().merge({\r\n anchorOffset: selection.get(\"anchorOffset\") + text.length,\r\n focusOffset: selection.get(\"anchorOffset\") + text.length,\r\n });\r\n\r\n newEditorState = EditorState.acceptSelection(newEditorState, selection);\r\n contentState = Modifier.insertText(\r\n newEditorState.getCurrentContent(),\r\n selection,\r\n \" \",\r\n newEditorState.getCurrentInlineStyle(),\r\n undefined\r\n );\r\n\r\n return EditorState.push(newEditorState, contentState, \"insert-characters\");\r\n};\r\nexport const getStateWithUploadedImage = (editorState: EditorState, image: any): EditorState => {\r\n let selection: any = editorState.getSelection();\r\n const currentEntity = getSelectionEntity(editorState);\r\n if (currentEntity) {\r\n const entityRange = getEntityRange(editorState, currentEntity);\r\n const isBackward = selection.getIsBackward();\r\n\r\n if (isBackward) {\r\n selection = selection.merge({\r\n anchorOffset: entityRange.end,\r\n focusOffset: entityRange.start,\r\n });\r\n } else {\r\n selection = selection.merge({\r\n anchorOffset: entityRange.start,\r\n focusOffset: entityRange.end,\r\n });\r\n }\r\n }\r\n let contentState = editorState.getCurrentContent();\r\n const contentStateWithEntity = contentState.createEntity(\"img\", \"IMMUTABLE\", {\r\n src: `${Utils.getCDNUrl()}customer/${Utils.getSiteID()}/imagelibrary/${image?.fileName}`,\r\n alt: image?.alt || \"\",\r\n });\r\n const entityKey = contentStateWithEntity.getLastCreatedEntityKey();\r\n const newEditorState = EditorState.set(editorState, { currentContent: contentStateWithEntity });\r\n contentState = Modifier.insertText(\r\n newEditorState.getCurrentContent(),\r\n selection,\r\n \" \",\r\n newEditorState.getCurrentInlineStyle(),\r\n undefined\r\n );\r\n const rv = AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, \" \");\r\n return rv;\r\n};\r\n\r\nexport const getStateWithRemovedLink = (editorState: EditorState): EditorState => {\r\n const currentEntity = getSelectionEntity(editorState);\r\n let selection: any = editorState.getSelection();\r\n\r\n if (currentEntity) {\r\n const entityRange = getEntityRange(editorState, currentEntity);\r\n const isBackward = selection.getIsBackward();\r\n\r\n if (isBackward) {\r\n selection = selection.merge({\r\n anchorOffset: entityRange.end,\r\n focusOffset: entityRange.start,\r\n });\r\n } else {\r\n selection = selection.merge({\r\n anchorOffset: entityRange.start,\r\n focusOffset: entityRange.end,\r\n });\r\n }\r\n\r\n return RichUtils.toggleLink(editorState, selection, null);\r\n }\r\n\r\n return editorState;\r\n};\r\n\r\nexport const filterInsertedContent = (text: string): string => {\r\n let filteredValue = text;\r\n filteredValue = filteredValue.replace(/\\u00a0/g, \" \");\r\n filteredValue = filteredValue.replace(/\\s{2,}/g, \" \");\r\n return filteredValue;\r\n};\r\n\r\nexport const formatLinksText = (text: string): string => {\r\n let formattedText = text.trim();\r\n\r\n formattedText = formattedText.replace(/amp;/g, \"\");\r\n\r\n return formattedText;\r\n};\r\nexport const getStyleObjectFromString = (str: string) => {\r\n const style = {};\r\n const formatStringToCamelCase = (strForSplit) => {\r\n const splitted = strForSplit?.split(\"-\");\r\n if (splitted.length === 1) return splitted[0];\r\n return (\r\n splitted[0] +\r\n splitted\r\n .slice(1)\r\n .map((word) => word[0]?.toUpperCase() + word?.slice(1))\r\n .join(\"\")\r\n );\r\n };\r\n str?.split(\";\").forEach((el) => {\r\n const [property, value] = el?.split(\":\");\r\n if (!property) return;\r\n\r\n const formattedProperty = formatStringToCamelCase(property?.trim());\r\n style[formattedProperty] = value?.trim();\r\n });\r\n\r\n return style;\r\n};\r\nexport const getDefaultsAttribute = (node: HTMLAnchorElement) => {\r\n let attr = {} as any;\r\n if (!node.nodeName.startsWith(\"#\") ) { \r\n if (node?.hasAttributes()) {\r\n var attrs = node.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n if (attrs[i].name == \"class\") attr[\"className\"] = attrs[i].value;\r\n else attr[attrs[i].name] = attrs[i].value;\r\n }\r\n }\r\n return { ...attr };\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { EditorState, Modifier, Entity } from 'draft-js';\r\nimport { getFilteredArray } from '../BranderoEditorUtils';\r\n\r\nexport default function BranderoEditorAutoComplete({\r\n state,\r\n options,\r\n selectedIndex,\r\n onSelect\r\n}: {\r\n state: any;\r\n options: string[];\r\n selectedIndex: number;\r\n onSelect(e: any): any;\r\n}) {\r\n const renderOptionsList = () => {\r\n if (!state) {\r\n return null;\r\n }\r\n\r\n const optionsArr = getFilteredArray(state.text, options, '*');\r\n\r\n return optionsArr.map((item: string, index: number) => {\r\n const isActive = index === selectedIndex;\r\n const onClick = () => {\r\n onSelect(index);\r\n };\r\n\r\n return (\r\n \r\n );\r\n });\r\n };\r\n\r\n const getListStyles = (): {} => {\r\n if (!state) {\r\n return {};\r\n }\r\n\r\n return {\r\n left: state.left,\r\n top: state.top\r\n };\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {renderOptionsList()}\r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport default function BranderoEditorToolbarButton({\r\n onClick,\r\n children,\r\n isActive,\r\n title,\r\n name,\r\n disabled\r\n}: {\r\n onClick(e: any): void;\r\n children: React.ReactNode;\r\n isActive?: boolean;\r\n title: string;\r\n name?: string;\r\n disabled?: boolean;\r\n}) {\r\n const buttonClassNames = classNames([\r\n 'b-editor__btn',\r\n {\r\n 'b-editor__btn--active': isActive\r\n }\r\n ]);\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CommonInput from '../../CommonInput/CommonInput';\r\nimport CommonCheckbox from '../../CommonCheckbox/CommonCheckbox';\r\nimport CommonButton from '../../CommonButton/CommonButton';\r\nimport { EditorLink } from '../models';\r\n\r\nexport default function BranderoEditorLinkModal({\r\n isOpen,\r\n onClose,\r\n onSubmit,\r\n showLinkText,\r\n defaultValue\r\n}: {\r\n isOpen: boolean;\r\n onClose(e: any): void;\r\n onSubmit(e: any): void;\r\n showLinkText: boolean;\r\n defaultValue: EditorLink;\r\n}) {\r\n const { t } = useTranslation();\r\n\r\n const [state, setState] = React.useState(defaultValue);\r\n\r\n const modalClassNames = classNames(['b-link-modal'], {\r\n 'b-link-modal--active': isOpen\r\n });\r\n\r\n React.useEffect(() => {\r\n setState(defaultValue);\r\n }, [defaultValue]);\r\n\r\n const handleFieldChange = (e) => {\r\n setState({\r\n ...state,\r\n [e.target.name]: e.target.value\r\n });\r\n };\r\n\r\n const handleCheckboxChange = (e) => {\r\n setState({\r\n ...state,\r\n [e.target.value]: e.target.checked\r\n });\r\n };\r\n\r\n const handleSubmit = () => {\r\n const data = { ...state };\r\n onSubmit(data);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {t('JAE_INSERT_LINK_TITLE')}

    \r\n \r\n
    \r\n
    \r\n {showLinkText && (\r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport {\r\n Editor,\r\n EditorState,\r\n RichUtils,\r\n Modifier,\r\n SelectionState,\r\n ContentState,\r\n DraftHandleValue,\r\n getDefaultKeyBinding,\r\n KeyBindingUtil,\r\n} from \"draft-js\";\r\nimport * as Immutable from \"immutable\";\r\nconst { hasCommandModifier } = KeyBindingUtil;\r\nimport { getSelectionText, getSelectionEntity } from \"draftjs-utils\";\r\nimport { registerCopySource, handleDraftEditorPastedText } from \"draftjs-conductor\";\r\nimport classNames from \"classnames\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faBold,\r\n faUnderline,\r\n faItalic,\r\n faListUl,\r\n faListOl,\r\n faLink,\r\n faUnlink,\r\n faCode,\r\n faImage,\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport ControlLabel from \"../ControlLabel/ControlLabel\";\r\nimport BranderoConrolError from \"../ConrolError/ControlError\";\r\nimport BranderoEditorAutoComplete from \"./BranderoEditorAutoComplete/BranderoEditorAutoComplete\";\r\nimport ToolbarButton from \"./BranderoEditorToolbarButton/BranderoEditorToolbarButton\";\r\nimport BranderoEditorLinkModal from \"./BranderoEditorLinkModal/BranderoEditorLinkModal\";\r\nimport { Utils } from \"../../../../../Utils/Utils\";\r\nimport { EditorLink, EDITOR_ELEMENTS_TYPES } from \"./models\";\r\nimport {\r\n deserialize,\r\n serialize,\r\n getEditorDecorator,\r\n getAutocompleteState,\r\n normalizeIndex,\r\n getInsertState,\r\n addSuggestion,\r\n getFilteredState,\r\n getStateWithInsertedLink,\r\n getStateWithRemovedLink,\r\n getCurrentLinkData,\r\n filterInsertedContent,\r\n getStateWithUploadedImage,\r\n} from \"./BranderoEditorUtils\";\r\n\r\nimport \"./assets/BranderoEditor.scss\";\r\n\r\nconst isIE = Utils.isIE();\r\nconst decorator = getEditorDecorator();\r\n\r\nexport default function BranderoEditor({\r\n title,\r\n className,\r\n required,\r\n value,\r\n initialValue,\r\n onChange,\r\n onBlur,\r\n onFocus,\r\n error,\r\n autoCompleteList,\r\n autoCompletePrefix,\r\n hideMarkupButtons,\r\n reduceHeight,\r\n isImageUploadOpen,\r\n imgSet,\r\n}: {\r\n title?: string;\r\n className?: string;\r\n required?: boolean;\r\n value?: string;\r\n initialValue?: string;\r\n onChange?(e: any): void;\r\n onBlur?(e: any): void;\r\n onFocus?(e: any): void;\r\n error?: string;\r\n isImageUploadOpen?: () => void;\r\n autoCompleteList?: string[];\r\n autoCompletePrefix?: string;\r\n hideMarkupButtons?: boolean;\r\n reduceHeight?: boolean;\r\n imgSet?: any;\r\n}) {\r\n const { t } = useTranslation();\r\n const initialLinkData: EditorLink = {\r\n url: \"\",\r\n text: \"\",\r\n newWindow: true,\r\n };\r\n const pasteDataDefault = {\r\n html: \"\",\r\n };\r\n\r\n const [acState, setAcState] = React.useState(null);\r\n const [selectedIndex, setSelectedIndex] = React.useState(0);\r\n const [localState, setLocalState] = React.useState(EditorState.createEmpty(decorator));\r\n const [valueIsLoaded, setLoadingValueState] = React.useState(false);\r\n const [codeAreaValue, setCodeAreaValue] = React.useState(\"\");\r\n const [valueIsChanged, setChangedValueState] = React.useState(false);\r\n const [codeViewActive, setCodeViewState] = React.useState(false);\r\n const [linkModalActive, setLinkModalState] = React.useState(false);\r\n const [isFocused, setFocusState] = React.useState(false);\r\n const [currentLinkData, setCurrentLinkData] = React.useState(initialLinkData);\r\n const [pasteData, setPasteData] = React.useState(pasteDataDefault);\r\n\r\n const editorRef: any = React.createRef();\r\n const editorWrapClassNames = classNames([\r\n \"b-editor__wrap\",\r\n {\r\n \"b-editor__wrap--min-height\": reduceHeight,\r\n \"b-editor__wrap--error\": error,\r\n \"control-error\": error,\r\n [className]: className,\r\n },\r\n ]);\r\n const isUnlinkButtonActive = getSelectionEntity(localState);\r\n const currentEditorBlock = RichUtils.getCurrentBlockType(localState);\r\n const currentStyles = localState.getCurrentInlineStyle();\r\n\r\n const onPasteBefore = () => {\r\n const pasteHelper = document.getElementById(\"paste-helper\");\r\n\r\n pasteHelper.focus();\r\n };\r\n\r\n const onPaste = () => {\r\n const pasteHelper = document.getElementById(\"paste-helper\");\r\n\r\n setTimeout(() => {\r\n setPasteData({\r\n html: pasteHelper.innerHTML,\r\n });\r\n\r\n pasteHelper.innerHTML = \"\";\r\n }, 0);\r\n };\r\n\r\n const onSave = (state: EditorState) => {\r\n const serializedValue = serialize(state);\r\n let valueToSave = serializedValue;\r\n if (valueToSave === \"


    \" || valueToSave.length < 7) {\r\n valueToSave = \"\";\r\n }\r\n //valueToSave = valueToSave.replace(/(<\\/p>)/g, \"


    \");\r\n //valueToSave = valueToSave.replace(/(<\\/div>)/g, \"
    \");\r\n// valueToSave = valueToSave.replace(/(

    <\\/p>)/g, \"


    \");\r\n if (onBlur) {\r\n onBlur(valueToSave);\r\n }\r\n };\r\n\r\n const pasteFilteredHTML = (html: string, editorState?: EditorState, initialLoad?: any) => {\r\n // Remove   spaces from saved html;\r\n const clearedHTML = filterInsertedContent(html);\r\n const pastedState: EditorState = deserialize(clearedHTML);\r\n const filteredState: EditorState = getFilteredState(pastedState);\r\n const decoratedState: EditorState = EditorState.createWithContent(filteredState.getCurrentContent(), decorator);\r\n const currentSelection: SelectionState = editorState.getSelection();\r\n const contentFragment = decoratedState.getCurrentContent().getBlockMap();\r\n const content: ContentState = Modifier.replaceWithFragment(\r\n editorState.getCurrentContent(),\r\n currentSelection,\r\n contentFragment\r\n );\r\n const anchorKey: string = currentSelection.getStartKey();\r\n const length: number = currentSelection.getEndOffset();\r\n const newSelection: SelectionState = new SelectionState({\r\n anchorKey: anchorKey,\r\n anchorOffset: length,\r\n focusKey: anchorKey,\r\n focusOffset: length,\r\n });\r\n let newState: EditorState = EditorState.forceSelection(decoratedState, newSelection);\r\n\r\n newState = EditorState.push(editorState, content, \"insert-fragment\");\r\n\r\n // Workaround for text pasting issue in IE\r\n if (isIE) {\r\n setTimeout(() => {\r\n setLocalState(newState);\r\n }, 500);\r\n\r\n onChange(serialize(decoratedState));\r\n } else {\r\n setLocalState(newState);\r\n }\r\n\r\n // Prevent job saving on initial loading\r\n if (valueIsLoaded) {\r\n onSave(newState);\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n const editor = editorRef.current;\r\n const copySource = registerCopySource(editor);\r\n const editorNode = ReactDOM.findDOMNode(editor as React.ReactInstance) as HTMLElement;\r\n const contentEditable = editorNode.querySelector(\".DraftEditor-root [contenteditable]\");\r\n const pasteHelper = document.getElementById(\"paste-helper\");\r\n\r\n if (isIE) {\r\n contentEditable.addEventListener(\"beforepaste\", onPasteBefore);\r\n pasteHelper.addEventListener(\"paste\", onPaste);\r\n }\r\n\r\n return () => {\r\n copySource.unregister();\r\n\r\n if (contentEditable && pasteHelper) {\r\n contentEditable.removeEventListener(\"beforepaste\", onPasteBefore);\r\n pasteHelper.removeEventListener(\"paste\", onPaste);\r\n }\r\n };\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (value && !valueIsLoaded) {\r\n setLocalState(deserialize(value));\r\n }\r\n }, [value]);\r\n\r\n React.useEffect(() => {\r\n if (autoCompleteList && autoCompletePrefix) {\r\n const newAcState: any = getAutocompleteState(localState, autoCompletePrefix);\r\n\r\n setAcState(newAcState);\r\n }\r\n }, [localState]);\r\n\r\n React.useEffect(() => {\r\n if (initialValue) {\r\n const initialState = deserialize(initialValue);\r\n setLocalState(initialState);\r\n onSave(initialState);\r\n }\r\n }, [initialValue]);\r\n\r\n React.useEffect(() => {\r\n if (valueIsLoaded) {\r\n pasteFilteredHTML(pasteData.html, localState);\r\n }\r\n }, [pasteData]);\r\n\r\n const handleChange = (editorState: EditorState) => {\r\n if (editorState.getLastChangeType() !== \"apply-entity\")\r\n setLocalState(editorState);\r\n };\r\n\r\n const handleFocus = (e) => {\r\n setLoadingValueState(true);\r\n setFocusState(true);\r\n\r\n if (onFocus) {\r\n onFocus(e);\r\n }\r\n };\r\n\r\n const handleBlur = () => {\r\n onSave(localState);\r\n setFocusState(false);\r\n };\r\n\r\n const handleCodeEditorBlur = (e: any) => {\r\n const codeEditorValue = e.target.value;\r\n const newState = deserialize(codeEditorValue);\r\n\r\n if (onBlur) {\r\n onBlur(serialize(newState));\r\n }\r\n };\r\n\r\n const handleKeyCommand = (command: string, editorState: EditorState, eventTimeStamp: number): any => {\r\n const newState = RichUtils.handleKeyCommand(localState, command);\r\n\r\n if (newState) {\r\n setLocalState(newState);\r\n return \"handled\";\r\n }\r\n\r\n return 'not-handled';\r\n };\r\n\r\n const handleCodeEditorChange = (e: any) => {\r\n const codeEditorValue = e.target.value;\r\n\r\n if (!valueIsChanged) {\r\n onChange(codeEditorValue);\r\n setChangedValueState(true);\r\n }\r\n setCodeAreaValue(codeEditorValue);\r\n setLocalState(deserialize(codeEditorValue));\r\n };\r\n\r\n const handlePastedText = (text: string, html?: string, editorState?: EditorState): any => {\r\n if (!isIE) {\r\n const pasteContent = html || text.replace(/\\n/g, \"
    \");\r\n const newState = handleDraftEditorPastedText(pasteContent, editorState);\r\n if (newState) {\r\n setLocalState(newState);\r\n } else {\r\n pasteFilteredHTML(pasteContent, editorState);\r\n }\r\n }\r\n\r\n if (onChange && !isIE) {\r\n onChange(\"\");\r\n }\r\n return true;\r\n };\r\n\r\n const handleInput = (): DraftHandleValue => {\r\n if (!valueIsChanged && onChange) {\r\n onChange(\"\");\r\n\r\n setChangedValueState(true);\r\n }\r\n\r\n return \"not-handled\";\r\n };\r\n\r\n const onSuggestionInsert = (insertState: any) => {\r\n const index = normalizeIndex(insertState.selectedIndex, autoCompleteList.length);\r\n\r\n insertState.text = insertState.trigger + autoCompleteList[index];\r\n\r\n return addSuggestion(insertState);\r\n };\r\n\r\n const onMentionSelect = (elIndex?: number) => {\r\n const index = elIndex || selectedIndex;\r\n\r\n const insertState = getInsertState(index, autoCompletePrefix, localState);\r\n\r\n const newEditorState = onSuggestionInsert(insertState);\r\n\r\n setLocalState(newEditorState);\r\n };\r\n\r\n const onArrow = (e: any, originalHandler: any, nudgeAmount: number) => {\r\n const autoCompleteState = getAutocompleteState(localState, autoCompletePrefix);\r\n\r\n if (!autoCompleteState) {\r\n if (originalHandler) {\r\n originalHandler(e);\r\n }\r\n\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n const newSelectedIndex = selectedIndex + nudgeAmount;\r\n\r\n if (newSelectedIndex >= 0 && newSelectedIndex < autoCompleteList.length) {\r\n setSelectedIndex(newSelectedIndex);\r\n }\r\n };\r\n\r\n const onUpArrow = (e: any) => {\r\n onArrow(e, null, -1);\r\n };\r\n\r\n const onDownArrow = (e: any) => {\r\n onArrow(e, null, 1);\r\n };\r\n\r\n const showLinkModal = (e: any) => {\r\n e.preventDefault();\r\n\r\n const currentData: EditorLink = getCurrentLinkData(localState);\r\n const selectionText: string = getSelectionText(localState);\r\n\r\n if (currentData) {\r\n setCurrentLinkData(currentData);\r\n } else if (selectionText.length) {\r\n setCurrentLinkData({\r\n ...currentLinkData,\r\n text: selectionText,\r\n });\r\n }\r\n\r\n setLinkModalState(true);\r\n };\r\n\r\n const hideLinkModal = () => {\r\n setCurrentLinkData(initialLinkData);\r\n setLinkModalState(false);\r\n };\r\n\r\n const insertLink = (data: EditorLink) => {\r\n const stateWithInsertedLink = getStateWithInsertedLink(localState, data);\r\n\r\n setCurrentLinkData(initialLinkData);\r\n setLocalState(stateWithInsertedLink);\r\n\r\n hideLinkModal();\r\n };\r\n const insertImage = (image: any) => {\r\n if (image?.fileName) {\r\n const stateWithInsertedLink = getStateWithUploadedImage(localState, image);\r\n setLocalState(stateWithInsertedLink);\r\n }\r\n };\r\n const removeLink = () => {\r\n const stateWithRemovedLink = getStateWithRemovedLink(localState);\r\n\r\n setLocalState(stateWithRemovedLink);\r\n };\r\n\r\n const toggleInlineStyle = (e: any) => {\r\n e.preventDefault();\r\n\r\n const newState = RichUtils.toggleInlineStyle(localState, e.currentTarget.name);\r\n\r\n if (onChange) {\r\n onChange(\"\");\r\n }\r\n\r\n setLocalState(newState);\r\n };\r\n\r\n const toggleBlockType = (e: any) => {\r\n e.preventDefault();\r\n\r\n const newState = RichUtils.toggleBlockType(localState, e.currentTarget.name);\r\n\r\n if (onChange) {\r\n onChange(\"\");\r\n }\r\n\r\n setLocalState(newState);\r\n };\r\n\r\n const toggleCodeView = () => {\r\n setCodeViewState(!codeViewActive);\r\n setCodeAreaValue(serialize(localState));\r\n onSave(localState);\r\n };\r\n\r\n const onAutoCompleteSelect = (newIndex: number) => {\r\n onMentionSelect(newIndex);\r\n };\r\n\r\n const commitSelection = (e: any) => {\r\n const autoCompleteState = getAutocompleteState(localState, autoCompletePrefix);\r\n\r\n if (!autoCompleteState) {\r\n return false;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n onMentionSelect();\r\n\r\n return true;\r\n };\r\n\r\n const handleReturn = (e: any) => {\r\n // if (e.keyCode === 13) {\r\n // setLocalState(RichUtils.insertSoftNewline(localState));\r\n // return \"handled\";\r\n // }\r\n if (e.shiftKey) {\r\n setLocalState(RichUtils.insertSoftNewline(localState));\r\n return \"handled\";\r\n }\r\n return commitSelection(e);\r\n };\r\n const mediaBlockStyle = (block) => {\r\n if (block.getType() === \"unstyled\") {\r\n return \"editor-p-space\";\r\n }\r\n };\r\n const onTab = (e: any) => {\r\n // if (e.keyCode === 13 && hasCommandModifier(e)) {\r\n // return \"enter\";\r\n // }\r\n // if (e.nativeEvent.shiftKey && hasCommandModifier(e)) {\r\n // return \"shift-enter\";\r\n // }\r\n\r\n if (e.keyCode === 83 /* `S` key */ && hasCommandModifier(e)) {\r\n return \"myeditor-save\";\r\n }\r\n onDownArrow(e);\r\n onUpArrow(e);\r\n commitSelection(e);\r\n return getDefaultKeyBinding(e);\r\n };\r\n React.useEffect(() => {\r\n insertImage(imgSet);\r\n }, [imgSet]);\r\n function mediaBlockRenderer(block) {\r\n const contentState = localState.getCurrentContent();\r\n // if (block.getType() === \"split-block\") {\r\n // return {\r\n // component: ({ block }) => {\r\n // return
    ;\r\n // },\r\n // editable: false,\r\n // };\r\n // }\r\n if (\r\n block.getType() === \"atomic\" &&\r\n block.length > 0 &&\r\n contentState.getEntity(block.getEntityAt(0)).getType() === \"IMAGE\"\r\n ) {\r\n return {\r\n component: ({ block }) => {\r\n const { src } = contentState.getEntity(block.getEntityAt(0)).getData();\r\n return ;\r\n },\r\n editable: false,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {title}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {!hideMarkupButtons && (\r\n <>\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n
    \r\n isImageUploadOpen()}>\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n mediaBlockRenderer(e)}\r\n //blockStyleFn={mediaBlockStyle}\r\n ref={editorRef}\r\n editorState={localState}\r\n keyBindingFn={onTab}\r\n onChange={handleChange}\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n handleKeyCommand={handleKeyCommand}\r\n handlePastedText={handlePastedText}\r\n handleBeforeInput={handleInput}\r\n handleReturn={handleReturn as any}\r\n />\r\n \r\n
    \r\n {isIE &&
    }\r\n \r\n {codeViewActive && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Base64 } from 'js-base64';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTrashAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport ExpansionPanels, { ExpansionPanel } from '../../../../_shared/ExpansionPanels/ExpansionPanels';\r\nimport { Substitutions } from './Substitutions';\r\nimport { Variables } from './Variables';\r\nimport { ApiService } from '../../../../../../services/apiService';\r\nimport EmailTransform from './MessageHelpers';\r\nimport i18n from '../../../../../../resources/i18n';\r\nimport templates from '../../../../../../resources/email/candidate-template-ids.json';\r\nimport { Utils } from '../../../../../../Utils/Utils';\r\nimport * as MetaDataStore from './../../../../../../store/MetadataStore';\r\nimport {\r\n CandidateListShortModel,\r\n TemplateEmailRequestModel,\r\n Status,\r\n CandidateListFullModel,\r\n OriginalNameFileModel,\r\n DomainFileType,\r\r\n TemplateAttachmentModel\n} from '../../../../../../services/autorest/models';\r\nimport * as CandidateListStore from '../../../../../../store/CandidateListStore';\r\nimport MenuStatusList from '../../../../candidateList/MenuStatusList/MenuStatusList';\r\nimport BranderoEditor from '../../../Controls/BranderoEditor/BranderoEditor';\r\nimport SelectMenu, { SelectMenuOption, SelectMenuGroup } from '../../../Controls/SelectMenu/SelectMenu';\r\nimport CommonInput from '../../../Controls/CommonInput/CommonInput';\r\nimport CommonCheckbox from '../../../Controls/CommonCheckbox/CommonCheckbox';\r\nimport Loader from '../../../Loader/Loader';\r\nimport { Guid } from '../../../../../common/guid';\r\nimport CommonButton from '../../../Controls/CommonButton/CommonButton';\r\nimport { generateUrlLinks } from '../../../../candidateList/CandidateListItems/CandidateListHelpers';\r\nimport DropZoneHelper from '../../../DropZoneHelper/DropZoneHelper';\r\nimport { showErrorSnak, showSuccessSnak } from '../../../../../../store/MetadataStore';\r\nimport { hideModal } from '../../../../../../store/ModalStore';\r\nimport { showConfirmModal } from '../../../CommonModal/CommonModalUtils';\r\nimport { ApplicationState } from '../../../../../../store';\r\nimport Popover from '../../../Popover/Popover';\r\n\r\nimport './assets/CandidateMessageWindow.scss';\r\n\r\nconst substitutionsList = Object.keys(Substitutions).map((key) => Substitutions[key]);\r\n\r\ninterface OwnState {\r\n template: string;\r\n subject: string;\r\n subjectRaw: string;\r\n emailBodyRaw: string;\r\n emailBodySaved: string;\r\n emailHeaderRaw: string;\r\n emailFooterRaw: string;\r\n loading: boolean;\r\n isConfirmed: boolean;\r\n isSending: boolean;\r\n preview: string;\r\n setStatusToo: boolean;\r\n candidatesStatus: Status;\r\n defaultTemplates: any;\r\n userTemplates: any;\r\n userTemplatesNames: any;\r\n userTemplateName: string;\r\n isChanged: boolean;\r\n isTemplateNameValid: boolean;\r\n showTemplateList: boolean;\r\n showStatusMenu: boolean;\r\n messageFiles: OriginalNameFileModel[];\r\n}\r\n\r\ninterface OwnProps {\r\n candidates?: CandidateListShortModel[];\r\n isUnsolisited?: boolean;\r\n jobTitle?: string;\r\n showErrorSnak(message: string): void;\r\n showSuccessSnak(message: string): void;\r\n hideModal(): void;\r\n}\r\nconst SITE_ID = Utils.getSiteID();\r\nconst siteType = Utils.isUserOfirAdvertiser() ? \"_ad\" : \"\";\r\n\r\ntype Props = OwnProps &\r\n typeof MetaDataStore.actionCreators & {\r\n updateCandidateEmailCount(id: string);\r\n updateCandidateStatus(selectedStatus: string, items: CandidateListFullModel[]);\r\n };\r\n\r\nclass CandidateMessageWindow extends Component {\r\n constructor(props: Props) {\r\n super(props);\r\n\r\n //prepare cache\r\n ApiService.getCompanyBySite(SITE_ID);\r\n ApiService.getSiteById(SITE_ID);\r\n\r\n this.state = {\r\n template: '',\r\n subject: '',\r\n subjectRaw: i18n.t('CANDIDATE_LIST_MESSAGE_SUBJECT_PLACEHOLDER'),\r\n emailBodyRaw: '',\r\n emailBodySaved: '',\r\n emailHeaderRaw: '',\r\n emailFooterRaw: '',\r\n loading: false,\r\n isConfirmed: false,\r\n isSending: false,\r\n preview: '',\r\n setStatusToo: false,\r\n candidatesStatus: Status.Rejected,\r\n defaultTemplates: [],\r\n userTemplates: [],\r\n userTemplatesNames: [],\r\n isChanged: false,\r\n userTemplateName: '',\r\n isTemplateNameValid: true,\r\n messageFiles: [],\r\n showTemplateList: false,\r\n showStatusMenu: false\r\n };\r\n }\r\n\r\n public componentDidMount() {\r\n this.getListOfDefaultTemplates();\r\n this.getListOfUserTemplates();\r\n }\r\n\r\n private getListOfDefaultTemplates() {\r\n this.setState({ defaultTemplates: templates[Utils.getLanguage()].filter((x) => x.isUnsolicited === this.props.isUnsolisited) });\r\n }\r\n\r\n private async getListOfUserTemplates() {\r\n setTimeout(async () => {\r\n const loadedTemplates = await ApiService.getEmailTemplatesList();\r\n const sortedTemplates = { ...loadedTemplates };\r\n const names = [];\r\n\r\n sortedTemplates.list = Utils.sortUserTemplatesByUpdateDate(loadedTemplates.list);\r\n\r\n sortedTemplates.list.map((t) => names.push(t.name));\r\n\r\n this.setState({ userTemplates: sortedTemplates.list, userTemplatesNames: names });\r\n }, 500);\r\n }\r\n\r\n private modalClose = () => {\r\n this.setState(\r\n {\r\n template: '',\r\n subject: i18n.t('CANDIDATE_LIST_MESSAGE_SUBJECT_PLACEHOLDER'),\r\n emailBodyRaw: '',\r\n emailHeaderRaw: '',\r\n emailFooterRaw: '',\r\n loading: false,\r\n isConfirmed: false,\r\n isSending: false\r\n },\r\n () => {\r\n this.props.hideModal();\r\n }\r\n );\r\n };\r\n\r\n private getTemplateAttachments = (): TemplateAttachmentModel[] => {\r\n return this.state.messageFiles.map(file => {\r\n const splitted = file.fileGuid.split('.');\r\n return {\r\n id: splitted[0],\r\n name: file.originalName.slice(0, file.originalName.lastIndexOf('.')),\r\n extension: splitted[1]\r\n }\r\n })\r\n }\r\n\r\n private createTemplate = async () => {\r\n const { emailHeaderRaw, emailFooterRaw, userTemplateName, subjectRaw, emailBodySaved } = this.state;\r\n const body = EmailTransform.combineEmailParts([emailHeaderRaw, emailBodySaved, emailFooterRaw]);\r\n const data = {\r\n subject: subjectRaw,\r\n body: body\r\n };\r\n\r\n \r\n\r\n const model = {\r\n templateId: Guid.newGuid(),\r\n siteId: SITE_ID,\r\n data: Base64.encode(JSON.stringify(data)),\r\n name: userTemplateName,\r\n attachments: this.getTemplateAttachments()\r\n };\r\n\r\n await ApiService.addUserTemplate(model);\r\n\r\n this.setState({\r\n isChanged: false,\r\n userTemplateName: ''\r\n });\r\n\r\n this.props.showSuccessSnak(i18n.t('CANDIDATE_LIST_MESSAGE_TEMPLATE_SAVED_TEXT'));\r\n\r\n this.getListOfUserTemplates();\r\n };\r\n\r\n private saveTemplate = async () => {\r\n const { emailHeaderRaw, emailFooterRaw, template, subjectRaw, emailBodySaved, userTemplates } = this.state;\r\n const selectedTemplate = userTemplates.find((item) => {\r\n return item.name === template;\r\n });\r\n\r\n const body = EmailTransform.combineEmailParts([emailHeaderRaw, emailBodySaved, emailFooterRaw]);\r\n const data = {\r\n subject: subjectRaw,\r\n body: body\r\n };\r\n\r\n const model = {\r\n templateId: selectedTemplate.templateId,\r\n siteId: SITE_ID,\r\n data: Base64.encode(JSON.stringify(data)),\r\n name: template,\r\n attachments: this.getTemplateAttachments()\r\n };\r\n\r\n await ApiService.updateUserTemplate(model, selectedTemplate.templateId);\r\n\r\n this.props.showSuccessSnak(i18n.t('CANDIDATE_LIST_MESSAGE_TEMPLATE_SAVED_TEXT'));\r\n\r\n this.getListOfUserTemplates();\r\n };\r\n\r\n private deleteTemplate = async (templateId: string) => {\r\n const { userTemplates } = this.state;\r\n\r\n await ApiService.deleteUserTemplate(templateId);\r\n\r\n // Remove deleted template from current list\r\n const updatedUserTemplates = userTemplates.filter((item) => {\r\n return item.templateId !== templateId;\r\n });\r\n\r\n this.setState({ userTemplates: updatedUserTemplates });\r\n };\r\n\r\n private handleSubjectChange(el: any) {\r\n const { value } = el;\r\n\r\n this.setState({\r\n subjectRaw: value,\r\n isChanged: true\r\n });\r\n }\r\n\r\n private handleChangeTemplateName = (e: any) => {\r\n const { userTemplatesNames } = this.state;\r\n const value = e.target.value;\r\n const isValid = userTemplatesNames.indexOf(value) === -1 ? true : false;\r\n\r\n this.setState({\r\n userTemplateName: value,\r\n isTemplateNameValid: isValid\r\n });\r\n };\r\n\r\n private handleChangeSelect = async (templateName: string) => {\r\n const userTemplate = this.state.userTemplates.filter((t) => t.name === templateName)[0];\r\n\r\n if (templateName === '' || templateName === undefined) {\r\n return;\r\n }\r\n\r\n this.setState({ loading: true, template: templateName });\r\n\r\n if (this.state.userTemplatesNames.indexOf(templateName) > -1) {\r\n try {\r\n console.log(userTemplate.templateId)\r\n const template = await ApiService.getUserTemplate(userTemplate.templateId);\r\n const data = JSON.parse(Base64.decode(template.data));\r\n const parts = EmailTransform.getEmailParts(data.body);\r\n const formattedHTML = Utils.formatEmailHtml(parts.body);\r\n\r\n if (template.attachments) {\r\n this.setState({\r\n messageFiles: template.attachments.map((attachment): OriginalNameFileModel => {\r\n return {\r\n fileGuid: `${attachment.id}.${attachment.extension}`,\r\n originalName: `${attachment.name}.${attachment.extension}`\r\n }\r\n })\r\n });\r\n }\r\n\r\n this.setState({\r\n emailBodyRaw: formattedHTML,\r\n emailHeaderRaw: parts.header,\r\n emailFooterRaw: parts.footer,\r\n subjectRaw: data.subject,\r\n template: templateName,\r\n loading: false,\r\n isChanged: false\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n } else {\r\n try {\r\n const isOfirAdvertiser = Utils.isUserOfirAdvertiser();\r\n const template = await ApiService.getCandidateTemplate(isOfirAdvertiser ? templateName + \"_ad\" : templateName );\r\n const parts = EmailTransform.getEmailParts(template.content);\r\n const defaultStatus = Status[templates[Utils.getLanguage()].filter((x) => x.id === templateName)[0].defaultState] as Status;\r\n const formattedHTML = Utils.formatEmailHtml(parts.body);\r\n this.setState({\r\n emailBodyRaw: formattedHTML,\r\n emailBodySaved: formattedHTML,\r\n emailHeaderRaw: parts.header,\r\n emailFooterRaw: parts.footer,\r\n subjectRaw: template.subject,\r\n template: templateName,\r\n loading: false,\r\n isChanged: false,\r\n candidatesStatus: defaultStatus\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n private handleChangeHtml = (value: string) => {\r\n const formattedBody = value\r\n .replace(/
    <\\/div>/gi, '

    ')\r\n .replace(/

    /gi, '
    ')\r\n .replace(/<\\/h1>/gi, '
    ');\r\n\r\n const emailBodyTemplate = `\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    ${formattedBody}
    \r\n `;\r\n\r\n this.setState({\r\n emailBodySaved: emailBodyTemplate,\r\n isChanged: true\r\n });\r\n };\r\n\r\n private async createPreview() {\r\n const { emailBodySaved, emailFooterRaw, emailHeaderRaw, subjectRaw } = this.state;\r\n\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n const site = await ApiService.getSiteById(SITE_ID);\r\n const candidates = this.props.candidates;\r\n const emailRaw = (emailHeaderRaw + emailBodySaved + emailFooterRaw).replace(/

    <\\/p>/g, \"


    \");\r\n const { jobTitle } = this.props;\r\n\r\n this.setState({\r\n subject: await EmailTransform.replaceSubstitutions(subjectRaw, candidates[0], site, company, jobTitle),\r\n loading: false,\r\n preview: await EmailTransform.replaceSubstitutions(emailRaw, candidates[0], site, company, jobTitle),\r\n isConfirmed: true\r\n });\r\n }\r\n\r\n private handleSend = async () => {\r\n this.setState({ isSending: true });\r\n\r\n const company = await ApiService.getCompanyBySite(SITE_ID);\r\n const site = await ApiService.getSiteById(SITE_ID);\r\n const { messageFiles, subjectRaw, emailHeaderRaw, emailBodySaved, emailFooterRaw } = this.state;\r\n const emailRaw = emailHeaderRaw + emailBodySaved + emailFooterRaw;\r\n const candidates = this.props.candidates;\r\n const emailBody = emailRaw\r\n .replace('