{"version":3,"sources":["img/viva_logo.png","i18n.js","util/constants.js","util/AuthUtils.js","services/api-client.js","components/custom-confirm-alert.js","components/activate_licence.js","components/payment.component.js","components/privateRoute.js","components/wizard/wizard.component.js","components/select-table.js","services/loadCompanies.js","components/modals/choose-company.js","util/commons.js","components/navbar.js","components/login-register-layout.js","pages/login.js","pages/register.js","pages/forgot_password.js","pages/reset_password.js","components/modals/mydata-help.component.js","pages/dashboard.js","pages/profile.js","components/sales/customDateComponent.js","components/templates/template.component.js","components/templates/template-2xa5.component.js","components/templates/therm-printer-template.component.js","components/templates/template-glamour.component.js","components/iframe-component.js","components/iframe-print-template.component.js","components/sales/aggridSalesTooltip.js","locales/gr/aggrid-translation.js","pages/sale-search.js","components/sales/sale-entries.component.js","components/editable-aggrids/line-more-taxes-grid.js","components/sales/sale-entries-extras.component.js","services/loadProducts.js","components/editable-aggrids/sale-more-taxes-grid.js","components/sales/entries.summary.component.js","services/loadSaleInstances.js","services/loadCustomers.js","components/form-layout.js","components/modals/error-details-modal.js","components/sales/sale-add-edit.component.js","pages/sale-add.js","pages/sale-edit.js","pages/customer-search.js","components/editable-aggrids/customer-contacts-grid.js","pages/customer-add.js","pages/admin/user-search.js","pages/admin/user-add.js","pages/product-search.js","components/editable-aggrids/product-classifications-grid.js","components/editable-aggrids/product-more-taxes-grid.js","pages/product-add.js","components/editable-aggrids/company-branches-grid.js","components/modals/mydata-subscription-modal.js","pages/company-add.js","pages/company-search.js","components/editable-aggrids/invoicetype-series-grid.js","components/editable-aggrids/invoicetype-classifications-grid.js","pages/invoicetype-add.js","pages/invoicetype-search.js","components/sales/invoice-simple-view.component.js","pages/viewinvoice.js","pages/accountant-assignment.js","pages/template-designer.js","pages/template-search.js","components/sales/aade-transmitted-docs.js","components/sales/aade-request-docs.js","pages/aade-sales-search.js","pages/aade-sale-search-bymark.js","pages/company-incomes.js","pages/pre-sale-search.js","pages/sale-grouped-search.js","pages/company-business-card.js","components/editable-aggrids/company-deductions-grid.js","pages/company-deduction.js","components/editable-aggrids/product-category-classifications-grid.js","pages/product-category-add.js","pages/product-category-search.js","pages/viva-redirect.js","pages/notfound.js","pages/swagger.js","components/choosepackage.js","components/startSubscription.js","services/OAuth2RedirectHandler.js","components/CheckoutForm.js","pages/stripe-payment.js","components/stripe-payment-status.js","pages/stripe-payment-complete.js","components/error.js","components/main-layout.js","App.js","serviceWorker.js","index.js","img/timologic_login.png","img/viva_footer.png","img/default.png","img/timologic.png","img/logo-empty.png","img/mydata.png","img/logo_timologic_confirm.png","img/profile.png","img/fb-logo.png","img/google-logo.png","img/apple-logo.png","img/mydata_help1.jpg","img/mydata_help2.jpg","img/mydata_help3.jpg","img/mydata_help4.jpg","img/mydata_help6.jpg","img/mydata_help7.jpg","img/mydata_help8.jpg","img/mydata_help5.jpg"],"names":["module","exports","resources","gb","translation","gr","al","i18n","use","LanguageDetector","initReactI18next","init","fallbackLng","react","useSuspense","interpolation","escapeValue","_SRV_BASE_URL","_OAUTH2_REDIRECT_URI","SRV_BASE_URL","API_BASE_URL","GOOGLE_AUTH_URL","FACEBOOK_AUTH_URL","APPLE_AUTH_URL","VIVA_VIEW_TRANSACTION","RECAPTCHA_KEY","STRIPE_PUBLISHABLE_KEY","CHECKOUT_REDIRECT_URI","request","options","headers","Headers","localStorage","getItem","append","defaults","Object","assign","fetch","url","then","response","json","ok","Promise","reject","authHeader","contentType","Authorization","getCurrentUser","method","login","loginRequest","body","JSON","stringify","logout","removeItem","API_URL","forageStore","localforage","createInstance","driver","INDEXEDDB","LOCALSTORAGE","memoryDriver","_driver","name","a","defineDriver","setup","baseURL","timeout","cache","maxAge","store","invalidate","config","clearCacheEntry","console","error","fullUrl","instance","axios","create","id","get","delete","object","post","pageObject","encodeURIComponent","companyId","productId","categoryId","mark","mydataInvoiceType","asCounterpart","customerId","taxpayerId","customerName","prefix","invoiceTypeId","branchId","isCredit","expenses","series","invType","invoiceUid","responseType","deductions","AFMcalledfor","calledByAfm","transaction","inEU","configure","packId","transactionId","formData","file","userId","token","vatNumber","email","userName","template","key","requestObject","CustomConfirmAlert","onConfirm","confirmAlert","customUI","onClose","obj","className","style","maxWidth","src","logo_confirm","width","height","title","header","message","submessage","buttons","btns","counter","forEach","btn","clsname","keyName","push","onClick","label","renderButtons","ActivateLicenceForm","props","useState","licenceKey","setLicenceKey","t","useTranslation","role","onSubmit","event","preventDefault","ApiClient","activateUserByLicenceKey","data","log","toast","success","setTimeout","window","location","reload","resMessage","toString","type","placeholder","value","onChange","target","inputName","inputValue","required","Paymemnt","useForm","register","formState","errors","getValues","history","useHistory","showLicenceKeyModal","setShowLicenceKeyModal","useEffect","undefined","setItem","user","companies","length","errorOnPayment","autoClose","catch","createOrder","e","paymentMethod","document","getElementById","createReccuringPaymentOrder","Success","OrderCode","createPaymentOrder","choosePackageContainer","data-aos","data-bs-toggle","data-bs-target","aria-controls","aria-selected","aria-labelledby","data-aos-delay","alt","MyDataLogo","defaultValue","href","VivaFooter","Modal","centered","show","keyboard","Header","Title","Body","Footer","paymentContainer","createUserTransaction","resp","ErrorText","createVivaOrder","parse","closeOnEscape","closeOnClickOutside","cancelSubscription","noActionContainer","goBack","lastTransactionDate","userStatus","PrivateRoute","Component","component","rest","authenticated","render","to","pathname","state","from","search","Wizard","forwardRef","ref","control","trigger","clearErrors","setValue","blockuiLoading","setBlockuiLoading","content","setContent","fetchTaxisInfoExplanationMessVisible","setFetchTaxisInfoExplanationMessVisible","detectMobile","useMobileDetect","useImperativeHandle","getErrors","getMyDataInvoiceTypes","element","_enumVal","replace","postfix","myDataKey","myDataInvoiceTypes","getCompanyView","tos","taxOffices","updateInvType","vals","update","translateMyDataInvoiceTypes","types","optionspaymentTypes","tag","blocking","padding","maxLength","interactive","placement","isDesktop","visible","backgroundColor","marginLeft","cursor","color","checkAfm","res","rgWsPublicAfmMethodResponse","pErrorRec_out","errorCode","errorDescr","basic_rec","RgWsPublicBasicRt_out","firm_act_tab","arrayOfRgWsPublicFirmActRt_out","onomasia","address","postalAddress","postalAddressNo","trim","Array","isArray","RgWsPublicFirmActRtUser","firmActDescr","postalZipCode","postalAreaDescription","doy","doyDescr","autoComplete","field","rules","taxOffice","subjectField","isMulti","inputId","myDataInvoiceType","formatOptionLabel","context","keys","filter","item","tifOptions","asyncPaginate","columns","map","col","flex","asLabel","getOptionLabel","option","str","k","MenuList","components","CustomMenuList","selectProps","headerElement","footer","index","classname","icon","defaultAdditional","page","getWidth","CreatableAsyncPaginate","withAsyncPaginate","CreatableSelect","SelectTable","selectedOption","handleChange","onChangeValue","hangleInputChange","input","onInputChange","hangleOnBlur","onBlur","setState","prevState","select","hangleAsyncInputChange","selectRef","React","createRef","this","createTable","selectedValue","loadOptions","q","prevOptions","additional","loadOptionsOnMenuOpen","styles","menu","provided","border","zIndex","indicatorsContainer","fontSize","isClearable","openOnFocus","menuIsOpen","isOpen","maxMenuHeight","wrapMenuList","onKeyDown","isDisabled","current","minWidth","_data","countData","loadCompanyOptions","simpleColumnFilters","column","filterType","getCompanyPage","result","objectList","_d","model","hasMore","Math","ceil","loadPageOptions","loadCompaniesOptions","ChooseCompany","selectedCompany","setSelectedCompany","jsonComp","taxid","showCompanyModal","dialogClassName","onHide","handleCloseCompanyModal","backdrop","getCompany","loading","Date","getTime","Button","variant","defs","number","Intl","NumberFormat","minimumFractionDigits","format","parseFloat","toFixed","currency","getDefaults","group","includes","cname","cvalue","exdays","d","setTime","expires","toUTCString","cookie","ca","decodeURIComponent","split","i","c","charAt","substring","indexOf","invtype","pt","navigator","platform","userAgent","prop","prototype","hasOwnProperty","call","invoiceDetails","saleEntries","classifications","saleEntryClassifications","classificationCategory","classificationType","classificationValue","lineNumber","netValue","priceWithoutVat","vatAmount","priceWithVat","measurementUnit","incomeClassification","invoice","uid","issuer","company","country","issuerCountry","counterpart","customerTaxPayerId","customerCountry","alpha2","invoiceHeader","invoiceType","aa","invoiceNumber","paymentMethods","paymentMethodDetails","getPaymentTypeUid","paymentType","amount","totalPayment","MainNavBar","showWizard","setShowWizard","setShowCompanyModal","wizardRef","useRef","newNotifications","setNewNotifications","expanded","setExpanded","urlShowWizard","URLSearchParams","adminMenu","managerMenu","paymenu","updateUserIsOnNotifyState","userJson","isOnNotifyState","usr","wizard","Nav","Item","Link","class","language","changeLanguage","NavDropdown","active","as","open","User","LanguageDropDown","svg","countryCode","toUpperCase","lineHeight","Navbar","fixed","bg","expand","Container","fluid","Brand","parent","postMessage","LogoEmpty","Logo","Toggle","go","Collapse","activeKey","paddingRight","borderRadius","imageUrl","pflogo","values","isEmpty","branch","branchNumber","branches","saveCompany","savedCompany","invoiceTypes","startNumber","SaveBulkInvoiceTypeWithSeries","UpdateUserWizard","Commons","setDefault","SaveChanges","SocialLogin","agent","display","singleSignInAction","provider","googleLogo","fbLogo","appleLogo","LoginRegisterLayout","changeLang","lang","toLowerCase","setColor","logo","children","aria-label","LoginForm","setEmail","password","setPassword","setLoading","alert","useAlert","handleInputChange","loginResp","accessToken","cleanCookies","Login","URL","searchParams","marginTop","myDATALogo","aff","getRegisterUrl","SignupForm","recaptchaRef","setName","acceptTerms","setAcceptTerms","signupRequest","recaptchaValue","getValue","signUpRequest","captcha","affiliate","roles","minLength","sitekey","termsAccepted","checked","removeAttribute","setAttribute","size","hl","disabled","Register","getLoginUrl","ForgotPasswordForm","resetPassword","ForgotPassword","ResetPasswordForm","useParams","repassword","setRepassword","resetPassRequest","changePassword","status","ResePassword","MyDataHelpModal","showHelpMyData","setShowHelpMyData","close","scrollable","mydata_help1","mydata_help2","mydata_help3","mydata_help4","mydata_help6","mydata_help7","mydata_help8","Dashboard","refMyDataHelp","notifications","setNotifications","hiddenTotals","setHiddenTotals","chartCardContainer1","chartCardContainer2","totalsLastMonth","avePricePerDay","comp","_ht","hideTotals","getCompanyDashboard","totalWithVat","averageLasMonthPerDay","companyName","countSaleInstances","countProducts","countCustomers","chartData","chartMonthData","userRemainingDays","getNotifications","els","specialEl","myDataHelpInfo","cls","linkhere","link","mess","el","_href","myDataUserId","myDataToken","float","faIcon","currentTarget","querySelector","getAttribute","innerHTML","ResponsiveContainer","BarChart","margin","top","left","right","bottom","XAxis","dataKey","YAxis","v","totals","allowDataOverflow","domain","dataMax","Tooltip","Legend","Bar","barSize","fill","marginRight","maxHeight","LineChart","CartesianGrid","strokeDasharray","totalsPerDay","Line","stroke","ActionsRenderer","refresh","params","rowNode","agGridReact","api","getRowNode","rowIndex","focus","ActionsViewInvoiceRenderer","DateRenderer","val","setVal","moment","Profile","currentUser","setCurrentUser","rowData","setRowData","userInvoicesRowData","setUserInvoicesRowData","gridApi","setGridApi","getUserTransactions","getUserInvoicesFromTimologic","onGridReady","addEventListener","onQuickFilterChanged","setQuickFilter","apiKey","x","Tabs","defaultActiveKey","Tab","eventKey","pagination","paginationPageSize","frameworkComponents","dateRenderer","actionsViewInvoiceRenderer","headerName","cellRenderer","sortable","actionsRenderer","cancelAccount","date","setDate","picker","setPicker","refFlatPickr","refInput","getDate","setInputPlaceholder","setInputAriaLabel","position","dateFormat","selected","onDateChanged","QRCode","require","TemplateComponent","createEntries","entries","rows","diff","sort","b","emptyEnries","emptyEntry","NAME_LIST","QUANTITY_LIST","MU_LIST","UP_LIST","DISCOUNT","VAT_LIST","PRICE_NOVAT_LIST","PRICE_LIST","concat","entry","row","sale","isOnGroup","MYDATA_INVOICE_TYPE","lng","TEMPLATE_LANG","qrcodeValue","host","getLogo","now","createPage","floor","random","LOGO","ISSUER_NAME","ISSUER_SUBJECTFIELD","ISSUER_ADDRESS","ISSUER_VAT","ISSUER_DOY","ISSUER_GEMH","ISSUER_PHONE","ISSUER_EMAIL","INVOICE_TYPE","INVOICE_NUMBER","INVOICE_DATE","CP_NAME","CP_VAT","CP_SUBJECT_FIELD","CP_TAXOFFICE","CP_PAYTYPE","COUNTRY","CP_CITY","CP_ADDRESS","MOVE_PURPOSE","LOADING_ADDRESS","VEHICLE_NUMBER","DISPATCH_DATE","DELIVERY_ADDRESS","SENDER_NAME","SENDER_TAXPAYER_ID","RECIPIENT_NAME","RECIPIENT_TAXPAYER_ID","NOTES","bgColor","fgColor","level","includeMargin","renderAs","QRURL","INVOICEUID","saleInstanceMoreTaxes","createMoreTaxesTable","WITHHOLD_TAXES","TOTALWHTAXES","OTHER_TAXES","TOTALOTHERTAXES","FEES","TOTALFEESTAXES","STUMP_DUTY","TOTALSTUMPOFDUTYTAXES","DEDUCTION","TOTALDEDUCTIONTAXES","VAT_EXCEPTION_CATEGORIES","MOREINFO","TOTALCOUNTITEMS","TOTALNODISCOUNT","TOTALDISCOUNT","TOTALVAT","TOTALTAXES","TOTALPAYMENT","CURRENCY","TOTALPAYMENT_ON_CURRENCY","textAlign","IBAN","CORRELATIVE_INVOICE","INVOICEMARK","CANCELATIONMARK","createPages","j","groupEntries","pages","INVOICE_ENTRIES","slice","groupSale","getMainStyle","mainStyle","getExtraCss","extracss","myDataMoreTax","localeCompare","deduction","TAX","rel","Template2xA5Component","getCompanyLogo","_comp","logoPath","createInvoiceBox","SEND_PLACE","GlamourTemplateComponent","colSpan","IFrame","mountNode","setContentRef","contentRef","contentWindow","handleOnLoad","contentDocument","onLoad","createPortal","IframePrintTemplate","templateRef","printSale","setPrintSale","_print","print","cw","Android","runPrintJob","documentElement","Apple","getTaxByType","taxType","getPrintSale","vatExceptions","vatCategoryException","withHoldTax","otherTax","otherTaxCategory","stumpOfDutyTax","feesTax","vatExceptionsUnique","array","printentries","countitems","node","product","quantity","printentry","formatNumber","unitPrice","discount","WHTAXES","taxes","amountValue","vat","_ser_lbl","_city","city","_postalcode","postalCode","_customerAddressNumber","addressNumber","_customerAddress","fulladdress","loadingAddressStreet","deliveryAddressStreet","loadingAddressNumber","deliveryAddressNumber","loadingAddressCity","deliveryAddressCity","loadingAddressPostalCode","deliveryAddressPostalCode","templateLang","gemh","phone","vehicleNumber","customer","CP_CODE","code","invoiceDate","INVOICE_TIME","totalWithoutDiscount","TOTALWITHOUTVAT","totalWithoutVat","TOTALWITHVAT","formatNumberEuro","totalDiscount","notes","sendPlace","totalOtherTaxes","totalDeductionsTaxes","totalWithHoldTaxes","totalFeesTaxes","totalStumpOfDutyTaxes","rate","senderName","senderTaxPayerId","recipientName","recipientTaxPayerId","correlativeSale","iban","moreInfo","qrUrl","movePurpose","dispatchDate","pop","getPrintSale2","CODE","productCode","myDataWithHoldTaxes","customerCity","customerPostalCode","cancelmark","cancellationMark","customerAddressNumber","customerAddress","issuerSubjectField","issuerEmail","issuerPhone","branchAddress","customerCode","taxOfficeName","exchangeRate","correlativeSaleInstance","getPrintDesign","psale","printFrame","saveAsPDF","docbody","dochead","head","html2canvas","canvas","imgData","toDataURL","pdf","jsPDF","addImage","blob","output","File","save","_sendEmailWithAttachement","contacts","callback","FormData","sendInvoiceEmailWithAttachment","_sendEmail","sendInvoiceEmail","mainColor","secondaryColor","appFont","reactContainer","classList","add","useMemo","getDisplayedRowAtIndex","cancelationMark","AG_GRID_LOCALE_GR","selectAll","selectAllSearchResults","addCurrentSelectionToFilter","searchOoo","blanks","noMatches","filterOoo","equals","notEqual","blank","notBlank","empty","lessThan","greaterThan","lessThanOrEqual","greaterThanOrEqual","inRange","inRangeStart","inRangeEnd","contains","notContains","startsWith","endsWith","dateFormatOoo","before","after","andCondition","orCondition","applyFilter","resetFilter","clearFilter","cancelFilter","textFilter","numberFilter","dateFilter","setFilter","groupFilterSelect","advancedFilterContains","advancedFilterNotContains","advancedFilterTextEquals","advancedFilterTextNotEqual","advancedFilterStartsWith","advancedFilterEndsWith","advancedFilterBlank","advancedFilterNotBlank","advancedFilterEquals","advancedFilterNotEqual","advancedFilterGreaterThan","advancedFilterGreaterThanOrEqual","advancedFilterLessThan","advancedFilterLessThanOrEqual","advancedFilterTrue","advancedFilterFalse","advancedFilterAnd","advancedFilterOr","advancedFilterApply","advancedFilterBuilder","advancedFilterValidationMissingColumn","advancedFilterValidationMissingOption","advancedFilterValidationMissingValue","advancedFilterValidationInvalidColumn","advancedFilterValidationInvalidOption","advancedFilterValidationMissingQuote","advancedFilterValidationNotANumber","advancedFilterValidationInvalidDate","advancedFilterValidationMissingCondition","advancedFilterValidationJoinOperatorMismatch","advancedFilterValidationInvalidJoinOperator","advancedFilterValidationMissingEndBracket","advancedFilterValidationExtraEndBracket","advancedFilterValidationMessage","advancedFilterValidationMessageAtEnd","advancedFilterBuilderTitle","advancedFilterBuilderApply","advancedFilterBuilderCancel","advancedFilterBuilderAddButtonTooltip","advancedFilterBuilderRemoveButtonTooltip","advancedFilterBuilderMoveUpButtonTooltip","advancedFilterBuilderMoveDownButtonTooltip","advancedFilterBuilderAddJoin","advancedFilterBuilderAddCondition","advancedFilterBuilderSelectColumn","advancedFilterBuilderSelectOption","advancedFilterBuilderEnterValue","advancedFilterBuilderValidationAlreadyApplied","advancedFilterBuilderValidationIncomplete","advancedFilterBuilderValidationSelectColumn","advancedFilterBuilderValidationSelectOption","advancedFilterBuilderValidationEnterValue","filters","pivotMode","groups","rowGroupColumnsEmptyMessage","valueColumnsEmptyMessage","pivots","pivotColumnsEmptyMessage","rowDragRow","rowDragRows","loadingOoo","loadingError","noRowsToShow","enabled","pinColumn","pinLeft","pinRight","noPin","valueAggregation","noAggregation","autosizeThiscolumn","autosizeAllColumns","groupBy","ungroupBy","ungroupAll","addToValues","removeFromValues","addToLabels","removeFromLabels","resetColumns","expandAll","collapseAll","copy","ctrlC","ctrlX","copyWithHeaders","copyWithGroupHeaders","cut","paste","ctrlV","export","csvExport","excelExport","sum","first","last","min","max","none","count","avg","filteredRows","selectedRows","totalRows","totalAndFilteredRows","more","of","pageLastRowUnknown","nextPage","lastPage","firstPage","previousPage","pageSizeSelectorLabel","pivotColumnGroupTotals","pivotChartAndPivotMode","pivotChart","chartRange","columnChart","groupedColumn","stackedColumn","normalizedColumn","barChart","groupedBar","stackedBar","normalizedBar","pieChart","pie","doughnut","line","xyChart","scatter","bubble","areaChart","area","stackedArea","normalizedArea","histogramChart","histogramFrequency","combinationChart","columnLineCombo","AreaColumnCombo","pivotChartTitle","rangeChartTitle","settings","categories","defaultCategory","xyValues","paired","axis","thickness","xType","automatic","category","time","autoRotate","xRotation","yRotation","ticks","spacing","chart","titlePlaceholder","background","font","labels","minSize","maxSize","legend","markerSize","markerStroke","markerPadding","itemSpacing","itemPaddingX","itemPaddingY","layoutHorizontalSpacing","layoutVerticalSpacing","strokeWidth","lineDash","offset","offsets","tooltips","callout","markers","shadow","blur","xOffset","yOffset","lineWidth","normal","bold","italic","boldItalic","predefined","fillOpacity","strokeOpacity","histogramBinCount","columnGroup","barGroup","pieGroup","lineGroup","scatterGroup","areaGroup","histogramGroup","combinationGroup","groupedColumnTooltip","stackedColumnTooltip","normalizedColumnTooltip","groupedBarTooltip","stackedBarTooltip","normalizedBarTooltip","pieTooltip","doughnutTooltip","lineTooltip","groupedAreaTooltip","stackedAreaTooltip","normalizedAreaTooltip","scatterTooltip","bubbleTooltip","histogramTooltip","columnLineComboTooltip","areaColumnComboTooltip","customComboTooltip","noDataToChart","pivotChartRequiresPivotMode","chartSettingsToolbarTooltip","chartLinkToolbarTooltip","chartUnlinkToolbarTooltip","chartDownloadToolbarTooltip","seriesChartType","seriesType","secondaryAxis","ariaAdvancedFilterBuilderItem","ariaAdvancedFilterBuilderItemValidation","ariaAdvancedFilterBuilderList","ariaAdvancedFilterBuilderFilterItem","ariaAdvancedFilterBuilderGroupItem","ariaAdvancedFilterBuilderColumn","ariaAdvancedFilterBuilderOption","ariaAdvancedFilterBuilderValueP","ariaAdvancedFilterBuilderJoinOperator","ariaAdvancedFilterInput","ariaChecked","ariaColumn","ariaColumnGroup","ariaColumnFiltered","ariaColumnSelectAll","ariaDateFilterInput","ariaDefaultListName","ariaFilterColumnsInput","ariaFilterFromValue","ariaFilterInput","ariaFilterList","ariaFilterToValue","ariaFilterValue","ariaFilterMenuOpen","ariaFilteringOperator","ariaHidden","ariaIndeterminate","ariaInputEditor","ariaMenuColumn","ariaRowDeselect","ariaRowSelectAll","ariaRowToggleSelection","ariaRowSelect","ariaSearch","ariaSortableColumn","ariaToggleVisibility","ariaToggleCellValue","ariaUnchecked","ariaVisible","ariaSearchFilterValues","ariaPageSizeSelectorLabel","ariaRowGroupDropZonePanelLabel","ariaValuesDropZonePanelLabel","ariaPivotDropZonePanelLabel","ariaDropZoneColumnComponentDescription","ariaDropZoneColumnValueItemDescription","ariaDropZoneColumnGroupItemDescription","ariaDropZoneColumnComponentAggFuncSeparator","ariaDropZoneColumnComponentSortAscending","ariaDropZoneColumnComponentSortDescending","ariaLabelColumnMenu","ariaLabelCellEditor","ariaLabelDialog","ariaLabelSelectField","ariaLabelRichSelectField","ariaLabelTooltip","ariaLabelContextMenu","ariaLabelSubMenu","ariaLabelAggregationFunction","ariaLabelAdvancedFilterAutocomplete","ariaLabelAdvancedFilterBuilderAddField","ariaLabelAdvancedFilterBuilderColumnSelectField","ariaLabelAdvancedFilterBuilderOptionSelectField","ariaLabelAdvancedFilterBuilderJoinSelectField","ariaColumnPanelList","ariaFilterPanelList","thousandSeparator","decimalSeparator","true","false","invalidDate","invalidNumber","january","february","march","april","may","june","july","august","september","october","november","december","COMPANY","AllFieldsRenderer","borderClass","setBorderClass","addcls","inconsistencyIcon","hasInconsistency","seriesNumber","fontStyle","LineInfoRenderer","MarkRenderer","setMark","setCancellationMark","markCell","SeriesNumberRendener","setSeriesNumber","seriesElement","setSeriesElement","setActionElement","getTemplateSettings","_template","_temp","css","colDef","cellRendererParams","setTemplate","saleInstance","debug","onClickPrint","showEmailModal","findCompanyCustomerContacts","_contacts","_company","accountantEmail","opts","setShowEmailModal","setCustomerContacts","setLineData","goToPublic","hangleEdit","canceled","cancelMenu","MenuItem","blockUi","cancelMyDataInvoice","statusCode","cancelMark","_htm","setDataValue","actionel","Menu","menuButton","MenuButton","transition","refreshInfiniteCache","publishMenu","TooltipRenderer","data-tip","data-for","data-bs-placement","DateRendener","_date","_time","styleDate","actionElement","handleCancel","publishCredit","SaleSearch","setCurrentPage","fastFilter","setFastFilter","sendEmailIsDisabled","setSendEmailIsDisabled","setSelectedContactValue","customerContacts","selectedCustomerContacts","setSelectedCustomerContacts","lineData","iframePrintTemplate","innerHeight","sheight","setSheight","sendPaymentLink","setSendPaymentLink","setDismissSalesAlert","touchStart","setTouchStart","touchEnd","setTouchEnd","startDate","setStartDate","endDate","setEndDate","focusedInput","setFocusedInput","aggridLocal","setAggridLocal","block","getPageObject","pageNo","paginationGetCurrentPage","sortBy","order","filterModel","getFilterModel","columnController","columnApi","getColumnState","colId","dateFrom","dateTo","searchOperator","concatWith","getRowData","showLoadingOverlay","getCompanySaleInstancesPage","newSaleInstances","successCallback","totalElements","showNoRowsOverlay","hideOverlay","dataSource","getRows","mounted","timer1","setDatasource","clearTimeout","dismissSalesAlert","AG_GRID_LOCALE_EN","onPaginationChanged","currentPage","dateFormatter","onChangeContact","onInputChangeContact","action","saleClone","pdfDownload","exportCompanySalesToExcel","createObjectURL","Blob","createElement","appendChild","click","small","daySize","startDateId","endDateId","isOutsideRange","withPortal","withFullScreenPortal","onDatesChange","setFilterModel","orientation","onFocusChange","animateRows","suppressRowTransform","seriesNumberRendener","markRenderer","dateRendener","tooltipRenderer","agDateInput","CustomDateComponent","lineInfoRenderer","aggridSalesTooltip","AggridSalesTooltip","overlayNoRowsTemplate","overlayLoadingTemplate","localeText","rowModelType","cacheBlockSize","gridOptions","suppressMenuHide","defaultColDef","resizable","wrapText","suppressMovable","autoHeight","icons","hide","filterParams","valueFormatter","inRangeInclusive","tooltipField","onTouchStart","targetTouches","clientX","onTouchMove","onTouchEnd","lastpage","paginationGetTotalPages","distance","isRightSwipe","paginationGoToPage","suppressCellSelection","allFieldsRenderer","rowHeight","tooltipHideDelay","enableBrowserTooltips","suppressHorizontalScroll","place","effect","customerContact","contactEmails","customeName","contact","getContactEmails","ps","initRowData","setDisabled","countDisplayedRows","getDisplayedRowCount","forEachNode","splice","onRemoveRow","doubleValRenderer","_val","MyDataMoreTaxesTypeRenderer","mu","setMU","MyDataMoreTaxesTypeEditor","selectedVal","setSelectedVal","editing","refContainer","isPopup","stopEditing","container","ReactDOM","findDOMNode","onSelectChange","old_val","typeTaxes","moreTaxesOptions","reduce","r","new_type_options","isSubtracted","actualWidth","onMouseOver","parentNode","getElementsByTagName","autosize","MoreTaxesRenderer","MoreTaxesEditor","rowTotals","_amountVal","myDataMoreTaxes","AmountEditor","MoreTaxesGrid","setGridColumnApi","setHasError","transformData","moreTaxesTypesOptions","myDataMoreTaxesOptions","newData","cats","groupTaxes","fel","myDataMoreTaxesTypes","getData","items","_items","setData","toastId","moreTaxes","rowStyle","getRowStyle","rowModel","rowsToDisplay","nodeData","global","onCellValueChanged","nodeIndex","newValue","ensureIndexVisible","addRow","isActive","stopEditingWhenGridLosesFocus","borders","singleClickEdit","skipHeaderOnAutoSize","myDataMoreTaxesTypeRenderer","myDataMoreTaxesTypeEditor","moreTaxesRenderer","moreTaxesEditor","amountEditor","editable","cellEditor","IncomingClassCategoryTypeRenderer","IncomingClassCategoryTypeEditor","classificationValues","lbl","IncomingClassValueTypeRenderer","IncomingClassValueTypeEditor","SaleEntriesExtra","handleSubmit","reset","initRowTotals","setInitRowTotals","classTotals","setClassTotals","prodMoreTaxesGridRef","getRowsTotals","moretaxesData","taxesItems","emptyRow","isPercent","extraRowData","extraTaxes","_taxes","isNanAmount","isNaN","parseInt","total","isInvoice00_1","setRowTotalsConstraintDisplay","incomingClassValueTypeRenderer","incomingClassValueTypeEditor","incomingClassCategoryTypeRenderer","incomingClassCategoryTypeEditor","incomeClassCategories","optionVatExceptionCategories","loadProductOptions","getCompanyProductsPage","onShowExtra","intValRenderer","precision","MURenderer","MUEditor","VatRenderer","setVat","VatEditor","ProductRenderer","setRowNodeDataValue","setProduct","price","pmt","productMoreTaxes","_vatCategoryException","unitPriceWithVat","ProductEditor","editNew","setEditNew","loadProductsPageOptions","keyCode","stopPropagation","dismiss","_pro","_vat","SaleEntries","showExtra","setShowExtra","extraRowIndex","setExtraRowIndex","setExtraRowData","setExtraTaxes","setVatCategoryException","hasError","refSalesExtraEntries","setRowTotals","rowTotalsMess","setRowTotalsMess","rowTotalsConstraintDisplay","newdata","gridOptionsWrapper","getNotes","clearData","description","reCalculateTotals","getNewExtraLineFields","nf","new_extralineFields","extraLineFields","nfjson","percentAmount","getExtraRowTotals","totalRowAmount","rowamount","lineprice","addDefaultClassifications","rowdata","invoiceClassCategories","_extraLineFields","label1","label2","_amount","selfPricing","handleCloseExtra","nodes","sizeColumnsToFit","isValid","colid","vatamount","extraRowTotals","warn","clearWaitingQueue","productClassifications","_classData","productClassification","onCellEditingStarted","selectedInvoiceType","stopEditingWhenCellsLoseFocus","productRenderer","productEditor","vatRenderer","vatEditor","muRenderer","muEditor","headerClass","products","suppressKeyboardEvent","suppressEnter","headerComponentParams","headerTooltip","measurementUnits","vats","cellStyle","_quantity","_totalsum","elf","cl","vatCategoryExceptions","otherTaxesOptions","otherTaxes","withHoldTaxesOptions","withHoldTaxes","deleteCompanySaleMoreTaxes","allTaxes","EntriesSummary","refContainerTotals","totalWithDiscount","totalvat","setTotals","calculate","saletaxes","_totalWithoutDiscount","_totalWithDiscount","_totalWithoutVat","_totalWithVat","totalVirtualWithHoldTaxes","totalVirtualDeductionsTaxes","_quant","rowPrice","_calcAmount","Number","totalTaxes","totalVirtualTaxes","_totals","updateUI","getElementsByClassName","container2","container3","onUpdateComplete","calculateAndUpdateUI","html","saleinstanceByinvoiceTypePage","loadCustomerOptions","getCompanyCustomersPage","FormTemplate","showIcon","headerRightContent","ErrorDetailsModal","setShow","setCode","setMess","setBody","cardBody573","loadSaleInstancesOptions","loadCustomerPageOptions","loadCustomersOptions","SalesAddEdit","customers","selectInputRef","refSalesEntries","salesLeft","setSalesLeft","setDispatchDate","mydata","setMyData","editMark","setEditMark","customerRequired","setCustomerRequired","addressRequired","setAddressRequired","correlativeSales","setCorrelativeSales","suggestedInClassCatsOfInvType","setSuggestedInClassCatsOfInvType","suggestedInvoiceClassCatsOfInvType","setSuggestedInvoiceClassCatsOfInvType","selectedContacts","setSelectedContacts","selfPricingChecked","setSelfPricingChecked","inputCustomerValue","setCustomerInputValue","customerValue","setCustomerValue","setMoreTaxesTypesOptions","DefaultCountry","setDefaultCountry","countryDisabled","isDeliverMandatory","setIsDeliverMandatory","isLoadingMandatory","setIsLoadingMandatory","customerHidden","transportInfoDisplay","setTransportInfoDisplay","entriesHidden","setEntriesHidden","otherTaxHidden","setOtherTaxHidden","otherTaxRequired","setOtherRequired","setIsInvoice00_1","sosMessage","setSosMessage","setMoreTaxesOptions","setOtherTaxesOptions","saleMoreTaxesGridRef","refEntriesSummary","collapsed","initiallyCollapsed","setInitiallyCollapsed","initiallyCollapsedMore","setInitiallyCollapsedMore","initiallyCollapsedDeliveryMore","setInitiallyCollapsedDeliveryMore","isDeliveryNoteDisable","setIsDeliveryNoteDisable","SELECTED_COMPANY","onEditDisabled","setOnEditDisabled","dismissSalesEditAlert","setDismissSalesEditAlert","isPreSale","defcountry","selectedTemplateLanguage","setSelectedTemplateLanguage","refErrorDetailsModal","validationSchema","Yup","shape","nullable","maxlength","transform","curr","orig","otherTaxAmount","resolver","yupResolver","subject","contactName","vivaQuickPay","stripeAccountID","afterPrintProcess","prepareSale","_sale","saleEntry","isInteger","prodClass","getProductClassificationOfInvoicetype","_classifications","_cl","amnt","invoiceTypeClassifications","_class","_myDataMoreTax_value","custTaxOffice","_ser_id","fromEmail","_moretaxes","tax","onSuccessSave","myDataErrorMessageWithLink","invoiceMark","scrollTo","saveSale","_entries","saveSaleWithEntries","changeCust","selectedMyDataInvType","isDeliveryNote","setDataWithClassifications","saleObject","optionIncClassCategories","_lab","classcat","_cls","newcls","asExpenses","_mtaxes","m","_value","deductionName","deductionAmountValue","vat_val","getSalesView","data_companyBranches","companyBranches","data_companyInvoiceTypes","companyInvoiceTypes","data_paymentTypes","paymentTypes","data_vats","data_measurementUnits","data_vatCategoryExceptions","data_myDataMovePurposes","myDataMovePurposes","data_taxOffices","data_countries","countries","data_currencies","currencyTypeList","applicationSosMessages","alertClass","sosMessageStatus","countSales","optionBranches","optionsinvoiceTypes","optionsVats","optionsMU","optionsVCT","optionsMP","optionsTO","optionsCountries","optionsCurrencies","symbol","_content","currencies","movePurposes","listenMessage","removeEventListener","attachEvent","getCompanySaleInstance","_invoiceType","markInfo","dismissSalesEditAlertHandle","data-bs-dismiss","changeBranch","changeInvType","_invtype","_ser","getClassificationCategoriesOfMyDataInvoice","_data_transformed","_dispatchDate","toDate","invdate","convertPaymentType","_branch","onError","el_name","y","getBoundingClientRect","pageYOffset","behavior","getElementsByName","onInputChangeCustomer","_country","onChangeCustomer","__isNew__","onChangePaymentType","changeSeries","invTypeName","invoiceNumberIdentifierDTO","getMaxCompanySaleInstanceNumber","onChangeSeries","onChangeBranch","onChangeMovePurpose","taxOfficeOnChange","selectedInvType","getCompanyInvoiceTypeSeries","optionSeries","remove","infos","invoiceTypeMessages","innerText","_saleEntries","_optionIncClassCategories","_classificationCategoryType","_classificationValueTypes","defaultsSeriesLetters","getCompanyCustomer","cust","cust_obj","appendAccountantEmailOnContactsSelect","onChangeInvoiceType","onChangeCorrelativeInvoice","getCompanyCustomerByTaxpayerId","convertPaymentTypes","msg","source","customerFirstName","customerLastName","productModel","vat_enum","vat_label","myDataTokenEmptyToastMessage","_url","showErrorDetailsModal","onChangeDispatchDate","onChangeDate","onChangeCurrency","onOtherTaxesSelectChange","newEntries","onSelectTemplateLanguage","loader","invoice_type","minDate","maxDate","readOnly","paddingLeft","AFMcalledby","_customerName","data-bs-parent","showTimeSelect","timeIntervals","aria-expanded","taxval","newbalance","onBalanceChange","balance","alignOptionsToRight","onSelect","customLabels","GR","GB","fullWidth","htmlFor","SalesAdd","_id","CustomerSearch","goTo","getCompanyCustomers","onRowDoubleClicked","deleteCustomerContact","SimpleTextRenderer","CustomerContactsGrid","newseries","simpleTextRenderer","CustomerAdd","customerContactsGridRef","methods","getCustomerView","cos","deleteBtn","deleteCompanyCustomer","_customer","transformCustomer","saveCompanyCustomer","pattern","CompaniesRenderer","tr","getCompanies","BooleanRenderer","UserSearch","getUsers","booleanRenderer","companiesRenderer","onClickPay","UserAdd","Form","Group","controlId","Label","Control","Text","Check","ProductSearch","getCompanyProducts","deleteProductClassification","CheckboxRenderer","setChecked","SelfPricingrenderer","row_dom","selfpricing_invoicearr","InvoiceTypeRenderer","InvoiceTypeEditor","classificationCategoryTypes","ProductClassificationsGrid","suggestedInvoiceCategories","invoiceTypeRenderer","invoiceTypeEditor","checkboxRenderer","selfPricingrenderer","deleteProductMoreTaxes","myDataMoreTaxesType","ProductAdd","setError","setCompanyInvoiceTypes","prodClassificationGridRef","setPrice","initiallyCollapsedMoreTaxes","setInitiallyCollapsedMoreTaxes","onCategoryChange","current_data","categoriesClassifications","onVatChange","getProductView","invtypes","_invtypes","dataVats","dataVatExceptionCategories","myDataVatExceptionCategories","optionProductCategories","productCategories","productCategoryClassifications","getCompanyProduct","prod","deleteCompanyProduct","taxesHasError","_taxes_entries","saveCompanyProduct","onKeyPress","newprice","handleChangePrice","cleanNum","handleBlurPrice","newpriceWithVat","handleChangePriceWithVat","handleBlurPriceWithVat","IntValRenderer","IntValEditor","test","deleteCompanyBranch","CompanyBranchesGrid","intValEditor","MyDataSubscriptionModal","showModal","setShowModal","taxisNetUserName","taxisNetPassword","getMyDATASubscriptionKey","myDATASubscriptionCallback","CompanyWithBranchesAdd","refMySubscriptionModal","stripeParam","branchEditableGrid","minlength","default_logo","setLogoPath","_selectedCompanyId","process","webhook","entriesHasError","hasNoEntries","_series","ser","newCompany","testMyDataKeys","createStripeAccount","username","subscriptionKey","CompanySearch","getUserCompanies","deleteCompanySeries","BranchRenderer","setBranch","BranchEditor","InvoiceTypeSeriesEditableGrid","branchOptions","columnDefs","branchEditor","branchRenderer","deleteInvoiceTypeClassification","_classificationCategory","_classificationValues","setIncomeClassCategories","IncomingClassCategoryRenderer","IncomingClassCategoryEditor","IncomingClassValueRenderer","IncomingClassValueEditor","InvoiceTypeClassificationsGrid","toogleCheckbox","incomingClassValueRenderer","incomingClassValueEditor","incomingClassCategoryRenderer","incomingClassCategoryEditor","InvoiceTypeSeriesAdd","invoiceTypeSeriesEditableGridRef","setMyDataInvoiceType","setOptionBranches","getCompanyBranches","optionsExpenses","optionsIncomes","isExpense","getCompanyInvoiceType","invoicetype","myDataInvoiceTypeKey","getIncomeClassificationCategoriesOfInvoiceType","onInvoiceTypeChange","ind","entriesHasError2","_invoiceTypeClassifications","newInvType","formatModel","saveCompanyInvoiceType","seriesNamesConcat","MyDataInvoiceTypeRenderer","InvoiceTypeSearch","getCompanyInvoiceTypes","myDataInvoiceTypeRenderer","InvoiceSimpleView","_inv","cancelledByMark","mainRenderer","intype","issueDate","invoiceHeaderRenderer","issuerRenderer","counterPartRenderer","_rows","pm","invoicePaymentMethodsRenderer","invoiceSummary","totalNetValue","totalVatAmount","totalWithheldAmount","totalFeesAmount","totalStampDutyAmount","totalOtherTaxesAmount","totalDeductionsAmount","totalGrossValue","invoiceSummaryRenderer","thead","productRows","classificationRows","expensesClassification","ec","_trs","withheldPercentCategory","withheldAmount","otherTaxesPercentCategory","otherTaxesAmount","stampDutyPercentCategory","stampDutyAmount","feesPercentCategory","feesAmount","deductionsAmount","_tr","lineComments","tbody","detailsRenderer","taxesTotals","taxCategory","taxMap","tmaptr","taxAmount","saleMoreTaxesRenderer","InvoiceView","sentjson","setSentJson","zoomValue","setZoomValue","getInvoiceViewByInvoiceUid","_branchId","getOpenPageTemplateSettings","templateResponse","hangleZoomChange","h","scrollHeight","clientHeight","w","scrollWidth","clientWidth","scrollTop","scrollLeft","reactCSS","colorMain","colorSecondary","swatch","boxShadow","popover","cover","data-toggle","aria-haspopup","paddingBottom","onAfterChange","overflowX","overflowY","theme","AccountantAssignment","getCompanyAccountant","accountant","searchAccountant","accountantAssignment","accountantUnassignment","setExtracss","refDropZone","pathPreview","setPathPreview","logoFile","setLogoFile","displayMainColorPicker","setDisplayMainColorPicker","displaySecondaryColorPicker","setSecondaryMainColorPicker","dummyPrintSale","loadCss","copyClipBoard","elementId","copyText","clipboard","writeText","templateObj","saveCompanyTemplateAndUploadFiles","temp","_input","onChangeStatus","meta","previewUrl","maxFiles","multiple","accept","inputContent","files","extra","dropzoneReject","borderColor","inputLabel","onChangeComplete","hex","mode","showPrintMargin","showGutter","highlightActiveLine","setOptions","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets","showLineNumbers","tabSize","frameBorder","allow","allowFullScreen","webkitallowfullscreen","TemplateSearch","templateSettingsSearchTable","setTemplateSettingsSearchTable","getCompanyBranchesFull","templateSettingsTableRows","sets","templateSettings","editTemplateSetting","canceledIcon","setCanceledIcon","showDetailsModal","setShowDetailsModal","commons","convertData","setDetailsInfo","getTransmittedDoc","AadeTransmittedDocsSearch","screen","detailsInfo","getCompanyAadeSaleInstancesPage","saleInstances","inst","postStr","synchronizeCompanyTransmitted","fullscreen","AadeRequestDocsSearch","AadeSaleSearch","synchronizeCompany","AadeSaleSearchByMark","setInvoice","inv","requestedDoc","invoicesDoc","getCompanySaleInstanceByMark","markArray","_fullmark","match","formatMark","IncomesSearch","gridApi2","getCompanyIncomesPage","saleEntryClassificationRender","_thead","classCat","classType","synchronizeCompanyIncomes","alwaysShowHorizontalScroll","dateAsString","grossValue","minMark","saleEntriesRender","PreSaleSearch","getCompanyPreSaleInstancesPage","link2","setIsCanceled","cancelBtn","SaleGroupedSearch","setGridApi2","getGroupedSaleInstancePage","onBodyScroll","CompanyBusinessCard","getCompanyCard","companySubjectField","companyAddress","deleteCompanyDeduction","DoubleValRenderer","CompanyDeductionsGrid","CompanyDeduction","deductionsGridRef","getCompanyDeductions","_deductions","saveDeductions","deleteProductCategoryClassification","ProductCategoryClassificationsGrid","classificationValueType","ProductCategoryAdd","setGlobal","getCompanyProductCategory","prodCategory","SaveProductCategory","ProductCategorySearch","getCompanyProductCategories","VivaRedirectHandler","orderCode","pack","UpdateUserTransaction","NotFound","Swagger","SWAGGER_URL","specUrl","colors","primary","main","showExtensions","ChoosePackage","StartSubscription","OAuth2RedirectHandler","results","RegExp","exec","getUrlParameter","CheckoutForm","stripe","useStripe","elements","useElements","errorMessage","setErrorMessage","secret","accountId","confirmPayment","confirmParams","return_url","StripePayment","stripePromise","loadStripe","stripeAccount","locale","clientSecret","appearance","PaymentStatus","setMessage","retrievePaymentIntent","paymentIntent","StripePaymentComplete","Error","_code","_message","MainLayout","DefaultContainer","exact","path","SaleEdit","SaleAdd","CompanyIncomes","CompanyAdd","InvoiceTypeAdd","TemplateDesigner","Deductions","timologicFooter","version","ResetPassword","BusinessCard","vivaRedirectHandler","StartYourSubscription","App","useIdleTimer","onIdle","onActive","onAction","debounce","crossTab","getRemainingTime","getLastActiveTime","Boolean","hostname","positions","BOTTOM_CENTER","transitions","SCALE","AlertTemplate","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.50db26c5.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAABlVBMVEUAAAD//f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f///f8fJjr//v8dJDj7+fshKDwjKj79/P0mLUBHTF3h4ORBR1j49viipK5aXm7n5uqtrrcxN0kqMEPW1tuYmqU+RFU0OkzQ0NVPVGQ6QFI3PU8sMkXt7fCwsbrz8vRkaHfp6OzLy9G5usGMj5p9gY3DxMqVl6KJjJhydoNna3lKT2AuNEfd3eHY2N3T09jGx82mqLGPkp1vc4Fsb3319PbAwcedoKlVWmlRV2bz8vXx8PPv7vHk4+fa2t+2t7+GiZRdYnHs6+68vcSBhJB5fYl2eoeeUTVMAAAAQXRSTlMACfv5BO4z9vK35wedN+pcFuAqJBLUYeTBkYcvGg7GsHFJRtDNoJWMf1AiE9rKvINz16iYd1RAOiZse1gdZxD0qvpcLIMAAAk+SURBVHja7NTLcoIwGAXgQESIRUAUVLBe8K61lgptp7Y6Z3j/d+q2i3JPWPVbZyb/JOc/5F8l0sQPzPl5fFmv1/rGi7737/1BizRCOgQv+uhJofhN1obLmWe2B0QsK9ixnopUykp3bYkIYu03jopcHTb3Hwh3UtdbUhRkzMwJ4eoWzxSUITs7m18oj+6IorThuM1nhEdzKqOSztgmtbUCRlFZ77NuFvobBbWcYqlO9M0Qdd31PqnqoKvgwLlWrIXFCnxoW6vK888NcMP88r17oeAoXJRNPwNfhluqlfwpeNOiElHsLsGfepYK3+9ABOoVnKDtQAx6LvQL9gmiqFGBJH49QxzNJXlurxCpk9cHLU+GUGFOJ5oaBGNW5gL0INw2I4hHBvG0K0m1QxOcD5LizUAj9JQ+GjBkS5IE+fKP3WPypx9GrPyniSgIK4oaIjEgBlEE44GSSKKJiWjCD92Z7X1ftPSEUlpuWu5yFQX+buPu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\"","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport Backend from 'i18next-http-backend';\nimport LanguageDetector from 'i18next-browser-languagedetector';\n// don't want to use this?\n// have a look at the Quick start guide \n// for passing in lng and translations on init\n\nimport translationEN from './locales/gb/translation.json';\nimport translationGR from './locales/gr/translation.json';\nimport translationAL from './locales/al/translation.json';\n\n// the translations\nconst resources = {\n gb: {\n translation: translationEN\n },\n gr: {\n translation: translationGR\n },\n al: {\n translation: translationAL\n }\n};\n\n\ni18n\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\n // learn more: https://github.com/i18next/i18next-http-backend\n // want your translations to be loaded from a professional CDN? => https://github.com/locize/react-tutorial#step-2---use-the-locize-cdn\n // .use(Backend)\n // detect user language\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(LanguageDetector)\n // pass the i18n instance to react-i18next.\n .use(initReactI18next)\n // init i18next\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n resources,\n // lng: \"gr\",\n fallbackLng: 'gr',\n // debug: true,\n react: {\n useSuspense: false\n },\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n }\n });\n\n\nexport default i18n;","// export const API_BASE_URL = 'http://timologic-env.eba-ptpm9jjb.eu-central-1.elasticbeanstalk.com/api';\n// export const OAUTH2_REDIRECT_URI = 'https://master.d3tht8zq4ccbwn.amplifyapp.com/oauth2/redirect'\n\n// export const API_BASE_URL = 'http://localhost:8080/api';\n// export const OAUTH2_REDIRECT_URI = 'http://localhost:8081/oauth2/redirect';\n\nvar _SRV_BASE_URL = 'http://localhost:8080';\nvar _OAUTH2_REDIRECT_URI = 'http://localhost:8081/oauth2/redirect'; \nvar _VIVA_VIEW_TRANSACTION=\"https://demo.vivapayments.com\";\nvar _RECAPTCHA_KEY=\"6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\";\nvar _STRIPE_PUBLISHABLE_KEY=\"pk_test_51Mr3OwEdMV4nIlbbwlPkdUawl8u6CLj2GYsblQBgxby393eoCykoHdiD01ohZcwVtPGI3qV5OOcuucJUIxFegJM200ti9sReFE\";\nvar _CHECKOUT_REDIRECT_URI = 'http://localhost:8081/checkout/complete'; \n\n\nif(process.env.REACT_APP_BUILD_ENV === 'production'){\n _SRV_BASE_URL = 'https://api.timologic.gr';\n _OAUTH2_REDIRECT_URI = 'https://app.timologic.gr/oauth2/redirect'; \n _VIVA_VIEW_TRANSACTION=\"https://www.vivapayments.com\";\n _RECAPTCHA_KEY=\"6LeykPkcAAAAAHNWnvWHgrUVDFLqGeSw8zpio0_J\";\n _STRIPE_PUBLISHABLE_KEY=\"pk_live_51Mr3OwEdMV4nIlbbPv4o1t7EUFKwZU6DZFcxw9btMdwqRb7GKsjpR3RDyK9HMDFjoT01Kt1qN5ra561RkUKjLUog00V5j2ND95\";\n _CHECKOUT_REDIRECT_URI = 'https://app.timologic.gr/checkout/complete'; \n}\nif(process.env.REACT_APP_BUILD_ENV === 'development'){\n _SRV_BASE_URL = 'https://devapi.timologic.gr';\n _OAUTH2_REDIRECT_URI = 'https://dev.timologic.gr/oauth2/redirect'; \n _VIVA_VIEW_TRANSACTION=\"https://demo.vivapayments.com\";\n _RECAPTCHA_KEY=\"6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\";\n _STRIPE_PUBLISHABLE_KEY=\"pk_live_51Mr3OwEdMV4nIlbbPv4o1t7EUFKwZU6DZFcxw9btMdwqRb7GKsjpR3RDyK9HMDFjoT01Kt1qN5ra561RkUKjLUog00V5j2ND95\";\n _CHECKOUT_REDIRECT_URI = 'https://dev.timologic.gr/checkout/complete'; \n}\nvar _API_BASE_URL = _SRV_BASE_URL+'/api';\n\nexport const SRV_BASE_URL=_SRV_BASE_URL;\nexport const API_BASE_URL=_API_BASE_URL;\nexport const OAUTH2_REDIRECT_URI=_OAUTH2_REDIRECT_URI;\nexport const ACCESS_TOKEN = 'accessToken';\nexport const GOOGLE_AUTH_URL = API_BASE_URL + '/oauth2/authorize/google?redirect_uri=' + OAUTH2_REDIRECT_URI;\nexport const FACEBOOK_AUTH_URL = API_BASE_URL + '/oauth2/authorize/facebook?redirect_uri=' + OAUTH2_REDIRECT_URI;\nexport const APPLE_AUTH_URL = API_BASE_URL + '/apple/oauth2/authorize?redirect_uri=' + OAUTH2_REDIRECT_URI;\nexport const GITHUB_AUTH_URL = API_BASE_URL + '/oauth2/authorize/github?redirect_uri=' + OAUTH2_REDIRECT_URI;\nexport const VIVA_VIEW_TRANSACTION=_VIVA_VIEW_TRANSACTION;\nexport const RECAPTCHA_KEY=_RECAPTCHA_KEY;\nexport const SPECIAL_ENGLISH_AFFILIATE=43;\nexport const STRIPE_PUBLISHABLE_KEY=_STRIPE_PUBLISHABLE_KEY;\nexport const CHECKOUT_REDIRECT_URI=_CHECKOUT_REDIRECT_URI;\n\n\n\n","import { API_BASE_URL, ACCESS_TOKEN } from './constants';\n\nconst request = (options) => {\n const headers = new Headers({\n 'Content-Type': 'application/json',\n })\n\n if (localStorage.getItem(ACCESS_TOKEN)) {\n headers.append('Authorization', 'Bearer ' + localStorage.getItem(ACCESS_TOKEN))\n }\n\n const defaults = { headers: headers };\n options = Object.assign({}, defaults, options);\n\n return fetch(options.url, options)\n .then(response =>\n response.json().then(json => {\n if (!response.ok) {\n return Promise.reject(json);\n }\n return json;\n })\n );\n};\n\nexport function authHeader(contentType=null) {\n if (localStorage.getItem(ACCESS_TOKEN)) {\n if(contentType!=null){\n return { \"Content-Type\": contentType , Authorization: 'Bearer ' + localStorage.getItem(ACCESS_TOKEN) ,\"Accept-Language\":\"gr\"};\n }\n return { 'Content-Type': 'application/json',Authorization: 'Bearer ' + localStorage.getItem(ACCESS_TOKEN) ,\"Accept-Language\":\"gr\"};\n } else {\n return {};\n }\n}\n\nexport function getCurrentUser() {\n if (!localStorage.getItem(ACCESS_TOKEN)) {\n return Promise.reject(\"No access token set.\");\n }\n\n return request({\n url: API_BASE_URL + \"/user/me\",\n method: 'GET'\n });\n}\n\nexport function cleancookies() {\n return request({\n url: API_BASE_URL + \"/user/cleancookies\",\n method: 'POST'\n });\n}\n\n\n\n\nexport function login(loginRequest) {\n return request({\n url: API_BASE_URL + \"/auth/login\",\n method: 'POST',\n body: JSON.stringify(loginRequest)\n });\n}\n\nexport function signup(signupRequest) {\n return request({\n url: API_BASE_URL + \"/auth/signup\",\n method: 'POST',\n body: JSON.stringify(signupRequest)\n });\n}\n\nexport function logout() {\n localStorage.removeItem(\"user\");\n localStorage.removeItem(ACCESS_TOKEN);\n}","import axios from 'axios';\nimport { authHeader } from '../util/AuthUtils';\nimport { API_BASE_URL } from '../util/constants';\nimport localforage from 'localforage'\nimport memoryDriver from 'localforage-memoryStorageDriver'\nimport { setup } from 'axios-cache-adapter'\n\nconst API_URL = API_BASE_URL + \"/\";\n\n// Create `localforage` instance\nconst forageStore = localforage.createInstance({\n // List of drivers used\n driver: [\n localforage.INDEXEDDB,\n localforage.LOCALSTORAGE,\n memoryDriver._driver\n ],\n // Prefix all storage keys to prevent conflicts\n name: 'timologic-cache'\n})\n\nasync function configure() {\n // Register the custom `memoryDriver` to `localforage`\n await localforage.defineDriver(memoryDriver)\n\n\n\n // Create `axios` instance with pre-configured `axios-cache-adapter` using a `localforage` store\n return setup({\n // `axios` options\n baseURL: API_URL,\n timeout: 0,\n // `axios-cache-adapter` options\n cache: {\n maxAge: 15 * 60 * 1000,\n store: forageStore, // Pass `localforage` store to `axios-cache-adapter`\n invalidate: async (config, request) => {\n if (request.clearCacheEntry) {\n console.error(request)\n var fullUrl = request.baseURL + request.url;\n await forageStore.removeItem(fullUrl)\n }\n }\n }\n })\n}\n\nconst instance = axios.create({\n baseURL: API_URL,\n timeout: 0 //infinite\n});\n\n\n// Create `axios-cache-adapter` instance\n// const cache = setupCache({\n// maxAge: 15 * 60 * 1000\n// })\n\n// const instance = axios.create({\n// baseURL: API_URL,\n// timeout: 0, //infinite\n// // adapter: cache.adapter\n// });\n\n\n/**\n * Catch the unauthorized Request\n */\n// instance.interceptors.response.use((response) => response, (error) => {\n// if (error.response.status === 401) {\n// window.location = '/login';\n// }\n// // if (error.response.status === 403) {\n// // window.location = '/error?code=403';\n// // }\n// });\nclass ApiClient {\n\n\n //COMPANY\n //=========================================================\n getCompany(id) {\n return instance.get('company/' + id, { headers: authHeader() });\n }\n\n getCompanyAccountant(id) {\n return instance.get('company/accountant/' + id, { headers: authHeader() });\n }\n\n\n deleteCompany(id) {\n return instance.delete('company/' + id, { headers: authHeader() });\n }\n\n saveCompany(object) {\n return instance.post('company', object, { headers: authHeader() });\n }\n\n getCompanyPage(pageObject) {\n return instance.get('company/page?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n\n //COMPANY PRODUCT\n //=========================================================\n getCompanyProducts(companyId) {\n return instance.get('company/' + companyId + '/product', { headers: authHeader() });\n }\n\n getCompanyProductsPage(companyId, pageObject) {\n return instance.get('company/' + companyId + '/product/page?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n getCompanyProduct(companyId, productId) {\n return instance.get('company/' + companyId + '/product/' + productId, { headers: authHeader() });\n }\n\n deleteCompanyProduct(companyId, productId) {\n return instance.delete('company/' + companyId + \"/product/\" + productId, { headers: authHeader() });\n }\n\n saveCompanyProduct(companyId, object) {\n return instance.post('company/' + companyId + \"/product/\", object, { headers: authHeader() });\n }\n\n\n //COMPANY PRODUCT CATEGORY\n //=========================================================\n getCompanyProductCategory(companyId, categoryId) {\n return instance.get('company/' + companyId + '/product/category/' + categoryId, { headers: authHeader() });\n }\n\n getCompanyProductCategories(companyId) {\n return instance.get('company/' + companyId + '/product/category', { headers: authHeader() });\n }\n\n //COMPANY SALE\n //=========================================================\n getCompanySaleInstance(companyId, id) {\n return instance.get('company/' + companyId + '/sale/' + id, { headers: authHeader() });\n }\n\n getCompanySaleInstanceByMark(companyId, mark) {\n return instance.get('company/' + companyId + '/sale/byMark/' + mark, { headers: authHeader() });\n }\n\n getCompanySaleInstances(companyId) {\n return instance.get('company/' + companyId + '/saleinstance', { headers: authHeader() });\n }\n\n\n getCompanySaleInstancesPage(companyId, pageObject) {\n return instance.get('company/' + companyId + '/sale/page?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n getCompanyPreSaleInstancesPage(companyId, pageObject) {\n return instance.get('company/' + companyId + '/sale/pre/page?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n async saleinstanceByinvoiceTypePage(companyId, pageObject, mydataInvoiceType) {\n return await instance.get('company/' + companyId + '/sale/page?myDataInvoiceType=' + mydataInvoiceType + '¶ms=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n getCompanyAadeSaleInstancesPage(companyId, pageObject, asCounterpart = null) {\n if (asCounterpart) {\n return instance.get('company/' + companyId + '/sale/aade/page?asCounterpart=' + asCounterpart + '¶ms=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n return instance.get('company/' + companyId + '/sale/aade/page?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n\n getGroupedSaleInstancePage(companyId, pageObject) {\n return instance.get('company/' + companyId + '/sale/grouped?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n getCompanyIncomesPage(companyId, pageObject) {\n return instance.get('company/' + companyId + '/incomes/page?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n \n getTransmittedDoc(companyId,mark) {\n return instance.get('aade/transmittedDoc?companyId=' + companyId + '&mark='+mark, { headers: authHeader() });\n }\n \n synchronizeCompanyIncomes(companyId){\n return instance.post('company/' + companyId + '/incomes/synchronize',{}, { headers: authHeader() });\n }\n\n //COMPANY CUSTOMER\n //=========================================================\n\n getCompanyCustomers(companyId) {\n return instance.get('company/' + companyId + '/customer', { headers: authHeader() });\n }\n\n getCompanyCustomer(companyId, customerId) {\n return instance.get('company/' + companyId + '/customer/' + customerId, { headers: authHeader() });\n }\n\n getCompanyCustomersPage(companyId, pageObject,mydataInvoiceType) {\n return instance.get('company/' + companyId + '/customer/page?mydataInvoiceType='+mydataInvoiceType+'¶ms=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader() });\n }\n\n\n getCompanyCustomersForInvoiceType(companyId, mydataInvoiceType) {\n return instance.get('company/' + companyId + '/customer?myDataInvoiceType=' + mydataInvoiceType, { headers: authHeader() });\n }\n\n getCompanyCustomerByTaxpayerId(companyId, taxpayerId, customerName) {\n return instance.get('company/' + companyId + '/customer?taxpayerId=' + taxpayerId + \"&customerName=\" + customerName, { headers: authHeader() });\n }\n\n deleteCompanyCustomer(companyId, customerId) {\n return instance.delete('company/' + companyId + \"/customer/\" + customerId, { headers: authHeader() });\n }\n\n saveCompanyCustomer(companyId, object) {\n return instance.post('company/' + companyId + \"/customer\", object, { headers: authHeader() });\n }\n\n\n //COMPANY CUSTOMER CONTACT\n //=========================================================\n findCompanyCustomerContacts(companyId, taxpayerId, customerName) {\n return instance.get('company/' + companyId + '/customer/contact?taxpayerId=' + taxpayerId + \"&customerName=\" + customerName, { headers: authHeader() });\n }\n\n //COMPANY BRANCHES\n //=========================================================\n getCompanyBranches(companyId) {\n return instance.get('company/' + companyId + '/branch', { headers: authHeader() });\n }\n getCompanyBranchesFull(companyId) {\n return instance.get('company/' + companyId + '/branch/templates', { headers: authHeader() });\n }\n\n deleteCompanyBranch(companyId, id) {\n return instance.delete('company/' + companyId + '/branch/' + id, { headers: authHeader() });\n }\n\n\n //COMPANY SERIES\n //=========================================================\n\n getCompanySeries(companyId) {\n return instance.get('company/' + companyId + '/series', { headers: authHeader() });\n }\n\n deleteCompanySeries(companyId, id) {\n return instance.delete('company/' + companyId + '/series/' + id, { headers: authHeader() });\n }\n\n\n getCompanyCustomerCategories(companyId) {\n return instance.get('company/' + companyId + '/customercategories', { headers: authHeader() });\n }\n getCompanyView(companyId) {\n return instance.get('company/' + companyId + '/view/company', { headers: authHeader() });\n }\n\n getCompanyDashboard(companyId) {\n return instance.get('company/' + companyId + '/view/dashboard', { headers: authHeader() });\n }\n\n\n\n\n\n //PRODUCTS\n //=========================================================\n\n getProductView(companyId) {\n return instance.get('company/' + companyId + '/view/product', { headers: authHeader() });\n }\n\n saveProduct(object) {\n return instance.post('product', object, { headers: authHeader() });\n }\n\n getProduct(id) {\n return instance.get('product/' + id, { headers: authHeader() });\n }\n\n getMeasurementUnits() {\n return instance.get('product/measurementunits', { headers: authHeader() });\n }\n\n deleteProduct(id) {\n return instance.delete('product/' + id, { headers: authHeader() });\n }\n getMaxProductCode(companyId, prefix) {\n return instance.get('product/maxcode/' + companyId + \"/\" + prefix, { headers: authHeader() });\n }\n\n\n\n //USERS\n //=========================================================\n\n getUsers() {\n return instance.get('user', { headers: authHeader() });\n }\n\n getUserTransactions() {\n return instance.get('user/transaction', { headers: authHeader() });\n }\n\n getUserCompanies() {\n return instance.get('user/company', { headers: authHeader() });\n }\n cancelSubscription() {\n return instance.post('user/cancelsubscription', {}, { headers: authHeader() });\n }\n cancelAccount() {\n return instance.post('user/cancelAccount', {}, { headers: authHeader() });\n }\n \n\n //CUSTOMERS\n //=========================================================\n\n\n getCustomerView(companyId) {\n return instance.get('company/' + companyId + '/view/customer', { headers: authHeader() });\n }\n\n deleteCustomerContact(companyId, id) {\n return instance.delete('company/' + companyId + '/customer/contact/' + id, { headers: authHeader() });\n }\n\n\n //COMPANY INVOICE TYPES\n //=========================================================\n\n getCompanyInvoiceType(companyId, id) {\n return instance.get('company/' + companyId + '/invoicetype/' + id, { headers: authHeader() });\n }\n\n\n getCompanyInvoiceTypes(companyId) {\n return instance.get('company/' + companyId + '/invoicetype', { headers: authHeader() });\n }\n\n //INVOICE TYPES\n //=========================================================\n\n saveInvoiceType(object) {\n return instance.post('invoicetype', object, { headers: authHeader() });\n }\n\n getInvoiceType(id) {\n return instance.get('invoicetype/' + id, { headers: authHeader() });\n }\n\n getMyDataInvoiceTypes() {\n return instance.get('invoicetype/mydataInvoiceTypes', { headers: authHeader() });\n }\n\n getInvoiceTypeSeries(invoiceTypeId,branchId=null) {\n if(branchId){\n return instance.get('invoicetype/' + invoiceTypeId + '/series?branchId='+branchId, { headers: authHeader() });\n }\n else{\n return instance.get('invoicetype/' + invoiceTypeId + '/series', { headers: authHeader() });\n }\n }\n\n\n getCompanyInvoiceTypeSeries(companyId,invoiceTypeId,branchId=null,isCredit=false) {\n if(branchId){\n return instance.get('company/' + companyId + '/invoicetype/' + invoiceTypeId + '/series?branchId='+branchId+'&isCredit='+isCredit, { headers: authHeader() }); \n }\n else{\n return instance.get('company/' + companyId + '/invoicetype/' + invoiceTypeId + '/series?isCredit='+isCredit, { headers: authHeader() });\n }\n }\n\n getInvoiceTypeView(companyId) {\n return instance.get('company/' + companyId + '/view/invoicetype', { headers: authHeader() });\n }\n\n\n saveCompanyInvoiceType(companyId, object) {\n return instance.post('company/' + companyId + '/invoicetype', object, { headers: authHeader() });\n }\n\n deleteInvoiceType(id) {\n return instance.delete('invoicetype/' + id, { headers: authHeader() });\n }\n\n SaveBulkInvoiceTypeWithSeries(object) {\n return instance.post('invoicetype/bulkseries', object, { headers: authHeader() });\n }\n\n getClassificationCategoriesOfMyDataInvoice(invoiceTypeId, expenses) {\n return instance.get('invoicetype/' + invoiceTypeId + '/classificationCategories?expenses=' + expenses, { headers: authHeader() });\n }\n\n getIncomeClassificationCategoriesOfInvoiceType(invoiceTypeId, expenses) {\n return instance.get('invoicetype/' + invoiceTypeId + '/invoiceClassificationCategories?expenses=' + expenses, { headers: authHeader() });\n }\n\n\n deleteProductClassification(id) {\n return instance.delete('product/classification/' + id, { headers: authHeader() });\n }\n\n deleteProductCategoryClassification(id) {\n return instance.delete('productcategory/classification/' + id, { headers: authHeader() });\n }\n\n\n deleteInvoiceTypeClassification(id) {\n return instance.delete('invoicetype/classification/' + id, { headers: authHeader() });\n }\n\n deleteProductMoreTaxes(id) {\n return instance.delete('product/moretaxes/' + id, { headers: authHeader() });\n }\n\n deleteCompanySaleMoreTaxes(companyId,id) {\n return instance.delete('company/'+companyId+'/sale/moretaxes/' + id, { headers: authHeader() });\n }\n\n\n\n //SALES\n saveSale(object) {\n return instance.post('sale', object, { headers: authHeader() });\n }\n\n getSale(id) {\n return instance.get('sale/' + id, { headers: authHeader() });\n }\n\n getSalesView(id) {\n return instance.get('company/' + id + '/view/sale', { headers: authHeader() });\n }\n\n getMaxCompanySaleNumber(branchId, series, invType) {\n return instance.get('sale/maxNumber/' + branchId + \"/\" + series + \"/\" + invType, { headers: authHeader() });\n }\n getMaxCompanySaleInstanceNumber(object, companyId) {\n return instance.post('company/' + companyId + '/sale/maxInvoiceNumber/', object, { headers: authHeader() });\n }\n getSaleByInvoiceUid(invoiceUid) {\n return instance.get('aade/invoices/' + invoiceUid, { headers: authHeader() });\n }\n getInvoiceViewByInvoiceUid(invoiceUid) {\n return instance.get('/o/invoiceview/' + invoiceUid, { headers: authHeader() });\n }\n\n getCompanyCard(taxpayerId,branchId) {\n return instance.get('/o/card/' + taxpayerId+\"/\"+branchId, { headers: authHeader() });\n }\n\n getOpenPageTemplateSettings(companyId,branchId) {\n return instance.get('/o/company/'+companyId+'/branch/'+branchId+'/template');\n }\n\n saveSaleWithEntries(companyId, object) {\n return instance.post('company/' + companyId + '/mydata/send', object, { headers: authHeader() });\n }\n\n\n exportCompanySalesToExcel(companyId,pageObject) {\n \n return instance.get('company/' + companyId + '/sale/export?params=' + encodeURIComponent(JSON.stringify(pageObject)), { headers: authHeader(), responseType: 'blob' });\n }\n\n getCompanyDeductions(companyId) {\n return instance.get('/company/' + companyId + '/deduction', { headers: authHeader() });\n }\n\n saveDeductions(companyId, deductions) {\n return instance.post('company/' + companyId + '/deduction', deductions, { headers: authHeader() });\n }\n\n\n deleteCompanyDeduction(companyId,id) {\n return instance.delete('company/' + companyId + '/deduction/' + id, { headers: authHeader() });\n }\n\n\n\n //PRODUCT CATEGORIES\n\n // SaveProductCategories(object) {\n // return instance.post('productcategory', object, { headers: authHeader() });\n // }\n\n\n SaveProductCategory(object) {\n return instance.post('productcategory', object, { headers: authHeader() });\n }\n\n\n deleteProductCategory(id) {\n return instance.delete('productcategory/' + id, { headers: authHeader() });\n }\n\n\n\n //CUSTOMER CATEGORIES\n\n SaveCustomerCategories(object) {\n return instance.post('customercategory', object, { headers: authHeader() });\n }\n\n deleteCustomerCategory(id) {\n return instance.delete('customercategory/' + id, { headers: authHeader() });\n }\n\n //MYDATA\n\n sendInvoiceToMyData(object) {\n return instance.post('mydata/send', object, { headers: authHeader() });\n }\n\n getMyDataInvoices() {\n return instance.get('mydata/getInvoices', { headers: authHeader() });\n }\n\n cancelMyDataInvoice(companyId, id) {\n return instance.post('company/' + companyId + '/mydata/' + id + \"/cancel\", {}, { headers: authHeader() });\n }\n\n checkAfm(AFMcalledfor, calledByAfm) {\n return instance.get('mydata/checkAfm/' + AFMcalledfor + \"/\" + calledByAfm, { headers: authHeader() });\n }\n\n //----------------\n\n UpdateUserWizard() {\n return instance.get('user/wizard', { headers: authHeader() });\n }\n\n\n UpdateUserTransaction(transaction) {\n return instance.post('user/transaction', transaction, { headers: authHeader() });\n }\n\n updateUserIsOnNotifyState() {\n return instance.post('user/updateIsOnNotifyState', {}, { headers: authHeader() });\n }\n\n\n //Country\n\n getCountriesInEU(inEU) {\n return configure().then(async (instance) => {\n return await instance.get('country/countriesInEU?inEU=' + inEU, { headers: authHeader() });\n })\n }\n //VIVA\n\n createPaymentOrder(packId) {\n return instance.post('viva/createOrder/' + packId, {}, { headers: authHeader() });\n }\n\n createReccuringPaymentOrder(packId) {\n return instance.post('viva/createRecurringOrder/' + packId, {}, { headers: authHeader() });\n }\n\n createVivaOrder() {\n return instance.post('viva/createOrder/', {}, { headers: authHeader() });\n }\n\n createPaymentTransaction(transactionId) {\n return instance.post('viva/createTransaction/' + transactionId, {}, { headers: authHeader() });\n }\n\n createUserTransaction() {\n return instance.post('viva/createTransaction', {}, { headers: authHeader() });\n }\n\n //AWS\n\n uploadFile(formData) {\n return instance.post('s3/uploadFile/', formData, { headers: authHeader(\"multipart/form-data\") });\n }\n saveCompanyAndUploadFiles2(formData) {\n return instance.post('company/upload', formData, { headers: authHeader(\"multipart/form-data\") });\n }\n saveCompanyAndUploadFiles(formData) {\n return instance.post('company/upload', formData, { headers: authHeader(\"multipart/form-data\") });\n }\n sendInvoiceEmailWithAttachment(file) {\n return instance.post('s3/sendInvoiceEmailWithAttachement/', file, { headers: authHeader(\"multipart/form-data\") });\n }\n\n sendInvoiceEmail(file) {\n return instance.post('s3/sendInvoiceEmail/', file, { headers: authHeader() });\n }\n\n //NOTIFICATIONS\n\n getNotifications() {\n return instance.get('user/notification', { headers: authHeader() });\n }\n\n\n \n\n //---------------------------------------\n\n\n testMyDataKeys(companyId, userId, token,vatNumber) {\n return instance.get('company/' + companyId + '/mydata/test?entityVatNumber='+vatNumber+'&userId=' + userId + \"&token=\" + token, { headers: authHeader() });\n }\n searchAccountant(email) {\n return instance.get('user/accountant/' + email, { headers: authHeader() });\n }\n accountantAssignment(companyId, userName) {\n return instance.get('user/accountant/assignment?companyId=' + companyId + \"&userName=\" + userName, { headers: authHeader() });\n }\n accountantUnassignment(companyId, userName) {\n return instance.get('user/accountant/unassignment?companyId=' + companyId + \"&userName=\" + userName, { headers: authHeader() });\n }\n\n\n saveCompanyTemplate(companyId,template) {\n return instance.post('company/'+companyId+'/branch/template', {template}, { headers: authHeader() });\n }\n\n getTemplateSettings(companyId,branchId) {\n return instance.get('company/'+companyId+'/branch/'+branchId+'/template', { headers: authHeader() });\n }\n\n\n\n getCompanyTemplateSettings(companyId) {\n return instance.get('company/'+companyId+'/branch/template', { headers: authHeader() });\n }\n\n saveCompanyTemplateAndUploadFiles(companyId,formData) {\n return instance.post('company/'+companyId+'/branch/template/upload', formData, { headers: authHeader(\"multipart/form-data\") });\n }\n\n\n resetPassword(email) {\n return instance.post('auth/resetPassword?email='+email, {},{ headers: authHeader() });\n }\n\n changePassword(object) {\n return instance.post('auth/changePassword', object,{ headers: authHeader() });\n }\n\n synchronizeCompany(companyId) {\n return instance.post('company/'+companyId+'/mydata/synchronize', {},{ headers: authHeader() });\n }\n\n synchronizeCompanyTransmitted(companyId) {\n return instance.post('company/'+companyId+'/mydata/transmitted/synchronize', {},{ headers: authHeader() });\n }\n\n activateUserByLicenceKey(key) {\n return instance.post('user/activateLicence/'+key, {},{ headers: authHeader() });\n }\n\n getAllTaxOffices() {\n return instance.get('taxoffice', { headers: authHeader() });\n }\n\n getUserInvoicesFromTimologic(){\n return instance.get('user/invoices', { headers: authHeader() });\n }\n\n getMyDATASubscriptionKey(requestObject) {\n return instance.post('user/subscriptionKey', requestObject,{ headers: authHeader() });\n }\n\n createStripeAccount(companyId) {\n return instance.get('stripe/'+companyId, { headers: authHeader() });\n }\n\n checkoutStripe(companyId) {\n return instance.post('stripe/checkout/'+companyId,{}, { headers: authHeader() });\n }\n}\nexport default new ApiClient();\n","import React from \"react\";\nimport { confirmAlert } from 'react-confirm-alert';\nimport logo_confirm from '../img/logo_timologic_confirm.png';\n\n\nexport function CustomConfirmAlert(onConfirm) {\n\n const customUI = (obj, onClose) => {\n const renderButtons = (buttons) => {\n var btns = []\n if (buttons) {\n var counter=0;\n buttons.forEach(btn => {\n var addcls=btn.className?btn.className:\"\";\n var clsname=\"btn btn-skin \"+addcls;\n var keyName=\"confirm-footer-btn-\"+counter;\n btns.push();\n counter++;\n });\n }\n\n return btns;\n }\n\n return (\n
\n
\n \n {obj.title}\n
\n
\n
{obj.header}
\n {obj.message}\n

{obj.submessage}

\n
\n
\n
\n {renderButtons(obj.buttons)}\n
\n
\n
\n );\n }\n return confirmAlert({\n customUI: ({ onClose }) => customUI(onConfirm, onClose)\n });\n}\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { useAlert } from 'react-alert'\nimport ApiClient from \"../services/api-client\"\nimport { toast } from 'react-toastify';\nimport { Link } from 'react-router-dom'\n\nexport default function ActivateLicenceForm(props) {\n\n const [licenceKey, setLicenceKey] = useState(\"\");\n const { t } = useTranslation();\n\n\n const handleInputChange = (event) => {\n const target = event.target;\n const inputName = target.name;\n const inputValue = target.value;\n\n switch (inputName) {\n case \"licenceKey\": {\n setLicenceKey(inputValue);\n break;\n }\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault();\n\n ApiClient.activateUserByLicenceKey(licenceKey).then(\n (response) => {\n var response = response.data;\n console.log(response)\n toast.success(t(\"ActivationSuccess\"));\n setTimeout(function(){\n window.location.reload()\n },1000)\n },\n error => {\n const resMessage =\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString();\n toast.error(resMessage);\n\n }\n );\n }\n\n\n\n return (\n
\n
\n
\n
\n

{t(\"Activate\")}

\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n );\n}\n\n","import React, { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport ApiClient from \"../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport VivaFooter from '../img/viva_footer.png';\nimport { getCurrentUser } from '../util/AuthUtils';\nimport { toast } from 'react-toastify';\nimport { CustomConfirmAlert as confirmAlert } from '../components/custom-confirm-alert';\nimport { useHistory } from \"react-router-dom\";\nimport { VIVA_VIEW_TRANSACTION } from '../util/constants';\nimport Modal from 'react-bootstrap/Modal';\nimport ActivateLicence from \"./activate_licence\";\nimport MyDataLogo from \"../img/mydata.png\";\n\nexport default function Paymemnt() {\n\n\n\n const { register, formState: { errors }, getValues } = useForm();\n const { t } = useTranslation();\n const history = useHistory();\n const [showLicenceKeyModal, setShowLicenceKeyModal] = useState(false);\n\n\n\n useEffect(() => {\n let mounted = true;\n getCurrentUser()\n .then(response => {\n if (response == undefined) {\n localStorage.removeItem(\"accessToken\")\n }\n else {\n localStorage.setItem(\"user\", JSON.stringify(response.user))\n if (response.companies && response.companies.length == 1) {\n localStorage.setItem(\"company\", JSON.stringify(response.companies[0]))\n }\n }\n let errorOnPayment = localStorage.getItem(\"errorOnPayment\")\n if (errorOnPayment) {\n toast.error(errorOnPayment, { autoClose: 5000 })\n localStorage.removeItem(\"errorOnPayment\")\n }\n }).catch(error => {\n console.error(error)\n });\n\n return () => mounted = false;\n\n }, []);\n const createOrder = (e, packId) => {\n var paymentMethod = document.getElementById(\"paymentMethod\").value;\n\n if (paymentMethod == \"0\") {\n ApiClient.createReccuringPaymentOrder(packId).then(\n (response) => {\n if (response.data.Success) {\n localStorage.setItem(\"packId\", packId);\n window.location = VIVA_VIEW_TRANSACTION + \"/web/checkout?ref=\" + response.data.OrderCode;\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n else {\n ApiClient.createPaymentOrder(packId).then(\n (response) => {\n if (response.data.Success) {\n localStorage.setItem(\"packId\", packId);\n window.location = VIVA_VIEW_TRANSACTION + \"/web/checkout?ref=\" + response.data.OrderCode + \"&paymentMethod=\" + paymentMethod;\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n\n }\n\n const CreateVivaOrder = () => {\n ApiClient.createVivaOrder().then(\n (response) => {\n var resp = JSON.parse(response.data.response);\n if (resp.Success) {\n localStorage.setItem(\"packId\", response.data.packId);\n window.location = VIVA_VIEW_TRANSACTION + \"/web/checkout?ref=\" + resp.OrderCode;\n }\n else {\n console.error(resp)\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n\n const CreateTransaction = () => {\n ApiClient.createUserTransaction({}).then(\n (response) => {\n var resp = response.data;\n if (resp.Success) {\n toast.success(\"Your payment has complete\")\n window.location.reload();\n }\n else {\n toast.error(resp.ErrorText)\n }\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n\n const cancelSubscription = () => {\n\n\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"confirmCancelSubscription\"),\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n\n ApiClient.cancelSubscription().then(\n (response) => {\n console.log(response)\n localStorage.removeItem(\"user\");\n localStorage.removeItem(\"accessToken\");\n localStorage.removeItem(\"wizard\");\n window.location = \"login\";\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n },\n },\n {\n label: t('Cancel')\n }\n ]\n });\n }\n\n const insertLicenceKey = () => {\n setShowLicenceKeyModal(true)\n }\n\n const goBack = () => {\n history.goBack();\n }\n\n const choosePackageContainer =
\n





\n

Η δοκιμαστική σας περίοδος έληξε

\n

\n

Ανανεώστε τη συνδρομή σας με τα παρακάτω πακέτα

\n

\n\n
\n
\n\n\n\n
    \n\n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n

\n
\n
\n Ο παρακάτω τιμές αναφέροντε σε 12 μήνες συνδρομή\n
\n


\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 25 τιμολόγια/μήνα
  • \n\n
\n\n \n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 200 τιμολόγια/μήνα
  • \n\n
\n\n \n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 500 τιμολόγια/μήνα
  • \n\n
\n\n \n
\n
\n\n


\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 24000 τιμολόγια/μήνα
  • \n\n
\n\n \n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Απεριόριστα τιμολόγια
  • \n\n
\n\n \n
\n
\n\n
\n\n\n\n
\n\n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 25 τιμολόγια/μήνα
  • \n\n
\n\n \n\n\n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 200 τιμολόγια/μήνα
  • \n\n
\n\n \n\n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 500 τιμολόγια/μήνα
  • \n\n
\n\n \n
\n
\n\n


\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Εως και 2000 τιμολόγια/μήνα
  • \n\n
\n\n \n
\n
\n\n
\n
\n\n
\n
    \n
  • Σύνδεση με το \"myDATA
  • \n
  • Απεριόριστα τιμολόγια
  • \n\n
\n\n \n
\n
\n\n
\n
\n
\n\n
\n
\n


\n\n
\n \n \n
\n Εαν έχετε κλειδί ενεργοποίησης παρακαλώ πατήστε εδώ\n\n
\n
Στις τιμές δεν περιλαμβάνεται Φ.Π.Α.
\n
\n
\n
\n \n Γίνονται δεκτές πιστωτικές ή χρεωστικές κάρτες Visa , Mastercard η American express,μετρητά η E-banking οποιασδήποτε τράπεζας. Για να διασφαλιστεί η απόλυτη ασφάλεια των ηλεκτρονικών σας συναλλαγών αυτές γίνονται, με ανακατεύθυνση, μέσα από το σύστημα ασφαλείας τoυ αδειοδοτημένου από την Τράπεζα της Ελλάδος ιδρύματος πληρωμών Viva Payments η οποία εγγυάται ένα ασφαλές περιβάλλον συναλλαγών στο κορυφαίο σύστημα ηλεκτρονικών πληρωμών. Τα δεδομένα της πιστωτικής σας κάρτας δεν αποθηκεύονται στον διακομιστή μας.\n \n
\n
\n
\n Τρόποι πληρωμής\n
\n
\"Viva\"
\n \n \n {t(\"ActivateLicence\")}\n \n \n
\n \n
\n\n
\n \n \n \n \n
\n\n const paymentContainer =\n
\n
\n











\n

{t(\"paySubscription\")}

\n

\n
{t(\"subscriptionHasEndUp\")}
\n

{t(\"subscriptionHasEndDown\")}

\n

Για οποιαδήποτε πληροφορία ή απορία μπορείτε να επικοινωνείτε με το τμήμα εξυπηρέτησης πελατών στο τηλέφωνο 210 4441685 να σας παρέχουμε λεπτομέρειες για τους τρόπους πληρωμών ή να ανοίξετε ένα Support Ticket ΕΔΩ

\n \n


\n
\n \n
\n


\n
\n Αν θέλετε να αλλάξετε τύπο συνδρομής (απο ετήσια σε μηνιαία και το αντίστροφο) πατήστε εδώ\n
\n



\n \n


\n
\n
\n \n Γίνονται δεκτές πιστωτικές ή χρεωστικές κάρτες Visa , Mastercard η American express,μετρητά η E-banking οποιασδήποτε τράπεζας. Για να διασφαλιστεί η απόλυτη ασφάλεια των ηλεκτρονικών σας συναλλαγών αυτές γίνονται, με ανακατεύθυνση, μέσα από το σύστημα ασφαλείας τoυ αδειοδοτημένου από την Τράπεζα της Ελλάδος ιδρύματος πληρωμών Viva Payments η οποία εγγυάται ένα ασφαλές περιβάλλον συναλλαγών στο κορυφαίο σύστημα ηλεκτρονικών πληρωμών. Τα δεδομένα της πιστωτικής σας κάρτας δεν αποθηκεύονται στον διακομιστή μας.\n \n
\n
\n\n\n\n\n
\n
\"Viva\"
\n
\n\n const noActionContainer =
\n











\n

\n

\n\n
\n\n\n const container = JSON.parse(localStorage.getItem(\"user\")).lastTransactionDate == null ? choosePackageContainer : (JSON.parse(localStorage.getItem(\"user\")).userStatus == \"ACTIVE\" ? noActionContainer : paymentContainer)\n\n return (\n container\n );\n}","import React from 'react';\nimport {\n Route,\n Redirect\n} from \"react-router-dom\";\n\nimport { ACCESS_TOKEN } from '../util/constants';\nimport Paymemnt from \"./payment.component.js\";\n\n\n\nconst PrivateRoute = ({ component: Component, authenticated, ...rest }) => (\n \n localStorage.getItem(ACCESS_TOKEN) != null ? (\n JSON.parse(localStorage.getItem(\"user\")).userStatus !== \"NOT_PAID\" ? :\n \n\n\n ) : (\n \n )\n }\n />\n);\n\nexport default PrivateRoute","import React, { useState, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ApiClient from \"../../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport { useForm, Controller } from \"react-hook-form\";\nimport BlockUi from 'react-block-ui';\nimport { toast } from 'react-toastify';\nimport Select from 'react-select'\nimport Tippy from '@tippyjs/react';\nimport useMobileDetect from 'use-mobile-detect-hook';\n\n\nconst Wizard = forwardRef((props, ref) => {\n\n const { t } = useTranslation();\n const { register, getValues, control, trigger, clearErrors, setValue, formState: { errors } } = useForm();\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const [content, setContent] = useState({});\n const [fetchTaxisInfoExplanationMessVisible, setFetchTaxisInfoExplanationMessVisible] = useState(true);\n const detectMobile = useMobileDetect();\n\n\n useImperativeHandle(ref, () => ({\n getValues() {\n trigger();\n return getValues();\n },\n getErrors() {\n return { errors };\n }\n }));\n\n\n useEffect(() => {\n trigger();\n setTimeout(function () {\n clearErrors();\n });\n\n ApiClient.getMyDataInvoiceTypes().then(response => {\n var data = response.data;\n var options = [];\n data.forEach(element => {\n var _enumVal = \"invoice\" + element.key.replace(\".\", \"_\");\n var postfix = \" (\" + element.myDataKey + \")\";\n options.push({\n value: _enumVal,\n label: t(_enumVal) + postfix,\n });\n });\n\n\n setContent(content => ({\n ...content,\n ...{ myDataInvoiceTypes: options }\n }));\n\n });\n\n ApiClient.getCompanyView().then(\n response => {\n\n var _data = response.data;\n var tos = _data.taxOffices;\n var taxOffices = []\n tos.forEach(element => {\n var to = {\n value: element.id,\n label: element.name\n }\n taxOffices.push(to);\n })\n\n\n setContent(content => ({\n ...content,\n ...{ taxOffices: taxOffices }\n }));\n\n });\n }, []);\n\n\n\n\n const createRandomTaxPayerId = () => {\n var min = 1000000;\n var max = 9999999;\n var AFMcalledfor = Math.floor(Math.random() * (max - min + 1)) + min;\n AFMcalledfor = \"000\" + AFMcalledfor.toString()\n setValue(\"taxpayerId\", AFMcalledfor);\n clearErrors(\"taxpayerId\")\n }\n const updateInvType = (vals) => {\n setValue(\"myDataInvoiceType\", vals)\n trigger(\"myDataInvoiceType\")\n };\n\n const update = (e) => {\n if (e.target == undefined) {\n setValue(\"taxOffice\", { label: e.label, value: e.value });\n }\n else {\n setValue(e.target.name, e.target.value);\n trigger(e.target.name)\n }\n };\n\n const translateMyDataInvoiceTypes = types => {\n var optionspaymentTypes = [];\n if (types != undefined) {\n types.forEach(element => {\n optionspaymentTypes.push({\n value: element.value,\n label: t(element.label),\n });\n });\n\n }\n return optionspaymentTypes\n }\n const onClickFetchTaxPayerId = () => {\n var company = JSON.parse(localStorage.getItem(\"company\"));\n var AFMcalledfor = getValues().taxpayerId;\n var AFMcalledby = \"126235377\";\n setBlockuiLoading(true)\n ApiClient.checkAfm(AFMcalledfor, AFMcalledby).then(\n response => {\n try {\n var res = response.data.Body.rgWsPublicAfmMethodResponse;\n\n var error = res.pErrorRec_out;\n if (error) {\n if (error.errorCode != null) {\n toast.error(error.errorDescr);\n setBlockuiLoading(false)\n return;\n }\n }\n\n\n var basic_rec = res.RgWsPublicBasicRt_out;\n var firm_act_tab = res.arrayOfRgWsPublicFirmActRt_out;\n\n setValue(\"name\", basic_rec.onomasia);\n var address = basic_rec.postalAddress\n\n if (basic_rec.postalAddressNo && basic_rec.postalAddressNo.trim() != \"0\") {\n address += \" \" + basic_rec.postalAddressNo.trim();\n }\n\n setValue(\"address\", address);\n if (firm_act_tab) {\n if (Array.isArray(firm_act_tab.RgWsPublicFirmActRtUser)) {\n setValue(\"subjectField\", firm_act_tab.RgWsPublicFirmActRtUser[0].firmActDescr);\n }\n else {\n setValue(\"subjectField\", firm_act_tab.RgWsPublicFirmActRtUser.firmActDescr);\n\n }\n }\n setValue(\"postalCode\", basic_rec.postalZipCode);\n setValue(\"city\", basic_rec.postalAreaDescription);\n setValue(\"number\", basic_rec.postalAddressNo);\n setValue(\"taxOffice\", { \"value\": basic_rec.doy, \"label\": basic_rec.doyDescr });\n setBlockuiLoading(false)\n } catch (error) {\n console.error(error)\n setBlockuiLoading(false)\n }\n },\n error => {\n if (error.response) {\n toast.error(error.message + \": \" + error.response.data.message)\n console.error(error.response.data.message);\n }\n setBlockuiLoading(false)\n }\n )\n }\n\n const hidefetchTaxisInfoExplanationMess = () => {\n setFetchTaxisInfoExplanationMessVisible(false);\n }\n\n\n return (\n
\n
\n
\n \n
\n\n
{t(\"companyAdd\")}
\n\n
\n
    \n
  • {t(\"CompanyWizardInfo1\")}
  • \n
  • {t(\"CompanyWizardInfo2\")}
  • \n
\n {t(\"CompanyWizardInfo3\")}\n
\n\n\n
\n\n
\n \n\n
\n {/*
\n \n
*/}\n \n
\n {t(\"fetchTaxisInfoExplanationMess\")} }>\n < span className=\"input-group-text fetchTaxPayerId\" onClick={onClickFetchTaxPayerId}>\n \n {/* */}\n
\n
{errors.taxpayerId?.message}
\n
\n
\n
\n

\n
\n
\n\n
\n \n \n
{errors.name?.message}
\n
\n\n\n\n\n
\n \n \n
{errors.address?.message}
\n
\n\n
\n \n\n\n (\n \n )}\n control={control}\n rules={{ required: false }}\n name=\"taxOffice\"\n defaultValue=\"\"\n />\n\n
{errors.taxOffice?.message}
\n\n
\n\n
\n \n \n
{errors.subjectField?.message}
\n
\n\n\n\n\n\n
\n

\n
{t(\"invtypesAdd\")}
\n
\n

{t(\"invoiceWizardInfo\")}

\n
\n\n
\n
\n \n (\n \n )}\n control={control}\n\n rules={{ required: true }}\n name=\"myDataInvoiceType\"\n defaultValue=\"\"\n />\n\n {/* \n \n \n\n \n {t(\"invoiceWizardInfo\")}\n */}\n
\n
\n

\n\n
\n
\n
\n
\n
\n );\n});\n\nexport default Wizard;\n","import React from \"react\";\nimport Select, { components } from 'react-select'\nimport CreatableSelect from 'react-select/creatable';\nimport { AsyncPaginate, wrapMenuList,withAsyncPaginate } from \"react-select-async-paginate\";\nimport useMobileDetect from 'use-mobile-detect-hook';\n\n\n\nconst formatOptionLabel = ({ ...data }, { context }, props) => {\n\n var keys = Object.keys(data);\n keys = keys.filter(item => item !== \"value\" && item !== \"model\")\n var cols = [];\n if (props.asyncPaginate) {\n cols = props.columns;\n }\n else {\n cols = props.options ? props.options.columns : [];\n }\n\n const tifOptions = cols.map((col) =>\n
{col.asLabel ? data[\"label\"] : data[col.field]}
\n )\n if (context === \"value\") {\n //when model has code attribute, then code attribute as default else label attribute\n return
{data[\"label\"]}
;\n } else if (context === \"menu\") {\n return (\n
\n {tifOptions}\n
\n );\n }\n};\n\nconst getOptionLabel = ({ option }) => {\n\n var keys = Object.keys(option);\n var str = \"\";\n keys.forEach((k) => {\n if (k != \"value\") {\n str += option[k] + \" \";\n }\n\n });\n return str;\n};\n\n\nconst { MenuList } = components;\n\nconst CustomMenuList = ({ selectProps, ...props }) => {\n\n var headerElement = [];\n selectProps.columns.forEach(col => {\n headerElement.push(
{col.header}
);\n });\n\n var btns = [];\n if (selectProps.footer) {\n var index = 0;\n selectProps.footer.buttons.forEach(btn => {\n var classname = btn.className + \" react-select-shortcut\";\n var key = \"footerbtn_\" + index;\n index++;\n btns.push();\n });\n\n }\n // console.log(props)\n return (\n
\n
\n
\n
\n {headerElement}\n
\n
\n
\n \n {selectProps.footer ?\n
\n
\n {btns}\n
\n
: \"\"}\n\n
\n );\n};\n\nconst defaultAdditional = {\n page: 1\n};\nconst detectMobile = useMobileDetect();\n\nconst getWidth=(width)=>{\n return detectMobile.isDesktop() ?(width == undefined ? '100%' : width):\"100%\"; \n\n}\n\n\nconst CreatableAsyncPaginate = withAsyncPaginate(CreatableSelect) ;\nclass SelectTable extends React.Component {\n\n constructor(props) {\n super(props);\n window.selectRef = React.createRef();\n }\n\n\n state = {\n selectedOption: this.props.defaultValue,\n };\n\n handleChange = value => {\n\n if (value == null) {\n this.setValue(\"\");\n this.props.onChangeValue(\"\");\n }\n else {\n this.setValue(value.label);\n this.props.onChangeValue(value);\n }\n\n };\n\n hangleInputChange = (value, input) => {\n this.props.onInputChange(value, input);\n }\n hangleOnBlur = value => {\n this.props.onBlur(value);\n }\n\n setValue = value => {\n this.setState(prevState => ({\n select: {\n ...prevState.select,\n value\n }\n }));\n };\n\n hangleAsyncInputChange = (value) => {\n this.setValue(value);\n }\n\n\n render() {\n\n // const customStyles = {\n // menu: (provided, state) => ({\n // ...provided,\n // minWidth: 250,\n // border: '4px #333',\n // zIndex: 9999\n // }),\n // control: (provided, state) => ({\n // ...provided,\n // background: '#fff',\n // borderColor: '#9e9e9e',\n // minHeight: '30px',\n // height: '30px',\n // boxShadow: state.isFocused ? null : null,\n // }),\n // valueContainer: (provided, state) => ({\n // ...provided,\n // height: '30px',\n // padding: '0 6px'\n // }),\n\n // input: (provided, state) => ({\n // ...provided,\n // margin: '0px',\n // }),\n // indicatorSeparator: state => ({\n // display: 'none',\n // }),\n // indicatorsContainer: (provided, state) => ({\n // ...provided,\n // height: '30px',\n // })\n // };\n\n\n \n\n if (this.props.asyncPaginate) {\n if (this.props.createTable) {\n return (\n \n this.props.loadOptions(q, prevOptions, { page }, this.props)}\n additional={defaultAdditional}\n onChange={this.handleChange}\n onInputChange={this.hangleInputChange}\n columns={this.props.columns ? this.props.columns : []}\n getOptionLabel={(option) => { return getOptionLabel({ option }) }}\n formatOptionLabel={({ ...data }, { context }) => { return formatOptionLabel({ ...data }, { context }, this.props) }}\n // isOptionDisabled={(option) => option.disabled}\n loadOptionsOnMenuOpen={true}\n inputValue={this.props.inputValue}\n styles={{\n menu: (provided, state) => ({\n ...provided,\n width: getWidth(this.props.width),\n maxWidth: this.props.width,\n border: '4px #333',\n zIndex: 9999\n }),\n indicatorsContainer: (provided, state) => ({\n ...provided,\n padding: '0px',\n }),\n placeholder: (provided, state) => ({\n ...provided,\n fontSize: '12px',\n }),\n }}\n isClearable\n placeholder={this.props.placeholder}\n inputId={this.props.inputId}\n openOnFocus={true}\n menuIsOpen={this.props.menuIsOpen}\n isOpen={true}\n className={this.props.className}\n maxMenuHeight={200}\n components={{\n MenuList: wrapMenuList(CustomMenuList),\n }}\n />\n )\n }\n else{\n return (\n \n this.props.loadOptions(q, prevOptions, { page }, this.props)}\n additional={defaultAdditional}\n onChange={this.handleChange}\n onInputChange={this.hangleAsyncInputChange}\n defaultValue={this.props.defaultValue}\n columns={this.props.columns ? this.props.columns : []}\n getOptionLabel={(option) => { return getOptionLabel({ option }) }}\n formatOptionLabel={({ ...data }, { context }) => { return formatOptionLabel({ ...data }, { context }, this.props) }}\n // isOptionDisabled={(option) => option.disabled}\n loadOptionsOnMenuOpen={true}\n styles={{\n menu: (provided, state) => ({\n ...provided,\n width: getWidth(this.props.width),\n maxWidth: this.props.width,\n border: '4px #333',\n zIndex: 9999\n }),\n indicatorsContainer: (provided, state) => ({\n ...provided,\n padding: '0px',\n }),\n placeholder: (provided, state) => ({\n ...provided,\n fontSize: '12px',\n }),\n }}\n isMulti={this.props.isMulti}\n inputId={this.props.inputId}\n placeholder={this.props.placeholder}\n openOnFocus={true}\n isClearable={this.props.isClearable}\n menuIsOpen={this.props.menuIsOpen}\n isOpen={true}\n className={this.props.className}\n maxMenuHeight={200}\n components={{\n MenuList: wrapMenuList(CustomMenuList),\n }}\n />\n )\n }\n \n }\n else {\n if (this.props.createTable) {\n return (\n { return getOptionLabel({ option }) }}\n formatOptionLabel={({ ...data }, { context }) => { return formatOptionLabel({ ...data }, { context }, this.props) }}\n onKeyDown={(e) => {\n // if (e.key === \"Enter\") {\n // var menuIsOpen = window.selectRef.current.state.menuIsOpen; \n // if (!menuIsOpen) { e.preventDefault() };\n // }\n }}\n ref={window.selectRef}\n // isOptionDisabled={(option) => option.disabled}\n styles={{\n menu: (provided, state) => ({\n ...provided,\n width: getWidth(this.props.width),\n maxWidth: this.props.width,\n border: '4px #333',\n zIndex: 9999\n }),\n indicatorsContainer: (provided, state) => ({\n ...provided,\n padding: '0px',\n }),\n placeholder: (provided, state) => ({\n ...provided,\n fontSize: '12px',\n }),\n }}\n // footer={this.props.footer ? this.props.footer : null}\n value={this.props.selectedValue}\n placeholder={this.props.placeholder}\n openOnFocus={true}\n menuIsOpen={this.props.menuIsOpen}\n isOpen={true}\n maxMenuHeight={200}\n className={this.props.className}\n isDisabled={this.props.isDisabled}\n components={{\n MenuList: CustomMenuList,\n }}\n\n />\n );\n }\n else {\n return (\n\n { if (e.key === \"Enter\") { var menuIsOpen = window.selectRef.current.state.menuIsOpen; if (!menuIsOpen) { e.preventDefault() }; } }}\n ref={window.selectRef}\n options={this.props.options ? this.props.options.data : []}\n columns={this.props.options ? this.props.options.columns : []}\n getOptionLabel={(option) => { return getOptionLabel({ option }) }}\n formatOptionLabel={({ ...data }, { context }) => { return formatOptionLabel({ ...data }, { context }, this.props) }}\n // isOptionDisabled={(option) => option.disabled}\n isDisabled={this.props.isDisabled}\n styles={{\n menu: (provided, state) => ({\n ...provided,\n width: getWidth(this.props.width),\n border: '4px #333',\n minWidth: 300,\n zIndex: 9999\n }),\n indicatorsContainer: (provided, state) => ({\n ...provided,\n padding: '0px',\n }),\n placeholder: (provided, state) => ({\n ...provided,\n fontSize: '12px',\n }),\n }}\n inputId={this.props.inputId}\n openOnFocus={true}\n menuIsOpen={this.props.menuIsOpen}\n isOpen={true}\n className={this.props.className}\n maxMenuHeight={200}\n components={{\n MenuList: CustomMenuList,\n }}\n />\n );\n }\n }\n\n\n\n }\n}\n\nexport default SelectTable;","\nimport ApiClient from \"./api-client\"\n\nconst sleep = ms =>\n new Promise(resolve => {\n setTimeout(() => {\n resolve();\n }, ms);\n });\n\nconst optionsPerPage = 10;\nvar _data = [];\nvar countData=0;\nconst loadCompanyOptions = async (search, page, props) => {\n\n var sortBy = null;\n var order = \"asc\";\n var simpleColumnFilters ;\n if(search){\n simpleColumnFilters = [{\n column: \"name\",\n filter: search,\n filterType:\"text\"\n },\n {\n column: \"taxpayerId\",\n filter: search,\n filterType:\"text\"\n }]\n }\n var object = {\n \"quickSearch\": \"\",\n \"pageNo\": page,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\":optionsPerPage,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n \n let filteredOptions;\n let hasMore;\n let slicedOptions;\n const result = await ApiClient.getCompanyPage(object);\n\n var data = result.data.objectList;\n\n\n if(page==1){\n countData=data.length;\n }\n else{\n countData+=data.length;\n }\n\n\n _data = [];\n data.forEach(element => {\n\n var _d = {\n label: element.name,\n value: element.id,\n taxpayerId: element.taxpayerId,\n model: element\n }\n _data.push(_d);\n });\n\n\n // if (!search) {\n // filteredOptions = _data;\n // } else {\n // const searchLower = search.toLowerCase();\n\n // filteredOptions = _data.filter(({ label }) =>\n // label.toLowerCase().includes(searchLower)\n // );\n // }\n\n hasMore = Math.ceil(countData / optionsPerPage) >= page;\n // slicedOptions = _data.slice(\n // (page - 1) * optionsPerPage,\n // page * optionsPerPage\n // );\n\n return {\n options: _data,\n hasMore\n };\n};\n\nexport default loadCompanyOptions;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from 'react-bootstrap/Modal';\nimport Button from 'react-bootstrap/Button';\nimport SelectTable from '../select-table'\nimport ApiClient from \"../../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport loadCompaniesOptions from \"../../services/loadCompanies\";\n\nconst loadPageOptions = async (q, prevOptions, { page }, props) => {\n const { options, hasMore } = await loadCompaniesOptions(q, page, props);\n return {\n options,\n hasMore,\n\n additional: {\n page: page + 1\n }\n };\n};\nexport default function ChooseCompany(props) {\n\n const { t } = useTranslation();\n const [selectedCompany, setSelectedCompany] = useState();\n\n const handleChange = value => {\n setSelectedCompany(value)\n var id = value.value;\n localStorage.removeItem(\"defaults\");\n ApiClient.getCompany(id).then(\n (response) => {\n var jsonComp = response.data;\n localStorage.setItem(\"company\", JSON.stringify(jsonComp));\n\n },\n error => {\n const resMessage =\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString();\n\n this.setState({\n loading: false,\n message: resMessage\n });\n }\n );\n };\n\n\n\n\n\n useEffect(() => {\n let mounted = true;\n var jsonComp = JSON.parse(localStorage.getItem('company'));\n if (jsonComp) {\n setSelectedCompany({\n value: jsonComp.id,\n label: jsonComp.name,\n taxid: jsonComp.taxpayerId\n })\n }\n return () => mounted = false;\n\n }, []);\n\n return (\n \n \n {t(\"chooseCompany\")}\n \n \n
\n \n
\n\n
\n \n \n \n \n\n );\n}\n","class Commons {\n\n getDefaults() {\n var defs = JSON.parse(localStorage.getItem(\"defaults\"));\n return defs == undefined ? {} : defs;\n }\n\n formatNumber(number) {\n return new Intl.NumberFormat('el-GR', {\n minimumFractionDigits: 2,\n }).format(parseFloat(number.toString()).toFixed(2));\n }\n\n formatNumberEuro(number) {\n return new Intl.NumberFormat('el-GR', {\n style: 'currency',\n currency: 'EUR',\n minimumFractionDigits: 2,\n }).format(parseFloat(number.toString()).toFixed(2));\n }\n\n setDefault(key, value) {\n var defaults = this.getDefaults();\n defaults[key] = value;\n localStorage.setItem(\"defaults\", JSON.stringify(defaults));\n }\n\n isOnGroup(myDataInvoiceType, group) {\n var selfpricing_invoicearr = [\"invoice1_1\", \"invoice1_4\", \"invoice1_5\", \"invoice1_6\", \"invoice2_1\", \"invoice2_4\", \"invoice5_1\", \"invoice5_2\"]\n var customer_forbidden_arr = [\"invoice11_1\", \"invoice11_2\", \"invoice11_02\", \"invoice11_3\", \"invoice11_4\", \"invoice17_1\", \"invoice17_5\"]\n var isExpense_arr = [\"invoice3_1\", \"invoice13_1\", \"invoice13_2\", \"invoice13_3\", \"invoice16_1\", \"invoice17_1\", \"invoice17_5\"]\n var countryDisable_arr = [\"invoice1_2\", \"invoice2_2\", \"invoice1_3\", \"invoice2_3\"];\n var noCountItems_arr = [\"invoice2_1\", \"invoice2_2\", \"invoice2_3\", \"invoice2_4\", \"invoice11_2\", \"invoice17_1\"];\n var noMeasurementUnit_arr = [\"invoice2_1\", \"invoice2_01\", \"invoice11_02\", \"invoice2_2\", \"invoice2_4\", \"invoice8_1\", \"invoice8_4\", \"invoice17_1\", \"invoice17_5\"];\n var noQuantity_arr = [\"invoice2_2\", \"invoice2_4\", \"invoice8_1\", \"invoice8_4\", \"invoice17_1\", \"invoice17_5\"];\n var noVat_arr = [\"invoice8_1\", \"invoice3_1\", \"invoice8_4\", \"invoice17_1\", \"invoice9_3\"];\n var zeroVat_arr = [\"invoice1_3\", \"invoice1_2\"];\n var trafficDataForbidden_arr = [\"invoice2_1\", \"invoice2_01\", \"invoice11_2\", \"invoice11_02\"];\n var zeroPrice_arr = [\"invoice9_3\"];\n var isDeliveryNote_arr = [\"invoice1_1\",\"invoice1_2\",\"invoice1_3\",\"invoice1_4\",\"invoice3_1\",\"invoice3_2\",\"invoice5_2\",\"invoice11_1\",\"invoice11_4\",\"invoice11_5\",\"invoice14_1\",\"invoice14_2\"]\n\n\n switch (group) {\n case \"zeroPrice\": {\n return zeroPrice_arr.includes(myDataInvoiceType);\n }\n case \"zeroVat\": {\n return zeroVat_arr.includes(myDataInvoiceType);\n }\n case \"trafficDataForbidden\": {\n return trafficDataForbidden_arr.includes(myDataInvoiceType);\n }\n case \"allowSelfPrice\": {\n return selfpricing_invoicearr.includes(myDataInvoiceType);\n }\n case \"customerForbidden\": {\n return customer_forbidden_arr.includes(myDataInvoiceType);\n }\n case \"isExpense\": {\n return isExpense_arr.includes(myDataInvoiceType);\n }\n case \"countryDisable\": {\n return countryDisable_arr.includes(myDataInvoiceType);\n }\n case \"noCountItems\": {\n return noCountItems_arr.includes(myDataInvoiceType);\n }\n case \"noMeasurementUnit\": {\n return noMeasurementUnit_arr.includes(myDataInvoiceType);\n }\n case \"noQuantity\": {\n return noQuantity_arr.includes(myDataInvoiceType);\n }\n case \"noVat\": {\n return noVat_arr.includes(myDataInvoiceType);\n }\n case \"isDeliveryNote\":{\n return isDeliveryNote_arr.includes(myDataInvoiceType);\n }\n default: {\n return false;\n }\n }\n }\n setCookie(cname, cvalue, exdays) {\n const d = new Date();\n d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n let expires = \"expires=\" + d.toUTCString();\n document.cookie = cname + \"=\" + cvalue + \";\" + expires + \";path=/\";\n }\n getCookie(cname) {\n let name = cname + \"=\";\n let decodedCookie = decodeURIComponent(document.cookie);\n let ca = decodedCookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) == ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) == 0) {\n return c.substring(name.length, c.length);\n }\n }\n return \"\";\n }\n getParentQueryString() {\n var _parent = window.getElementById(\"targetFrame\");\n return window.getElementById(\"targetFrame\").value();\n }\n getInvoiceTypeName(invtype) {\n var invtype_name=\"invoice\"+invtype.key.replace(\".\",\"_\");\n return invtype_name;\n }\n\n getPaymentTypeUid(pt){\n switch(pt){\n case \"CASH\": {\n return 3\n }\n case \"WEB_BANKING\": {\n return 6\n }\n case \"POS\": {\n return 7\n }\n case \"ON_CREDIT\": {\n return 5\n }\n case \"DOMESTIC_PAYMENTS_ACCOUNT_NUMBER\": {\n return 1\n }\n case \"FOREIGN_PAYMENTS_ACCOUNT_NUMBER\": {\n return 2\n }\n case \"CHECK\": {\n return 4\n }\n }\n return;\n }\n \n iOS() {\n return [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform)\n // iPad on iOS 13 detection\n || (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\n }\n\n isEmpty(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n return false;\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({});\n }\n convertData(data) {\n var invoiceDetails = [];\n var counter = 0;\n data.saleEntries.forEach(e => {\n counter++;\n var classifications=[];\n e.saleEntryClassifications.forEach(c=>{\n classifications.push({\n classificationCategory:c.classificationCategory,\n classificationType:c.classificationValue\n })\n });\n invoiceDetails.push({\n lineNumber:counter,\n netValue:e.priceWithoutVat,\n vatAmount:e.priceWithVat-e.priceWithoutVat,\n measurementUnit:e.measurementUnit,\n incomeClassification:classifications\n });\n })\n\n return {\n invoice:[\n {\n uid:data.invoiceUid,\n mark:data.mark,\n issuer:{\n vatNumber:data.company.taxpayerId,\n country:data.issuerCountry\n },\n counterpart:{\n vatNumber:data.customerTaxPayerId,\n country:data.customerCountry?data.customerCountry.alpha2:\"\"\n },\n invoiceHeader:{\n invoiceType:data.myDataInvoiceType.replace(\"invoice\",\"\"),\n series:data.series,\n aa:data.invoiceNumber\n },\n paymentMethods:{\n paymentMethodDetails:[{\n type: this.getPaymentTypeUid(data.paymentType),\n amount: data.totalPayment\n }]\n },\n invoiceDetails:invoiceDetails\n }\n ]\n } \n}\n\n // parseError(error) {\n // var str = i18n.t(error.code, { lng: \"gb\" });\n // var _arr1 = str.split(\" \")\n // var _str = error.message;\n // var _arr2 = _str.split(\" \");\n // let wildvals = _arr2.filter(x => !_arr1.includes(x));\n // let wildchar = _arr1.filter(x => !_arr2.includes(x));\n\n // console.log(wildvals)\n // console.log(wildchar)\n\n\n // var _error;\n // if (wildchar.length <= 1) {\n // var _d = wildvals.join(' ').toString();\n // _error = t(error.code).replace(wildchar[0], t(_d));\n // }\n // else {\n // var strArr = [];\n // wildchar.forEach(e => {\n // strArr.push(_str.split(e))\n // })\n // _error = t(error.code).replace(\"{Field}\", t(_d));\n // }\n\n // }\n}\n\nexport default new Commons();\n","import React, { Fragment, useState, useEffect, useRef } from \"react\";\n\nimport Navbar from 'react-bootstrap/Navbar';\nimport Nav from 'react-bootstrap/Nav';\nimport Modal from 'react-bootstrap/Modal';\nimport Button from 'react-bootstrap/Button';\nimport ReactCountryFlag from \"react-country-flag\";\nimport Container from 'react-bootstrap/Container';\nimport NavDropdown from 'react-bootstrap/NavDropdown';\nimport { Link, useHistory } from 'react-router-dom';\nimport Logo from '../img/timologic.png';\nimport LogoEmpty from '../img/logo-empty.png';\nimport ApiClient from \"../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport StartWizard from \"../components/wizard/wizard.component\";\nimport Wizard from \"../components/wizard/wizard.component\";\nimport ChooseCompanyModal from \"./modals/choose-company\";\nimport pflogo from '../img/profile.png';\nimport { logout } from '../util/AuthUtils';\nimport Commons from '../util/commons'\nimport { toast } from 'react-toastify';\n\n\nexport default function MainNavBar(props) {\n\n const hangleLogout = function () {\n logout();\n }\n const currentUser = JSON.parse(localStorage.getItem(\"user\"));\n const { t, i18n } = useTranslation();\n const history = useHistory();\n const [showWizard, setShowWizard] = useState(false);\n const [showPrev, setShowPrev] = useState(\"hidden\");\n const [showNext, setShowNext] = useState(\"visible\");\n const [nextBtnText, setNextBtnText] = useState(t(\"nextStep\"));\n const [showCompanyModal, setShowCompanyModal] = useState(false);\n const wizardRef = useRef();\n const [newNotifications, setNewNotifications] = useState();\n // const [playSound] = useSound(boopSfx);\n\n const [selectedCompany, setSelectedCompany] = useState({\n selectedCompany: { name: \"\" }\n });\n const [expanded, setExpanded] = useState(false);\n const params = new URLSearchParams(window.location.search)\n let urlShowWizard = params.get('wizard')\n\n var isAdmin = false;\n var isManager = false;\n var adminMenu = null;\n var managerMenu = null;\n var paymenu = null;\n\n const handleCloseWizard = () => setShowWizard(false);\n\n const handleCloseCompanyModal = () => {\n setSelectedCompany(JSON.parse(localStorage.getItem(\"company\")))\n setShowCompanyModal(false)\n setTimeout(function () {\n window.location.reload();\n }, 1000)\n };\n const handleShowCompanyModal = () => {\n setShowCompanyModal(true)\n };\n\n const updateUserIsOnNotifyState = () => {\n ApiClient.updateUserIsOnNotifyState().then(\n response => {\n if (response != undefined) {\n var userJson = localStorage.getItem(\"user\")\n var user = JSON.parse(userJson);\n user.isOnNotifyState = false;\n localStorage.setItem(\"user\", JSON.stringify(user))\n console.log(response);\n setNewNotifications(<>)\n }\n },\n error => {\n console.error(error.data)\n }\n )\n };\n\n\n useEffect(() => {\n let mounted = true;\n var usr = JSON.parse(localStorage.getItem(\"user\"));\n var wizard = false;\n if (usr != null) {\n var wizard = usr.wizard;\n if (wizard) {\n setShowWizard(true)\n }\n else {\n var company = JSON.parse(localStorage.getItem(\"company\"));\n if (company != undefined) {\n setSelectedCompany(company);\n }\n else {\n console.log(usr)\n setShowCompanyModal(true);\n }\n if (usr.isOnNotifyState) {\n // playSound();\n setNewNotifications(\n \n \n \n \n \n \n \n \n )\n }\n }\n\n if (urlShowWizard) {\n setShowWizard(true)\n }\n\n\n }\n else {\n\n var company = JSON.parse(localStorage.getItem(\"company\"));\n if (company != undefined) {\n setSelectedCompany(company);\n }\n else {\n setShowCompanyModal(true);\n }\n }\n\n\n if (i18n.language == \"en-US\") {\n i18n.changeLanguage(\"gr\")\n }\n\n return () => mounted = false;\n\n }, []);\n // if (currentUser != null) {\n // isAdmin = currentUser.roles.includes(\"ROLE_ADMIN\");\n // }\n // if (currentUser != null) {\n // isManager = currentUser.roles.includes(\"ROLE_MANAGER\");\n // }\n isManager = true;\n if (isAdmin) {\n adminMenu =\n \n Users\n \n }\n\n\n const getCompaniesUrl = () => {\n var _id = selectedCompany ? selectedCompany.id : \"\";\n return \"/usercompany/\" + _id;\n }\n function iOS() {\n return [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform)\n // iPad on iOS 13 detection\n || (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\n }\n if (isAdmin || isManager) {\n managerMenu =\n \n setExpanded(false)} as={Link} to={getCompaniesUrl()}>{t(\"userCompanies\")}\n setExpanded(false)} as={Link} to=\"/invoicetypes\">{t(\"invtypes\")}\n setExpanded(false)} as={Link} to=\"/productCategories\">{t(\"classificationsOfProducts\")}\n setExpanded(false)} as={Link} to=\"/templates\">{t(\"invoiceDesigner\")}\n setExpanded(false)} as={Link} to=\"/deductions\">{t(\"Deductions\")}\n\n setExpanded(false)} as={Link} to=\"/aade/sale\">{t(\"searchByMarkFromAade\")}\n\n {/* setExpanded(false)} as={Link} to=\"/accountantAssignment\">{t(\"accountantAssignmnent\")} */}\n window.open(\"https://timologic.gr/blog/sindesi-eshop-mydata-timologisi/\", '_blank')}>{t(\"eshopConnect\")}\n\n \n }\n\n if (localStorage.getItem(\"user\")) {\n if (JSON.parse(localStorage.getItem(\"user\")).lastTransactionDate == null && !iOS()) {\n paymenu = \n {t(\"subscription\")}\n \n }\n } \n \n const User = JSON.parse(localStorage.getItem(\"user\"));\n\n\n const getLogo = () => {\n if (window.location !== window.parent.location) {\n window.parent.postMessage(\"messageFromNavbar\", \"*\");\n return LogoEmpty;\n }\n return Logo\n }\n\n function isEmpty(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n return false;\n }\n }\n\n return JSON.stringify(obj) === JSON.stringify({});\n }\n const handleSaveAndExit = () => {\n var data = wizardRef.current.getValues();\n debugger;\n var errors = wizardRef.current.getErrors();\n var vals = Object.values(errors);\n setTimeout(function () {\n if (isEmpty(vals[0])) {\n SaveChanges(data);\n }\n }, 100)\n }\n\n function SaveChanges(data) {\n localStorage.removeItem(\"wizard\")\n var company = {\n name: data.name,\n taxpayerId: data.taxpayerId ? data.taxpayerId.trim() : \"\",\n taxOffice: { id: data.taxOffice.value }\n }\n if (company.taxOffice.id == undefined) {\n company.taxOffice = null;\n }\n var branch = {\n name: data.name,\n subjectField: data.subjectField,\n address: data.address,\n branchNumber:0\n }\n\n company.branches = [branch];\n\n console.log(JSON.stringify(company))\n ApiClient.saveCompany(company).then(\n response => {\n var savedCompany = response.data;\n var invoiceTypes = [];\n\n var stypes = data.myDataInvoiceType;\n stypes.forEach(element => {\n invoiceTypes.push({\n company: { id: savedCompany.id },\n name: element.label,\n myDataInvoiceType: element.value,\n series: [{\n name: \"A\",\n branch: { id: savedCompany.branches[0].id },\n startNumber: 0\n }]\n });\n });\n\n ApiClient.SaveBulkInvoiceTypeWithSeries(invoiceTypes).then(\n response => {\n\n ApiClient.UpdateUserWizard().then(\n response => {\n toast.success(t(\"saveSucceded\"))\n localStorage.setItem(\"company\", JSON.stringify(savedCompany));\n localStorage.setItem(\"user\", JSON.stringify(response.data));\n history.push(\"/sale\");\n window.location.reload();\n Commons.setDefault(\"invoiceTypeMessages\", [\"invoice2_1\", \"invoice11_1\", \"invoice1_01\"])\n\n }\n );\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n )\n setShowWizard(false);\n },\n error => {\n toast.error(error.message + \": \" + error.response.data.message, 20000)\n console.error(error.response.data.message)\n }\n );\n }\n\n const LanguageDropDown = () => {\n return \n }>\n \n \n GB\n \n \n \n GR\n \n {/* \n \n AL\n */}\n \n }\n\n return (\n \n \n \n \"logo\"\n \n
\n history.go(0)}>\n setExpanded(expanded ? false : \"expanded\")} id=\"main-nav-toogler\" aria-controls=\"basic-navbar-nav\" />\n
\n\n \n \n \n \n
\n {/* */}\n\n \n \n {t(\"startWizardTitle\")}\n \n \n {/* */}\n\n
\n \n
\n
\n \n {/* {(SW) && } */}\n \n \n \n \n
\n );\n}\n","import React, { forwardRef, useState, useEffect } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport ReactCountryFlag from \"react-country-flag\"\nimport fbLogo from '../img/fb-logo.png';\nimport googleLogo from '../img/google-logo.png';\nimport appleLogo from '../img/apple-logo.png';\n\nimport { GOOGLE_AUTH_URL, FACEBOOK_AUTH_URL, APPLE_AUTH_URL, ACCESS_TOKEN } from '../util/constants';\nimport logo from '../img/timologic_login.png';\nimport Commons from '../util/commons'\nimport LogoEmpty from '../img/logo-empty.png';\nimport { Link } from 'react-router-dom'\n\n\nfunction SocialLogin(props) {\n let agent = navigator.userAgent;\n const { t } = useTranslation();\n\n console.log(agent)\n let display = \"block\"\n\n\n // if (agent.includes(\"ANDROID_KEY\")) {\n // display = \"none\"\n // }\n\n if (window.location !== window.parent.location) {\n display = \"none\"\n }\n\n const singleSignInAction = (provider) => {\n\n\n switch (provider) {\n case \"google\": {\n window.location.href = GOOGLE_AUTH_URL;\n break;\n }\n case \"fb\": {\n window.location.href = FACEBOOK_AUTH_URL;\n break;\n }\n case \"apple\": {\n window.location.href = APPLE_AUTH_URL;\n break;\n }\n }\n\n // if (agent.includes(\"ANDROID_KEY\")) {\n // setTimeout(function () {\n // window.Android.runSingleSignIn(provider);\n // }, 2000)\n // }\n // else{\n // switch(provider){\n // case \"google\":{\n // window.location.href=GOOGLE_AUTH_URL;\n // break;\n // }\n // case \"fb\":{\n // window.location.href=FACEBOOK_AUTH_URL;\n // break;\n // }\n // case \"apple\":{\n // window.location.href=APPLE_AUTH_URL;\n // break;\n // }\n // }\n // }\n }\n\n return (\n
\n {t(\"ConnectWith\")}\n\n
\n\n\n \n
\n {/*
\n {t(\"or\")}\n
*/}\n
\n );\n}\n\n\nconst LoginRegisterLayout = (props) => {\n\n const { t, i18n } = useTranslation();\n\n const changeLang = (e, lang) => {\n i18n.changeLanguage(lang.toLowerCase())\n }\n\n if (i18n.language == \"en-US\") {\n i18n.changeLanguage(\"gr\")\n }\n\n const [color, setColor] = useState(\"transparent\")\n\n useEffect(() => {\n let mounted = true;\n\n if (window.location !== window.parent.location) {\n setColor(\"#333\")\n }\n return () => mounted = false;\n\n }, []);\n const getLogo = () => {\n // var url = (window.location != window.parent.location)\n // ? document.referrer\n // : document.location.href;\n\n // let params = (new URL(url)).searchParams;\n\n // let aff = params.get('aff');\n // var whitelabel = Commons.getCookie(\"whitelabel\");\n // var parentStr = Commons.getParentQueryString();\n\n // if (whitelabel == \"true\") {\n // return \"https://etimologio.gr/assets/img/logo-e-timologio-mydata-timologiera-timologisi.png\";\n\n // }\n // else {\n // return logo\n // }\n\n\n //if we are on iframe\n if (window.location !== window.parent.location) {\n //send message to iframe to ask aff\n window.parent.postMessage(\"messageFromLogin\", \"*\");\n return LogoEmpty;\n // return \"https://etimologio.gr/assets/img/logo-e-timologio-mydata-timologiera-timologisi.png\";\n }\n\n\n return logo\n\n }\n return (\n
\n
\n
\n
\n\n
\n
\n {/* */}\n \n \n
\n

{t(\"InvoiceApplication\")}

\n \n\n {props.children}\n

\n {t(\"forgotPassMess\")}{t(\"here\")}!\n \n
\n\n\n
\n
\n
\n {props.footer}\n
\n\n
\n
\n );\n}\nexport default LoginRegisterLayout\n\n","import React, { useEffect, useState } from 'react';\nimport '../styles/login.css';\nimport { ACCESS_TOKEN ,SPECIAL_ENGLISH_AFFILIATE} from '../util/constants';\nimport { login } from '../util/AuthUtils';\nimport { getCurrentUser, cleancookies } from '../util/AuthUtils';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { Link } from 'react-router-dom'\nimport { useAlert } from 'react-alert'\nimport LoginRegisterLayout from '../components/login-register-layout';\nimport myDATALogo from '../img/mydata.png';\n\n\n\n\n\nfunction LoginForm(props) {\n\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const history = useHistory();\n const alert = useAlert()\n const { t } = useTranslation();\n\n\n const handleInputChange = (event) => {\n const target = event.target;\n const inputName = target.name;\n const inputValue = target.value;\n\n switch (inputName) {\n case \"email\": {\n setEmail(inputValue);\n break;\n }\n case \"password\": {\n setPassword(inputValue);\n break;\n }\n }\n\n console.log(event.target.name)\n\n // this.setState({\n // [inputName]: inputValue\n // });\n }\n\n const handleSubmit = (event) => {\n event.preventDefault();\n\n const loginRequest = {\n email: email,\n password: password\n }\n\n props.setBlockuiLoading(true)\n\n event.preventDefault();\n\n\n login(loginRequest)\n .then(loginResp => {\n localStorage.setItem(ACCESS_TOKEN, loginResp.accessToken);\n getCurrentUser()\n .then(user => {\n if (user.user.cleanCookies) {\n cleancookies().then(resp => {\n localStorage.removeItem(\"company\")\n localStorage.removeItem(\"defaults\")\n localStorage.setItem(\"user\", JSON.stringify(user.user))\n if (user.companies && user.companies.length == 1) {\n localStorage.setItem(\"company\", JSON.stringify(user.companies[0]))\n }\n history.push(\"/home\");\n props.setBlockuiLoading(false)\n }).catch(error => {\n\n console.error(error);\n localStorage.setItem(\"user\", JSON.stringify(user))\n history.push(\"/home\");\n });\n\n }\n else {\n localStorage.setItem(\"user\", JSON.stringify(user.user))\n if (user.companies && user.companies.length == 1) {\n localStorage.setItem(\"company\", JSON.stringify(user.companies[0]))\n }\n history.push(\"/home\");\n }\n\n }).catch(error => {\n setLoading(false)\n });\n\n\n }).catch(error => {\n console.error(error)\n alert.error((error && error.message) || 'Oops! Something went wrong. Please try again!');\n });\n }\n\n\n return (\n\n
\n
\n \n
\n\n
\n \n
\n
\n
\n \n
\n
\n\n );\n}\n\nexport default function Login(props) {\n const { t, i18n } = useTranslation();\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n\n useEffect(() => {\n let params = (new URL(window.location)).searchParams;\n let aff = params.get('aff');\n if (aff == SPECIAL_ENGLISH_AFFILIATE) {\n i18n.changeLanguage(\"gb\")\n }\n // If the OAuth2 login encounters an error, the user is redirected to the /login page with an error.\n // Here we display the error and then remove the error query parameter from the location.\n // if (window.location.state && window.location.state.error) {\n // setTimeout(() => {\n // console.error(window.location.state.error)\n // alert(window.location.state.error);\n // props.history.replace({\n // pathname: window.location.pathname,\n // state: {}\n // });\n // }, 100);\n // }\n }, []);\n\n const getRegisterUrl = () => {\n var url = \"/register\";\n\n let params = (new URL(window.location)).searchParams;\n let aff = params.get('aff');\n if (aff) {\n url += \"?aff=\" + aff;\n }\n return url;\n }\n\n if (props.authenticated) {\n return;\n\n // ;\n }\n else {\n return (\n // } tag=\"div\" blocking={blockuiLoading}>\n \n


\n {t(\"myDataCompatibleMessage\")} . \n \n }>\n
{t(\"or\")}
\n\n \n

\n {t(\"newUserQuestionMess\")}

{t(\"makeRegisterMess\")} {t(\"FREE\")} {t(\"byClickingLink\")}

{t(\"here\")}!
\n\n
\n //
\n );\n }\n\n}\n","import React, { useState, useRef } from 'react';\nimport '../styles/register.css';\nimport { Link, Redirect } from 'react-router-dom'\nimport { ACCESS_TOKEN, RECAPTCHA_KEY } from '../util/constants';\nimport { signup, login } from '../util/AuthUtils';\nimport { getCurrentUser } from '../util/AuthUtils';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport LoginRegisterLayout from '../components/login-register-layout';\nimport myDATALogo from '../img/mydata.png';\nimport { useTranslation } from 'react-i18next';\n\n\n\nfunction Register(props) {\n const { t } = useTranslation();\n\n if (props.authenticated) {\n return ;\n }\n const getLoginUrl = () => {\n var url = \"/login\";\n\n let params = (new URL(window.location)).searchParams;\n let aff = params.get('aff');\n if (aff) {\n url += \"?aff=\" + aff;\n }\n return url;\n }\n return (\n\n \n


\n

\n {t(\"tryFreeForSevenDaysMess\")}\n

\n {t(\"myDataCompatibleMessage\")} . \n \n }>\n\n
{t(\"or\")}
\n\n \n

\n {t(\"haveYouAlreadyAccountMess\")}

{t(\"Connect\")} {t(\"here\")}!
\n
\n );\n}\n\n\n\nfunction SignupForm(props) {\n const recaptchaRef = useRef();\n const [name, setName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [acceptTerms, setAcceptTerms] = useState(false);\n\n const { t } = useTranslation();\n\n const params = new URLSearchParams(props.location.search)\n let aff = params.get('aff')\n\n const handleInputChange = (event) => {\n const target = event.target;\n const inputName = target.name;\n const inputValue = target.value;\n\n switch (inputName) {\n case \"email\": {\n setEmail(inputValue);\n break;\n }\n case \"name\": {\n setName(inputValue);\n break;\n }\n case \"password\": {\n setPassword(inputValue);\n break;\n }\n }\n\n\n\n\n }\n const handleAcceptTermsChange = (event) => {\n setAcceptTerms(event.target.checked);\n const recaptchaValue = recaptchaRef.current.getValue();\n if (recaptchaValue && event.target.checked) {\n document.getElementById(\"signupBtn\").removeAttribute(\"disabled\");\n }\n else {\n document.getElementById(\"signupBtn\").setAttribute(\"disabled\", \"disabled\");\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const recaptchaValue = recaptchaRef.current.getValue();\n\n const signUpRequest = {\n name: email,\n email: email,\n password: password,\n captcha: recaptchaValue,\n acceptTerms: acceptTerms,\n affiliate: aff,\n roles: ['ROLE_MANAGER'],\n };\n\n\n signup(signUpRequest)\n .then(response => {\n // this.props.history.push(\"/login\");\n const loginRequest = {\n password: signUpRequest.password,\n email: signUpRequest.email\n }\n login(loginRequest)\n .then(response => {\n localStorage.setItem(ACCESS_TOKEN, response.accessToken);\n\n\n getCurrentUser()\n .then(response => {\n localStorage.setItem(\"user\", JSON.stringify(response.user))\n if (response.companies && response.companies.length == 1) {\n localStorage.setItem(\"company\", JSON.stringify(response.companies[0]))\n }\n props.history.push(\"/home?9f14269849c04c3fc80e4e4616761e7b\");\n }).catch(error => {\n console.error(error);\n });\n\n }).catch(error => {\n console.error(error)\n alert((error && error.message) || 'Oops! Something went wrong. Please try again!');\n });\n\n }).catch(error => {\n console.error(error)\n alert((error && error.message) || 'Oops! Something went wrong. Please try again!');\n });\n }\n const onChangeCaptcha = (value) => {\n var termsAccepted = document.getElementById(\"acceptTerms\").checked;\n if (value && termsAccepted) {\n document.getElementById(\"signupBtn\").removeAttribute(\"disabled\");\n }\n else {\n document.getElementById(\"signupBtn\").setAttribute(\"disabled\", \"disabled\");\n }\n\n }\n\n return (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n {t(\"AcceptThe\")} {t(\"termAndConditions\")}\n
\n


\n\n \n
\n\n
\n );\n}\n\nexport default Register","import React, { useEffect, useState } from 'react';\nimport '../styles/login.css';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { useAlert } from 'react-alert'\nimport ApiClient from \"../services/api-client\"\nimport { toast } from 'react-toastify';\nimport { Link } from 'react-router-dom'\nimport logo from '../img/timologic_login.png';\n\n\n\n\n\nfunction ForgotPasswordForm(props) {\n\n const [email, setEmail] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const history = useHistory();\n const alert = useAlert()\n const { t } = useTranslation();\n\n\n const handleInputChange = (event) => {\n const target = event.target;\n const inputName = target.name;\n const inputValue = target.value;\n\n switch (inputName) {\n case \"email\": {\n setEmail(inputValue);\n break;\n }\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault();\n\n ApiClient.resetPassword(email).then(\n (response) => {\n var response = response.data;\n toast.success(t(\"lookUpEmail\", { email: email }));\n },\n error => {\n const resMessage =\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString();\n\n\n }\n );\n }\n\n\n return (\n < >\n
\n
\n \n \n
\n
\n
\n

{t(\"ResetEmailMess\")}

\n
\n
\n
\n \n
\n
\n
\n \n
\n

{t(\"Back\")}

\n
\n
\n \n );\n}\n\nexport default function ForgotPassword(props) {\n const { t, i18n } = useTranslation();\n\n return (\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n );\n\n}\n","import React, { useState, useRef } from 'react';\nimport '../styles/register.css';\nimport { Redirect } from 'react-router-dom'\nimport { RECAPTCHA_KEY } from '../util/constants';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\nimport ApiClient from \"../services/api-client\"\nimport { toast } from 'react-toastify';\nimport logo from '../img/timologic_login.png';\n\n\n\nfunction ResePassword(props) {\n const { t } = useTranslation();\n\n\n if (props.authenticated) {\n return ;\n }\n\n return (\n\n \n );\n}\n\n\n\nfunction ResetPasswordForm(props) {\n const recaptchaRef = useRef();\n const { token } = useParams();\n const [password, setPassword] = useState(\"\");\n const [repassword, setRepassword] = useState(\"\");\n\n\n const { t } = useTranslation();\n\n const handleInputChange = (event) => {\n const target = event.target;\n const inputName = target.name;\n const inputValue = target.value;\n\n switch (inputName) {\n case \"password\": {\n setPassword(inputValue);\n break;\n }\n case \"repassword\": {\n setRepassword(inputValue);\n break;\n }\n }\n }\n\n const handleSubmit = (event) => {\n event.preventDefault();\n const recaptchaValue = recaptchaRef.current.getValue();\n\n if (repassword != password) {\n toast.error(t(\"repassNotEqualPass\"));\n return;\n }\n\n const resetPassRequest = {\n\n password: password,\n captcha: recaptchaValue,\n token: token\n };\n\n ApiClient.changePassword(resetPassRequest).then(\n (response) => {\n var response = response.data;\n if (response.status == \"SUCCESS\") {\n toast.success(t(\"passwordResetSuccess\"));\n props.history.push(\"/login\");\n }\n else {\n if (response.errors.length > 0) {\n var error = response.errors[0];\n toast.error(error.message);\n }\n }\n\n\n },\n error => {\n const resMessage =\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString();\n }\n );\n }\n const onChangeCaptcha = (value) => {\n if (value) {\n document.getElementById(\"signupBtn\").removeAttribute(\"disabled\");\n }\n else {\n document.getElementById(\"signupBtn\").setAttribute(\"disabled\", \"disabled\");\n }\n\n }\n\n return (
\n
\n
\n
\n \n \n
\n
\n
\n \n
\n


\n
\n \n
\n
\n \n
\n
\n
\n \n
\n\n
\n
\n
\n
\n\n );\n}\n\nexport default ResePassword","import React, { useState, useImperativeHandle, forwardRef } from \"react\";\n\nimport Modal from 'react-bootstrap/Modal';\nimport { useTranslation } from 'react-i18next';\nimport mydata_help1 from '../../img/mydata_help1.jpg';\nimport mydata_help2 from '../../img/mydata_help2.jpg';\nimport mydata_help3 from '../../img/mydata_help3.jpg';\nimport mydata_help4 from '../../img/mydata_help4.jpg';\nimport mydata_help5 from '../../img/mydata_help5.jpg';\nimport mydata_help6 from '../../img/mydata_help6.jpg';\nimport mydata_help7 from '../../img/mydata_help7.jpg';\nimport mydata_help8 from '../../img/mydata_help8.jpg';\n\n\nconst MyDataHelpModal = forwardRef((props, ref) => {\n\n const { t } = useTranslation();\n const [showHelpMyData, setShowHelpMyData] = useState(false);\n\n\n useImperativeHandle(ref, () => ({\n\n open() {\n setShowHelpMyData(true)\n },\n close() {\n setShowHelpMyData(false)\n },\n\n }));\n const handleCloseHelpMyData = () => {\n setShowHelpMyData(false);\n }\n\n return (\n \n \n \n \n \n
\n

Οδηγίες σύνδεσης myData

\n
\n
\n
\n 1. Κάνετε είσοδο στην πλατφόρμα myDATA της ΑΑΔΕ με τους κωδικούς του taxisnet. Σύνδεσμος εφαρμογής: https://www1.aade.gr/saadeapps2/bookkeeper-web\n
\n
\n
\n \"new\"\n
\n
\n
\n
\n
\n 2. Επιλέξτε \"Εγγραφή στο myDATA REST API\"\n
\n
\n
\n\n \"new\"\n
\n
\n
\n
\n
\n 3. Επιλέξτε \"Νέα εγγραφή\"\n
\n
\n
\n\n \"new\"\n
\n
\n
\n
\n
\n 4. Συμπληρώστε Όνομα χρήστη, Κωδικό, Εmail και επιλέξτε \"Προσθήκη εγγραφής\"\n
\n
\n
\n \"new\"\n
\n
\n\n\n
\n
\n
\n 5. Σε περίπτωση επιτυχημένης εγγραφής, δημιουργείται ο Κωδικός API και το Όνομα Χρήστη\n
\n
\n
\n \"new\"\n
\n
\n\n
\n
\n
\n 6. Καταχώρηση Στοιχείων myDATA στο TIMOLOGIC\n
\n
\n
\n \"new\"\n
\n
\n\n
\n
\n
\n 7. Ενεργοποίηση myData στην έκδοση παραστατικού\n
\n
\n
\n \"new\"\n
\n
\n\n
\n
\n \n \n \n \n\n\n );\n}\n);\n\nexport default MyDataHelpModal;\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { useParams } from 'react-router-dom';\nimport ApiClient from \"../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport MyDataHelpModal from \"../components/modals/mydata-help.component\";\nimport Commons from '../util/commons'\n\nimport {\n ResponsiveContainer,\n BarChart,\n Bar, Cell,\n LineChart,\n Line,\n XAxis,\n YAxis,\n CartesianGrid,\n Tooltip,\n Legend\n} from \"recharts\";\n\nexport default function Dashboard() {\n\n\n\n const [content, setContent] = useState({});\n const { t, i18n } = useTranslation();\n const refMyDataHelp = useRef();\n const [notifications, setNotifications] = useState([]);\n const [hiddenTotals, setHiddenTotals] = useState(false);\n\n const chartCardContainer1=useRef();\n const chartCardContainer2=useRef();\n\n const totalsLastMonth=useRef();\n const avePricePerDay=useRef();\n\n \n\n useEffect(() => {\n var comp = JSON.parse(localStorage.getItem(\"company\"));\n var _ht = Commons.getDefaults().hideTotals ? Commons.getDefaults().hideTotals : false;\n setHiddenTotals(_ht)\n if(_ht){\n chartCardContainer1.current.style.display=\"none\"\n chartCardContainer2.current.style.display=\"none\"\n }\n else{\n chartCardContainer1.current.style.display=\"flex\"\n chartCardContainer2.current.style.display=\"flex\"\n }\n if (comp != null) {\n ApiClient.getCompanyDashboard(comp.id).then(\n response => {\n if (response != undefined) {\n var _data = response.data;\n var totalWithVat = _data.totalWithVat;\n totalWithVat = totalWithVat == null ? 0 : totalWithVat;\n setContent({\n averageLasMonthPerDay: _data.averageLasMonthPerDay,\n companyName: comp.name,\n subjectField: comp.subjectField,\n taxOffice: comp.taxOffice ? comp.taxOffice.name : \"\",\n taxpayerId: comp.taxpayerId,\n countSaleInstances: _data.countSaleInstances,\n countProducts: _data.countProducts,\n countCustomers: _data.countCustomers,\n totalWithVat: parseFloat(totalWithVat).toFixed(2),\n chartData: _data.chartData,\n chartMonthData: _data.chartMonthData,\n userRemainingDays: _data.userRemainingDays\n })\n }\n },\n error => {\n console.error(error.data)\n }\n )\n ApiClient.getNotifications().then(\n response => {\n if (response != undefined) {\n var _data = response.data;\n var els = [];\n var specialEl = myDataHelpInfo();\n if (specialEl) {\n els.push(specialEl);\n }\n var counter = 0;\n _data.forEach(element => {\n var status = element.status.toLowerCase();\n var key = \"liel_\" + counter;\n var cls = \"list-group-item list-group-item-\" + status;\n var linkhere = element.link ? {t(\"clickHere\")} : \"\";\n var mess = {element.message}{linkhere}\n var el =
  • {mess}
  • \n els.push(el);\n counter++;\n });\n\n setNotifications(els);\n }\n },\n error => {\n console.error(error.data)\n }\n )\n }\n }, []);\n\n const companyUrl = () => {\n var comp = JSON.parse(localStorage.getItem(\"company\"));\n if (comp) {\n return \"usercompany/\" + comp.id;\n }\n\n }\n\n const myDataHelpInfo = () => {\n var comp = JSON.parse(localStorage.getItem(\"company\"));\n var _href = comp ? \"/usercompany/\" + comp.id : null;\n if (comp) {\n console.log(comp.myDataUserId)\n if (comp.myDataUserId == undefined || comp.myDataUserId == \"\" || comp.myDataToken == undefined || comp.myDataToken == \"\") {\n return (\n\n
  • \n

    {t(\"mydataInfo2_1\")}{t(\"mydataInfo2_2\")}{t(\"mydataInfo2_3\")}

    \n
  • \n );\n }\n }\n }\n\n const hideTotals = (e) => {\n var faIcon = e.currentTarget.querySelector(\"i\");\n if (faIcon) {\n if (faIcon.getAttribute(\"class\") == \"fa fa-eye\") {\n avePricePerDay.current.innerHTML = \"***\"\n totalsLastMonth.current.innerHTML = \"***\"\n faIcon.setAttribute(\"class\", \"fa fa-eye-slash\");\n Commons.setDefault(\"hideTotals\", true)\n chartCardContainer1.current.style.display=\"none\"\n chartCardContainer2.current.style.display=\"none\"\n\n }\n else {\n avePricePerDay.current.innerHTML = content.averageLasMonthPerDay\n totalsLastMonth.current.innerHTML = content.totalWithVat\n faIcon.setAttribute(\"class\", \"fa fa-eye\");\n Commons.setDefault(\"hideTotals\", false)\n \n chartCardContainer1.current.style.display=\"flex\"\n chartCardContainer2.current.style.display=\"flex\"\n }\n }\n\n }\n return (\n /* \"handleSubmit\" will validate your inputs before invoking \"onSubmit\" */\n
    \n\n\n
    \n\n
    \n
    \n
    \n
    \n
    \n

    {content.companyName}

    \n
    {content.subjectField}
    \n
    {t(\"taxpayerId\")}: {content.taxpayerId} {t(\"taxOffice\")}: {content.taxOffice}
    \n
    \n
    \n \n {content.userRemainingDays <=3 && content.userRemainingDays >0 ?{t(\"userRemainingDays\",{userRemainingDays:content.userRemainingDays})} :<>} \n
    \n
    \n
    \n
    \n
    \n\n \n {t(\"EditCompany\")} \n \n
    \n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n
    {t(\"noOfSales\")}
    \n

    {content.countSaleInstances}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n \n {t(\"InvoicePublication\")}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    {t(\"noOfCustomers\")}
    \n

    {content.countCustomers}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n {t(\"mycustomers\")}\n
    \n
    \n
    \n
    \n {/*
    \n
    \n
    \n
    \n
    \n
    {t(\"noProductsServices\")}
    \n

    {content.countProducts}

    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n {t(\"myProductsServices\")}\n \n
    \n
    \n
    \n
    */}\n\n
    \n
    \n
    \n
    \n
    \n
    {t(\"totalsLastMonth\")}
    \n

    {hiddenTotals ? \"***\" : content.totalWithVat}

    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n {t(\"avePricePerDay\")}: {hiddenTotals ? \"***\" : content.averageLasMonthPerDay} \n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n \n \n parseFloat(v.totals)} allowDataOverflow={true} domain={[0, dataMax => ((dataMax + dataMax / 10).toFixed(0))]} />\n \n \n \n \n \n
    \n
    \n
    \n
    \n
    \n\n
    {t(\"LatestNotifications\")}
    \n
    \n
    \n
      \n {notifications}\n
    \n
    \n\n
    \n {/*
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    */}\n
    \n\n
    \n\n
    \n
    \n
    \n \n \n \n \n parseFloat(v.totalsPerDay)} allowDataOverflow={true} domain={[0, dataMax => ((dataMax + dataMax / 10).toFixed(0))]} />\n \n \n \n {/* */}\n \n \n
    \n
    \n
    \n\n \n\n
    \n );\n}","import React, { useState, useEffect, forwardRef, useImperativeHandle } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment'\nimport { VIVA_VIEW_TRANSACTION } from '../util/constants';\nimport { CustomConfirmAlert } from '../components/custom-confirm-alert';\nimport Tab from 'react-bootstrap/Tab';\nimport Tabs from 'react-bootstrap/Tabs';\nimport { toast } from \"react-toastify\";\n\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n\n const handleInputChange = (e) => {\n e.preventDefault();\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n console.error(rowNode.data)\n var url = VIVA_VIEW_TRANSACTION + \"/web/receipt?tid=\" + rowNode.data.transactionId\n console.log(url)\n window.open(url, '_blank').focus();\n }\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n // {branch != null && branch.label != undefined ? branch.label : }\n );\n});\n\n\nconst ActionsViewInvoiceRenderer = forwardRef((props, ref) => {\n\n\n const handleInputChange = (e) => {\n e.preventDefault();\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n console.error(rowNode.data)\n var url = \"mydata/\" + rowNode.data.invoiceUid\n console.log(url)\n window.open(url, '_blank').focus();\n }\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n // {branch != null && branch.label != undefined ? branch.label : }\n );\n});\n\n\nconst DateRenderer = forwardRef((props, ref) => {\n\n const [val, setVal] = useState(props.value);\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val !== undefined) {\n setVal(val);\n }\n }\n };\n\n });\n return (\n\n {val ? moment(val).format('DD/MM/YYYY hh:mm') : \"\"}\n );\n});\n\nexport default function Profile(props) {\n // constructor(props) {\n // super(props);\n\n // this.state = {\n // // redirect: null,\n // userReady: false,\n // currentUser: { email: \"\" }\n // };\n // }\n\n const [currentUser, setCurrentUser] = useState({});\n const { setValue } = useForm();\n const [rowData, setRowData] = useState([]);\n const [userInvoicesRowData, setUserInvoicesRowData] = useState([]);\n\n\n\n const [gridApi, setGridApi] = useState(null);\n const pagination = true;\n const paginationPageSize = 10;\n const { t } = useTranslation();\n\n useEffect(() => {\n\n var usr = JSON.parse(localStorage.getItem(\"user\"));\n setCurrentUser(usr)\n setValue(\"userId\", usr.myDataUserId);\n setValue(\"token\", usr.myDataToken);\n ApiClient.getUserTransactions().then(\n response => {\n if (response) {\n setRowData(response.data)\n }\n },\n error => {\n console.error(error.data)\n }\n )\n\n ApiClient.getUserInvoicesFromTimologic().then(\n response => {\n if (response) {\n console.log(response.data)\n setUserInvoicesRowData(response.data)\n }\n },\n error => {\n console.error(error.data)\n }\n )\n // if (this.state.redirect) {\n // return \n // }\n }, []);\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n });\n });\n\n // params.api.sizeColumnsToFit();\n };\n const onQuickFilterChanged = e => {\n gridApi.setQuickFilter(e.target.value);\n };\n\n\n\n const cancelAccount = () => {\n\n\n CustomConfirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"confirmCancelAccount\"),\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n label: t(\"Ok\"),\n onClick: () => {\n\n ApiClient.cancelAccount().then(\n (response) => {\n console.log(response)\n localStorage.removeItem(\"user\");\n localStorage.removeItem(\"accessToken\");\n localStorage.removeItem(\"wizard\");\n window.location = \"login\";\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n },\n },\n {\n label: t('cancel')\n }\n ]\n });\n\n\n }\n\n const cancelSubscription = () => {\n\n\n CustomConfirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"confirmCancelSubscription\"),\n closeOnEscape: false,\n closeOnClickOutside: false,\n buttons: [\n {\n label: t(\"Ok\"),\n onClick: () => {\n\n ApiClient.cancelSubscription().then(\n (response) => {\n toast.success(t(\"subscriptionCanceled\"))\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n },\n },\n {\n label: t('cancel')\n }\n ]\n });\n\n\n }\n\n const toogleApiKeyVisibility = () => {\n var x = document.getElementById(\"api_key_input\");\n if (x.type === \"password\") {\n x.type = \"text\";\n } else {\n x.type = \"password\";\n }\n }\n\n return (\n
    \n
    \n
    \n

    \n {currentUser.name}\n

    \n
    \n

    \n Email:{\" \"}\n {currentUser.email}\n

    \n
    \n ApiKey:{\" \"}\n\n
    \n \n
    \n \n
    \n
    \n
    \n {/* Authorities:\n
      \n {currentUser.roles &&\n currentUser.roles.map((role, index) =>
    • {role}
    • )}\n
    */}\n\n\n\n\n \n\n \n\n\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n\n
    \n\n \n
    \n \n \n \n\n \n
    \n
    \n
    \n
    \n\n\n \n\n\n \n\n\n
    \n\n
    \n
    \n
    \n

    \n \n

    \n
    \n\n
    \n\n \n
    \n \n \n \n \n \n \n\n \n
    \n
    \n
    \n
    \n\n \n\n\n \n\n\n \n



    \n


    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n );\n}\n","import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nexport default forwardRef((props, ref) => {\n const [date, setDate] = useState(null);\n const [picker, setPicker] = useState(null);\n const refFlatPickr = useRef();\n const refInput = useRef();\n\n //*********************************************************************************\n // LINKING THE UI, THE STATE AND AG-GRID\n //*********************************************************************************\n\n const onDateChanged = (date) => {\n setDate(date);\n props.onDateChanged(date);\n };\n\n useEffect(() => {\n setPicker(\n\n );\n }, []);\n\n useEffect(() => {\n if (picker) {\n console.log(picker)\n // picker.calendarContainer.classList.add('ag-custom-component-popup');\n }\n }, [picker]);\n\n useEffect(() => {\n //Callback after the state is set. This is where we tell ag-grid that the date has changed so\n //it will proceed with the filtering and we can then expect AG Grid to call us back to getDate\n if (picker) {\n // picker.setDate(date);\n console.log(picker)\n }\n }, [date, picker]);\n\n useImperativeHandle(ref, () => ({\n //*********************************************************************************\n // METHODS REQUIRED BY AG-GRID\n //*********************************************************************************\n getDate() {\n //ag-grid will call us here when in need to check what the current date value is hold by this\n //component.\n return date;\n },\n\n setDate(date) {\n //ag-grid will call us here when it needs this component to update the date that it holds.\n setDate(date);\n },\n\n //*********************************************************************************\n // AG-GRID OPTIONAL METHODS\n //*********************************************************************************\n\n setInputPlaceholder(placeholder) {\n if (refInput.current) {\n refInput.current.setAttribute('placeholder', placeholder);\n }\n },\n\n setInputAriaLabel(label) {\n if (refInput.current) {\n refInput.current.setAttribute('aria-label', label);\n }\n },\n }));\n\n // inlining styles to make simpler the component\n return (\n \n
    \n \n onDateChanged(date)}\n className={\"ag-input-field-input ag-text-field-input\"}\n\n >\n\n \n
    \n\n \n );\n});","import React from \"react\";\nimport Commons from '../../util/commons'\n\nvar QRCode = require('qrcode.react');\nclass TemplateComponent extends React.Component {\n\n\n createEntries = (entries) => {\n var rows = [];\n var rowlimit = 15;\n\n\n if (entries != undefined) {\n entries = entries.sort((a, b) => (a.id > b.id) ? 1 : ((b.id > a.id) ? -1 : 0));\n var diff = rowlimit - entries.length;\n var emptyEnries = [];\n if (diff > 0) {\n for (var i = 0; i < diff - 1; i++) {\n var emptyEntry = {\n id: \"empty_\" + i,\n NAME_LIST: \"\",\n QUANTITY_LIST: \"\",\n MU_LIST: \"\",\n UP_LIST: \"\",\n DISCOUNT: \"\",\n VAT_LIST: \"\",\n PRICE_NOVAT_LIST: \"\",\n PRICE_LIST: \"\"\n }\n emptyEnries.push(emptyEntry);\n }\n }\n\n entries = entries.concat(emptyEnries);\n entries.forEach(entry => {\n var row = \n \n \n

    {entry.NAME_LIST}

    \n
    \n \n \n \n

    {entry.QUANTITY_LIST}

    \n
    \n \n\n {\n this.props.sale ? !Commons.isOnGroup(this.props.sale.MYDATA_INVOICE_TYPE, \"noMeasurementUnit\") ?\n \n \n

    {this.props.t(entry.MU_LIST, { lng: this.props.sale.TEMPLATE_LANG })}

    \n
    \n \n\n : <>\n : <>\n }\n \n \n

    {entry.UP_LIST}

    \n
    \n \n \n \n

    {entry.DISCOUNT}

    \n
    \n \n \n \n

    {entry.VAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_NOVAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_LIST}

    \n
    \n \n \n rows.push(row)\n });\n }\n\n\n return (rows);\n }\n\n\n\n qrcodeValue = (invoiceUid) => {\n var _host = window.location.host;\n\n return _host + \"/mydata/\" + invoiceUid\n }\n\n getLogo = (logo) => {\n if (logo) {\n if (!logo.includes(\"blob:\")) {\n logo += \"?\" + Date.now();\n }\n return \"\"\n }\n }\n\n createMoreTaxesTable(saleInstanceMoreTaxes, lang) {\n var rows = [];\n var types = [];\n\n function compare(a, b) {\n\n return a.myDataMoreTax.type.localeCompare(b.myDataMoreTax.type);\n }\n\n saleInstanceMoreTaxes.sort(compare);\n saleInstanceMoreTaxes.forEach(e => {\n debugger\n var type = e.myDataMoreTax.type;\n if (type == \"DEDUCTION\" && e.myDataMoreTax.label) {\n e.deduction = e.myDataMoreTax;\n e.deduction.name = e.myDataMoreTax.label;\n }\n\n if (e.deduction) {\n var type = \"DEDUCTION\";\n }\n\n if (!types.includes(e.myDataMoreTax.type)) {\n types.push(e.myDataMoreTax.type);\n }\n else {\n type = \"\";\n }\n debugger\n\n var TAX = e.myDataMoreTax ? \"TAX_\" + e.myDataMoreTax.uid : null;\n if (e.deduction) {\n rows.push({this.props.t(type, { lng: lang })}{e.deduction.name}{e.amount})\n }\n else {\n rows.push({this.props.t(type, { lng: lang })}{this.props.t(TAX, { lng: lang })}{e.amount})\n\n }\n })\n return rows;\n }\n\n createPage = (sale) => {\n return (\n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n\n \n \n \n
    \n {this.getLogo(sale.LOGO)}\n \n {sale.ISSUER_NAME}\n

    {sale.ISSUER_SUBJECTFIELD}

    \n

    {sale.ISSUER_ADDRESS}

    \n\n

    \n {this.props.t(\"TAXPAYER_ID\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_VAT}\n  \n {this.props.t(\"DOY\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_DOY}\n  \n {this.props.t(\"GEMH\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_GEMH}\n

    \n

    \n {this.props.t(\"PHONE\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_PHONE}\n  \n {this.props.t(\"EMAIL\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_EMAIL}\n

    \n \n {/*

    ΑΡ.ΓΕΜΗ: {sale.ISSUER_GEMH}

    */}\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n\n \n \n {/* */}\n \n \n
    \n {sale.INVOICE_TYPE}\n \n {sale.INVOICE_NUMBER}\n \n {sale.INVOICE_DATE}\n \n {sale.INVOICE_TIME}\n
    \n
    \n
    \n\n
    \n \n {this.props.t(\"customerSection\", { lng: sale.TEMPLATE_LANG })}\n \n
    \n\n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {this.props.t(\"CP_NAME\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.CP_NAME}\n
    \n {this.props.t(\"TAXPAYER_ID\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.CP_VAT}\n
    \n {this.props.t(\"CP_SUBJECT_FIELD\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.CP_SUBJECT_FIELD}\n
    \n {this.props.t(\"DOY\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.CP_TAXOFFICE}\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n {/* \n \n */}\n\n \n
    \n {this.props.t(\"CP_PAYTYPE\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {this.props.t(sale.CP_PAYTYPE, { lng: sale.TEMPLATE_LANG })}\n
    \n {this.props.t(\"COUNTRY\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {this.props.t(sale.COUNTRY, { lng: sale.TEMPLATE_LANG })}\n
    \n {this.props.t(\"CP_CITY\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.CP_CITY}\n
    \n {this.props.t(\"CP_ADDRESS\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.CP_ADDRESS}\n
     
    \n
    \n
    \n\n {\n this.props.sale ? !Commons.isOnGroup(this.props.sale.MYDATA_INVOICE_TYPE, \"noCountItems\") ?\n <>\n
    \n \n {this.props.t(\"moveSection\", { lng: sale.TEMPLATE_LANG })}\n \n
    \n : <>\n : <>\n }\n\n\n\n \n \n \n \n \n \n \n \n
    \n
    \n \n \n\n {\n sale.MOVE_PURPOSE ? \n \n \n : <>\n }\n\n{\n sale.LOADING_ADDRESS? \n \n \n : <>\n }\n\n \n
    \n {this.props.t(\"MOVE_PURPOSE\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.MOVE_PURPOSE}\n
    \n {this.props.t(\"LOADING_ADDRESS\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.LOADING_ADDRESS}\n
    \n
    \n
    \n
    \n \n \n {\n sale.VEHICLE_NUMBER ?\n \n \n \n : <>\n }\n {\n sale.DISPATCH_DATE ?\n \n \n \n : <>\n }\n {\n sale.DELIVERY_ADDRESS? \n \n \n : <>\n }\n\n {/* \n \n */}\n \n
    \n {this.props.t(\"VEHICLE_NUMBER\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.VEHICLE_NUMBER}\n
    \n {this.props.t(\"DISPATCH_DATE\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.DISPATCH_DATE}\n
    \n {this.props.t(\"DELIVERY_ADDRESS\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.DELIVERY_ADDRESS}\n
     
    \n
    \n
    \n\n\n\n {\n sale.MYDATA_INVOICE_TYPE == \"invoice2_01\" || sale.MYDATA_INVOICE_TYPE == \"invoice11_02\" ? <>\n\n\n
    \n \n \n \n \n \n \n
    \n \n \n \n \n\n \n \n \n
    \n

    {this.props.t(\"senderName\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"recipientName\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n
    \n
    \n\n\n \n\n \n \n \n \n \n \n \n
    \n\n
    \n\n \n \n \n \n \n \n \n \n \n \n \n
    \n {this.props.t(\"CP_NAME\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.SENDER_NAME}\n
    \n {this.props.t(\"TAXPAYER_ID\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.SENDER_TAXPAYER_ID}\n
    \n
    \n
    \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n
    \n {this.props.t(\"CP_NAME\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.RECIPIENT_NAME}\n
    \n {this.props.t(\"TAXPAYER_ID\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {sale.RECIPIENT_TAXPAYER_ID}\n
    \n
    \n
    \n : \"\"\n }\n\n\n
    \n
    \n
    \n \n \n \n \n \n\n {\n this.props.sale ? !Commons.isOnGroup(this.props.sale.MYDATA_INVOICE_TYPE, \"noMeasurementUnit\") ?\n \n\n : <>\n : <>\n }\n\n\n \n \n \n \n \n \n \n \n\n {this.createEntries(sale.entries)}\n \n
    \n

    {this.props.t(\"PROD_SERV\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"QUANTITY\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"MUN\")}

    \n
    \n

    {this.props.t(\"UNIT_PRICE\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"DISCOUNT\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"VAT\", { lng: sale.TEMPLATE_LANG })} %

    \n
    \n

    {this.props.t(\"PRICE_WITHOUT_VAT\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"PRICE_WITH_VAT\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n\n
    \n
    \n \n \n \n \n\n \n \n {(sale.CORRELATIVE_INVOICE && sale.CORRELATIVE_INVOICE) ? : <>}\n\n\n\n\n\n \n
    \n \n \n \n \n \n \n \n \n \n {(sale.VAT_EXCEPTION_CATEGORIES && sale.VAT_EXCEPTION_CATEGORIES[0]) ? : <>}\n\n \n \n {(sale.MOREINFO && sale.MOREINFO) ? : <>}\n\n \n \n
    \n
    \n {this.props.t(\"NOTES\", { lng: sale.TEMPLATE_LANG })}\n
    \n {sale.NOTES}\n
    \n
    \n
    \n\n \n \n \n \n \n \n \n \n
    \n \n \n \n \n
    \n \n \n {sale.saleInstanceMoreTaxes ? this.createMoreTaxesTable(sale.saleInstanceMoreTaxes, sale.TEMPLATE_LANG) : <>}\n\n \n
    \n
    \n
    \n
    \n \n \n {/* \n \n */}\n {\n sale.WITHHOLD_TAXES ? \n \n : <>\n }\n\n {\n sale.OTHER_TAXES ? \n \n : <>\n }\n\n {\n sale.FEES ? \n \n : <>\n }\n\n {\n sale.STUMP_DUTY ? \n \n : <>\n }\n\n {\n sale.DEDUCTION ? \n \n : <>\n }\n \n
    {this.props.t(\"TAXTYPE\", { lng: sale.TEMPLATE_LANG })}{this.props.t(\"Amount\", { lng: sale.TEMPLATE_LANG })}
    {this.props.t(\"TOTALWHTAXES\", { lng: sale.TEMPLATE_LANG })}: {this.props.t(sale.WITHHOLD_TAXES, { lng: sale.TEMPLATE_LANG })}{sale.TOTALWHTAXES}
    {this.props.t(\"TOTALOTHERTAXES\", { lng: sale.TEMPLATE_LANG })}: {this.props.t(sale.OTHER_TAXES, { lng: sale.TEMPLATE_LANG })}{sale.TOTALOTHERTAXES}
    {this.props.t(\"TOTALFEESTAXES\", { lng: sale.TEMPLATE_LANG })}: {this.props.t(sale.FEES, { lng: sale.TEMPLATE_LANG })}{sale.TOTALFEESTAXES}
    {this.props.t(\"TOTALSTUMPOFDUTYTAXES\", { lng: sale.TEMPLATE_LANG })}: {this.props.t(sale.STUMP_DUTY, { lng: sale.TEMPLATE_LANG })}{sale.TOTALSTUMPOFDUTYTAXES}
    {this.props.t(\"TOTALDEDUCTIONTAXES\", { lng: sale.TEMPLATE_LANG })}: {sale.DEDUCTION}{sale.TOTALDEDUCTIONTAXES}
    \n
    \n
    \n
    {this.props.t(\"vatCategoryExceptionShort\", { lng: sale.TEMPLATE_LANG })} {this.props.t(sale.VAT_EXCEPTION_CATEGORIES[0], { lng: sale.TEMPLATE_LANG })}
    {this.props.t(sale.MOREINFO)}
    \n
    \n {\n this.props.sale ? !Commons.isOnGroup(this.props.sale.MYDATA_INVOICE_TYPE, \"noCountItems\") ?\n
    \n {this.props.t(\"TOTALITEMS\", { lng: sale.TEMPLATE_LANG })}: \n \n {sale.TOTALCOUNTITEMS}\n \n
    : <>\n : <>\n }\n\n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {sale.CURRENCY && sale.CURRENCY != \"EUR\" ?\n \n \n \n : <>}\n \n
    \n

    {this.props.t(\"TOTALVALUE\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALNODISCOUNT}

    \n
    \n

    {this.props.t(\"DISCOUNT\", { lng: sale.TEMPLATE_LANG })}

    \n\n
    \n

    {sale.TOTALDISCOUNT}

    \n
    \n

    {this.props.t(\"VATVALUE\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALVAT}

    \n
    \n

    {this.props.t(\"MORETAXES\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALTAXES}

    \n
    \n

    {this.props.t(\"PAYAMOUNT\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALPAYMENT}

    \n
    \n

    {this.props.t(\"TOTALPAYMENT_ON_CURRENCY\", { currency: sale.CURRENCY, lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALPAYMENT_ON_CURRENCY} {sale.CURRENCY ? sale.CURRENCY : \"EUR\"}

    \n
    \n
    \n
    \n
    \n\n \n \n \n \n \n \n \n \n \n
    {sale.IBAN != null ? {sale.IBAN} : \"\"}
    \n \n
    \n {this.props.t(\"ISSUANCE\", { lng: sale.TEMPLATE_LANG })}\n

    \n

    \n

    \n

    \n
    \n {this.props.t(\"Signature\", { lng: sale.TEMPLATE_LANG })}\n
    \n
    \n {this.props.t(\"RECEIPT\", { lng: sale.TEMPLATE_LANG })}\n

    \n

    \n

    \n

    \n
    \n {this.props.t(\"Signature\", { lng: sale.TEMPLATE_LANG })}\n
    \n
    \n
    \n
    {this.props.t(\"correlativeSale\")} {this.props.t(sale.CORRELATIVE_INVOICE)}
    \n
    \n \n \n \n \n \n \n \n \n \n
    \n\n \n \n \n \n \n \n \n \n\n \n
    \n {sale.INVOICEUID ? <> uid: {sale.INVOICEUID} : <>}\n \n {sale.INVOICEMARK ? <>mark: {sale.INVOICEMARK} : {this.props.t(\"notPublished\")}}\n \n {sale.CANCELATIONMARK != null ? cancelationMark:{sale.CANCELATIONMARK} : \"\"}\n
    \n
    \n
    \n \n {this.props.t(\"CREATEDBY\", { lng: sale.TEMPLATE_LANG })}\n \n
    \n
    \n
    \n
    \n )\n }\n\n createPages = (sale) => {\n var pages = [];\n\n // var top_table=document.getElementsByClassName(\"top_table\")[0]\n // if(top_table){\n // var top_table_height=top_table.height;\n // console.log(top_table_height);\n // }\n\n\n var i, j, groupEntries, chunk = 12;\n if (sale) {\n if (sale.INVOICE_ENTRIES != undefined) {\n\n for (i = 0, j = sale.INVOICE_ENTRIES.length; i < j; i += chunk) {\n groupEntries = sale.INVOICE_ENTRIES.slice(i, i + chunk);\n var groupSale = sale;\n groupSale.entries = groupEntries;\n var page = this.createPage(groupSale);\n pages.push(page);\n // do whatever\n }\n }\n }\n\n\n return pages;\n\n }\n\n getMainStyle = () => {\n if (this.props.mainStyle) {\n return \n }\n }\n\n getExtraCss = () => {\n if (this.props.extracss) {\n return \n }\n }\n\n render() {\n return
    \n \n \n {this.getMainStyle()}\n {this.getExtraCss()}\n {this.createPages(this.props.sale)}\n
    ;\n }\n\n}\nexport default TemplateComponent;","import React from \"react\";\n\nvar QRCode = require('qrcode.react');\n\nconst default_color = \"#013289\"\n\nclass Template2xA5Component extends React.Component {\n\n\n\n createEntries = (entries) => {\n var rows = [];\n\n\n var rowlimit = 5;\n\n\n if (entries != undefined) {\n var diff = rowlimit - entries.length;\n var emptyEnries = [];\n if (diff > 0) {\n for (var i = 0; i < diff - 1; i++) {\n var emptyEntry = {\n id: \"empty_\" + i,\n NAME_LIST: \"\",\n QUANTITY_LIST: \"\",\n MU_LIST: \"\",\n UP_LIST: \"\",\n DISCOUNT: \"\",\n VAT_LIST: \"\",\n PRICE_NOVAT_LIST: \"\",\n PRICE_LIST: \"\"\n }\n emptyEnries.push(emptyEntry);\n }\n }\n\n entries = entries.concat(emptyEnries);\n entries.forEach(entry => {\n var row = \n \n \n

    {entry.NAME_LIST}

    \n
    \n \n \n \n

    {entry.QUANTITY_LIST}

    \n
    \n \n \n \n

    {this.props.t(entry.MU_LIST, { lng: this.props.sale.TEMPLATE_LANG })}

    \n
    \n \n \n \n

    {entry.UP_LIST}

    \n
    \n \n \n \n

    {entry.DISCOUNT}

    \n
    \n \n \n \n

    {entry.VAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_NOVAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_LIST}

    \n
    \n \n \n rows.push(row)\n });\n }\n\n\n return (rows);\n }\n\n getCompanyLogo = () => {\n var _comp = JSON.parse(localStorage.getItem(\"company\"));\n var logopath = _comp ? _comp.logoPath : \"\";\n return logopath + \"?\" + Date.now();\n }\n\n qrcodeValue = (invoiceUid) => {\n var _host = window.location.host\n\n return _host + \"/mydata/\" + invoiceUid\n }\n\n createInvoiceBox = (sale) => {\n return (\n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n\n \n \n \n
    \n \"\"\n \n {sale.ISSUER_NAME}\n

    {sale.ISSUER_SUBJECTFIELD}

    \n

    {sale.ISSUER_ADDRESS}

    \n\n

    \n {this.props.t(\"TAXPAYER_ID\")}: {sale.ISSUER_VAT}\n  \n {this.props.t(\"DOY\")}: {sale.ISSUER_DOY}\n\n

    \n

    \n {this.props.t(\"PHONE\")}: {sale.ISSUER_PHONE}\n  \n {this.props.t(\"EMAIL\")}: {sale.ISSUER_EMAIL}\n

    \n {/*

    ΑΡ.ΓΕΜΗ: {sale.ISSUER_GEMH}

    */}\n
    \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n\n \n \n {/* */}\n \n \n \n\n \n \n {/* */}\n \n \n
    \n

    {this.props.t(\"INVOICE_TYPE\")}

    \n
    \n

    {this.props.t(\"NUMBER\")}

    \n
    \n

    {this.props.t(\"SHORT_DATE\")}

    \n
    \n

    ΩΡΑ

    \n
    \n {sale.INVOICE_TYPE}\n \n {sale.INVOICE_NUMBER}\n \n {sale.INVOICE_DATE}\n \n {sale.INVOICE_TIME}\n
    \n
    \n
    \n \n \n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n {this.props.t(\"CP_NAME\")}\n \n : \n {sale.CP_NAME}\n
    \n {this.props.t(\"TAXPAYER_ID\")}\n \n : \n {sale.CP_VAT}\n
    \n {this.props.t(\"CP_SUBJECT_FIELD\")}\n \n : \n {sale.CP_SUBJECT_FIELD}\n
    \n {this.props.t(\"DOY\")}\n \n : \n {sale.CP_TAXOFFICE}\n
     
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n sale.VEHICLE_NUMBER ?\n \n \n \n : <>\n }\n \n \n \n \n
    \n {this.props.t(\"CP_PAYTYPE\", { lng: sale.TEMPLATE_LANG })}\n \n : \n {this.props.t(sale.CP_PAYTYPE, { lng: sale.TEMPLATE_LANG })}\n
    \n {this.props.t(\"CP_CITY\")}\n \n : \n {sale.CP_CITY}\n
    \n {this.props.t(\"CP_ADDRESS\")}\n \n : \n {sale.CP_ADDRESS}\n
    \n {this.props.t(\"SEND_PLACE\")}\n \n : \n {sale.SEND_PLACE}\n
    \n ΑΡΙΘΜΟΣ ΟΧΗΜΑΤΟΣ\n \n : \n {sale.VEHICLE_NUMBER}\n
     
    \n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n {this.createEntries(sale.entries)}\n \n
    \n

    {this.props.t(\"PROD_SERV\")}

    \n
    \n

    {this.props.t(\"QUANTITY\")}

    \n
    \n

    {this.props.t(\"MUN\")}

    \n
    \n

    {this.props.t(\"UNIT_PRICE\")}

    \n
    \n

    {this.props.t(\"DISCOUNT\")}

    \n
    \n

    {this.props.t(\"VAT\")} %

    \n
    \n

    {this.props.t(\"PRICE_WITHOUT_VAT\")}

    \n
    \n

    {this.props.t(\"PRICE_WITH_VAT\")}

    \n
    \n
    \n
    \n\n\n \n \n \n \n \n\n \n\n \n \n
    \n \n\n \n \n \n
    \n {this.props.t(\"NOTES\")}\n
    \n {sale.NOTES}\n
    \n
    \n\n
    \n {/*
    \n {this.props.t(\"TOTALITEMS\")}: \n \n {sale.TOTALCOUNTITEMS}\n \n
    */}\n
    \n\n\n\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {/* \n \n \n */}\n \n \n \n \n {/* \n \n \n */}\n {/* \n \n */}\n \n \n \n \n \n
    \n

    {this.props.t(\"TOTALVALUE\")}

    \n
    \n

    {sale.TOTALNODISCOUNT}

    \n
    \n

    {this.props.t(\"DISCOUNT\")}

    \n\n
    \n

    {sale.TOTALDISCOUNT}

    \n
    \n

    {this.props.t(\"VATVALUE\")}

    \n
    \n

    {sale.TOTALVAT}

    \n
    \n

    ΣΥΝΟΛΟ ΧΩΡΙΣ ΦΠΑ

    \n
    \n

    {sale.TOTALWITHOUTVAT}

    \n
    \n

    {this.props.t(\"MORETAXES\")}

    \n
    \n

    {sale.TOTALTAXES}

    \n
    \n

    ΣΥΝΟΛΟ ΜΕ ΠΑΡΑΚΡΑΤΗΣΗ

    \n
    \n

    {sale.TOTALWITHVAT}

    \n
     
    \n

    {this.props.t(\"PAYAMOUNT\")}

    \n
    \n

    {sale.TOTALPAYMENT}

    \n
    \n
    \n
    \n\n\n
    \n\n
    \n
    \n \n \n \n \n \n \n \n \n \n\n
    \n uid: {sale.INVOICEUID}\n \n mark: {sale.INVOICEMARK}\n \n {sale.CANCELATIONMARK != null ? cancelationMark:{sale.CANCELATIONMARK} : \"\"}\n
    \n
    \n \n

    \n {this.props.t(\"CREATEDBY\")}\n
    \n
    \n
    \n
    \n )\n }\n\n createPages = (sale) => {\n var pages = [];\n\n var i, j, groupEntries, chunk = 5;\n if (sale.INVOICE_ENTRIES != undefined) {\n\n for (i = 0, j = sale.INVOICE_ENTRIES.length; i < j; i += chunk) {\n groupEntries = sale.INVOICE_ENTRIES.slice(i, i + chunk);\n var groupSale = sale;\n groupSale.entries = groupEntries;\n var page = this.createPage(groupSale);\n pages.push(page);\n // do whatever\n }\n }\n\n return pages;\n\n }\n\n createPage = () => {\n return <>\n
    \n {this.createInvoiceBox(this.props.sale)}\n
    \n
    \n {this.createInvoiceBox(this.props.sale)}\n
    \n \n }\n\n getMainStyle=()=>{\n if(this.props.mainStyle){\n return \n }\n }\n\n getExtraCss=()=>{\n if(this.props.extracss){\n return \n }\n }\n\n render() {\n return
    \n \n \n {this.getMainStyle()}\n {this.getExtraCss()}\n {this.createPages(this.props.sale)}\n
    ;\n }\n\n}\nexport default Template2xA5Component;","import React from \"react\";\nimport Commons from '../../util/commons'\n\n\nvar QRCode = require('qrcode.react');\n\n\nclass TemplateComponent extends React.Component {\n\n\n createEntries = (entries) => {\n var rows = [];\n\n\n var rowlimit = 15;\n\n\n if (entries != undefined) {\n var diff = rowlimit - entries.length;\n var emptyEnries = [];\n if (diff > 0) {\n for (var i = 0; i < diff - 1; i++) {\n var emptyEntry = {\n id: \"empty_\" + i,\n NAME_LIST: \"\",\n QUANTITY_LIST: \"\",\n MU_LIST: \"\",\n UP_LIST: \"\",\n DISCOUNT: \"\",\n VAT_LIST: \"\",\n PRICE_NOVAT_LIST: \"\",\n PRICE_LIST: \"\"\n }\n emptyEnries.push(emptyEntry);\n }\n }\n\n entries = entries.concat(emptyEnries);\n entries.forEach(entry => {\n var row = \n \n \n

    {entry.NAME_LIST}

    \n
    \n \n \n \n

    {entry.QUANTITY_LIST}

    \n
    \n \n \n \n

    {entry.UP_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_NOVAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_LIST}

    \n
    \n \n \n rows.push(row)\n });\n }\n\n\n return (rows);\n }\n\n\n\n qrcodeValue = (invoiceUid) => {\n var _host = window.location.host\n\n return _host + \"/mydata/\" + invoiceUid\n }\n\n getLogo = (logo) => {\n if (logo) {\n if (!logo.includes(\"blob:\")) {\n logo += \"?\" + Date.now();\n }\n return \"\"\n }\n }\n\n createPage = (sale) => {\n return (\n
    \n
    \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n {/* */}\n \n \n
    \n \n {/* */}\n \n \n\n \n
    \n {this.getLogo(sale.LOGO)}\n
    {this.props.t(\"Issuer\")}\n {sale.ISSUER_NAME}\n

    {sale.ISSUER_SUBJECTFIELD}

    \n

    {sale.ISSUER_ADDRESS}

    \n\n

    \n {this.props.t(\"TAXPAYER_ID\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_VAT}\n  \n {this.props.t(\"DOY\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_DOY}\n  \n {this.props.t(\"GEMH\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_GEMH}\n

    \n

    \n {this.props.t(\"PHONE\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_PHONE}\n  \n {this.props.t(\"EMAIL\", { lng: sale.TEMPLATE_LANG })}: {sale.ISSUER_EMAIL}\n

    \n \n
    {this.props.t(\"Customer\")}\n {sale.CP_NAME}\n

    {sale.CP_SUBJECT_FIELD}

    \n

    {sale.CP_ADDRESS}

    \n\n

    \n {this.props.t(\"TAXPAYER_ID\", { lng: sale.TEMPLATE_LANG })}: {sale.CP_VAT}\n  \n {this.props.t(\"DOY\", { lng: sale.TEMPLATE_LANG })}: {sale.CP_TAXOFFICE} \n

    \n

    \n {this.props.t(\"CP_CITY\", { lng: sale.TEMPLATE_LANG })}: {sale.CP_CITY}\n  \n {this.props.t(\"COUNTRY\", { lng: sale.TEMPLATE_LANG })}: {sale.COUNTRY} \n  \n {this.props.t(\"CP_PAYTYPE\", { lng: sale.TEMPLATE_LANG })}: {sale.CP_PAYTYPE}\n

    \n\n\n \n
    \n
    \n
    \n
    \n {sale.INVOICE_TYPE} {sale.INVOICE_NUMBER} {sale.INVOICE_DATE}\n\n
    \n\n
    \n

    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n\n {this.createEntries(sale.entries)}\n \n
    \n

    {this.props.t(\"PROD_SERV\")}

    \n
    \n

    {this.props.t(\"QUANTITY\")}

    \n
    \n

    {this.props.t(\"UNIT_PRICE\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {this.props.t(\"PRICE_WITHOUT_VAT\", { lng: sale.TEMPLATE_LANG})}

    \n
    \n

    {this.props.t(\"PRICE_WITH_VAT\", { lng: sale.TEMPLATE_LANG})}

    \n
    \n\n
    \n
    \n \n \n \n \n\n\n\n \n \n\n
    \n\n\n\n
    \n
    \n \n \n \n \n \n \n \n \n\n \n \n
    \n\n \n \n \n \n
    \n {this.props.t(\"NOTES\", { lng: sale.TEMPLATE_LANG })}\n
    \n {sale.NOTES}\n
    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {sale.CURRENCY && sale.CURRENCY != \"EUR\" ?\n \n \n \n : <>}\n \n
    \n

    {this.props.t(\"TOTALVALUE\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALNODISCOUNT}

    \n
    \n

    {this.props.t(\"DISCOUNT\", { lng: sale.TEMPLATE_LANG })}

    \n\n
    \n

    {sale.TOTALDISCOUNT}

    \n
    \n

    {this.props.t(\"VATVALUE\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALVAT}

    \n
    \n

    {this.props.t(\"MORETAXES\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALTAXES}

    \n
    \n

    {this.props.t(\"PAYAMOUNT\", { lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALPAYMENT}

    \n
    \n

    {this.props.t(\"TOTALPAYMENT_ON_CURRENCY\", { currency: sale.CURRENCY, lng: sale.TEMPLATE_LANG })}

    \n
    \n

    {sale.TOTALPAYMENT_ON_CURRENCY} {sale.CURRENCY ? sale.CURRENCY : \"EUR\"}

    \n
    \n
    \n\n\n
    \n\n\n \n\n \n \n
    \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n \n\n
    \n uid: {sale.INVOICEUID}\n \n mark: {sale.INVOICEMARK}\n \n {sale.CANCELATIONMARK != null ? cancelationMark:{sale.CANCELATIONMARK} : \"\"}\n
    \n
    \n
    \n \n {this.props.t(\"CREATEDBY\", { lng: sale.TEMPLATE_LANG })}\n \n
    \n
    \n \n \n )\n }\n\n createPages = (sale) => {\n var pages = [];\n\n var i, j, groupEntries, chunk = 12;\n if (sale) {\n if (sale.INVOICE_ENTRIES != undefined) {\n\n for (i = 0, j = sale.INVOICE_ENTRIES.length; i < j; i += chunk) {\n groupEntries = sale.INVOICE_ENTRIES.slice(i, i + chunk);\n var groupSale = sale;\n groupSale.entries = groupEntries;\n var page = this.createPage(groupSale);\n pages.push(page);\n // do whatever\n }\n }\n }\n\n\n return pages;\n\n }\n\n getMainStyle = () => {\n if (this.props.mainStyle) {\n return \n }\n }\n\n getExtraCss = () => {\n if (this.props.extracss) {\n return \n }\n }\n\n render() {\n return
    \n \n \n {this.getMainStyle()}\n {this.getExtraCss()}\n {this.createPages(this.props.sale)}\n
    ;\n }\n\n}\nexport default TemplateComponent;","import React from \"react\";\n\nvar QRCode = require('qrcode.react');\n\n\nclass GlamourTemplateComponent extends React.Component {\n\n\n createEntries = (entries) => {\n var rows = [];\n\n\n var rowlimit = 16;\n\n\n if (entries != undefined) {\n var diff = rowlimit - entries.length;\n var emptyEnries = [];\n if (diff > 0) {\n for (var i = 0; i < diff - 1; i++) {\n var emptyEntry = {\n id: \"empty_\" + i,\n NAME_LIST: \"\",\n QUANTITY_LIST: \"\",\n MU_LIST: \"\",\n UP_LIST: \"\",\n DISCOUNT: \"\",\n VAT_LIST: \"\",\n PRICE_NOVAT_LIST: \"\",\n PRICE_LIST: \"\"\n }\n emptyEnries.push(emptyEntry);\n }\n }\n\n entries = entries.concat(emptyEnries);\n entries.forEach(entry => {\n var row = \n \n \n

    {entry.NAME_LIST}

    \n
    \n \n \n \n

    {entry.QUANTITY_LIST}

    \n
    \n \n \n \n

    {entry.MU_LIST}

    \n
    \n \n \n \n

    {entry.UP_LIST}

    \n
    \n \n \n \n

    {entry.DISCOUNT}

    \n
    \n \n \n \n

    {entry.VAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_NOVAT_LIST}

    \n
    \n \n \n \n

    {entry.PRICE_LIST}

    \n
    \n \n \n rows.push(row)\n });\n }\n\n\n return (rows);\n }\n\n\n\n qrcodeValue = (invoiceUid) => {\n var _host = window.location.host\n\n return _host + \"/mydata/\" + invoiceUid\n }\n\n getLogo = (logo) => {\n if (logo) {\n if (!logo.includes(\"blob:\")) {\n logo += \"?\" + Date.now();\n }\n return \"\"\n }\n }\n\n createPage = (sale) => {\n return (\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n

    Invoice

    \n
    \n
    \n
    \n
    \n
    \n
    \"line\"
    \n
    \n
    \n

    Invoice No: #935648

    \n
    \n
    \n

    Date: 24/07/2022

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    Invoiced To:\n

    Alex Farnandes

    450 E 96th St, Indianapolis,

    WRHX+8Q IN 46240,

    United States

    \n
    \n
    \n
    \n
    Pay To:\n

    Invce Inc

    4510 E 96th St, Indianapolis,

    IN 46240, United States

    info@invce.com

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ServiceItem DescriptionQtyPriceTotal
    UI/ UX DesignMobile Application Design8$100.00$800.00
    DevelopmentWebsite & App Development8$120.00$960.00
    Web DesignWebpage Interface Design4$60.00$240.00
     
    \n
    \n
    \n
    Terms & Conditions\n

    Authoritatively envisioneer business

    action items through parallel sources.

    \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    Sub Total:$2000.00
    Tax:$250.00
    Total:$2250.00
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n )\n }\n\n createPages = (sale) => {\n var pages = [];\n\n var i, j, groupEntries, chunk = 13;\n if (sale) {\n if (sale.INVOICE_ENTRIES != undefined) {\n\n for (i = 0, j = sale.INVOICE_ENTRIES.length; i < j; i += chunk) {\n groupEntries = sale.INVOICE_ENTRIES.slice(i, i + chunk);\n var groupSale = sale;\n groupSale.entries = groupEntries;\n var page = this.createPage(groupSale);\n pages.push(page);\n // do whatever\n }\n }\n }\n\n\n return pages;\n\n }\n getMainStyle=()=>{\n if(this.props.mainStyle){\n return \n }\n }\n\n getExtraCss=()=>{\n if(this.props.extracss){\n return \n }\n }\n render() {\n return
    \n \n \n {this.getMainStyle()}\n {this.getExtraCss()}\n {this.createPages(this.props.sale)}\n
    ;\n }\n\n}\nexport default GlamourTemplateComponent;","import React, { Component } from 'react'\nimport { createPortal } from 'react-dom'\n\nexport class IFrame extends Component {\n constructor(props) {\n super(props)\n this.state = {\n mountNode: null\n }\n this.setContentRef = (contentRef) => {\n this.setState({\n mountNode: contentRef?.contentWindow?.document?.body\n })\n\n }\n this.handleOnLoad = (e) => {\n try {\n this.setState({ mountNode: e.target.contentDocument.body });\n }\n catch (e) {\n \n }\n }\n }\n\n\n\n render() {\n const { children, ...props } = this.props\n const { mountNode } = this.state\n return (\n \n )\n }\n}","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport TemplateComponent from './templates/template.component';\nimport Template2xA5Component from './templates/template-2xa5.component';\nimport ThermalPrinterComponent from './templates/therm-printer-template.component';\nimport GlamourTemplateComponent from './templates/template-glamour.component';\n\nimport moment from 'moment'\nimport { useTranslation } from 'react-i18next';\nimport jsPDF from 'jspdf';\nimport html2canvas from 'html2canvas';\nimport ApiClient from \"../services/api-client\"\nimport { IFrame } from './iframe-component';\nimport Commons from '../util/commons';\n\n\nconst IframePrintTemplate = forwardRef((props, ref) => {\n\n const { i18n, t } = useTranslation();\n const templateRef = useRef();\n const [printSale, setPrintSale] = useState(\"\");\n let agent = navigator.userAgent;\n const _print = () => {\n if (agent.includes(\"ANDROID_KEY\")) {\n console.log(\"We are on Android\")\n document.getElementById(\"template\").contentWindow.print();\n var cw = document.getElementById(\"template\").contentWindow;\n setTimeout(function () {\n window.Android.runPrintJob(cw.document.documentElement.innerHTML);\n }, 2000)\n }\n else if (agent.includes(\"APPLE_KEY\")) {\n console.log(\"We are on IOS\")\n document.getElementById(\"template\").contentWindow.print();\n var cw = document.getElementById(\"template\").contentWindow;\n setTimeout(function () {\n window.Apple.runPrintJob(cw.document.documentElement.innerHTML);\n }, 2000)\n }\n else {\n document.getElementById(\"template\").contentWindow.print();\n }\n }\n\n const sendInvoiceEmailWithAttachment = (file, contacts, callback) => {\n let formData = new FormData();\n formData.append(\"file\", file);\n formData.append(\"contacts\", JSON.stringify(contacts));\n\n ApiClient.sendInvoiceEmailWithAttachment(formData).then(\n response => {\n callback(response);\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n function toDataUrl(url, callback) {\n var xhr = new XMLHttpRequest();\n xhr.onload = function () {\n var reader = new FileReader();\n reader.onloadend = function () {\n callback(reader.result);\n }\n reader.readAsDataURL(xhr.response);\n };\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.send();\n }\n\n const getBase64FromUrl = async (url) => {\n const data = await fetch(url);\n const blob = await data.blob();\n return new Promise((resolve) => {\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n const base64data = reader.result;\n resolve(base64data);\n }\n });\n }\n useEffect(() => {\n\n return\n }, [printSale]);\n\n function getTaxByType(saleInstanceMoreTaxes, taxType) {\n if (saleInstanceMoreTaxes) {\n var item = saleInstanceMoreTaxes.filter(obj => {\n if(obj.deduction && obj.deduction.type){\n obj.myDataMoreTax = obj.deduction;\n }\n if(obj.amount ){\n obj.myDataMoreTax.amount=obj.amount ;\n }\n return obj.myDataMoreTax.type === taxType\n })\n\n // var myDataMoreTaxStr=\"\";\n // item.forEach(t=>{\n // myDataMoreTaxStr+=t.myDataMoreTax+\" ,\"\n // })\n // myDataMoreTaxStr =myDataMoreTaxStr.replace(/,\\s*$/, \"\");\n\n\n return item && item.length?item[0].myDataMoreTax:null\n }\n }\n\n useImperativeHandle(ref, () => ({\n getPrintSale(sale) {\n var vatExceptions = [];\n sale.entries.forEach(e => {\n if (e.vatCategoryException) {\n vatExceptions.push(e.vatCategoryException.value);\n }\n });\n\n var withHoldTax=getTaxByType(sale.saleInstanceMoreTaxes,\"WITHHOLD_TAXES\");\n var otherTax=getTaxByType(sale.saleInstanceMoreTaxes,\"OTHER_TAXES\");\n\n if(sale.otherTaxCategory){\n otherTax=sale.otherTaxCategory\n }\n\n var stumpOfDutyTax=getTaxByType(sale.saleInstanceMoreTaxes,\"STUMP_DUTY\");\n\n var feesTax=getTaxByType(sale.saleInstanceMoreTaxes,\"FEES\");\n\n var deduction=getTaxByType(sale.saleInstanceMoreTaxes,\"DEDUCTION\");\n \n\n var vatExceptionsUnique = vatExceptions.filter((value, index, array) => array.indexOf(value) === index);\n\n var entries = []\n var printentries = [];\n var counter = 1;\n var countitems = 0;\n sale.entries.forEach(node => {\n console.log(node.product)\n if (node.quantity == \"-\") {\n countitems += 1;\n }\n else {\n countitems += parseFloat(node.quantity);\n }\n var printentry = {\n id: counter++,\n NAME_LIST: node.product.label,\n QUANTITY_LIST: node.quantity,\n MU_LIST: node.measurementUnit.value,\n UP_LIST: Commons.formatNumber(node.unitPrice),\n DISCOUNT: Commons.formatNumber(node.discount),\n WHTAXES: node.taxes != undefined ? (node.taxes.withHoldTax != undefined ? node.taxes.withHoldTax.amountValue : \"0.00\") : \"0.00\",\n VAT_LIST: node.vat.label,\n PRICE_NOVAT_LIST: Commons.formatNumber(node.priceWithoutVat),\n PRICE_LIST: Commons.formatNumber(node.priceWithVat),\n\n }\n entries.push(node);\n printentries.push(printentry);\n });\n var company = JSON.parse(localStorage.getItem(\"company\"));\n var _ser_lbl = sale.series == null ? \"\" : sale.series.label;\n\n var _city = sale.city ? sale.city : \"\";\n\n var _postalcode = sale.postalCode ? sale.postalCode : \"\";\n\n var _customerAddressNumber = sale.addressNumber ? sale.addressNumber : \"\";\n var _customerAddress = sale.fulladdress ? sale.fulladdress : \"\";\n\n var LOADING_ADDRESS= sale.loadingAddressStreet?sale.loadingAddressStreet:\"\"\n var DELIVERY_ADDRESS= sale.deliveryAddressStreet?sale.deliveryAddressStreet:\"\"\n\n LOADING_ADDRESS+=sale.loadingAddressNumber?\" \"+sale.loadingAddressNumber:\"\"\n DELIVERY_ADDRESS+=sale.deliveryAddressNumber?\" \"+sale.deliveryAddressNumber:\"\"\n\n LOADING_ADDRESS+=sale.loadingAddressCity?\", \"+sale.loadingAddressCity:\"\"\n DELIVERY_ADDRESS+=sale.deliveryAddressCity?\", \"+sale.deliveryAddressCity:\"\"\n\n LOADING_ADDRESS+=sale.loadingAddressPostalCode?\" \"+sale.loadingAddressPostalCode:\"\"\n DELIVERY_ADDRESS+=sale.deliveryAddressPostalCode?\" \"+sale.deliveryAddressPostalCode:\"\"\n\n\n var currency = sale.currency;\n var printSale = {\n TEMPLATE_LANG: sale.templateLang ? sale.templateLang.toLowerCase() : i18n.language,\n LOGO: sale.branch.model ? sale.branch.model.logo : null,\n ISSUER_DOY: company.taxOffice ? company.taxOffice.name : \"\",\n ISSUER_GEMH: company.gemh ? company.gemh : \"\",\n INVOICEMARK: sale.INVOICEMARK,\n INVOICEUID: sale.INVOICEUID,\n ISSUER_PHONE: sale.branch.model ? sale.branch.model.phone : null,\n ISSUER_EMAIL: sale.branch.model ? sale.branch.model.email : null,\n ISSUER_SUBJECTFIELD: sale.branch.model ? sale.branch.model.subjectField : null,\n ISSUER_NAME: company.name,\n ISSUER_VAT: company.taxpayerId,\n ISSUER_ADDRESS: sale.branch.model ? sale.branch.model.address : null,\n VEHICLE_NUMBER: sale.vehicleNumber,\n CP_NAME: sale.customer ? sale.customer.label : \"\",\n CP_CODE: sale.customer ? (sale.customer.model != undefined ? sale.customer.model.code : \"\") : \"\",\n INVOICE_TYPE: sale.invoiceType.label,\n INVOICE_NUMBER: _ser_lbl + \" \" +sale.invoiceNumber,\n MYDATA_INVOICE_TYPE: sale.invoiceType.myDataInvoiceType,\n CP_VAT: sale.taxpayerId,\n INVOICE_DATE: moment(sale.invoiceDate).format('DD/MM/YYYY'),\n INVOICE_TIME: moment(sale.invoiceDate).format('LTS'),\n INVOICE_ENTRIES: printentries,\n TOTALNODISCOUNT: Commons.formatNumber(parseFloat(sale.totals.totalWithoutDiscount)),\n TOTALWITHOUTVAT: Commons.formatNumber(parseFloat(sale.totals.totalWithoutVat)),\n TOTALVAT: Commons.formatNumber(parseFloat(sale.totals.totalWithVat - sale.totals.totalWithoutVat).toFixed(2)),\n TOTALWITHVAT: Commons.formatNumber(sale.totals.totalWithVat),\n TOTALPAYMENT: Commons.formatNumberEuro(sale.totals.totalPayment),\n TOTALDISCOUNT: Commons.formatNumber(sale.totals.totalDiscount),\n TOTALTAXES: Commons.formatNumber(parseFloat(sale.totals.totalPayment - sale.totals.totalWithVat).toFixed(2)),\n CP_ADDRESS: _customerAddress + \" \" + _customerAddressNumber,\n CP_CITY: _city + \" \" + _postalcode,\n TOTALCOUNTITEMS: countitems,\n CP_PAYTYPE: sale.paymentType?sale.paymentType.value:\"\",\n CP_TAXOFFICE: sale.taxOffice ? sale.taxOffice.label : \"\",\n NOTES: sale.notes,\n SEND_PLACE: sale.sendPlace ? sale.sendPlace : t(\"ourPlace\"),\n CP_SUBJECT_FIELD: sale.subjectField,\n TOTALOTHERTAXES: Commons.formatNumber(parseFloat(sale.totals.totalOtherTaxes)),\n TOTALWHTAXES: sale.totals.totalDeductionsTaxes?Commons.formatNumber(parseFloat(sale.totals.totalWithHoldTaxes-sale.totals.totalDeductionsTaxes)):Commons.formatNumber(parseFloat(sale.totals.totalWithHoldTaxes)),\n TOTALFEESTAXES: Commons.formatNumber(parseFloat(sale.totals.totalFeesTaxes)),\n TOTALSTUMPOFDUTYTAXES: Commons.formatNumber(parseFloat(sale.totals.totalStumpOfDutyTaxes)),\n TOTALDEDUCTIONTAXES: Commons.formatNumber(parseFloat(sale.totals.totalDeductionsTaxes?sale.totals.totalDeductionsTaxes:0)),\n CURRENCY: currency ? currency.value : \"\",\n TOTALPAYMENT_ON_CURRENCY: currency ? Commons.formatNumber(parseFloat(sale.totals.totalPayment * currency.rate).toFixed(2)) : \"\",\n SENDER_NAME: sale.senderName ? sale.senderName : \"\",\n SENDER_TAXPAYER_ID: sale.senderTaxPayerId ? sale.senderTaxPayerId : \"\",\n RECIPIENT_NAME: sale.recipientName ? sale.recipientName : \"\",\n RECIPIENT_TAXPAYER_ID: sale.recipientTaxPayerId ? sale.recipientTaxPayerId : \"\",\n VAT_EXCEPTION_CATEGORIES: vatExceptionsUnique,\n CORRELATIVE_INVOICE: sale.correlativeSale ? sale.correlativeSale.mark : \"\",\n IBAN: sale.iban,\n MOREINFO: sale.moreInfo,\n QRURL: sale.qrUrl,\n COUNTRY: sale.country?sale.country.value:\"\",\n WITHHOLD_TAXES:withHoldTax?withHoldTax.value:null,\n OTHER_TAXES:otherTax?otherTax.value:null,\n STUMP_DUTY:stumpOfDutyTax?stumpOfDutyTax.value:null,\n FEES:feesTax?feesTax.value:null,\n DEDUCTION:deduction?deduction.label:null,\n MOVE_PURPOSE:sale.movePurpose?t(sale.movePurpose.value):null,\n DISPATCH_DATE:sale.dispatchDate?moment(sale.dispatchDate).format('DD/MM/YYYY HH:mm'):null,\n saleInstanceMoreTaxes:sale.saleInstanceMoreTaxes,\n LOADING_ADDRESS:LOADING_ADDRESS,\n DELIVERY_ADDRESS: DELIVERY_ADDRESS,\n }\n\n entries.pop();\n sale.entries = entries;\n\n\n return printSale;\n },\n getPrintSale2(sale) {\n var vatExceptions = [];\n sale.saleEntries.forEach(e => {\n vatExceptions.push(e.vatCategoryException);\n });\n\n var withHoldTax=getTaxByType(sale.saleInstanceMoreTaxes,\"WITHHOLD_TAXES\");\n var otherTax=getTaxByType(sale.saleInstanceMoreTaxes,\"OTHER_TAXES\");\n if(sale.otherTaxCategory){\n otherTax=sale.otherTaxCategory\n }\n\n var stumpOfDutyTax=getTaxByType(sale.saleInstanceMoreTaxes,\"STUMP_DUTY\");\n var feesTax=getTaxByType(sale.saleInstanceMoreTaxes,\"FEES\");\n var deduction=getTaxByType(sale.saleInstanceMoreTaxes,\"DEDUCTION\");\n\n var vatExceptionsUnique = vatExceptions.filter((value, index, array) => array.indexOf(value) === index);\n\n var entries = []\n var printentries = [];\n var counter = 1;\n var countitems = 0;\n sale.saleEntries.forEach(node => {\n countitems += parseFloat(node.quantity);\n var printentry = {\n id: node.id,\n CODE: node.productCode,\n NAME_LIST: node.product.name,\n QUANTITY_LIST: node.quantity,\n MU_LIST: t(node.measurementUnit),\n UP_LIST: Commons.formatNumber(node.unitPrice),\n DISCOUNT: Commons.formatNumber(node.discount),\n WHTAXES: node.myDataWithHoldTaxes != undefined ? node.myDataWithHoldTaxes.amountValue : \"0.00\",\n VAT_LIST: node.vat.value,\n PRICE_NOVAT_LIST: Commons.formatNumber(node.priceWithoutVat),\n PRICE_LIST: Commons.formatNumber(node.priceWithVat),\n }\n entries.push(node);\n printentries.push(printentry);\n });\n var company = sale.company;\n\n var mark = sale.mark;\n\n var _city = sale.customerCity ? sale.customerCity : \"\";\n var _postalcode = sale.customerPostalCode ? sale.customerPostalCode : \"\";\n\n var cancelmark = sale.cancellationMark;\n var currency = sale.currency;\n\n\n var _customerAddressNumber = sale.customerAddressNumber ? sale.customerAddressNumber : \"\";\n var _customerAddress = sale.customerAddress ? sale.customerAddress : \"\";\n\n var LOADING_ADDRESS= sale.loadingAddressStreet?sale.loadingAddressStreet:\"\"\n var DELIVERY_ADDRESS= sale.deliveryAddressStreet?sale.deliveryAddressStreet:\"\"\n\n LOADING_ADDRESS+=sale.loadingAddressNumber?\" \"+sale.loadingAddressNumber:\"\"\n DELIVERY_ADDRESS+=sale.deliveryAddressNumber?\" \"+sale.deliveryAddressNumber:\"\"\n\n LOADING_ADDRESS+=sale.loadingAddressCity?\", \"+sale.loadingAddressCity:\"\"\n DELIVERY_ADDRESS+=sale.deliveryAddressCity?\", \"+sale.deliveryAddressCity:\"\"\n\n LOADING_ADDRESS+=sale.loadingAddressPostalCode?\" \"+sale.loadingAddressPostalCode:\"\"\n DELIVERY_ADDRESS+=sale.deliveryAddressPostalCode?\" \"+sale.deliveryAddressPostalCode:\"\"\n\n var printSale = {\n TEMPLATE_LANG: sale.templateLang ? sale.templateLang.toLowerCase() : i18n.language,\n LOGO: sale.logo,\n ISSUER_DOY: company.taxOffice ? company.taxOffice.name : \"\",\n ISSUER_GEMH: company.gemh ? company.gemh : \"\",\n ISSUER_NAME: sale.company.name,\n INVOICEMARK: mark,\n ISSUER_SUBJECTFIELD: sale.issuerSubjectField,\n ISSUER_EMAIL: sale.issuerEmail ? sale.issuerEmail : null,\n ISSUER_PHONE: sale.issuerPhone ? sale.issuerPhone : null,\n ISSUER_ADDRESS: sale.branchAddress,\n CANCELATIONMARK: cancelmark,\n INVOICEUID: sale.invoiceUid,\n VEHICLE_NUMBER: sale.vehicleNumber,\n ISSUER_VAT: sale.company.taxpayerId,\n CP_NAME: sale.customerName,\n CP_CODE: sale.customerCode,\n INVOICE_TYPE: sale.invoiceType,\n INVOICE_NUMBER: sale.series + \" \"+ sale.invoiceNumber,\n MYDATA_INVOICE_TYPE: sale.myDataInvoiceType,\n CP_VAT: sale.customerTaxPayerId,\n INVOICE_DATE: moment(sale.invoiceDate).format('DD/MM/YYYY'),\n INVOICE_TIME: moment(sale.invoiceDate).format('LTS'),\n INVOICE_ENTRIES: printentries,\n TOTALTAXES: Commons.formatNumber(parseFloat(sale.totalPayment - sale.totalWithVat).toFixed(2)),\n TOTALVAT: Commons.formatNumber(parseFloat(sale.totalWithVat - sale.totalWithoutVat).toFixed(2)),\n TOTALNODISCOUNT: Commons.formatNumber(sale.totalWithoutDiscount),\n TOTALWITHOUTVAT: Commons.formatNumber(sale.totalWithoutVat),\n TOTALWITHVAT: Commons.formatNumber(sale.totalWithVat),\n TOTALPAYMENT: Commons.formatNumberEuro(sale.totalPayment),\n TOTALDISCOUNT: Commons.formatNumber(sale.totalDiscount),\n CP_ADDRESS: _customerAddress + \" \" + _customerAddressNumber,\n CP_CITY: _city + \" \" + _postalcode,\n TOTALCOUNTITEMS: countitems,\n CP_PAYTYPE: sale.paymentType,\n CP_TAXOFFICE: sale.taxOfficeName,\n CP_SUBJECT_FIELD: sale.subjectField,\n NOTES: sale.notes,\n SEND_PLACE: sale.sendPlace ? sale.sendPlace : t(\"ourPlace\"),\n TOTALOTHERTAXES: Commons.formatNumber(sale.totalOtherTaxes),\n TOTALWHTAXES: sale.totalDeductionsTaxes?Commons.formatNumber(sale.totalWithHoldTaxes-sale.totalDeductionsTaxes):Commons.formatNumber(sale.totalWithHoldTaxes),\n TOTALFEESTAXES: Commons.formatNumber(sale.totalFeesTaxes),\n TOTALSTUMPOFDUTYTAXES: Commons.formatNumber(sale.totalStumpOfDutyTaxes),\n TOTALDEDUCTIONTAXES: Commons.formatNumber(parseFloat(sale.totalDeductionsTaxes?sale.totalDeductionsTaxes:0)),\n CURRENCY: currency ? currency : \"\",\n TOTALPAYMENT_ON_CURRENCY: currency ? parseFloat(sale.totalPayment * sale.exchangeRate).toFixed(2) : \"\",\n SENDER_NAME: sale.senderName ? sale.senderName : \"\",\n SENDER_TAXPAYER_ID: sale.senderTaxPayerId ? sale.senderTaxPayerId : \"\",\n RECIPIENT_NAME: sale.recipientName ? sale.recipientName : \"\",\n RECIPIENT_TAXPAYER_ID: sale.recipientTaxPayerId ? sale.recipientTaxPayerId : \"\",\n VAT_EXCEPTION_CATEGORIES: vatExceptionsUnique,\n CORRELATIVE_INVOICE: sale.correlativeSaleInstance ? sale.correlativeSaleInstance.mark : \"\",\n IBAN: sale.iban,\n MOREINFO: sale.moreInfo,\n QRURL: sale.qrUrl,\n WITHHOLD_TAXES:withHoldTax?\"TAX_\"+withHoldTax.uid:null,\n OTHER_TAXES:otherTax?\"TAX_\"+otherTax.uid:null,\n STUMP_DUTY:stumpOfDutyTax?\"TAX_\"+stumpOfDutyTax.uid:null,\n FEES:feesTax?\"TAX_\"+feesTax.uid:null,\n DEDUCTION:deduction?deduction.name:null,\n MOVE_PURPOSE:sale.movePurpose?t(sale.movePurpose):null,\n DISPATCH_DATE:sale.dispatchDate?moment(sale.dispatchDate).format('DD/MM/YYYY HH:mm'):null,\n COUNTRY: sale.customerCountry?sale.customerCountry.alpha2:\"\",\n saleInstanceMoreTaxes:sale.saleInstanceMoreTaxes,\n LOADING_ADDRESS: LOADING_ADDRESS,\n DELIVERY_ADDRESS: DELIVERY_ADDRESS,\n\n }\n entries.pop();\n sale.entries = entries;\n return printSale;\n\n\n },\n getPrintDesign() {\n\n\n\n var printentries = [];\n var counter = 1;\n var countitems = 0;\n var printentry = {\n id: counter++,\n CODE: \"123\",\n NAME_LIST: \"Test Product\",\n QUANTITY_LIST: 1,\n MU_LIST: \"L\",\n UP_LIST: \"1.00\",\n DISCOUNT: \"0.00\",\n WHTAXES: \"0.00\",\n VAT_LIST: 24,\n PRICE_NOVAT_LIST: \"1.00\",\n PRICE_LIST: \"1.24\",\n }\n printentries.push(printentry);\n\n var _comp = JSON.parse(localStorage.getItem(\"company\"));\n\n var printSale = {\n LOGO: \"\",\n ISSUER_DOY: _comp.taxpayerId,\n ISSUER_GEMH: _comp.gemh,\n ISSUER_NAME: _comp.name,\n INVOICEMARK: 400001885100498,\n ISSUER_SUBJECTFIELD: \"subjectField\",\n ISSUER_EMAIL: \"email\",\n ISSUER_PHONE: \"phone\",\n ISSUER_ADDRESS: \"address\",\n CANCELATIONMARK: null,\n INVOICEUID: \"50a88a68-50ca-45a6-b82a-37621ebdb77b\",\n ISSUER_VAT: _comp.taxpayerId,\n CP_NAME: t(\"TEST CUSTOMER\"),\n CP_CODE: \"TEST\",\n INVOICE_TYPE: \"TEST\",\n INVOICE_NUMBER: \"Α 1\",\n CP_VAT: \"000000000\",\n INVOICE_DATE: \"01/02/2021\",\n INVOICE_TIME: moment(\"01/02/2021\").format('LTS'),\n INVOICE_ENTRIES: printentries,\n TOTALTAXES: \"0.00\",\n TOTALVAT: \"0.24\",\n TOTALNODISCOUNT: \"1.00\",\n TOTALWITHOUTVAT: \"1.00\",\n TOTALWITHVAT: \"1.24\",\n TOTALPAYMENT: \"1.24\",\n TOTALDISCOUNT: \"0.00\",\n CP_ADDRESS: \"TEST ADDRESS\",\n CP_CITY: \"TEST CITY\",\n TOTALCOUNTITEMS: 1,\n CP_PAYTYPE: \"TEST\",\n CP_TAXOFFICE: \"TEST\",\n CP_SUBJECT_FIELD: \"TEST SUBJECT\",\n NOTES: \"TEST\",\n SEND_PLACE: t(\"ourPlace\"),\n TOTALOTHERTAXES: \"0.00\",\n TOTALWHTAXES: \"0.00\",\n TOTALFEESTAXES: \"0.00\",\n TOTALSTUMPOFDUTYTAXES: \"0.00\",\n VAT_EXCEPTION_CATEGORIES: [t(\"VatExceptionCategory\")],\n IBAN: \"GR1234567891234566798\",\n MOREINFO: \"GR1234567891234566798\",\n TEMPLATE_LANG: i18n.language,\n COUNTRY:t(\"GR\")\n }\n\n return printSale;\n\n\n },\n setPrintSale(psale) {\n setPrintSale(psale)\n },\n print(psale) {\n if (psale && psale != \"\") {\n setPrintSale(psale)\n setTimeout(function () {\n _print();\n }, 1000);\n }\n },\n printFrame() {\n setTimeout(function () {\n _print();\n }, 1000);\n },\n saveAsPDF(psale) {\n if (psale && psale != \"\") {\n setPrintSale(psale)\n setTimeout(function () {\n\n var t=document.getElementById('template');\n var docbody = document.getElementById('template').contentWindow.document.body;\n var dochead = document.getElementById('template').contentWindow.document.head;\n dochead.innerHTML = '' + dochead.innerHTML;\n html2canvas(docbody).then(canvas => {\n const imgData = canvas.toDataURL('image/jpeg');\n const pdf = new jsPDF('p', 'mm', [297, 210]);\n pdf.addImage(imgData, 'JPEG', 0, 0, 210, 297);\n var blob = pdf.output('blob');\n var file = new File([blob], \"name\");\n pdf.save(\"download.pdf\");\n\n });\n }, 1000);\n }\n },\n _sendEmailWithAttachement(contacts, callback) {\n if (contacts.length > 0) {\n var docbody = document.getElementById('template').contentWindow.document.body;\n var dochead = document.getElementById('template').contentWindow.document.head;\n dochead.innerHTML = '' + dochead.innerHTML;\n\n html2canvas(docbody).then(canvas => {\n const imgData = canvas.toDataURL('image/jpeg');\n const pdf = new jsPDF('p', 'mm', [297, 210]);\n pdf.addImage(imgData, 'JPEG', 0, 0, 210, 297);\n var blob = pdf.output('blob');\n var file = new File([blob], \"name\");\n sendInvoiceEmailWithAttachment(file, contacts, callback)\n // pdf.save(\"download.pdf\");\n\n });\n }\n },\n _sendEmail(contacts, callback) {\n ApiClient.sendInvoiceEmail(contacts).then(\n response => {\n callback(response);\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n }));\n\n const getStyle = () => {\n return props.style ? props.style : { height: 0, width: 0 }\n }\n\n\n const getMainStyle = () => {\n var str =\n `:root {\n --appcolor: `+ props.template.mainColor + `;\n --secondaryColor:`+ props.template.secondaryColor + `;\n --appfont:`+ props.template.appFont + `;\n }`;\n return str;\n }\n\n const getTemplateComponent = () => {\n\n if (props.template) {\n\n if (props.template.template == \"2xa5_simple_template\") {\n\n return \n }\n else if (props.template.template == \"thermal_printer_template\") {\n\n return \n }\n else if (props.template.template == \"glamour_template\") {\n\n return \n }\n else {\n return \n }\n }\n else {\n // dochead.innerHTML = '' + dochead.innerHTML;\n return \n }\n }\n\n\n return (\n\n \n );\n});\n\nexport default IframePrintTemplate\n\n\n","import React, { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment'\n\nexport default (props) => {\n props.reactContainer.classList.add('sales-aggrid-tooltip');\n\n const { t } = useTranslation();\n\n const data = useMemo(\n () => props.api.getDisplayedRowAtIndex(props.rowIndex).data,\n []\n );\n\n return (\n
    \n
    \n\n \n
    \n
    {t(\"InvoiceType\")}:
    \n
    {data.invoiceType}
    \n
    \n
    \n
    {t(\"Customer\")}:
    \n
    {data.customerName} ({data.customerTaxPayerId})
    \n
    \n
    \n
    {t(\"issuerDate\")}:
    \n
    { moment(data.invoiceDate).format('DD/MM/YYYY hh:mm')}
    \n
    \n
    \n
    {t(\"TotalWithoutVat\")}:
    \n
    {data.totalWithoutVat}
    \n
    \n
    \n
    {t(\"TotalWithVat\")}:
    \n
    {data.totalWithVat}
    \n
    \n
    \n
    {t(\"TotalPayment\")}:
    \n
    {data.totalPayment}
    \n
    \n
    \n
    {t(\"Status\")}:
    \n
    {data.mark?data.cancelationMark?{t(\"canceled\")}:{t(\"sended\")}:{t(\"notInMyData\")}}
    \n
    \n
    \n
    \n );\n};","const AG_GRID_LOCALE_GR = {\n // Set Filter\n selectAll: '(Select All)',\n selectAllSearchResults: '(Select All Search Results)',\n addCurrentSelectionToFilter: 'Add current selection to filter',\n searchOoo: 'Search...',\n blanks: '(Blanks)',\n noMatches: 'No matches',\n\n // Number Filter & Text Filter\n filterOoo: 'Filter...',\n equals: 'Ίσο με',\n notEqual: 'Όχι ίσο με',\n blank: 'Κενό',\n notBlank: 'Όχι κενό',\n empty: 'Επιλέξτε ένα',\n\n // Number Filter\n lessThan: 'Μικρότερο από',\n greaterThan: 'Μεγαλύτερο από',\n lessThanOrEqual: 'Μικρότερο ή ίσο απο',\n greaterThanOrEqual: 'Μεγαλύτερο ή ίσο απο',\n inRange: 'Ανάμεσα',\n inRangeStart: 'Από',\n inRangeEnd: 'Έως',\n\n // Text Filter\n contains: 'Περιέχει',\n notContains: 'Δεν περιέχει',\n startsWith: 'Αρχίζει με',\n endsWith: 'Τελειώνει με',\n\n // Date Filter\n dateFormatOoo: 'yyyy-mm-dd',\n before: 'Πρίν',\n after: 'Μετά',\n\n // Filter Conditions\n andCondition: 'ΚΑΙ',\n orCondition: 'Η',\n\n // Filter Buttons\n applyFilter: 'Εφαρμογή',\n resetFilter: 'Επαναφορά',\n clearFilter: 'Καθαρισμός',\n cancelFilter: 'Ακύρωση',\n\n // Filter Titles\n textFilter: 'Φίλτρο κειμένου',\n numberFilter: 'Αριθμιτικό φίλτρο',\n dateFilter: 'Φίλτρο ημερομηνίας',\n setFilter: 'Set Filter',\n\n // Group Column Filter\n groupFilterSelect: 'Select field:',\n\n // Advanced Filter\n advancedFilterContains: 'περιέχει',\n advancedFilterNotContains: 'δεν περιέχει',\n advancedFilterTextEquals: 'ίσο',\n advancedFilterTextNotEqual: 'όχι ίσο',\n advancedFilterStartsWith: 'αρχίζει με',\n advancedFilterEndsWith: 'τελειώνει με',\n advancedFilterBlank: 'is blank',\n advancedFilterNotBlank: 'is not blank',\n advancedFilterEquals: '=',\n advancedFilterNotEqual: '!=',\n advancedFilterGreaterThan: '>',\n advancedFilterGreaterThanOrEqual: '>=',\n advancedFilterLessThan: '<',\n advancedFilterLessThanOrEqual: '<=',\n advancedFilterTrue: 'is true',\n advancedFilterFalse: 'is false',\n advancedFilterAnd: 'AND',\n advancedFilterOr: 'OR',\n advancedFilterApply: 'Apply',\n advancedFilterBuilder: 'Builder',\n advancedFilterValidationMissingColumn: 'Column is missing',\n advancedFilterValidationMissingOption: 'Option is missing',\n advancedFilterValidationMissingValue: 'Value is missing',\n advancedFilterValidationInvalidColumn: 'Column not found',\n advancedFilterValidationInvalidOption: 'Option not found',\n advancedFilterValidationMissingQuote: 'Value is missing an end quote',\n advancedFilterValidationNotANumber: 'Value is not a number',\n advancedFilterValidationInvalidDate: 'Value is not a valid date',\n advancedFilterValidationMissingCondition: 'Condition is missing',\n advancedFilterValidationJoinOperatorMismatch: 'Join operators within a condition must be the same',\n advancedFilterValidationInvalidJoinOperator: 'Join operator not found',\n advancedFilterValidationMissingEndBracket: 'Missing end bracket',\n advancedFilterValidationExtraEndBracket: 'Too many end brackets',\n advancedFilterValidationMessage: 'Expression has an error. ${variable} - ${variable}.',\n advancedFilterValidationMessageAtEnd: 'Expression has an error. ${variable} at end of expression.',\n advancedFilterBuilderTitle: 'Advanced Filter',\n advancedFilterBuilderApply: 'Apply',\n advancedFilterBuilderCancel: 'Cancel',\n advancedFilterBuilderAddButtonTooltip: 'Add Filter or Group',\n advancedFilterBuilderRemoveButtonTooltip: 'Remove',\n advancedFilterBuilderMoveUpButtonTooltip: 'Move Up',\n advancedFilterBuilderMoveDownButtonTooltip: 'Move Down',\n advancedFilterBuilderAddJoin: 'Add Group',\n advancedFilterBuilderAddCondition: 'Add Filter',\n advancedFilterBuilderSelectColumn: 'Select a column',\n advancedFilterBuilderSelectOption: 'Select an option',\n advancedFilterBuilderEnterValue: 'Enter a value...',\n advancedFilterBuilderValidationAlreadyApplied: 'Current filter already applied.',\n advancedFilterBuilderValidationIncomplete: 'Not all conditions are complete.',\n advancedFilterBuilderValidationSelectColumn: 'Must select a column.',\n advancedFilterBuilderValidationSelectOption: 'Must select an option.',\n advancedFilterBuilderValidationEnterValue: 'Must enter a value.',\n\n // Side Bar\n columns: 'Columns',\n filters: 'Filters',\n\n // columns tool panel\n pivotMode: 'Pivot Mode',\n groups: 'Row Groups',\n rowGroupColumnsEmptyMessage: 'Drag here to set row groups',\n values: 'Values',\n valueColumnsEmptyMessage: 'Drag here to aggregate',\n pivots: 'Column Labels',\n pivotColumnsEmptyMessage: 'Drag here to set column labels',\n\n // Header of the Default Group Column\n group: 'Group',\n\n // Row Drag\n rowDragRow: 'row',\n rowDragRows:'rows',\n\n // Other\n loadingOoo: 'Loading...',\n loadingError: 'ERR',\n noRowsToShow: 'No Rows To Show',\n enabled: 'Enabled',\n\n // Menu\n pinColumn: 'Pin Column',\n pinLeft: 'Pin Left',\n pinRight: 'Pin Right',\n noPin: 'No Pin',\n valueAggregation: 'Value Aggregation',\n noAggregation: 'None',\n autosizeThiscolumn: 'Autosize This Column',\n autosizeAllColumns: 'Autosize All Columns',\n groupBy: 'Group by',\n ungroupBy: 'Un-Group by',\n ungroupAll: 'Un-Group All',\n addToValues: 'Add ${variable} to values',\n removeFromValues: 'Remove ${variable} from values',\n addToLabels: 'Add ${variable} to labels',\n removeFromLabels: 'Remove ${variable} from labels',\n resetColumns: 'Reset Columns',\n expandAll: 'Expand All Row Groups',\n collapseAll: 'Close All Row Groups',\n copy: 'Copy',\n ctrlC: 'Ctrl+C',\n ctrlX: 'Ctrl+X',\n copyWithHeaders: 'Copy With Headers',\n copyWithGroupHeaders: 'Copy with Group Headers',\n cut: 'Cut',\n paste: 'Paste',\n ctrlV: 'Ctrl+V',\n export: 'Export',\n csvExport: 'CSV Export',\n excelExport: 'Excel Export',\n\n // Enterprise Menu Aggregation and Status Bar\n sum: 'Sum',\n first: 'First',\n last: 'Last',\n min: 'Min',\n max: 'Max',\n none: 'None',\n count: 'Count',\n avg: 'Average',\n filteredRows: 'Filtered',\n selectedRows: 'Selected',\n totalRows: 'Total Rows',\n totalAndFilteredRows: 'Rows',\n more: 'More',\n to: 'to',\n of: 'of',\n page: 'Page',\n pageLastRowUnknown: '?',\n nextPage: 'Next Page',\n lastPage: 'Last Page',\n firstPage: 'First Page',\n previousPage: 'Previous Page',\n pageSizeSelectorLabel: 'Page Size:',\n\n // Pivoting\n pivotColumnGroupTotals: 'Total',\n\n // Enterprise Menu (Charts)\n pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\n pivotChart: 'Pivot Chart',\n chartRange: 'Chart Range',\n\n columnChart: 'Column',\n groupedColumn: 'Grouped',\n stackedColumn: 'Stacked',\n normalizedColumn: '100% Stacked',\n\n barChart: 'Bar',\n groupedBar: 'Grouped',\n stackedBar: 'Stacked',\n normalizedBar: '100% Stacked',\n\n pieChart: 'Pie',\n pie: 'Pie',\n doughnut: 'Doughnut',\n\n line: 'Line',\n\n xyChart: 'X Y (Scatter)',\n scatter: 'Scatter',\n bubble: 'Bubble',\n\n areaChart: 'Area',\n area: 'Area',\n stackedArea: 'Stacked',\n normalizedArea: '100% Stacked',\n\n histogramChart: 'Histogram',\n histogramFrequency: \"Frequency\",\n\n combinationChart: 'Combination',\n columnLineCombo: 'Column & Line',\n AreaColumnCombo: 'Area & Column',\n\n // Charts\n pivotChartTitle: 'Pivot Chart',\n rangeChartTitle: 'Range Chart',\n settings: 'Settings',\n data: 'Data',\n format: 'Format',\n categories: 'Categories',\n defaultCategory: '(None)',\n series: 'Series',\n xyValues: 'X Y Values',\n paired: 'Paired Mode',\n axis: 'Axis',\n navigator: 'Navigator',\n color: 'Color',\n thickness: 'Thickness',\n xType: 'X Type',\n automatic: 'Automatic',\n category: 'Category',\n number: 'Number',\n time: 'Time',\n autoRotate: 'Auto Rotate',\n xRotation: 'X Rotation',\n yRotation: 'Y Rotation',\n ticks: 'Ticks',\n width: 'Width',\n height: 'Height',\n length: 'Length',\n padding: 'Padding',\n spacing: 'Spacing',\n chart: 'Chart',\n title: 'Title',\n titlePlaceholder: 'Chart title - double click to edit',\n background: 'Background',\n font: 'Font',\n top: 'Top',\n right: 'Right',\n bottom: 'Bottom',\n left: 'Left',\n labels: 'Labels',\n size: 'Size',\n minSize: 'Minimum Size',\n maxSize: 'Maximum Size',\n legend: 'Legend',\n position: 'Position',\n markerSize: 'Marker Size',\n markerStroke: 'Marker Stroke',\n markerPadding: 'Marker Padding',\n itemSpacing: 'Item Spacing',\n itemPaddingX: 'Item Padding X',\n itemPaddingY: 'Item Padding Y',\n layoutHorizontalSpacing: 'Horizontal Spacing',\n layoutVerticalSpacing: 'Vertical Spacing',\n strokeWidth: 'Stroke Width',\n lineDash: 'Line Dash',\n offset: 'Offset',\n offsets: 'Offsets',\n tooltips: 'Tooltips',\n callout: 'Callout',\n markers: 'Markers',\n shadow: 'Shadow',\n blur: 'Blur',\n xOffset: 'X Offset',\n yOffset: 'Y Offset',\n lineWidth: 'Line Width',\n normal: 'Normal',\n bold: 'Bold',\n italic: 'Italic',\n boldItalic: 'Bold Italic',\n predefined: 'Predefined',\n fillOpacity: 'Fill Opacity',\n strokeOpacity: 'Line Opacity',\n histogramBinCount: 'Bin count',\n columnGroup: 'Column',\n barGroup: 'Bar',\n pieGroup: 'Pie',\n lineGroup: 'Line',\n scatterGroup: 'X Y (Scatter)',\n areaGroup: 'Area',\n histogramGroup: 'Histogram',\n combinationGroup: 'Combination',\n groupedColumnTooltip: 'Grouped',\n stackedColumnTooltip: 'Stacked',\n normalizedColumnTooltip: '100% Stacked',\n groupedBarTooltip: 'Grouped',\n stackedBarTooltip: 'Stacked',\n normalizedBarTooltip: '100% Stacked',\n pieTooltip: 'Pie',\n doughnutTooltip: 'Doughnut',\n lineTooltip: 'Line',\n groupedAreaTooltip: 'Area',\n stackedAreaTooltip: 'Stacked',\n normalizedAreaTooltip: '100% Stacked',\n scatterTooltip: 'Scatter',\n bubbleTooltip: 'Bubble',\n histogramTooltip: 'Histogram',\n columnLineComboTooltip: 'Column & Line',\n areaColumnComboTooltip: 'Area & Column',\n customComboTooltip: 'Custom Combination',\n noDataToChart: 'No data available to be charted.',\n pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.',\n chartSettingsToolbarTooltip: 'Menu',\n chartLinkToolbarTooltip: 'Linked to Grid',\n chartUnlinkToolbarTooltip: 'Unlinked from Grid',\n chartDownloadToolbarTooltip: 'Download Chart',\n seriesChartType: 'Series Chart Type',\n seriesType: 'Series Type',\n secondaryAxis: 'Secondary Axis',\n\n // ARIA\n ariaAdvancedFilterBuilderItem: '${variable}. Level ${variable}. Press ENTER to edit.',\n ariaAdvancedFilterBuilderItemValidation: '${variable}. Level ${variable}. ${variable} Press ENTER to edit.',\n ariaAdvancedFilterBuilderList: 'Advanced Filter Builder List',\n ariaAdvancedFilterBuilderFilterItem: 'Filter Condition',\n ariaAdvancedFilterBuilderGroupItem: 'Filter Group',\n ariaAdvancedFilterBuilderColumn: 'Column',\n ariaAdvancedFilterBuilderOption: 'Option',\n ariaAdvancedFilterBuilderValueP: 'Value',\n ariaAdvancedFilterBuilderJoinOperator: 'Join Operator',\n ariaAdvancedFilterInput: 'Advanced Filter Input',\n ariaChecked: 'checked',\n ariaColumn: 'Column',\n ariaColumnGroup: 'Column Group',\n ariaColumnFiltered: 'Column Filtered',\n ariaColumnSelectAll: 'Toggle Select All Columns',\n ariaDateFilterInput: 'Date Filter Input',\n ariaDefaultListName: 'List',\n ariaFilterColumnsInput: 'Filter Columns Input',\n ariaFilterFromValue: 'Filter from value',\n ariaFilterInput: 'Filter Input',\n ariaFilterList: 'Filter List',\n ariaFilterToValue: 'Filter to value',\n ariaFilterValue: 'Filter Value',\n ariaFilterMenuOpen: 'Open Filter Menu',\n ariaFilteringOperator: 'Filtering Operator',\n ariaHidden: 'hidden',\n ariaIndeterminate:'indeterminate',\n ariaInputEditor: 'Input Editor',\n ariaMenuColumn: 'Press CTRL ENTER to open column menu.',\n ariaRowDeselect: 'Press SPACE to deselect this row',\n ariaRowSelectAll: 'Press Space to toggle all rows selection',\n ariaRowToggleSelection: 'Press Space to toggle row selection',\n ariaRowSelect: 'Press SPACE to select this row',\n ariaSearch: 'Search',\n ariaSortableColumn: 'Press ENTER to sort',\n ariaToggleVisibility: 'Press SPACE to toggle visibility',\n ariaToggleCellValue: 'Press SPACE to toggle cell value',\n ariaUnchecked: 'unchecked',\n ariaVisible: 'visible',\n ariaSearchFilterValues: 'Search filter values',\n ariaPageSizeSelectorLabel: 'Page Size',\n\n // ARIA Labels for Drop Zones\n ariaRowGroupDropZonePanelLabel: 'Row Groups',\n ariaValuesDropZonePanelLabel: 'Values',\n ariaPivotDropZonePanelLabel: 'Column Labels',\n ariaDropZoneColumnComponentDescription: 'Press DELETE to remove',\n ariaDropZoneColumnValueItemDescription: 'Press ENTER to change the aggregation type',\n ariaDropZoneColumnGroupItemDescription: 'Press ENTER to sort',\n // used for aggregate drop zone, format: {aggregation}{ariaDropZoneColumnComponentAggFuncSeparator}{column name}\n ariaDropZoneColumnComponentAggFuncSeparator: ' of ',\n ariaDropZoneColumnComponentSortAscending: 'ascending',\n ariaDropZoneColumnComponentSortDescending: 'descending',\n\n // ARIA Labels for Dialogs\n ariaLabelColumnMenu: 'Column Menu',\n ariaLabelCellEditor: 'Cell Editor',\n ariaLabelDialog: 'Dialog',\n ariaLabelSelectField: 'Select Field',\n ariaLabelRichSelectField: 'Rich Select Field',\n ariaLabelTooltip: 'Tooltip',\n ariaLabelContextMenu: 'Context Menu',\n ariaLabelSubMenu: 'SubMenu',\n ariaLabelAggregationFunction: 'Aggregation Function',\n ariaLabelAdvancedFilterAutocomplete: 'Advanced Filter Autocomplete',\n ariaLabelAdvancedFilterBuilderAddField: 'Advanced Filter Builder Add Field',\n ariaLabelAdvancedFilterBuilderColumnSelectField: 'Advanced Filter Builder Column Select Field',\n ariaLabelAdvancedFilterBuilderOptionSelectField: 'Advanced Filter Builder Option Select Field',\n ariaLabelAdvancedFilterBuilderJoinSelectField: 'Advanced Filter Builder Join Operator Select Field',\n\n // ARIA Labels for the Side Bar\n ariaColumnPanelList: 'Column List',\n ariaFilterPanelList: 'Filter List',\n\n // Number Format (Status Bar, Pagination Panel)\n thousandSeparator: ',',\n decimalSeparator: '.',\n\n // Data types\n true: 'True',\n false: 'False',\n invalidDate: 'Invalid Date',\n invalidNumber: 'Invalid Number',\n january: 'January',\n february: 'February',\n march: 'March',\n april: 'April',\n may: 'May',\n june: 'June',\n july: 'July',\n august: 'August',\n september: 'September',\n october: 'October',\n november: 'November',\n december: 'December',\n}\n\nexport default AG_GRID_LOCALE_GR;","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { CustomConfirmAlert as confirmAlert } from '../components/custom-confirm-alert';\nimport moment from 'moment'\nimport BlockUi from 'react-block-ui';\nimport { toast } from 'react-toastify';\nimport CustomDateComponent from '../components/sales/customDateComponent.js';\nimport Modal from 'react-bootstrap/Modal';\nimport ReactTooltip from \"react-tooltip\";\nimport SelectTable from '../components/select-table'\nimport { useForm, Controller } from \"react-hook-form\";\nimport IFramePrintTemplate from '../components/iframe-print-template.component';\nimport MyDataLogo from \"../img/mydata.png\";\nimport { Menu, MenuItem, MenuButton } from '@szhsin/react-menu';\nimport Commons from '../util/commons'\nimport AggridSalesTooltip from '../components/sales/aggridSalesTooltip'\nimport useMobileDetect from 'use-mobile-detect-hook';\nimport Select, { components } from \"react-select\";\nimport 'react-dates/initialize';\nimport { DateRangePicker } from 'react-dates';\nimport Tippy from '@tippyjs/react';\nimport { API_BASE_URL } from '../util/constants';\nimport AG_GRID_LOCALE_GR from '../locales/gr/aggrid-translation.js';\nimport AG_GRID_LOCALE_EN from '../locales/gb/aggrid-translation.js';\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport { ACCESS_TOKEN, RECAPTCHA_KEY } from '../util/constants';\n\n\nconst COMPANY = JSON.parse(localStorage.getItem(\"company\"));\n\n// window.screen.orientation.lock(\"portrait\");\n\nconst AllFieldsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n\n const [borderClass, setBorderClass] = useState(\"sales-grid-row\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n\n });\n\n\n useEffect(() => {\n if (props.node.data != null) {\n var addcls = props.node.data ? props.node.data.cancellationMark ? \"row-canceled-status\" : props.node.data.mark ? \"row-sended-status\" : \"row-not-sended-status\" : \"\";\n setBorderClass(\"sales-grid-row \" + addcls);\n\n }\n }, [props.node])\n\n\n\n const rowData =
    \n\n\n
    \n
    {t(\"InvoiceType\")}:
    \n
    {props.data ? props.data.invoiceType : \"\"}
    \n
    \n
    \n
    {t(\"Customer\")}:
    \n
    {props.data ? props.data.customerName : \"\"} ({props.data ? props.data.customerTaxPayerId : \"\"})
    \n
    \n
    \n
    {t(\"issuerDate\")}:
    \n
    {props.data ? moment(props.data.invoiceDate).format('DD/MM/YYYY') : \"\"}
    \n
    \n
    \n
    {t(\"TotalWithoutVat\")}:
    \n
    {props.data ? Commons.formatNumber(props.data.totalWithoutVat) : \"\"}
    \n
    \n
    \n
    {t(\"TotalWithVat\")}:
    \n
    {props.data ? Commons.formatNumber(props.data.totalWithVat) : \"\"}
    \n
    \n
    \n
    {t(\"TotalPayment\")}:
    \n
    {props.data ? Commons.formatNumber(props.data.totalPayment) : \"\"}
    \n
    \n
    \n
    {t(\"Status\")}:
    \n
    {props.data ? props.data.mark ? props.data.cancelationMark ? {t(\"canceled\")} : {t(\"sended\")} : {t(\"notInMyData\")} : \"\"}
    \n
    \n
    ;\n\n const inconsistencyIcon = props.node.data ? (props.node.data.hasInconsistency ? : <>) : <>;\n\n return (\n\n
    \n\n
    \n
    \n \n \n \n {props.data ? props.data.seriesNumber + \" \" : \"\"}\n {props.data ? props.data.invoiceType : \"\"}
    \n
    \n\n
    \n
    {props.data ? props.data.customerName + \" (\" + props.data.customerTaxPayerId + \")\" : \"\"}
    \n
    \n
    \n
    {props.data ? moment(props.data.invoiceDate).format('DD/MM/YYYY') : \"\"}
    \n {inconsistencyIcon}\n
    {props.data ? props.data.cancellationMark ? {props.data.cancellationMark} : props.data.mark ? {props.data.mark} : {t(\"notInMyData\")} : \"\"}
    \n\n {/*
    {props.data?props.data.cancelationMark?{t(\"canceled\")}:{t(\"sended\")}:{t(\"notInMyData\")}}
    */}\n
    \n\n
    \n
    {t(\"VatAmount\")}: {props.data ? Commons.formatNumber((props.data.totalWithVat - props.data.totalWithoutVat).toFixed(2)) : 0.00}
    \n
    {t(\"TotalPaymentMin\")}: {props.data ? Commons.formatNumber(props.data.totalPayment.toFixed(2)) : 0.00}
    \n
    \n\n {/*
    \n \n \n \n \n \n \n \n \n \n \n \n
    {t(\"TotalWithVatMin\")} {t(\"TotalWithoutVatMin\")} {t(\"TotalPaymentMin\")}
    {props.data ? props.data.totalWithoutVat.toFixed(2) : 0.00} {props.data ? props.data.totalWithoutVat.toFixed(2) : 0.00} {props.data ? props.data.totalPayment.toFixed(2) : 0.00}
    \n
    */}\n\n
    \n\n\n );\n});\n\n\n\nconst LineInfoRenderer = forwardRef((props, ref) => {\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n\n });\n\n return (\n <> \n );\n});\n\nconst MarkRenderer = forwardRef((props, ref) => {\n const [mark, setMark] = useState(props.value);\n const [cancellationMark, setCancellationMark] = useState(\"\");\n const { t } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val) {\n setMark(val);\n }\n }\n };\n\n });\n // const cancellationMark = rowNode.data.cancellationMark != null ? rowNode.data.cancellationMark : \"\"\n\n useEffect(() => {\n if (props.node.data != null) {\n setCancellationMark(props.node.data.cancellationMark)\n\n }\n }, [props.node])\n\n\n const inconsistencyIcon = props.node.data ? (props.node.data.hasInconsistency ? : <>) : <>;\n\n const markCell = cancellationMark ?\n {cancellationMark}{mark} \n : mark ? {mark} : {t(\"notInMyData\")}\n\n return (\n <> {inconsistencyIcon}{markCell}\n );\n});\n\nconst SeriesNumberRendener = forwardRef((props, ref) => {\n const [seriesNumber, setSeriesNumber] = useState(props.value);\n const [seriesElement, setSeriesElement] = useState(\"\");\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const history = useHistory();\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n\n if (val) {\n setSeriesNumber(val);\n }\n }\n };\n\n });\n\n const handleInputChange = (e) => {\n // e.preventDefault();\n var _data = props.data;\n ApiClient.getTemplateSettings(_data.company.id, _data.branchId).then(response => {\n var _template = response.data;\n var _temp = {\n branch: _data.branchId,\n template: _template.template,\n mainColor: _template.mainColor,\n secondaryColor: _template.secondaryColor,\n appFont: _template.appFont,\n css: _template.css,\n logo: _template.logo,\n iban: _template.iban,\n moreInfo: _template.moreInfo\n\n }\n\n props.colDef.cellRendererParams.setTemplate(_template);\n var saleInstance = props.colDef.cellRendererParams.getPrintSale(_data);\n saleInstance.LOGO = _temp.logo;\n saleInstance.IBAN = _temp.iban;\n saleInstance.MOREINFO = _temp.moreInfo;\n console.debug(saleInstance)\n props.colDef.cellRendererParams.onClickPrint(saleInstance)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }\n\n const handleCancel = (e) => {\n // e.preventDefault();\n var id = props.data.id;\n var companyId = COMPANY.id;\n\n var mess = props.data.mark ? t(\"cancelationConfirm0\") + \" \" + t(\"cancelationConfirm1\") : t(\"cancelationConfirm0\");\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: mess,\n submessage: t(\"cancelationConfirm2\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var rowNode = props.node;\n const seriesNumber = props.data.seriesNumber;\n props.colDef.cellRendererParams.blockUi(true)\n ApiClient.cancelMyDataInvoice(companyId, id).then(\n response => {\n\n if (response.data.response[0].statusCode == \"Success\") {\n var cancelMark = response.data.response[0].cancellationMark;\n\n\n var mark = rowNode.data.mark;\n if (cancelMark) {\n var _htm = {seriesNumber};\n rowNode.setDataValue(\"seriesNumber\", _htm);\n rowNode.setDataValue(\"cancelationMark\", cancelMark);\n // var cm={cancelMark}{mark} \n rowNode.setDataValue(\"mark\", mark);\n\n const actionel =
    \n } transition>\n Print\n Edit\n Send Email\n View\n \n\n
    \n setActionElement(actionel)\n // rowNode.gridApi.redrawRows()\n rowNode.gridApi.refreshInfiniteCache()\n }\n else {\n rowNode.gridApi.refreshInfiniteCache()\n }\n\n if (cancelMark) {\n toast.success(t(\"invoiceCanceled\", { mark: cancelMark }), { autoClose: 5000 })\n }\n else {\n toast.success(t(\"invoiceCanceledNoCancelMark\"), { autoClose: 5000 })\n }\n\n\n }\n else {\n var errors = response.data.response[0].errors.error;\n errors.forEach(e => {\n toast.error(e.message, { autoClose: 5000 })\n })\n }\n\n props.colDef.cellRendererParams.blockUi(false)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n props.colDef.cellRendererParams.blockUi(false)\n }\n );\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n }\n\n const showEmailModal = () => {\n var companyId = COMPANY.id;\n ApiClient.findCompanyCustomerContacts(companyId, props.data.customerTaxPayerId, props.data.customerName).then(\n response => {\n var contacts = response.data;\n var _contacts = []\n contacts.forEach(e => {\n _contacts.push({\n value: e.email,\n name: e.name,\n email: e.email,\n label: e.email\n })\n });\n\n\n var columns = [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6,\n asLabel: true\n\n }\n ]\n\n\n\n var _company = COMPANY;\n if (_company.accountantEmail) {\n _contacts.push({\n value: _company.accountantEmail,\n name: t(\"companyAccountant\"),\n email: _company.accountantEmail,\n label: _company.accountantEmail\n })\n }\n\n var opts = { data: _contacts, columns: columns };\n\n props.colDef.cellRendererParams.setShowEmailModal(true);\n props.colDef.cellRendererParams.setCustomerContacts(opts);\n props.colDef.cellRendererParams.setLineData(props.data);\n\n },\n error => {\n console.log(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n\n\n const goToPublic = () => {\n var invoiceUid = props.data.invoiceUid;\n window.open(\"/mydata/\" + invoiceUid, \"_blank\");\n }\n const hangleEdit = () => {\n debugger\n history.push(\"/sale/\" + props.data.id);\n }\n const publishCredit = () => {\n history.push(\"/sale/\" + props.data.id + \"?credit=true\");\n }\n useEffect(() => {\n\n\n if (props.node.data != null) {\n if (props.node.data.canceled) {\n setSeriesElement({props.node.data.seriesNumber})\n }\n else {\n setSeriesElement({props.node.data.seriesNumber})\n }\n }\n }, [props.node])\n const cancelMenu = props.node.data ? (!props.node.data.canceled ?\n \n {t(\"cancelInvoiceMenu\")}\n \n : \"\") : \"\"\n\n\n\n const inconsistencyIcon = props.node.data ? (props.node.data.hasInconsistency ? : <>) : <>;\n\n const publishMenu = props.node.data ? (props.node.data.myDataInvoiceType == \"invoice1_1\" || props.node.data.myDataInvoiceType == \"invoice1_2\" || props.node.data.myDataInvoiceType == \"invoice1_3\" || props.node.data.myDataInvoiceType == \"invoice2_1\" ?\n {t(\"creditInvoiceMenu\")}\n : \"\") : \"\"\n return (\n\n \n {inconsistencyIcon}\n \n {seriesElement}\n } transition>\n {t(\"printMenu\")}\n {t(\"editMenu\")}\n {t(\"sendEmailMenu\")}\n {t(\"viewInvoiceMenu\")}\n {publishMenu}\n {cancelMenu}\n \n \n );\n});\n\n\nconst TooltipRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [value, setValue] = useState(props.value);\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n if (val) {\n setValue(val);\n }\n }\n };\n\n });\n return (\n <>\n {value}\n\n {/* \n \n {t(\"ccInfo2\")}\n */}\n\n {t(\"ccInfo2\")}}>\n \n \n \n\n \n );\n});\n\nconst DateRendener = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [date, setDate] = useState(moment(props.value).format('DD/MM/YYYY'));\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n if (val) {\n setDate(val);\n }\n }\n };\n\n });\n\n const styleDate = (date) => {\n var _date = date.split(\" \")[0]\n var _time = date.split(\" \")[1]\n return <>{_date} {_time}\n }\n\n\n return (\n {styleDate(date)}\n );\n});\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const history = useHistory();\n\n\n const goToPublic = () => {\n var invoiceUid = props.data.invoiceUid;\n window.open(\"/mydata/\" + invoiceUid, \"_blank\");\n }\n\n const handlePdfDownload = () => {\n var _data = props.data;\n props.colDef.cellRendererParams.pdfDownload(_data)\n }\n const handleInputChange = (e) => {\n // e.preventDefault();\n var _data = props.data;\n ApiClient.getTemplateSettings(_data.company.id, _data.branchId).then(response => {\n var _template = response.data;\n var _temp = {\n branch: _data.branchId,\n template: _template.template,\n css: _template.css,\n logo: _template.logo,\n mainColor: _template.mainColor,\n secondaryColor: _template.secondaryColor,\n appFont: _template.appFont,\n iban: _template.iban,\n moreInfo: _template.moreInfo\n }\n\n props.colDef.cellRendererParams.setTemplate(_temp);\n var saleInstance = props.colDef.cellRendererParams.getPrintSale(_data);\n saleInstance.LOGO = _temp.logo;\n saleInstance.IBAN = _temp.iban;\n saleInstance.MOREINFO = _temp.moreInfo;\n\n console.debug(saleInstance)\n props.colDef.cellRendererParams.onClickPrint(saleInstance)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }\n const handleCancel = (e) => {\n // e.preventDefault();\n var id = props.data.id;\n var companyId = COMPANY.id;\n var mess = props.data.mark ? t(\"cancelationConfirm0\") + \" \" + t(\"cancelationConfirm1\") : t(\"cancelationConfirm0\");\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: mess,\n submessage: t(\"cancelationConfirm2\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var rowNode = props.node;\n const seriesNumber = props.data.seriesNumber;\n props.colDef.cellRendererParams.blockUi(true)\n ApiClient.cancelMyDataInvoice(companyId, id).then(\n response => {\n\n if (response.data.response[0].statusCode == \"Success\") {\n var cancelMark = response.data.response[0].cancellationMark;\n\n\n var mark = rowNode.data.mark;\n if (cancelMark) {\n var _htm = {seriesNumber};\n rowNode.setDataValue(\"seriesNumber\", _htm);\n rowNode.setDataValue(\"cancelationMark\", cancelMark);\n // var cm={cancelMark}{mark} \n rowNode.setDataValue(\"mark\", mark);\n\n const actionel =
    \n } transition>\n Print\n Edit\n Send Email\n View\n \n\n
    \n setActionElement(actionel)\n rowNode.gridApi.refreshInfiniteCache()\n }\n else {\n rowNode.gridApi.refreshInfiniteCache()\n }\n\n if (cancelMark) {\n toast.success(t(\"invoiceCanceled\", { mark: cancelMark }), { autoClose: 5000 })\n }\n else {\n toast.success(t(\"invoiceCanceledNoCancelMark\"), { autoClose: 5000 })\n }\n }\n else {\n var errors = response.data.response[0].errors.error;\n errors.forEach(e => {\n toast.error(e.message, { autoClose: 5000 })\n })\n }\n\n props.colDef.cellRendererParams.blockUi(false)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n props.colDef.cellRendererParams.blockUi(false)\n }\n );\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n }\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n\n });\n\n const showEmailModal = () => {\n var companyId = COMPANY.id;\n ApiClient.findCompanyCustomerContacts(companyId, props.data.customerTaxPayerId, props.data.customerName).then(\n response => {\n var contacts = response.data;\n var _contacts = []\n contacts.forEach(e => {\n _contacts.push({\n value: e.email,\n name: e.name,\n email: e.email,\n label: e.email\n })\n });\n\n\n var columns = [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6,\n asLabel: true\n }\n ]\n\n\n var _company = COMPANY;\n if (_company.accountantEmail) {\n _contacts.push({\n value: _company.accountantEmail,\n name: t(\"companyAccountant\"),\n email: _company.accountantEmail,\n label: _company.accountantEmail\n })\n }\n\n\n\n var opts = { data: _contacts, columns: columns };\n\n props.colDef.cellRendererParams.setShowEmailModal(true);\n props.colDef.cellRendererParams.setCustomerContacts(opts);\n props.colDef.cellRendererParams.setLineData(props.data);\n\n },\n error => {\n console.log(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n const hangleEdit = () => {\n history.push(\"/sale/\" + props.data.id);\n }\n\n const publishCredit = () => {\n history.push(\"/sale/\" + props.data.id + \"?credit=true\");\n }\n\n useEffect(() => {\n // \n if (props.node.data != null) {\n var mark = props.node.data.mark;\n var cancelMark = props.node.data.cancellationMark;\n props.node.setDataValue(\"mark\", mark);\n props.node.setDataValue(\"cancelationMark\", cancelMark);\n\n const cancelMenu = !props.node.data.canceled ?\n \n {t(\"cancelInvoiceMenu\")}\n \n : \"\"\n const publishMenu = props.node.data ? (props.node.data.myDataInvoiceType == \"invoice1_1\" || props.node.data.myDataInvoiceType == \"invoice1_2\" || props.node.data.myDataInvoiceType == \"invoice1_3\" || props.node.data.myDataInvoiceType == \"invoice2_1\" ?\n {t(\"creditInvoiceMenu\")}\n : \"\") : \"\"\n const actionel =
    \n } transition>\n {t(\"printMenu\")}\n {/* {t(\"pdfDownloadMenu\")} */}\n {t(\"editMenu\")}\n {t(\"sendEmailMenu\")}\n {t(\"viewInvoiceMenu\")}\n {publishMenu}\n {cancelMenu}\n \n
    \n setActionElement(actionel)\n }\n\n\n\n }, [props.node])\n\n return (\n\n {actionElement}\n );\n});\n\nconst InputOption = ({\n getStyles,\n Icon,\n isDisabled,\n isFocused,\n isSelected,\n children,\n innerProps,\n ...rest\n}) => {\n const [isActive, setIsActive] = useState(false);\n const onMouseDown = () => setIsActive(true);\n const onMouseUp = () => setIsActive(false);\n const onMouseLeave = () => setIsActive(false);\n\n // styles\n let bg = \"transparent\";\n if (isFocused) bg = \"#eee\";\n if (isActive) bg = \"#B2D4FF\";\n\n const style = {\n alignItems: \"center\",\n backgroundColor: bg,\n color: \"inherit\",\n display: \"flex \"\n };\n\n // prop assignment\n const props = {\n ...innerProps,\n onMouseDown,\n onMouseUp,\n onMouseLeave,\n style\n };\n\n return (\n \n \n {children}\n \n );\n};\n\n\n\nexport default function SaleSearch() {\n\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const { t, i18n } = useTranslation();\n const [printSale, setPrintSale] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(0);\n const [fastFilter, setFastFilter] = useState(\"\");\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const [showEmailModal, setShowEmailModal] = useState(false);\n const [sendEmailIsDisabled, setSendEmailIsDisabled] = useState(true);\n const [inputContactValue, setInputContactValue] = useState(\"\");\n const [selectedContactValue, setSelectedContactValue] = useState([]);\n\n const { control, setValue, getValues, formState: { errors } } = useForm();\n const [customerContacts, setCustomerContacts] = useState([]);\n const [selectedCustomerContacts, setSelectedCustomerContacts] = useState([]);\n const [lineData, setLineData] = useState({});\n const iframePrintTemplate = useRef();\n var to = null;\n const pagination = true;\n const paginationPageSize = 20;\n const [sheight, setSheight] = useState(window.innerHeight - 190);\n\n const [sendPaymentLink, setSendPaymentLink] = useState(false);\n const [template, setTemplate] = useState(false);\n const [dismissSalesAlert, setDismissSalesAlert] = useState(false);\n const detectMobile = useMobileDetect();\n const [touchStart, setTouchStart] = useState(null)\n const [touchEnd, setTouchEnd] = useState(null)\n const [selectedOptions, setSelectedOptions] = useState([]);\n const allOptions = [\n { value: \"invoiceDate\", label: t(\"DateTime\") },\n ];\n\n const [startDate, setStartDate] = useState();\n const [endDate, setEndDate] = useState();\n const [focusedInput, setFocusedInput] = useState();\n\n const [aggridLocal, setAggridLocal] = useState(AG_GRID_LOCALE_GR);\n\n\n const minSwipeDistance = 200\n\n const onTouchStart = (e) => {\n setTouchEnd(null) // otherwise the swipe is fired even with usual touch events\n setTouchStart(e.targetTouches[0].clientX)\n }\n\n const onTouchMove = (e) => {\n setTouchEnd(e.targetTouches[0].clientX)\n }\n\n const onTouchEnd = () => {\n var currentPage = gridApi.paginationGetCurrentPage();\n var lastpage = gridApi.paginationGetTotalPages();\n\n if (!touchStart || !touchEnd) return\n const distance = touchStart - touchEnd\n const isLeftSwipe = distance > minSwipeDistance\n const isRightSwipe = distance < -minSwipeDistance\n if (isLeftSwipe) {\n if (currentPage != lastpage) {\n gridApi.paginationGoToPage(currentPage + 1);\n }\n\n }\n else if (isRightSwipe) {\n if (currentPage != 0) {\n gridApi.paginationGoToPage(currentPage - 1);\n }\n\n }\n\n }\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n\n\n var getPageObject = function () {\n var pageNo = gridApi.paginationGetCurrentPage();\n var sortBy = null;\n var order = \"asc\";\n var filterModel = gridApi.getFilterModel();\n console.log(filterModel)\n gridApi.columnController.columnApi.getColumnState().map((v) => {\n if (v.sort != null) {\n sortBy = v.colId;\n order = v.sort\n }\n });\n\n var simpleColumnFilters = [];\n Object.keys(filterModel).forEach(k => {\n var obj = {\n column: k,\n filter: filterModel[k].filter,\n dateFrom: filterModel[k].dateFrom,\n dateTo: filterModel[k].dateTo,\n filterType: filterModel[k].filterType,\n searchOperator: filterModel[k].type\n }\n if (obj.column == \"seriesNumber\") {\n obj.column = \"series\";\n obj.concatWith = \"invoiceNumber\";\n }\n simpleColumnFilters.push(obj);\n })\n\n\n var object = {\n \"quickSearch\": fastFilter,\n \"pageNo\": pageNo,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": paginationPageSize,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n return object;\n }\n\n const getRowData = (params) => {\n var companyId = COMPANY.id;\n setTimeout(function () {\n gridApi.showLoadingOverlay();\n })\n var object = getPageObject();\n ApiClient.getCompanySaleInstancesPage(companyId, object).then(\n response => {\n\n const newSaleInstances = response.data.objectList.map(e => {\n e.seriesNumber = e.series + e.invoiceNumber;\n return e\n });\n\n params.successCallback(newSaleInstances, response.data.totalElements);\n\n if (newSaleInstances.length == 0) {\n gridApi.showNoRowsOverlay();\n }\n },\n error => {\n gridApi.hideOverlay();\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n useEffect(() => {\n\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n let timer1 = setTimeout(function () {\n gridApi.setDatasource(dataSource);\n }, 1000);\n\n return () => {\n clearTimeout(timer1);\n };\n\n }\n }, [fastFilter]);\n\n\n\n\n useEffect(() => {\n\n var _defaults = Commons.getDefaults();\n if (_defaults) {\n var _dismissSalesAlert = Commons.getDefaults().dismissSalesAlert\n if (_dismissSalesAlert) {\n setDismissSalesAlert(true);\n }\n }\n\n if (gridApi) {\n // var element = document.getElementsByClassName(\"sales-mobile-table-container\")[0]\n // element.addEventListener('touchstart', startSwipe);\n // document.addEventListener('touchend', endSwipe);\n // document.addEventListener('touchmove', detectMouse);\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n if (i18n.language == \"gr\") {\n setAggridLocal(AG_GRID_LOCALE_GR);\n }\n else {\n setAggridLocal(AG_GRID_LOCALE_EN);\n }\n gridApi.setDatasource(dataSource);\n\n }\n }, [gridApi]);\n\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.innerHeight - 190);\n }, 300);\n });\n };\n const onQuickFilterChanged = e => {\n console.log();\n gridApi.fastFilter = e.target.value;\n setFastFilter(e.target.value.trim());\n\n };\n const onClickPrint = data => {\n console.log(data)\n setPrintSale(data)\n iframePrintTemplate.current.print(data)\n }\n\n const onPaginationChanged = (val) => {\n var currentPage = val.api.paginationGetCurrentPage();\n setCurrentPage(currentPage);\n val.api.hideOverlay();\n\n }\n const dateFormatter = (params) => {\n if (params.data != undefined) {\n var dateAsString = moment(params.data.invoiceDate).format('DD/MM/YYYY')\n return dateAsString\n }\n return \"\"\n }\n const onChangeContact = data => {\n\n var recaptchaValue = recaptchaRef.current.getValue();\n\n setSelectedCustomerContacts(data);\n debugger\n if (data && data.length > 0 && recaptchaValue && recaptchaValue != \"\") {\n setSelectedContactValue(data)\n setSendEmailIsDisabled(false)\n }\n else {\n setSendEmailIsDisabled(true)\n }\n\n }\n const onInputChangeContact = (val, action) => {\n // setInputContactValue(val)\n // if (action.action != \"input-blur\" && action.action != \"menu-close\") {\n // if(val==\"\"){\n // setSendEmailIsDisabled(true)\n // }\n // else{\n // setInputContactValue(val)\n // setSendEmailIsDisabled(false)\n // }\n // }\n // else if (action.action == \"menu-close\") {\n // if({inputContactValue}!=\"\"){\n // setSelectedContactValue([{label: inputContactValue, value: inputContactValue,name: inputContactValue}]);\n // }\n\n // setInputContactValue(\"\")\n // }\n // else if (action.action == \"set-value\") {\n // if({inputContactValue}!=\"\"){\n // setSelectedContactValue([{label: inputContactValue, value: inputContactValue,name: inputContactValue}]);\n // }\n\n // setInputContactValue(\"\")\n // }\n\n }\n function getContactEmails(sale, sendPaymentLink) {\n var customerName = sale.customeName;\n var subject = t(\"emailSubject\", { company: COMPANY.name });\n\n var contactEmails = [];\n selectedCustomerContacts.forEach(contact => {\n if (contact.email == undefined || contact.email == null) {\n contact.email = contact.value;\n contact.name = contact.value\n }\n // var body = \"

    \" + t(\"emailBody1\", { contactName: contact.name }) + \"

    \";\n // body += \"

    \" + t(\"emailBody2\", { company: COMPANY.name }) + \"

    \";\n // var link = \"\" + sale.invoiceType + \" \" + sale.series + sale.invoiceNumber + \"\";\n // body += \"

    \" + t(\"emailBody3\", { link: link }) + \"

    \";\n\n // if (sendPaymentLink && COMPANY.vivaQuickPay) {\n // body += \"

    \" + t(\"emailVivaPayMess\") + \"

    \";\n // body += \"

    \" + t(\"payWithViva\") + \"

    \";\n // }\n // if (sendPaymentLink && COMPANY.stripeAccountID) {\n // var amount = sale.totalWithVat;\n // body += \"

    \" + t(\"emailStripePayMess\") + \"

    \";\n // body += \"

    \" + t(\"payWithTimologicPay\") + \"

    \";\n // }\n contactEmails.push({\n email: contact.email\n });\n })\n return contactEmails;\n\n }\n const getPrintSale = (sale) => {\n var saleClone = JSON.parse(JSON.stringify(sale));\n return iframePrintTemplate.current.getPrintSale2(saleClone)\n }\n const onSendEmail = () => {\n var contactEmails = getContactEmails(lineData, sendPaymentLink);\n document.getElementById(\"template\").style.display = \"unset\";\n const ps = getPrintSale(lineData);\n\n setPrintSale(ps)\n setTimeout(function () {\n setBlockuiLoading(true)\n try {\n var store = false;\n var user = JSON.parse(localStorage.getItem(\"user\"));\n // debugger\n // if (lineData.myDataInvoiceType == \"invoice1_1\" || lineData.myDataInvoiceType == \"invoice2_1\") {\n // store = true;\n // }\n const recaptchaValue = recaptchaRef.current.getValue();\n iframePrintTemplate.current._sendEmail({\n contacts: contactEmails,\n store: store,\n taxpayerId: lineData.company.taxpayerId,\n companyId: lineData.company.id,\n taxpayerId: lineData.company.taxpayerId,\n fromEmail: user.email,\n invoiceUid:lineData.invoiceUid,\n captcha: recaptchaValue\n }, function (resp) {\n setBlockuiLoading(false)\n document.getElementById(\"template\").style.display = \"none\";\n setShowEmailModal(false);\n if (resp.data.status == \"SUCCESS\") {\n toast.success(t(\"emailSended\"));\n }\n else {\n toast.error(t(\"emailNotSended\"));\n }\n });\n }\n catch (e) {\n console.error(e)\n setBlockuiLoading(false)\n }\n })\n\n }\n const exportToExcel = (e) => {\n e.preventDefault();\n var companyId = COMPANY.id;\n setBlockuiLoading(true)\n var object = getPageObject();\n ApiClient.exportCompanySalesToExcel(companyId, object).then(\n response => {\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', 'export.xlsx');\n document.body.appendChild(link);\n link.click();\n setBlockuiLoading(false)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString());\n setBlockuiLoading(false)\n }\n );\n }\n\n const getHeaderTemplate = () => {\n return \n }\n const pdfDownload = (_data) => {\n setPrintSale(_data)\n iframePrintTemplate.current.saveAsPDF(_data);\n }\n const hangleDismissSalesAlert = (_data) => {\n Commons.setDefault(\"dismissSalesAlert\", true);\n document.getElementsByClassName(\"sales_mark_attention_message\")[0].style.display = \"none\";\n }\n const sortByStyles = {\n placeholder: (defaultStyles) => {\n return {\n ...defaultStyles,\n fontSize: 11,\n }\n }\n }\n\n var mouseOrigin;\n var isSwiping = false;\n var mouseRelease;\n var currentTask;\n var swipeMargin = 20;\n\n //STARTSWIPE\n const startSwipe = (evt) => {\n console.log(\"startSwi \" + evt.target)\n mouseOrigin = evt.touches[0].clientX;\n currentTask = document.getElementsByClassName(\"sales-mobile-table-container\")[0]\n isSwiping = true;\n\n\n }\n\n //ENDSWIPE\n const endSwipe = (evt) => {\n\n mouseOrigin = null;\n isSwiping = false;\n\n // var currentMousePosition = evt.changedTouches[0].clientX;\n\n // currentTask.style.transform= \"translateX(-500px)\";\n // currentTask.style.transition=\"all 1s\" \n // setTimeout(function(){\n // // currentTask.style.transition=\" all 0s\" \n // // currentTask.style.transform= \"translateX(500px)\"\n // currentTask.style.margin = 0;\n\n // },1000)\n\n\n currentTask.style.margin = 0;\n currentTask = null;\n }\n\n //DETECTMOUSE\n const detectMouse = (evt) => {\n var currentPage = gridApi.paginationGetCurrentPage();\n var lastpage = gridApi.paginationGetTotalPages();\n\n var currentMousePosition = evt.touches[0].clientX;\n var swipeDifference = Math.abs(mouseOrigin - currentMousePosition)\n if (isSwiping && currentTask && (swipeDifference > swipeMargin)) {\n\n if ((swipeDifference - swipeMargin) <= swipeMargin) {\n //no change, allows user to take no action\n currentTask.classList.remove(\"completing\");\n currentTask.classList.remove(\"deleting\");\n currentTask.style.margin = 0;\n }\n else if (mouseOrigin > currentMousePosition) {\n //swipe left \n if (currentPage != lastpage) {\n currentTask.classList.remove(\"completing\");\n currentTask.classList.add(\"deleting\");\n currentTask.style.marginLeft = -swipeDifference + \"px\";\n }\n\n }\n else if (mouseOrigin < currentMousePosition) {\n if (currentPage != 0) {\n currentTask.classList.remove(\"completing\");\n currentTask.classList.add(\"deleting\");\n currentTask.style.marginLeft = -swipeDifference + \"px\";\n currentTask.style.marginLeft = swipeDifference + \"px\";\n }\n\n }\n }\n }\n const recaptchaRef = useRef();\n\n const onChangeCaptcha = (value) => {\n // setAcceptTerms(event.target.checked);\n // const recaptchaValue = recaptchaRef.current.getValue();\n debugger\n if (value && value != \"\" && selectedCustomerContacts.length > 0) {\n setSendEmailIsDisabled(false)\n }\n else {\n setSendEmailIsDisabled(true)\n }\n }\n\n return (\n \n\n
    \n
    \n\n {/* {!dismissSalesAlert ?\n
    \n
    \n
    {t(\"salesSearchInfo\")}{t(\"salesSearchInfo2\")}
    \n \n
    \n
    : <>} */}\n\n\n
    \n
    \n
    {t(\"invoicesSearch\")}\n \n \n \n
    \n
    \n {/*
    \n \n
    */}\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n\n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n {/*
    \n {\n if (Array.isArray(options)) {\n setSelectedOptions(options.map((opt) => opt.value));\n }\n }}\n options={allOptions}\n components={{\n Option: InputOption\n }}\n />\n
    */}\n\n
    \n
    \n false}\n withPortal={true}\n withFullScreenPortal={true}\n onDatesChange={({ startDate, endDate }) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n if (startDate && endDate) {\n gridApi.setFilterModel({\n \"invoiceDate\": {\n \"dateFrom\": moment(startDate).format('YYYY-MM-DD'),\n \"dateTo\": moment(endDate).format('YYYY-MM-DD'),\n \"type\": \"inRange\",\n \"filterType\": \"date\"\n }\n });\n }\n }}\n focusedInput={focusedInput}\n orientation=\"vertical\"\n onFocusChange={(focusedInput) => {\n setFocusedInput(focusedInput);\n\n }\n }\n />\n
    \n
    \n
    \n {\n detectMobile.isDesktop() ?\n \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n animateRows={true}\n\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n markRenderer: MarkRenderer,\n dateRendener: DateRendener,\n tooltipRenderer: TooltipRenderer,\n agDateInput: CustomDateComponent,\n lineInfoRenderer: LineInfoRenderer,\n aggridSalesTooltip: AggridSalesTooltip\n }}\n\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n overlayLoadingTemplate={\n '' + t('aggridPageLoadMess') + ''\n }\n localeText={aggridLocal}\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n defaultColDef={{\n flex: 1,\n resizable: true,\n sortable: true,\n wrapText: true,\n suppressMovable: true,\n autoHeight: true,\n icons: {\n menu: '',\n },\n }}\n >\n\n\n {/* {\n // if (params.data) {\n // return <> {t(\"invoiceType\")}: {params.data.invoiceType}\n // {t(\"Customer\")}: {params.data.customerName}\n // \n // }\n // }}\n // tooltipComponentParams={{invoiceData}}\n field=\"\"\n maxWidth={40}\n cellRenderer=\"lineInfoRenderer\"\n sortable={false}\n tooltipComponent=\"aggridSalesTooltip\"\n tooltipField=\"invoiceType\"\n >\n\n */}\n\n \n\n \n \n\n \n \n\n \n \n params.data != null ? params.data.totalWithoutVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithoutVat\")} sortable={true} filter=\"agNumberColumnFilter\" filterParams={{ buttons: ['reset', 'apply'] }} field=\"totalWithoutVat\">\n params.data != null ? (params.data.totalWithVat - params.data.totalWithoutVat).toFixed(2) : 0.00} flex={2} headerName={t(\"VatAmount\")} filterParams={{ buttons: ['reset', 'apply'] }} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithVat\">\n params.data != null ? params.data.totalPayment.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalPayment\")} filterParams={{ buttons: ['reset', 'apply'] }} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalPayment\">\n \n \n \n\n \n
    \n \n\n
    \n :\n\n \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n animateRows={true}\n suppressCellSelection={true}\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n markRenderer: MarkRenderer,\n dateRendener: DateRendener,\n tooltipRenderer: TooltipRenderer,\n agDateInput: CustomDateComponent,\n lineInfoRenderer: LineInfoRenderer,\n aggridSalesTooltip: AggridSalesTooltip,\n allFieldsRenderer: AllFieldsRenderer\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n overlayLoadingTemplate={\n '' + t('aggridPageLoadMess') + ''\n }\n rowHeight={86}\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n tooltipHideDelay={0}\n enableBrowserTooltips={false}\n defaultColDef={{\n sortable: true,\n wrapText: false,\n suppressHorizontalScroll: true,\n suppressMovable: true,\n }}\n >\n \n \n \n \n\n \n \n \n\n \n
    \n \n\n
    \n\n }\n \n \n \n \n {t(\"sendEmail\")}\n\n \n \n \n
    \n
    \n \n (\n \n\n \n )}\n control={control}\n name=\"customerContacts\"\n defaultValue=\"\"\n />\n

    \n setSendPaymentLink(e.target.checked)} name=\"sendPaymentLink\" checked={sendPaymentLink} className=\"form-check-input\" />{t(\"sendPaymentLink\")}\n
    \n \n
    \n
    {errors.customerContact?.message}
    \n
    \n
    \n
    \n \n \n \n \n \n\n\n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport ReactDOM from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport Select, { components } from 'react-select'\nimport { CustomConfirmAlert as confirmAlert } from '../custom-confirm-alert';\nimport 'font-awesome/css/font-awesome.min.css';\nimport Modal from 'react-bootstrap/Modal';\nimport SaleEntriesExtra from \"./sale-entries-extras.component\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from 'react-toastify';\nimport loadProductOptions from \"../../services/loadProducts\";\nimport { AsyncPaginate } from \"react-select-async-paginate\";\nimport Commons from '../../util/commons'\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n const [disabled, setDisabled] = useState(false);\n\n const { t } = useTranslation();\n\n const handleRemoveRow = (e) => {\n e.preventDefault();\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n props.agGridReact.gridOptions.rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(props.agGridReact.gridOptions.rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n }\n\n const handleShowExtra = (e) => {\n e.preventDefault();\n props.colDef.cellRendererParams.onShowExtra(props.rowIndex, props.node.data);\n }\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n if (props.rowIndex === countDisplayedRows) {\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n
    \n \n \n
    \n
    \n );\n});\n\nlet initRowData;\n\nconst intValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val !== undefined) {\n if(val!=\"-\"){\n var _val = parseFloat(val.toString().replace(\",\", \".\")).toFixed(2);\n setVal(_val);\n props.node.setDataValue(props.column.colId, _val);\n }\n else{\n setVal(val);\n props.node.setDataValue(props.column.colId, val);\n }\n }\n\n }\n };\n });\n if (props.colDef.field === \"quantity\") {\n return {val && val !== \"\" ? val :
    }
    \n\n }\n else {\n return {val && val !== \"\" ? val :
    }
    \n\n }\n});\n\nconst doubleValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val !== undefined) {\n var _val;\n if (props.colDef.cellRendererParams && props.colDef.cellRendererParams.precision) {\n _val = parseFloat(val.replace(\",\", \".\")).toFixed(props.colDef.cellRendererParams.precision);\n }\n else {\n _val = parseFloat(val.replace(\",\", \".\")).toFixed(2);\n }\n\n setVal(_val);\n props.node.setDataValue(props.column.colId, _val);\n\n }\n\n }\n };\n });\n if (props.colDef.field === \"unitPrice\") {\n return {val && val !== \"\" ? val :
    }
    \n\n }\n else if (props.colDef.field === \"discount\") {\n return {val && val !== \"\" ? val :
    }
    \n\n }\n else {\n return {val && val !== \"\" ? val :
    }
    \n\n }\n});\nconst MURenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val !== undefined) {\n\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    }
    \n\n );\n});\nconst MUEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n props.node.setDataValue(\"measurementUnit\", val);\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container !== undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\n\nconst VatRenderer = forwardRef((props, ref) => {\n const [vat, setVat] = useState(props.value);\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val !== undefined) {\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n setVat(val);\n }\n }\n };\n });\n return (\n {vat ? vat.label :
    }
    \n );\n});\n\nconst VatEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n const [editNew, setEditNew] = useState(false);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n props.node.setDataValue(\"vat\", val);\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container !== undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\n\nconst ProductRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n\n function setRowNodeDataValue(rowNode, name, value) {\n if (rowNode.data[name] != value) {\n rowNode.setDataValue(name, value);\n }\n }\n\n const [product, setProduct] = useState(props.value);\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n if (val !== undefined) {\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n setProduct(val);\n setRowNodeDataValue(rowNode, \"product\", val)\n if (val.model !== undefined) {\n\n setRowNodeDataValue(rowNode, \"unitPrice\", parseFloat(val.model.price).toFixed(2))\n\n if (Commons.isOnGroup(params.invoiceType.myDataInvoiceType, \"zeroPrice\")) {\n rowNode.setDataValue(\"unitPrice\", \"0.0\");\n }\n\n if (Commons.isOnGroup(params.invoiceType.myDataInvoiceType, \"noQuantity\")) {\n rowNode.setDataValue(\"quantity\", \"-\");\n }\n else {\n if (rowNode.data.quantity === undefined) {\n rowNode.setDataValue(\"quantity\", 1);\n }\n }\n\n if (rowNode.data.discount === undefined) {\n rowNode.setDataValue(\"discount\", '0.00');\n }\n\n if (rowNode.data.vat === undefined) {\n if (Commons.isOnGroup(params.invoiceType.myDataInvoiceType, \"noVat\")) {\n rowNode.setDataValue(\"vat\", { value: \"VAT_EMPTY\", label: \"-\" });\n }\n else if (Commons.isOnGroup(params.invoiceType.myDataInvoiceType, \"zeroVat\")) {\n rowNode.setDataValue(\"vat\", { value: \"VAT_0\", label: \"0\" });\n }\n else {\n rowNode.setDataValue(\"vat\", { value: val.model.vat.id, label: val.model.vat.value });\n }\n }\n if (rowNode.data.measurementUnit === undefined) {\n if (Commons.isOnGroup(params.invoiceType.myDataInvoiceType, \"noMeasurementUnit\")) {\n rowNode.setDataValue(\"measurementUnit\", { value: \"-\", label: \"-\" });\n }\n else {\n rowNode.setDataValue(\"measurementUnit\", { value: val.model.measurementUnit, label: t(val.model.measurementUnit) });\n }\n }\n var _taxes = rowNode.data.taxes;\n if (_taxes === undefined) {\n var pmt = [];\n if (val.model.productMoreTaxes) {\n val.model.productMoreTaxes.forEach(element => {\n var amount = 0;\n\n if (element.deduction) {\n element.myDataMoreTax=element.deduction;\n if (element.myDataMoreTax.isPercent) {\n var rate = element.myDataMoreTax.amountValue / 100;\n var q = rowNode.data.quantity == \"-\" ? 1 : rowNode.data.quantity;\n amount = parseFloat(rowNode.data.unitPrice * q * rate).toFixed(2);\n }\n }\n\n if (element.amount && !isNaN(parseInt(element.amount))) {\n amount = element.amount\n }\n else if (element.myDataMoreTax.amountValue.includes(\"%\")) {\n var rate = element.myDataMoreTax.amountValue.replace(\"%\", \"\") / 100;\n var q = rowNode.data.quantity == \"-\" ? 1 : rowNode.data.quantity;\n amount = parseFloat(rowNode.data.unitPrice * q * rate).toFixed(2);\n }\n \n pmt.push({\n amount: amount,\n myDataMoreTax: {\n value: element.myDataMoreTax.type==\"DEDUCTION\"?element.myDataMoreTax.id:element.myDataMoreTax.uid,\n uid: element.myDataMoreTax.uid,\n label:element.myDataMoreTax.type==\"DEDUCTION\"? element.myDataMoreTax.name:t(\"TAX_\" + element.myDataMoreTax.uid),\n type: element.myDataMoreTax.type,\n key: element.myDataMoreTax.key,\n amountValue: element.myDataMoreTax.amountValue,\n isSubtracted: element.myDataMoreTax.type==\"DEDUCTION\"?element.deduction.isSubtracted :null },\n id: element.id,\n myDataMoreTaxes: props.colDef.cellRendererParams.myDataMoreTaxes,\n myDataMoreTaxesTypes: props.colDef.cellRendererParams.myDataMoreTaxesTypes,\n type: { label: t(element.myDataMoreTax.type), value: element.myDataMoreTax.type },\n });\n })\n rowNode.setDataValue(\"taxes\", pmt);\n }\n\n }\n // if (rowNode.data.withHoldTax === undefined) {\n // if (val.model.withHoldTax) {\n // var name = \"WITHHOLD_TAX_\" + val.model.withHoldTax.key;\n // _taxes.withHoldTax = { value: val.model.withHoldTax.key, label: t(name), amountValue: val.model.withHoldTax.amountValue.replace(\"%\", \"\") }\n // }\n // }\n // if (rowNode.data.otherTax === undefined) {\n // if (val.model.otherTax) {\n // var name = \"TAX_\" + val.model.otherTax.key;\n // _taxes.otherTax = { value: val.model.otherTax.key, label: t(name), amountValue: val.model.otherTax.amountValue.replace(\"%\", \"\") }\n // }\n // }\n if (rowNode.data.vatCategoryException === undefined) {\n if (val.model.vatCategoryException) {\n var name = val.model.vatCategoryException;\n var _vatCategoryException = { value: val.model.vatCategoryException, label: t(name) }\n rowNode.setDataValue(\"vatCategoryException\", _vatCategoryException)\n }\n }\n var vat = val.model.vat.value === \"-\" ? 0 :val.model.vat.value;\n var unitPriceWithVat = parseFloat(1 + vat / 100).toFixed(2) * parseFloat(val.model.price).toFixed(2);\n setRowNodeDataValue(rowNode, \"unitPriceWithVat\", unitPriceWithVat.toString());\n\n }\n }\n }\n };\n });\n // var rowNode=props.agGridReact.api.getRowNode(props.rowIndex);\n // var oldval=rowNode.data.product!=undefined?rowNode.data.product.value:null;\n return (\n {product != null && product.label != null ? product.label :
    }
    \n );\n});\n\nconst ProductEditor = forwardRef((props, ref) => {\n\n\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n const [editNew, setEditNew] = useState(false);\n const { t, i18n } = useTranslation();\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n\n const onSelectChange = (val,action) => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n props.node.setDataValue(\"product\", val);\n if (!editNew) {\n props.node.setDataValue(\"product\", val);\n }\n })\n }\n const onMouseOver = e => {\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n const onInputChange = (val, action) => {\n if (val.length > 220) {\n toast.dismiss();\n if (!toast.isActive()) {\n toast.error(t(\"Error on length. Max length is 220 characters\"))\n }\n\n return\n }\n if (val != \"\") {\n setEditNew(true);\n }\n\n if(action.action == \"input-change\"){\n var _pro=props.node.data.product;\n var _vat=props.node.data.vat;\n var vat= { id: \"VAT_24\", value: 24};\n var quantity=props.node.data.quantity;\n if(_vat){\n vat={\n id:_vat.value,\n value:_vat.label\n };\n }\n else if(_pro.model && _pro.model.vat){\n vat=_pro.model.vat;\n }\n\n var price=0;\n if(props.node.data.unitPrice){\n price=props.node.data.unitPrice;\n }\n else if(_pro.model && _pro.model.price){\n price=_pro.model.price;\n }\n\n\n var model={\n value: val,\n label: val,\n measurementUnit:_pro.model? (_pro.model.measurementUnit?_pro.model.measurementUnit: \"PIECES\"): \"PIECES\",\n vat: vat,\n price: price,\n }\n\n\n\n setSelectedVal({\n value: val,\n label: val,\n model: model\n })\n if(props.node.data.quantity){\n setTimeout(function(){\n props.node.setDataValue(\"quantity\", quantity);\n },300)\n\n }\n }\n }\n\n\n const loadProductsPageOptions = async (q, prevOptions, { page }) => {\n const { options, hasMore } = await loadProductOptions(q, page);\n return {\n options,\n hasMore,\n\n additional: {\n page: page + 1\n }\n };\n };\n const defaultAdditional = {\n page: 1\n };\n\n const onKeyDown = (e) => {\n if (e.keyCode === 13) {\n e.stopPropagation();\n props.api.stopEditing();\n }\n }\n \n\n return (
    \n\n \n \n \n \n
    \n );\n});\n\nconst SaleEntries = forwardRef((props, ref) => {\n\n\n const [gridApi, setGridApi] = useState(null);\n const [gridColumnApi, setGridColumnApi] = useState(null);\n const [showExtra, setShowExtra] = useState(false);\n const [extraRowIndex, setExtraRowIndex] = useState(false);\n const [extraRowData, setExtraRowData] = useState([]);\n const { getValues, formState: { errors } } = useForm();\n const [extraTaxes, setExtraTaxes] = useState([]);\n const [vatCategoryException, setVatCategoryException] = useState([]);\n\n\n const [hasError, setHasError] = useState(false);\n const refSalesExtraEntries = useRef();\n const [rowTotals, setRowTotals] = useState(0.00)\n const [rowTotalsConstraintMess, setRowTotalsConstraintMess] = useState(\"\")\n const [rowTotalsMess, setRowTotalsMess] = useState(\"\")\n const [rowTotalsConstraintDisplay, setRowTotalsConstraintDisplay] = useState(\"none\")\n\n\n\n const { t } = useTranslation();\n\n\n const rowStyle = { background: 'white' };\n var TOTALS;\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n setGridColumnApi(params.columnApi);\n params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n\n });\n });\n\n var data = params.api.gridOptionsWrapper.gridOptions.rowData;\n if (data != undefined) {\n data.push({ product: { value: undefined, label: undefined }, description: undefined, quantity: undefined, price: undefined })\n params.api.setRowData(data)\n }\n else {\n data = [];\n data.push({ product: { value: undefined, label: undefined }, description: undefined, quantity: undefined, price: undefined })\n params.api.setRowData(data)\n }\n\n\n\n };\n\n useImperativeHandle(ref, () => ({\n\n\n getData() {\n \n var rowData = [];\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.pop();\n\n var retdata = {\n entries: rowData,\n }\n return retdata;\n\n },\n setData(data) {\n var newdata = [];\n data.forEach(e => {\n newdata.push(e)\n })\n newdata.push({ product: { value: undefined, label: undefined }, quantity: undefined, unitPrice: undefined })\n gridApi.setRowData(newdata);\n gridApi.gridOptionsWrapper.gridOptions.rowData = newdata;\n },\n getNotes() {\n return getValues().notes;\n },\n clearData() {\n var data = [{ product: { value: undefined, label: undefined }, description: undefined, quantity: undefined, price: undefined, measurementUnit: undefined }];\n gridApi.setRowData(data)\n gridApi.gridOptionsWrapper.gridOptions.rowData = data;\n // gridApi.forEachNode(node => rowData.push(node.data));\n props.reCalculateTotals();\n },\n hasError() {\n return hasError;\n }\n\n }));\n\n\n\n const addRow = () => {\n\n var data = { product: { value: undefined, label: undefined }, description: undefined, quantity: undefined, price: undefined, measurementUnit: undefined };\n gridApi.gridOptionsWrapper.gridOptions.rowData.push(data)\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n gridApi.setRowData(gridApi.gridOptionsWrapper.gridOptions.rowData)\n\n // gridApi.applyTransaction({add:[data]}) \n // var actions= document.getElementsByClassName(\"action\");\n // Array.from(actions).forEach((el) => {\n // el.disabled=false;\n // });\n\n gridApi.ensureIndexVisible(countDisplayedRows, 'top');\n }\n\n\n function setRowNodeDataValue(rowNode, name, value) {\n if (rowNode.data[name] != value) {\n rowNode.setDataValue(name, value);\n }\n }\n\n const onCellValueChanged = (params) => {\n\n setTimeout(function () {\n // params.node.rowIndex\n var nodeIndex = params.node.rowIndex;\n var rowNode = gridApi.getRowNode(nodeIndex);\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n var data = params.node.data;\n\n if (nodeIndex == countDisplayedRows && params.newValue != undefined) {\n var colid = params.column.colId;\n switch (colid) {\n case \"product\":\n case \"vat\":\n case \"measurementUnit\": {\n if (params.newValue.value != undefined && params.newValue.value != \"\") {\n addRow(nodeIndex);\n // gridApi.redrawRows();\n }\n break;\n }\n default: {\n addRow(nodeIndex);\n // gridApi.redrawRows();\n break;\n }\n }\n }\n if (params.column != undefined) {\n var colid = params.column.colId;\n switch (colid) {\n case \"vat\":\n case \"quantity\":\n case \"discount\":\n case \"unitPrice\": {\n var quantity = data.quantity;\n if (data.quantity == \"-\") {\n quantity = 1;\n }\n\n\n var vat = 0;\n if (data.vat != undefined) {\n vat = data.vat.label === \"-\" ? 0 : data.vat.label;\n }\n var discount = 0.0;\n if (data.discount != undefined) {\n discount = parseFloat(data.discount).toFixed(2);\n }\n var unitPriceWithVat = parseFloat(data.unitPrice) * (1 + vat / 100);\n\n\n var priceWithoutVat = data.unitPrice * quantity;\n priceWithoutVat -= discount * priceWithoutVat / 100\n\n var priceWithVat = unitPriceWithVat * quantity;\n\n unitPriceWithVat = parseFloat(unitPriceWithVat);\n\n\n var vatamount = priceWithVat - priceWithoutVat;\n vatamount = parseFloat(vatamount).toFixed(2)\n priceWithVat = priceWithVat.toFixed(2);\n priceWithoutVat = priceWithoutVat.toFixed(2);\n\n priceWithVat -= discount * priceWithVat / 100\n priceWithVat = parseFloat(priceWithVat).toFixed(2);\n\n\n setRowNodeDataValue(rowNode, \"priceWithoutVat\", priceWithoutVat)\n setRowNodeDataValue(rowNode, \"priceWithVat\", priceWithVat)\n \n if (colid == \"unitPrice\" || colid == \"vat\") {\n var upwv1 = parseFloat(unitPriceWithVat).toFixed(4)\n var upwv2 = parseFloat(data.unitPriceWithVat).toFixed(4)\n if (upwv1 != upwv2) {\n setRowNodeDataValue(rowNode, \"unitPriceWithVat\", unitPriceWithVat.toString())\n }\n }\n\n if (data.extraLineFields) {\n var new_extralineFields = getNewExtraLineFields(data)\n rowNode.setDataValue(\"extraLineFields\", new_extralineFields);\n var extraRowTotals = getExtraRowTotals(data);\n var q = data.quantity == \"-\" ? 1 : data.quantity;\n var lineprice = data.unitPrice * q\n\n\n var discount = 0.0;\n if (data.discount != undefined) {\n discount = parseFloat(data.discount).toFixed(2);\n }\n\n lineprice -= discount * lineprice / 100\n\n\n \n if (parseFloat(extraRowTotals).toFixed(2) != parseFloat(lineprice).toFixed(2)) {\n if (!toast.isActive()) {\n toast.warn(t(\"classificationSumError\"), {\n toastId: \"customId\"\n });\n setRowTotals(lineprice)\n toast.clearWaitingQueue();\n }\n }\n }\n\n break;\n }\n case \"unitPriceWithVat\": {\n var vat = 0;\n if (data.vat != undefined) {\n vat = data.vat.label === \"-\" ? 0 : data.vat.label;\n }\n var quantity = data.quantity;\n if (data.quantity == \"-\") {\n quantity = 1;\n }\n\n var unitPrice = parseFloat(data.unitPriceWithVat) / (1 + 0.01 * vat);\n unitPrice = parseFloat(unitPrice).toFixed(2);\n var upwv2 = parseFloat(data.unitPrice).toFixed(2)\n if (unitPrice != upwv2) {\n setRowNodeDataValue(rowNode, \"unitPrice\", unitPrice.toString())\n\n }\n var priceWithVat = parseFloat(data.unitPriceWithVat * quantity).toFixed(2);\n\n var discount = 0.0;\n if (data.discount != undefined) {\n discount = parseFloat(data.discount).toFixed(2);\n }\n priceWithVat -= discount * priceWithVat / 100\n priceWithVat = parseFloat(priceWithVat).toFixed(2);\n setRowNodeDataValue(rowNode, \"priceWithVat\", priceWithVat)\n break;\n }\n case \"product\": {\n if (data.product && data.product.model) {\n if (data.product.model.productClassifications) {\n var _classData = [];\n data.product.model.productClassifications.forEach(e => {\n _classData.push(e.productClassification);\n })\n setExtraRowData({ extraLineFields: _classData });\n }\n }\n\n break;\n }\n }\n\n\n }\n setTimeout(function () {\n props.reCalculateTotals();\n });\n })\n }\n\n const getNewExtraLineFields = (data) => {\n var nf = {};\n var new_extralineFields = []\n data.extraLineFields.forEach(e => {\n var nfjson = JSON.stringify(e);\n nf = JSON.parse(nfjson);\n if (nf.isPercent) {\n if (data.unitPrice && data.quantity) {\n var q = data.quantity == \"-\" ? 1 : data.quantity;\n nf.amount = parseFloat(data.unitPrice * q * nf.percentAmount / 100).toFixed(2)\n nf.amount -= nf.amount * data.discount / 100;\n nf.amount = parseFloat(nf.amount).toFixed(2);\n }\n }\n else {\n if (e.percentAmount) {\n nf.amount = parseFloat(nf.percentAmount).toFixed(2)\n nf.amount -= nf.amount * data.discount / 100;\n nf.amount = parseFloat(nf.amount).toFixed(2);\n }\n\n }\n\n new_extralineFields.push(nf);\n })\n return new_extralineFields;\n }\n\n const getExtraRowTotals = (data) => {\n var totalRowAmount = 0;\n data.extraLineFields.forEach(e => {\n var rowamount = 0;\n if (e.isPercent) {\n if (data.unitPrice && data.quantity) {\n var q = data.quantity == \"-\" ? 1 : data.quantity;\n\n var lineprice = parseFloat(data.unitPrice * q * e.percentAmount / 100).toFixed(2);\n lineprice -= data.discount * lineprice / 100\n\n rowamount = parseFloat(lineprice).toFixed(2)\n }\n }\n else {\n if (e.percentAmount) {\n rowamount = parseFloat(e.percentAmount).toFixed(2)\n }\n else {\n rowamount = parseFloat(e.amount).toFixed(2)\n }\n }\n totalRowAmount += parseFloat(rowamount);\n })\n return totalRowAmount;\n }\n const hangleShowExtra = (rowIndex, rowdata) => {\n setExtraRowIndex(rowIndex)\n\n\n var node = gridApi.getRowNode(rowIndex);\n var _quantity = node.data.quantity == \"-\" ? 1 : node.data.quantity;\n var amount = node.data.unitPrice * _quantity;\n\n\n var discount = 0.0;\n if (node.data.discount != undefined) {\n discount = parseFloat(node.data.discount).toFixed(2);\n }\n\n amount -= discount * amount / 100\n var _amount = parseFloat(amount).toFixed(2);\n var _totalsum = 0;\n if (rowdata.extraLineFields == undefined || rowdata.extraLineFields.length == 0) {\n\n if (rowdata.product.model.productClassifications && rowdata.product.model.productClassifications.length > 0) {\n var elf = [];\n rowdata.product.model.productClassifications.forEach(e => {\n if (e.invoiceType.id == props.selectedInvoiceType.value) {\n var types = e.classificationValues;\n var opts = [];\n types.forEach(element => {\n opts.push({\n value: element,\n label: t(element) + \" (\" + element + \")\",\n });\n });\n var amount = node.data.unitPrice * _quantity;\n\n if (e.isPercent) {\n amount = parseFloat(amount * e.amount / 100).toFixed(2)\n }\n else {\n amount = e.amount;\n }\n amount -= amount * node.data.discount / 100;\n amount = parseFloat(amount).toFixed(2);\n _totalsum += parseFloat(amount);\n var prefix = e.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \";\n var cl = {\n classificationCategory: { value: e.classificationCategory, label: prefix + t(e.classificationCategory) },\n classificationValue: { value: e.classificationValue, label: t(e.classificationValue) + \" (\" + e.classificationValue + \")\" },\n classificationValues: opts,\n amount: amount,\n isPercent: e.isPercent,\n percentAmount: e.amount\n }\n\n elf.push(cl);\n }\n\n })\n\n rowdata.extraLineFields = elf;\n\n if (elf.length == 0) {\n rowdata = addDefaultClassifications(props, rowdata, rowIndex)\n }\n\n }\n else if (props.incomeClassCategories[0]) {\n rowdata = addDefaultClassifications(props, rowdata, rowIndex)\n }\n }\n else {\n if (rowdata.product.model.productClassifications && rowdata.product.model.productClassifications.length > 0) {\n rowdata.product.model.productClassifications.forEach(e => {\n var amount = node.data.unitPrice * _quantity;\n if (e.isPercent) {\n amount = parseFloat(amount * e.amount / 100).toFixed(2)\n }\n else {\n amount = e.amount;\n }\n _totalsum += parseFloat(amount);\n });\n }\n }\n\n\n setRowTotals(_amount.toString());\n\n if (_totalsum != _amount) {\n setRowTotalsConstraintDisplay(\"unset\");\n setRowTotalsMess({t(\"linetotals\") + \": \" + _amount.toString()});\n }\n else {\n setRowTotalsConstraintDisplay(\"none\");\n setRowTotalsMess({t(\"linetotals\") + \": \" + _amount.toString()});\n }\n\n if (rowdata) {\n setExtraRowData(rowdata.extraLineFields)\n let groupTaxes = props.moreTaxesOptions.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n if (rowdata.taxes) {\n rowdata.taxes.forEach(e => {\n if (e.myDataMoreTaxes == undefined || e.myDataMoreTaxes == null || Array.isArray(e.myDataMoreTaxes) && e.myDataMoreTaxes.length == 0) {\n e.myDataMoreTaxes = groupTaxes[e.myDataMoreTax.type]\n }\n })\n }\n\n\n setExtraTaxes(rowdata.taxes)\n setVatCategoryException(rowdata.vatCategoryException)\n }\n\n\n\n setShowExtra(true);\n var obj = {\n extraLineFields: rowdata ? rowdata.extraLineFields : null,\n taxes: rowdata ? rowdata.taxes : null,\n vatCategoryException: rowdata ? rowdata.vatCategoryException : null\n }\n\n initRowData = JSON.stringify(obj);\n\n }\n function addDefaultClassifications(props, rowdata, rowIndex) {\n\n if (props.invoiceClassCategories && props.invoiceClassCategories.length > 0) {\n\n var _extraLineFields = [];\n props.invoiceClassCategories.forEach(category => {\n var types = category.classificationValues;\n var opts = [];\n types.forEach(element => {\n opts.push({\n value: element,\n label: t(element) + \" (\" + element + \")\",\n });\n });\n\n var label1 = \"\";\n var label2 = \"\"\n\n\n var node = gridApi.getRowNode(rowIndex);\n var q = node.data.quantity == \"-\" ? 1 : node.data.quantity;\n var _amount = 0;\n if (category.isPercent) {\n _amount = node.data.unitPrice * q * category.amount / 100\n }\n else {\n _amount = category.amount;\n }\n\n _amount -= _amount * node.data.discount / 100;\n _amount = parseFloat(_amount).toFixed(2)\n\n if (props.selfPricing == category.selfPricing) {\n if (category.selfPricing) {\n label1 = category.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \" + t(category.classificationCategory);\n label2 = t(category.classificationValue) + \" (\" + category.classificationValue + \")\";\n _extraLineFields.push({\n classificationCategory: { value: category.classificationCategory, label: label1 },\n classificationValue: { value: category.classificationValue, label: label2 },\n amount: _amount,\n isPercent: category.isPercent,\n percentAmount: category.amount,\n classificationValues: opts\n })\n }\n else {\n label1 = category.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \" + t(category.classificationCategory);\n label2 = t(category.classificationValue) + \" (\" + category.classificationValue + \")\";\n _extraLineFields.push({\n classificationCategory: { value: category.classificationCategory, label: label1 },\n classificationValue: { value: category.classificationValue, label: label2 },\n amount: _amount,\n isPercent: category.isPercent,\n percentAmount: category.amount,\n classificationValues: opts\n })\n }\n }\n\n\n\n })\n\n rowdata.extraLineFields = _extraLineFields;\n return rowdata;\n }\n else {\n if (props.incomeClassCategories[0]) {\n var types = props.incomeClassCategories[0].classificationValues;\n var opts = [];\n types.forEach(element => {\n opts.push({\n value: element,\n label: t(element) + \" (\" + element + \")\",\n });\n });\n\n\n var node = gridApi.getRowNode(rowIndex);\n\n var label1 = props.incomeClassCategories[0].value.replace(\"CATEGORY_\", \"\") + \") \" + t(props.incomeClassCategories[0].value);\n var label2 = t(props.incomeClassCategories[0].classificationValues[0]) + \" (\" + props.incomeClassCategories[0].classificationValues[0] + \")\";\n var q = node.data.quantity == \"-\" ? 1 : node.data.quantity;\n var _amount = q * node.data.unitPrice;\n _amount -= _amount * node.data.discount / 100;\n _amount = parseFloat(_amount).toFixed(2)\n rowdata.extraLineFields = [{\n classificationCategory: { value: props.incomeClassCategories[0].value, label: label1 },\n classificationValue: { value: props.incomeClassCategories[0].classificationValues[0], label: label2 },\n amount: _amount,\n classificationValues: opts,\n isPercent: true,\n percentAmount: 100,\n }];\n return rowdata;\n }\n }\n\n\n }\n const handleCloseExtra = (e, update) => {\n setShowExtra(false);\n var obj = JSON.parse(initRowData)\n if (update) {\n var _items = refSalesExtraEntries.current.getData()\n console.log(_items)\n var rowNode = gridApi.getRowNode(extraRowIndex);\n rowNode.setDataValue(\"extraLineFields\", _items.saleEntryClassifications);\n var nodes = [];\n gridApi.forEachNode(node => {\n nodes.push(node.data);\n });\n rowNode.setDataValue(\"taxes\", _items.taxes);\n rowNode.setDataValue(\"vatCategoryException\", _items.vatCategoryException);\n props.reCalculateTotals();\n }\n else {\n var rowNode = gridApi.getRowNode(extraRowIndex);\n rowNode.setDataValue(\"extraLineFields\", obj.extraLineFields);\n rowNode.setDataValue(\"taxes\", obj.taxes);\n rowNode.setDataValue(\"vatCategoryException\", obj.vatCategoryException);\n\n }\n\n }\n const getRowStyle = params => {\n\n\n if (params.node.rowIndex == params.api.rowModel.rowsToDisplay.length - 1) {\n return { background: '#d2f6fac7' };\n }\n else {\n if (!isValid(params.node.data)) {\n setHasError(true)\n return { background: '#ffb09c' };\n }\n else {\n setHasError(false)\n return { background: 'white' };\n }\n\n }\n };\n const onRemoveRow = () => {\n var rowData = [];\n if (gridApi != undefined) {\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.pop();\n var retdata = {\n entries: rowData,\n totals: TOTALS\n }\n\n props.reCalculateTotals();\n // props.onUpdateData(retdata)\n }\n }\n const suppressEnter = (params) => {\n var KEY_ENTER = 'Enter';\n var event = params.event;\n\n var key = event.key;\n var suppress = key === KEY_ENTER;\n return suppress;\n };\n\n const onCellEditingStarted = (e) => {\n if (e.colDef.field == \"vat\") {\n if (Commons.isOnGroup(props.selectedInvoiceType.myDataInvoiceType, \"noVat\") || Commons.isOnGroup(props.selectedInvoiceType.myDataInvoiceType, \"zeroVat\")) {\n e.colDef.editable = false;\n gridApi.stopEditing();\n }\n\n }\n else if (e.colDef.field == \"quantity\") {\n if (Commons.isOnGroup(props.selectedInvoiceType.myDataInvoiceType, \"noQuantity\")) {\n e.colDef.editable = false;\n gridApi.stopEditing();\n }\n }\n else if (e.colDef.field == \"measurementUnit\") {\n if (Commons.isOnGroup(props.selectedInvoiceType.myDataInvoiceType, \"noMeasurementUnit\")) {\n e.colDef.editable = false;\n gridApi.stopEditing();\n }\n }\n else if (e.colDef.field == \"unitPrice\" || e.colDef.field == \"unitPriceWithVat\" || e.colDef.field == \"discount\") {\n if (Commons.isOnGroup(props.selectedInvoiceType.myDataInvoiceType, \"zeroPrice\")) {\n e.colDef.editable = false;\n gridApi.stopEditing();\n }\n }\n }\n return (\n
    \n\n
    \n
    \n \n\n {/* suppressSizeToFit={true} */}\n \n \n \n \n \n \" + t(\"MUN\") + \"\" }} flex={0.5} minWidth={60} headerClass=\"required\" headerTooltip={t(\"muInfo\")} headerName={t(\"MUN\")} options={props.measurementUnits} editable={true} cellEditor=\"muEditor\" cellRenderer=\"muRenderer\" field=\"measurementUnit\">\n \n \" + t(\"Vat\") + \"\" }} flex={0.5} minWidth={60} headerClass=\"required\" headerTooltip={t(\"vatInfo\")} headerName={t(\"Vat\")} options={props.vats} cellRendererParams={{ invoiceType: props.selectedInvoiceType }} cellEditor=\"vatEditor\" cellRenderer=\"vatRenderer\" editable={true} field=\"vat\">\n \n \n \n \n \" + t(\"Actions\") + \"\" }} flex={0.5} minWidth={80} headerTooltip={t(\"actionInfo\")} headerName={t(\"Actions\")} cellRenderer=\"actionsRenderer\" cellRendererParams={{ onRemoveRow: onRemoveRow, onShowExtra: hangleShowExtra }} field=\"name\">\n\n \n
    \n
    \n \n \n {t(\"extraLineInfo\")}\n\n \n\n \n \n {rowTotalsMess}\n {props.isInvoice00_1 ? <> :\n
    \n
    \n {t(\"classificationSumError\")}\n
    \n
    \n }\n\n \n \n
    \n \n \n \n \n \n\n\n
    \n );\n});\n\nconst isValid = (nodeData) => {\n return nodeData.unitPrice != undefined\n && nodeData.quantity != undefined\n && nodeData.product.value != undefined;\n}\n\nexport default SaleEntries;","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { toast } from 'react-toastify';\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport ReactDOM from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport Select from 'react-select'\nimport { useForm } from \"react-hook-form\";\nimport { CustomConfirmAlert as confirmAlert } from '../custom-confirm-alert';\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n const [disabled, setDisabled] = useState(false);\n\n const { t, i18n } = useTranslation();\n\n const hangleDeleteRow = (e) => {\n e.preventDefault();\n\n let rowData = [];\n props.agGridReact.api.forEachNode(node => rowData.push(node.data));\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n\n\n\n }\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n if (props.rowIndex == countDisplayedRows) {\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n \n \n );\n});\nconst doubleValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n const { t, i18n } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n var _val = parseFloat(val.toString().replace(\",\", \".\")).toFixed(2);\n setVal(_val);\n props.node.setDataValue(props.column.colId, _val);\n }\n\n }\n };\n });\n if (props.colDef.field == \"price\") {\n return {val != null && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n else {\n return {val && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n});\nconst MyDataMoreTaxesTypeRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst MyDataMoreTaxesTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t, i18n } = useTranslation();\n\n const onSelectChange = val => {\n setSelectedVal(val);\n var old_val = props.node.data.type ? props.node.data.type.value : undefined;\n\n setTimeout(function () {\n props.api.stopEditing();\n console.log(props.colDef.cellRendererParams)\n var type = val.value\n var allTaxes = props.colDef.cellRendererParams.moreTaxesOptions;\n\n let groupTaxes = allTaxes.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n\n var typeTaxes = groupTaxes[type];\n var new_type_options = []\n if (typeTaxes) {\n typeTaxes.forEach(element => {\n new_type_options.push({\n value: element.type == \"DEDUCTION\" ? element.value : \"TAX_\" + element.value,\n label: element.type == \"DEDUCTION\" ? element.label : t(\"TAX_\" + element.value),\n amountValue: element.amountValue,\n uid: element.type == \"DEDUCTION\" ? element.id : element.uid,\n type: element.type,\n id: element.id,\n isSubtracted: element.type == \"DEDUCTION\" ?element.isSubtracted:null,\n });\n });\n }\n\n setTimeout(function () {\n props.node.setDataValue(\"myDataMoreTaxes\", new_type_options);\n // props.node.setDataValue(\"type\", val);\n if (old_val != val.value) {\n\n props.node.setDataValue(\"myDataMoreTax\", { value: undefined, label: undefined });\n }\n })\n\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst MoreTaxesRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst MoreTaxesEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n\n\n\n useEffect(() => {\n if (!editing) {\n\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t } = useTranslation();\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n setTimeout(function () {\n props.node.setDataValue(\"myDataMoreTax\", val);\n var rowTotals = props.colDef.cellRendererParams.rowTotals;\n var _amountVal = 0;\n if (val.amountValue.includes(\"%\")) {\n _amountVal = val.amountValue.replace(\"%\", \"\");\n var amount = parseFloat(_amountVal * rowTotals / 100).toFixed(2)\n props.node.setDataValue(\"amount\", amount);\n }\n else{\n if(val.amountValue==\"\"){\n val.amountValue=0.0;\n }\n props.node.setDataValue(\"amount\", val.amountValue);\n }\n }, 100)\n })\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst AmountEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n\n useEffect(() => {\n if (!editing) {\n\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n container.select();\n }\n });\n };\n\n const onChange = (e) => {\n console.log(e.target.value)\n setSelectedVal(e.target.value)\n props.node.setDataValue(\"amount\", e.target.value);\n\n }\n\n return (
    \n\n \n \n \n \n
    \n );\n});\n\nconst MoreTaxesGrid = forwardRef((props, ref) => {\n const [gridApi, setGridApi] = useState(null);\n const [gridColumnApi, setGridColumnApi] = useState(null);\n const { t, i18n } = useTranslation();\n const { formState: { errors }, trigger } = useForm();\n const [hasError, setHasError] = useState(false);\n\n const rowStyle = { background: 'white' };\n\n\n useImperativeHandle(ref, () => ({\n\n transformData(data, moreTaxesTypesOptions, myDataMoreTaxesOptions) {\n debugger\n var newData = [];\n data.forEach(el => {\n var cats = [];\n var moreTaxesOptions = [];\n myDataMoreTaxesOptions.forEach(element => {\n\n cats.push({\n value: element.value,\n label: element.type == \"DEDUCTION\" ? element.label : t(\"TAX_\" + element.value),\n type: element.type,\n isSubtracted: element.type == \"DEDUCTION\" ?element.isSubtracted:null,\n key: element.key,\n uid: element.uid,\n amountValue: element.amountValue\n })\n });\n moreTaxesTypesOptions.forEach(element => {\n\n moreTaxesOptions.push({\n value: element.value,\n label: t(element.label)\n })\n });\n let groupTaxes = cats.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n\n if (el.deduction) {\n el.myDataMoreTax = {\n type: \"DEDUCTION\",\n id: el.deduction.id,\n uid: el.deduction.uid,\n isSubtracted: el.type == \"DEDUCTION\" ?el.deduction.isSubtracted:null,\n }\n }\n\n var typeTaxes = groupTaxes[el.myDataMoreTax.type];\n var new_type_options = []\n typeTaxes.forEach(element => {\n new_type_options.push({\n value: element.type == \"DEDUCTION\" ? element.value : \"TAX_\" + element.value,\n label: element.type == \"DEDUCTION\" ? element.label : t(\"TAX_\" + element.value),\n amountValue: element.amountValue,\n uid: element.uid,\n isSubtracted: element.type == \"DEDUCTION\" ?element.isSubtracted:null,\n id: element.type == \"DEDUCTION\" ? element.value : null,\n type: element.type\n });\n });\n\n var fel = {\n id: el.id,\n type: { value: el.myDataMoreTax.type, label: t(el.myDataMoreTax.type) },\n myDataMoreTax: {\n id: el.myDataMoreTax.type == \"DEDUCTION\" ? el.myDataMoreTax.value : null,\n uid: el.myDataMoreTax.uid,\n amountValue: el.myDataMoreTax.amountValue,\n value: el.myDataMoreTax.type == \"DEDUCTION\" ? el.myDataMoreTax.value : \"TAX_\" + el.myDataMoreTax.uid,\n label: el.myDataMoreTax.type == \"DEDUCTION\" ? el.myDataMoreTax.label : t(\"TAX_\" + el.myDataMoreTax.uid),\n type: el.myDataMoreTax.type,\n isSubtracted: el.myDataMoreTax.type == \"DEDUCTION\" ?el.myDataMoreTax.isSubtracted:null,\n },\n myDataMoreTaxesTypes: moreTaxesOptions,\n myDataMoreTaxes: new_type_options,\n amount: el.amount,\n }\n debugger\n newData.push(fel)\n });\n return newData;\n },\n getData() {\n var items = [];\n var _items = [];\n gridApi.forEachNode(node => {\n items.push(node.data);\n });\n items.pop();\n items.forEach(element => {\n element.myDataMoreTax.type = element.type.value\n element.myDataMoreTax.uid = element.myDataMoreTax.uid\n var obj = {\n \"id\": element.id,\n \"myDataMoreTax\": element.myDataMoreTax,\n \"amount\": element.amount,\n\n }\n _items.push(obj);\n\n });\n return _items;\n },\n setData(data) {\n if (data != undefined) {\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, id: undefined, amount: undefined })\n gridApi.setRowData(data)\n }\n else {\n data = [];\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, id: undefined, amount: undefined })\n gridApi.setRowData(data)\n }\n }\n\n }));\n\n\n const isValid = (nodeData) => {\n\n\n // var nodeIndex = nodeData.rowIndex;\n // var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n // if (nodeIndex != countDisplayedRows) {\n\n // }\n return nodeData.data.type.value != \"\"\n && nodeData.data.type.value != undefined\n && nodeData.data.myDataMoreTax.label != undefined\n && nodeData.data.myDataMoreTax.label != \"\" \n }\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n setGridColumnApi(params.columnApi);\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n\n });\n });\n var data = props.moreTaxes;\n if (data != undefined) {\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, type: { value: undefined, label: undefined } })\n params.api.setRowData(data)\n }\n else {\n data = [];\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, type: { value: undefined, label: undefined } })\n params.api.setRowData(data)\n }\n };\n\n const addRow = () => {\n\n var data = { myDataMoreTax: { value: undefined, label: undefined }, type: { value: undefined, label: undefined } }\n\n let rowData = [];\n gridApi.forEachNode(node => rowData.push(node.data));\n\n rowData.push(data)\n gridApi.setRowData(rowData)\n\n\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n gridApi.ensureIndexVisible(countDisplayedRows, 'top');\n }\n const toastId = useRef(null);\n const onCellValueChanged = (params) => {\n // params.node.rowIndex\n var nodeIndex = params.node.rowIndex;\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n console.log(params.newValue)\n if (nodeIndex == countDisplayedRows && params.newValue != undefined) {\n addRow(nodeIndex);\n }\n\n var items = [];\n gridApi.forEachNode(node => {\n items.push(node);\n });\n items.pop();\n var cond = false;\n items.forEach(node => {\n if (params.node.data.type && nodeIndex != node.rowIndex) {\n cond = params.node.data.type.value == node.data.type.value;\n if (cond) {\n var row_dom = document.querySelector(`.salesTaxesGrid .ag-center-cols-container > div[row-index=\"${params.node.rowIndex}\"][role=\"row\"]`)\n row_dom.style.backgroundColor = '#ffb09c'\n \n setTimeout(function () {\n if (!toast.isActive(toastId.current)) {\n toastId.current = toast.error(t(\"duplicateMyDataMoreTaxType\"), {\n toastId: \"toastId\"\n });\n }\n setHasError(true)\n }, 100)\n return;\n\n }\n return;\n }\n });\n\n }\n\n const getRowStyle = params => {\n\n if (params.node.rowIndex == params.api.rowModel.rowsToDisplay.length - 1) {\n return {\n background: '#d2f6fac7'\n };\n\n }\n else {\n if (!isValid(params.node)) {\n setHasError(true)\n return { background: '#ffb09c' };\n }\n else {\n setHasError(false)\n if (params.node.data.global) {\n return { background: '#eee' };\n }\n else {\n return { background: 'white' };\n }\n }\n }\n };\n\n const onRemoveRow = () => {\n var rowData = [];\n if (gridApi != undefined) {\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.pop();\n }\n }\n\n return (\n
    \n\n
    \n
    \n \n\n {/* suppressSizeToFit={true} */}\n \n \n \n \n \n\n \n\n\n\n\n
    \n
    \n

    \n\n
    \n );\n});\nexport default MoreTaxesGrid ","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport ReactDOM from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport Select from 'react-select'\nimport { useForm, Controller } from \"react-hook-form\";\nimport MoreTaxesGrid from '../editable-aggrids/line-more-taxes-grid';\nimport { CustomConfirmAlert as confirmAlert } from '../custom-confirm-alert';\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n const [disabled, setDisabled] = useState(false);\n\n const { t } = useTranslation();\n\n const hangleDeleteRow = (e) => {\n e.preventDefault();\n let rowData = [];\n props.agGridReact.api.forEachNode(node => rowData.push(node.data));\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n }\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n if (props.rowIndex == countDisplayedRows) {\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n \n \n );\n});\nconst doubleValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n const { t, i18n } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setVal(val);\n }\n\n }\n };\n });\n if (props.colDef.field == \"price\") {\n return {val != null && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n else if (props.colDef.field == \"amount\") {\n return {val != null && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n else {\n return {val && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n});\nconst IncomingClassCategoryTypeRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst IncomingClassCategoryTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n\n\n if (!editing) {\n\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t, i18n } = useTranslation();\n\n const onSelectChange = val => {\n setSelectedVal(val);\n var old_val = props.node.data.classificationCategory.value;\n\n setTimeout(function () {\n props.api.stopEditing();\n props.node.setDataValue(\"classificationCategory\", val);\n\n var opts = [];\n\n\n val.classificationValues.forEach(element => {\n var lbl= t(element) + \" (\" + element + \")\";\n // if(element==\"-\"){\n // lbl= t(element) ;\n // }\n opts.push({\n value: element,\n label: lbl,\n });\n });\n props.node.setDataValue(\"classificationValues\", opts);\n\n if (old_val != val.value) {\n\n props.node.setDataValue(\"classificationValue\", { value: undefined, label: undefined });\n }\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst IncomingClassValueTypeRenderer = forwardRef((props, ref) => {\n const [val, setVal] = useState(props.value);\n const { t, i18n } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n setVal(val);\n }\n\n }\n };\n });\n return (\n {val != null ? val.label :
    ...
    }
    \n );\n});\nconst IncomingClassValueTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n props.node.setDataValue(\"classificationValue\", val);\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst SaleEntriesExtra = forwardRef((props, ref) => {\n const [gridApi, setGridApi] = useState(null);\n const [gridColumnApi, setGridColumnApi] = useState(null);\n const { t, i18n } = useTranslation();\n const { register, getValues, control, handleSubmit, setValue, reset, formState: { errors }, trigger, clearErrors } = useForm();\n const [hasError, setHasError] = useState(false);\n const [initRowTotals, setInitRowTotals] = useState(0);\n const [classTotals, setClassTotals] = useState(0);\n const prodMoreTaxesGridRef = useRef();\n const rowStyle = { background: 'white' };\n\n\n useImperativeHandle(ref, () => ({\n\n getRowsTotals() {\n return classTotals;\n },\n getData() {\n var items = [];\n gridApi.forEachNode(node => items.push(node.data));\n items.pop();\n var moretaxesData=prodMoreTaxesGridRef.current.getData();\n var taxesItems = prodMoreTaxesGridRef.current.transformData(moretaxesData,props.moreTaxesTypesOptions, props.moreTaxesOptions)\n var _items = {\n saleEntryClassifications: items,\n taxes: taxesItems,\n vatCategoryException: getValues().vatCategoryException\n }\n return _items;\n },\n setData(data) {\n var emptyRow = {\n classificationValue: { value: undefined, label: undefined },\n classificationCategory: { value: undefined, label: undefined },\n amount: undefined,\n isPercent: false\n }\n if (data != undefined) {\n data.push(emptyRow)\n gridApi.setRowData(data)\n }\n else {\n data = [];\n data.push(emptyRow)\n gridApi.setRowData(data)\n }\n }\n\n }));\n const isValid = (nodeData) => {\n return nodeData.classificationCategory.value != \"\"\n && nodeData.classificationCategory.value != undefined\n && nodeData.classificationValue.value != undefined\n && nodeData.classificationValue.value != \"\"\n && nodeData.amount != undefined\n && nodeData.amount != \"\"\n }\n\n const onGridReady = params => {\n setGridApi(params.api);\n setGridColumnApi(params.columnApi);\n setInitRowTotals(props.rowTotals)\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n\n });\n });\n var data = props.extraRowData;\n\n var taxes = props.extraTaxes;\n var _taxes = [];\n debugger\n if (taxes) {\n taxes.forEach((e) => {\n var isNanAmount = isNaN(parseInt(e.amount));\n var rate = parseFloat(e.myDataMoreTax.amountValue.replace(\"%\", \"\")) / 100;\n rate = rate.toFixed(2);\n e.amount = isNanAmount ? rate : e.amount;\n _taxes.push(e);\n })\n }\n\n if (_taxes && Object.keys(_taxes).length !== 0) {\n\n setTimeout(function () {\n prodMoreTaxesGridRef.current.setData(_taxes);\n })\n }\n\n\n if (data != undefined && data.length>0) {\n data.push({ classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined }, amount: undefined })\n params.api.setRowData(data)\n }\n else {\n data = [];\n data.push({ classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined }, amount: undefined })\n params.api.setRowData(data)\n }\n if (props.vatCategoryException != undefined) {\n setValue(\"vatCategoryException\", props.vatCategoryException);\n }\n var items = [];\n if (params.api) {\n params.api.forEachNode(node => items.push(node.data));\n items.pop();\n var total = 0;\n items.forEach(i => {\n total += parseFloat(i.amount);\n })\n if (props.rowTotals != total && !props.isInvoice00_1) {\n props.setRowTotalsConstraintDisplay(\"unset\")\n document.getElementById(\"onExtras\").setAttribute(\"disabled\", \"disabled\");\n }\n else {\n props.setRowTotalsConstraintDisplay(\"none\")\n document.getElementById(\"onExtras\").removeAttribute(\"disabled\");\n }\n }\n //FOR THE NEXT MYDATA UPDATE\n // if (props.myDataInvoiceType == \"invoice8_2\") {\n // document.getElementsByClassName(\"classification_table\")[0].style.display = \"none\";\n // }\n // else {\n // if (props.myDataInvoiceType == \"invoice8_2\") {\n // document.getElementsByClassName(\"classification_table\")[0].style.display = \"unset\";\n // }\n // }\n };\n\n\n const addRow = () => {\n var data = { classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined }, amount: undefined };\n let rowData = [];\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.push(data)\n gridApi.setRowData(rowData)\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n gridApi.ensureIndexVisible(countDisplayedRows, 'top');\n }\n\n const onCellValueChanged = (params) => {\n var nodeIndex = params.node.rowIndex;\n var rowNode = gridApi.getRowNode(nodeIndex);\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n if (nodeIndex == countDisplayedRows && params.newValue != undefined) {\n addRow(nodeIndex);\n }\n\n var items = [];\n gridApi.forEachNode(node => items.push(node.data));\n items.pop();\n var total = 0;\n items.forEach(i => {\n if (i.classificationValue.value) {\n if (!i.classificationValue.value.includes(\"VAT_\")) {\n total += parseFloat(i.amount);\n }\n }\n\n })\n setClassTotals(total);\n\n switch (params.column.colId) {\n case \"amount\": {\n if (initRowTotals != total) {\n props.setRowTotalsConstraintDisplay(\"unset\")\n document.getElementById(\"onExtras\").setAttribute(\"disabled\", \"disabled\");\n }\n else {\n props.setRowTotalsConstraintDisplay(\"none\")\n document.getElementById(\"onExtras\").removeAttribute(\"disabled\");\n }\n break;\n }\n }\n }\n\n const getRowStyle = params => {\n\n\n if (params.node.rowIndex == params.api.rowModel.rowsToDisplay.length - 1) {\n return {\n background: '#d2f6fac7'\n\n };\n\n }\n else {\n if (!isValid(params.node.data)) {\n setHasError(true)\n return { background: '#ffb09c' };\n }\n else {\n setHasError(false)\n if (params.node.data.global) {\n return { background: '#eee' };\n }\n else {\n return { background: 'white' };\n }\n }\n }\n };\n\n const onRemoveRow = () => {\n var rowData = [];\n if (gridApi != undefined) {\n var items = [];\n gridApi.forEachNode(node => items.push(node.data));\n items.pop();\n var total = 0;\n items.forEach(i => {\n total += parseFloat(i.amount);\n })\n if (props.rowTotals != total) {\n props.setRowTotalsConstraintDisplay(\"unset\")\n document.getElementById(\"onExtras\").setAttribute(\"disabled\", \"disabled\");\n }\n else {\n props.setRowTotalsConstraintDisplay(\"none\")\n document.getElementById(\"onExtras\").removeAttribute(\"disabled\");\n }\n }\n }\n\n return (\n
    \n\n
    \n
    \n \n\n {/* suppressSizeToFit={true} */}\n \n \n \n \n \n\n \n\n\n\n\n
    \n
    \n
    {t(\"moreTaxes\")}
    \n \n\n \n
    \n
    \n
    \n
    \n \n (\n \n )}\n control={control}\n name=\"vatCategoryException\"\n defaultValue=\"\"\n />\n\n\n
    {errors.withHoldTax?.message}
    \n
    \n\n
    \n
    \n\n
    \n\n
    \n

    \n\n
    \n );\n});\nexport default SaleEntriesExtra ","\nimport ApiClient from \"./api-client\"\n\nconst sleep = ms =>\n new Promise(resolve => {\n setTimeout(() => {\n resolve();\n }, ms);\n });\n\nconst optionsPerPage = 10;\nvar _data = [];\nvar countData=0;\nconst loadProductOptions = async (search, page, props) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id\n\n var sortBy = null;\n var order = \"asc\";\n var simpleColumnFilters ;\n if(search){\n simpleColumnFilters = [{\n column: \"name\",\n filter: search,\n filterType:\"text\"\n }]\n }\n var object = {\n \"quickSearch\": \"\",\n \"pageNo\": page,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\":optionsPerPage,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n \n let filteredOptions;\n let hasMore;\n let slicedOptions;\n const result = await ApiClient.getCompanyProductsPage(companyId, object);\n\n var data = result.data.objectList;\n\n\n if(page==1){\n countData=data.length;\n }\n else{\n countData+=data.length;\n }\n\n\n _data = [];\n data.forEach(element => {\n\n var _d = {\n code: element.series + element.invoiceNumber,\n label: element.name,\n value: element.id,\n model: element\n }\n _data.push(_d);\n });\n\n\n // if (!search) {\n // filteredOptions = _data;\n // } else {\n // const searchLower = search.toLowerCase();\n\n // filteredOptions = _data.filter(({ label }) =>\n // label.toLowerCase().includes(searchLower)\n // );\n // }\n\n hasMore = Math.ceil(countData / optionsPerPage) >= page;\n // slicedOptions = _data.slice(\n // (page - 1) * optionsPerPage,\n // page * optionsPerPage\n // );\n\n return {\n options: _data,\n hasMore\n };\n};\n\nexport default loadProductOptions;\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport ReactDOM from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport Select from 'react-select'\nimport { useForm } from \"react-hook-form\";\nimport { CustomConfirmAlert as confirmAlert} from '../custom-confirm-alert';\nimport ApiClient from \"../../services/api-client\"\nimport { toast } from 'react-toastify';\n\n\nconst COMPANY = JSON.parse(localStorage.getItem(\"company\"));\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n const [disabled, setDisabled] = useState(false);\n\n const { t } = useTranslation();\n\n const hangleDeleteRow = (e) => {\n e.preventDefault();\n\n let rowData = [];\n props.agGridReact.api.forEachNode(node => rowData.push(node.data));\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n // rowData.splice(props.rowIndex, 1)\n // props.agGridReact.api.setRowData(rowData)\n // props.colDef.cellRendererParams.onRemoveRow();\n\n\n var id = props.data.id;\n if (id != undefined) {\n ApiClient.deleteCompanySaleMoreTaxes(COMPANY.id,id).then(\n response => {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n toast.success(t(\"deleteSucceded\"))\n\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n )\n }\n else {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n }\n\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n\n\n\n }\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n if (props.rowIndex == countDisplayedRows) {\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n \n\n \n );\n});\nconst doubleValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n const { t, i18n } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n var _val = parseFloat(val.toString().replace(\",\", \".\")).toFixed(2);\n setVal(_val);\n props.node.setDataValue(props.column.colId, _val);\n }\n\n }\n };\n });\n if (props.colDef.field == \"price\") {\n return {val != null && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n else {\n return {val && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n});\nconst MyDataMoreTaxesTypeRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst MyDataMoreTaxesTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t, i18n } = useTranslation();\n\n const onSelectChange = val => {\n setSelectedVal(val);\n var old_val = props.node.data.type ? props.node.data.type.value : undefined;\n\n setTimeout(function () {\n props.api.stopEditing();\n console.log(props.colDef.cellRendererParams)\n var type = val.value\n var allTaxes = props.colDef.cellRendererParams.moreTaxesOptions;\n console.log(allTaxes)\n\n let groupTaxes = allTaxes.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n\n var typeTaxes = groupTaxes[type];\n var new_type_options = []\n if(typeTaxes){\n typeTaxes.forEach(element => {\n new_type_options.push({\n value: \"TAX_\" + element.value,\n label: element.type==\"DEDUCTION\"?element.label:t(\"TAX_\" + element.value),\n amountValue: element.amountValue,\n uid: element.uid,\n type: element.type,\n id: element.id,\n isSubtracted: element.type == \"DEDUCTION\" ?element.isSubtracted:null,\n });\n });\n }\n \n setTimeout(function () {\n props.node.setDataValue(\"myDataMoreTaxes\", new_type_options);\n // props.node.setDataValue(\"type\", val);\n if (old_val != val.value) {\n props.node.setDataValue(\"myDataMoreTax\", { value: undefined, label: undefined });\n }\n }, 100)\n\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst MoreTaxesRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst MoreTaxesEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n\n\n\n useEffect(() => {\n if (!editing) {\n\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t } = useTranslation();\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n setTimeout(function () {\n props.node.setDataValue(\"myDataMoreTax\", val);\n var rowTotals = props.colDef.cellRendererParams.rowTotals;\n var _amountVal = 0;\n if (val.amountValue.includes(\"%\")) {\n _amountVal = val.amountValue.replace(\"%\", \"\");\n var amount = parseFloat(_amountVal * rowTotals / 100).toFixed(2);\n props.node.setDataValue(\"amount\", amount);\n }\n else{\n if(val.amountValue==\"\"){\n val.amountValue=0.0;\n }\n props.node.setDataValue(\"amount\", val.amountValue);\n }\n\n }, 100)\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst AmountEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n\n useEffect(() => {\n if (!editing) {\n\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n container.select();\n }\n });\n };\n\n const onChange = (e) => {\n console.log(e.target.value)\n setSelectedVal(e.target.value)\n props.node.setDataValue(\"amount\", e.target.value);\n\n }\n\n return (
    \n\n \n \n \n \n
    \n );\n});\n\nconst MoreTaxesGrid = forwardRef((props, ref) => {\n const [gridApi, setGridApi] = useState(null);\n const [gridColumnApi, setGridColumnApi] = useState(null);\n const { t, i18n } = useTranslation();\n const { formState: { errors }, trigger } = useForm();\n const [hasError, setHasError] = useState(false);\n\n const rowStyle = { background: 'white' };\n\n\n useImperativeHandle(ref, () => ({\n\n transformData(data, moreTaxesTypesOptions, myDataMoreTaxesOptions) {\n var newData = [];\n data.forEach(el => {\n var cats = [];\n var moreTaxesOptions = [];\n var values = [];\n\n debugger\n\n myDataMoreTaxesOptions.forEach(element => {\n\n cats.push({\n value: element.value,\n label:element.type == \"DEDUCTION\" ?element.label : t(\"TAX_\" + element.value),\n type: element.type,\n key: element.key,\n uid: element.uid,\n amountValue: element.amountValue\n })\n });\n moreTaxesTypesOptions.forEach(element => {\n\n moreTaxesOptions.push({\n value: element.value,\n label: t(element.label)\n })\n });\n let groupTaxes = cats.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n\n if (el.deduction) {\n el.myDataMoreTax = {\n type: \"DEDUCTION\",\n id: el.deduction.id,\n value: el.deduction.id,\n uid: el.deduction.uid,\n isSubtracted: el.type == \"DEDUCTION\" ?el.deduction.isSubtracted:null,\n label:el.deduction.name\n }\n }\n var typeTaxes = groupTaxes[el.myDataMoreTax.type];\n var new_type_options = []\n if(typeTaxes){\n typeTaxes.forEach(element => {\n new_type_options.push({\n value: element.type == \"DEDUCTION\" ? element.value : \"TAX_\" + element.value,\n label: element.type == \"DEDUCTION\" ? element.label : t(\"TAX_\" + element.value),\n amountValue: element.amountValue,\n uid: element.uid,\n isSubtracted: element.type == \"DEDUCTION\" ?element.isSubtracted:null,\n id: element.type == \"DEDUCTION\" ? element.value : null\n });\n });\n }\n \n\n var fel = {\n id: el.id,\n type: { value: el.myDataMoreTax.type, label: t(el.myDataMoreTax.type) },\n myDataMoreTax: {\n id: el.myDataMoreTax.type == \"DEDUCTION\" ? el.myDataMoreTax.value : null,\n uid: el.myDataMoreTax.uid,\n amountValue: el.myDataMoreTax.amountValue,\n value: el.myDataMoreTax.type == \"DEDUCTION\" ? el.myDataMoreTax.value : \"TAX_\" + el.myDataMoreTax.uid,\n label: el.myDataMoreTax.type == \"DEDUCTION\" ? el.myDataMoreTax.label : t(\"TAX_\" + el.myDataMoreTax.uid),\n type: el.myDataMoreTax.type,\n isSubtracted: el.myDataMoreTax.type == \"DEDUCTION\" ?el.myDataMoreTax.isSubtracted:null,\n },\n myDataMoreTaxesTypes: moreTaxesOptions,\n myDataMoreTaxes: new_type_options,\n amount: el.amount,\n }\n newData.push(fel)\n });\n return newData;\n },\n getData() {\n var items = [];\n var _items = [];\n gridApi.forEachNode(node => {\n items.push(node.data);\n });\n items.pop();\n items.forEach(element => {\n element.myDataMoreTax.type = element.type.value\n var obj = {\n \"id\": element.id,\n \"myDataMoreTax\": element.myDataMoreTax,\n \"amount\": element.amount,\n\n }\n _items.push(obj);\n\n });\n return _items;\n },\n setData(data) {\n if (data != undefined) {\n data.push({})\n gridApi.setRowData(data)\n }\n else {\n data = [];\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, id: undefined, amount: undefined })\n gridApi.setRowData(data)\n }\n },\n hasError() {\n return hasError;\n }\n\n }));\n\n\n const isValid = (nodeData) => {\n\n\n // var nodeIndex = nodeData.rowIndex;\n // var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n // if (nodeIndex != countDisplayedRows) {\n\n // }\n return nodeData.data.type.value != \"\"\n && nodeData.data.type.value != undefined\n && nodeData.data.myDataMoreTax \n && nodeData.data.myDataMoreTax.label != undefined\n && nodeData.data.myDataMoreTax.label != \"\"\n }\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n setGridColumnApi(params.columnApi);\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n\n });\n });\n var data = props.moreTaxes;\n if (data != undefined) {\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, type: { value: undefined, label: undefined } })\n params.api.setRowData(data)\n }\n else {\n data = [];\n data.push({ myDataMoreTax: { value: undefined, label: undefined }, type: { value: undefined, label: undefined } })\n params.api.setRowData(data)\n }\n };\n\n const addRow = () => {\n\n var data = { myDataMoreTax: { value: undefined, label: undefined }, type: { value: undefined, label: undefined } }\n\n let rowData = [];\n gridApi.forEachNode(node => rowData.push(node.data));\n\n rowData.push(data)\n gridApi.setRowData(rowData)\n\n\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n gridApi.ensureIndexVisible(countDisplayedRows, 'top');\n }\n const toastId = useRef(null);\n const onCellValueChanged = (params) => {\n // params.node.rowIndex\n var nodeIndex = params.node.rowIndex;\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n console.log(params.newValue)\n if (nodeIndex == countDisplayedRows && params.newValue != undefined) {\n addRow(nodeIndex);\n }\n\n if(params.column.colId==\"amount\"){\n props.reCalculateTotals()\n }\n }\n\n const getRowStyle = params => {\n\n\n if (params.node.rowIndex == params.api.rowModel.rowsToDisplay.length - 1) {\n return {\n background: '#d2f6fac7'\n };\n\n }\n else {\n if (!isValid(params.node)) {\n setHasError(true)\n return { background: '#ffb09c' };\n }\n else {\n setHasError(false)\n if (params.node.data.global) {\n return { background: '#eee' };\n }\n else {\n return { background: 'white' };\n }\n }\n }\n };\n\n const onRemoveRow = () => {\n var rowData = [];\n if (gridApi != undefined) {\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.pop();\n props.reCalculateTotals();\n }\n }\n\n return (\n
    \n {t(\"mandatorySaleTaxesFieldsError\")}\n
    \n \n
    \n \n\n {/* suppressSizeToFit={true} */}\n \n \n \n \n \n\n \n\n\n\n\n
    \n
    \n

    \n\n
    \n );\n});\nexport default MoreTaxesGrid ","import React, { forwardRef, useRef, useState, useImperativeHandle } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport ReactTooltip from \"react-tooltip\";\nimport ReactDOM from 'react-dom';\nimport Commons from '../../util/commons';\n\n// export default function EntriesSummary(props) {\nconst EntriesSummary = forwardRef((props, ref) => {\n const refContainerTotals = useRef();\n const { t } = useTranslation();\n\n\n const [totals, setTotals] = useState({\n totalWithoutDiscount: \"0.00\",\n totalWithDiscount: \"0.00\",\n totalWithoutVat: \"0.00\",\n totalWithVat: \"0.00\",\n totalPayment: \"0.00\",\n totalvat: \"0.00\"\n });\n\n\n useImperativeHandle(ref, () => ({\n\n calculate(nodes, saletaxes = null) {\n var _totalWithoutDiscount = 0;\n var _totalWithDiscount = 0;\n var _totalWithoutVat = 0;\n var _totalWithVat = 0;\n var totalDiscount = 0;\n var totalWithHoldTaxes = 0;\n var totalVirtualWithHoldTaxes = 0;\n var totalOtherTaxes = 0;\n var totalStumpOfDutyTaxes = 0;\n var totalFeesTaxes = 0;\n var totalDeductionsTaxes = 0;\n var totalVirtualDeductionsTaxes = 0;\n var totalvat = 0;\n nodes.entries.forEach(node => {\n if (node.product.model != undefined) {\n var _quant = node.quantity;\n if (_quant == \"-\") {\n _quant = 1;\n }\n var _vat = node.vat.label;\n if (node.vat.label == \"-\") {\n _vat = 0;\n }\n _totalWithoutDiscount += parseFloat(node.unitPrice) * parseFloat(_quant);\n var rowPrice = parseFloat(node.unitPrice) * parseFloat(_quant);\n totalDiscount += rowPrice * node.discount / 100;\n var priceWithoutVat = node.unitPrice * _quant;\n var discount = node.discount\n priceWithoutVat -= discount * priceWithoutVat / 100\n _totalWithoutVat += parseFloat(parseFloat(priceWithoutVat).toFixed(2));\n var priceWithVat = parseFloat(parseFloat(priceWithoutVat + priceWithoutVat * _vat / 100).toFixed(2));\n priceWithVat = parseFloat(priceWithVat)\n _totalWithVat += priceWithVat;\n if (node.taxes && node.taxes.length > 0) {\n node.taxes.forEach(e => {\n if (saletaxes == null || saletaxes == undefined || saletaxes.length == 0) {\n var am_val = e.myDataMoreTax.amountValue.replace(\"%\", \"\");\n var _calcAmount = am_val * priceWithoutVat / 100;\n if (e.myDataMoreTax.type == \"WITHHOLD_TAXES\") {\n if (e.myDataMoreTax.uid != 24) {\n if (e.amount && !Number.isNaN(e.amount)) {\n totalVirtualWithHoldTaxes += parseFloat(e.amount)\n }\n else {\n totalVirtualWithHoldTaxes += _calcAmount;\n }\n }\n if (e.amount && !Number.isNaN(e.amount)) {\n totalWithHoldTaxes += parseFloat(e.amount)\n }\n else {\n totalWithHoldTaxes += _calcAmount;\n }\n }\n else if (e.myDataMoreTax.type == \"OTHER_TAXES\") {\n if (e.amount && !Number.isNaN(e.amount)) {\n totalOtherTaxes += parseFloat(e.amount)\n }\n else {\n totalOtherTaxes += _calcAmount;\n }\n }\n else if (e.myDataMoreTax.type == \"FEES\") {\n if (e.amount && !Number.isNaN(e.amount)) {\n totalFeesTaxes += parseFloat(e.amount)\n }\n else {\n totalFeesTaxes += _calcAmount;\n }\n }\n else if (e.myDataMoreTax.type == \"DEDUCTION\") {\n if (e.myDataMoreTax.isSubtracted) {\n if (e.amount && !Number.isNaN(e.amount)) {\n totalVirtualDeductionsTaxes += parseFloat(e.amount)\n }\n else {\n totalVirtualDeductionsTaxes += _calcAmount;\n }\n }\n if (e.amount && !Number.isNaN(e.amount)) {\n totalDeductionsTaxes += parseFloat(e.amount)\n }\n else {\n totalDeductionsTaxes += _calcAmount;\n }\n }\n else if (e.myDataMoreTax.type == \"STUMP_DUTY\") {\n if (e.amount && !Number.isNaN(e.amount)) {\n totalStumpOfDutyTaxes += parseFloat(e.amount)\n }\n else {\n totalStumpOfDutyTaxes += _calcAmount;\n }\n }\n }\n })\n }\n totalvat += parseFloat(parseFloat(priceWithoutVat * _vat / 100).toFixed(2));\n }\n });\n\n _totalWithDiscount = _totalWithoutDiscount - totalDiscount;\n\n\n if (saletaxes && saletaxes.length > 0) {\n saletaxes.forEach(e => {\n if (e.myDataMoreTax.type == \"WITHHOLD_TAXES\") {\n if (e.myDataMoreTax.uid != 24) {\n totalVirtualWithHoldTaxes += parseFloat(e.amount)\n }\n totalWithHoldTaxes += parseFloat(e.amount)\n }\n else if (e.myDataMoreTax.type == \"DEDUCTION\") {\n \n if (e.myDataMoreTax.isSubtracted) {\n totalVirtualDeductionsTaxes += parseFloat(e.amount)\n }\n totalDeductionsTaxes += parseFloat(e.amount)\n }\n else if (e.myDataMoreTax.type == \"OTHER_TAXES\") {\n totalOtherTaxes += parseFloat(e.amount);\n }\n else if (e.myDataMoreTax.type == \"FEES\") {\n totalFeesTaxes += parseFloat(e.amount);\n }\n else if (e.myDataMoreTax.type == \"STUMP_DUTY\") {\n totalStumpOfDutyTaxes += parseFloat(e.amount);\n }\n })\n }\n var totalTaxes = totalOtherTaxes + totalFeesTaxes + totalStumpOfDutyTaxes - totalWithHoldTaxes - totalDeductionsTaxes\n\n var totalVirtualTaxes = totalOtherTaxes + totalFeesTaxes + totalStumpOfDutyTaxes - totalVirtualWithHoldTaxes - totalVirtualDeductionsTaxes\n\n var _totals = {\n totalWithoutDiscount: parseFloat(_totalWithoutDiscount).toFixed(2),\n totalWithDiscount: parseFloat(_totalWithDiscount).toFixed(2),\n totalWithoutVat: parseFloat(_totalWithoutVat).toFixed(2),\n totalWithVat: parseFloat(_totalWithVat).toFixed(2),\n totalDiscount: parseFloat(totalDiscount).toFixed(2),\n moreTaxes: parseFloat(totalTaxes).toFixed(2),\n totalvat: parseFloat(totalvat).toFixed(2),\n totalPayment: parseFloat(parseFloat(_totalWithVat) + parseFloat(totalVirtualTaxes)).toFixed(2),\n totalOtherTaxes: parseFloat(totalOtherTaxes).toFixed(2),\n totalFeesTaxes: parseFloat(totalFeesTaxes).toFixed(2),\n totalStumpOfDutyTaxes: parseFloat(totalStumpOfDutyTaxes).toFixed(2),\n totalWithHoldTaxes: parseFloat(totalWithHoldTaxes + totalDeductionsTaxes).toFixed(2),\n totalDeductionsTaxes: parseFloat(totalDeductionsTaxes).toFixed(2)\n }\n return _totals;\n },\n\n updateUI(_totals) {\n\n let container = ReactDOM.findDOMNode(refContainerTotals.current).getElementsByClassName('discount');\n let container2 = ReactDOM.findDOMNode(refContainerTotals.current).getElementsByClassName('withoutdiscount');\n let container3 = ReactDOM.findDOMNode(refContainerTotals.current).getElementsByClassName('moretaxes');\n\n if (parseFloat(_totals.totalDiscount) == 0) {\n container[0].style.display = \"none\";\n container2[0].style.display = \"none\";\n }\n else {\n container[0].style.display = \"flex\";\n container2[0].style.display = \"flex\";\n }\n if (parseFloat(_totals.moreTaxes) == 0) {\n container3[0].style.display = \"none\";\n }\n else {\n container3[0].style.display = \"flex\";\n }\n\n if (props.onUpdateComplete) {\n props.onUpdateComplete(_totals);\n }\n\n },\n\n calculateAndUpdateUI(nodes, saletaxes = null) {\n var _totals = this.calculate(nodes, saletaxes);\n this.updateUI(_totals)\n setTotals(_totals);\n }\n\n }));\n\n return (\n
    \n
    \n
    {t(\"Totals\")}
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}\n);\nexport default EntriesSummary ","\nimport ApiClient from \"./api-client\"\n\nconst sleep = ms =>\n new Promise(resolve => {\n setTimeout(() => {\n resolve();\n }, ms);\n });\n\nconst optionsPerPage = 10;\nvar _data = [];\nvar countData = 0;\nconst loadOptions = async (search, page, props) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id\n\n var sortBy = null;\n var order = \"asc\";\n var simpleColumnFilters;\n if (search) {\n simpleColumnFilters = [\n {\n column: \"series\",\n filter: search,\n filterType: \"text\",\n concatWith:\"invoiceNumber\"\n }, {\n column: \"invoiceType\",\n filter: search,\n filterType: \"text\"\n },\n {\n column: \"mark\",\n filter: search,\n filterType: \"text\"\n }]\n\n\n }\n var object = {\n \"quickSearch\": \"\",\n \"pageNo\": page,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": 10,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n\n let filteredOptions;\n let hasMore;\n let slicedOptions;\n const result = await ApiClient.saleinstanceByinvoiceTypePage(companyId, object, props.selectedInvoiceType.myDataInvoiceType);\n\n var data = result.data.objectList;\n\n\n if (page == 1) {\n countData = data.length;\n }\n else {\n countData += data.length;\n }\n\n\n _data = [];\n data.forEach(element => {\n\n var _d = {\n code: element.series + element.invoiceNumber,\n label: element.invoiceType,\n value: element.id,\n mark: element.mark,\n model: element\n }\n\n _data.push(_d)\n\n\n });\n\n\n // if (!search) {\n // filteredOptions = _data;\n // } else {\n // const searchLower = search.toLowerCase();\n\n // filteredOptions = _data.filter(({ label }) =>\n // label.toLowerCase().includes(searchLower)\n // );\n // }\n\n hasMore = Math.ceil(countData / optionsPerPage) >= page;\n // slicedOptions = _data.slice(\n // (page - 1) * optionsPerPage,\n // page * optionsPerPage\n // );\n\n return {\n options: _data,\n hasMore\n };\n};\n\nexport default loadOptions;\n","\nimport ApiClient from \"./api-client\"\n\nconst sleep = ms =>\n new Promise(resolve => {\n setTimeout(() => {\n resolve();\n }, ms);\n });\n\nconst optionsPerPage = 10;\nvar _data = [];\nvar countData=0;\nconst loadCustomerOptions = async (search, page, props) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id\n\n var sortBy = null;\n var order = \"asc\";\n var simpleColumnFilters ;\n if(search){\n simpleColumnFilters = [{\n column: \"name\",\n filter: search,\n filterType:\"text\",\n searchOperator: \"contains\"\n },\n {\n column: \"taxpayerId\",\n filter: search,\n filterType:\"text\",\n searchOperator: \"contains\"\n }]\n }\n var object = {\n \"quickSearch\": \"\",\n \"pageNo\": page,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\":optionsPerPage,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n \n let filteredOptions;\n let hasMore;\n let slicedOptions;\n const result = await ApiClient.getCompanyCustomersPage(companyId, object, props.selectedInvoiceType.myDataInvoiceType);\n\n var data = result.data.objectList;\n\n\n if(page==1){\n countData=data.length;\n }\n else{\n countData+=data.length;\n }\n\n\n _data = [];\n data.forEach(element => {\n\n var _d = {\n taxpayerId: element.taxpayerId,\n label: element.name,\n value: element.id,\n model: element\n }\n _data.push(_d);\n });\n\n\n // if (!search) {\n // filteredOptions = _data;\n // } else {\n // const searchLower = search.toLowerCase();\n\n // filteredOptions = _data.filter(({ label }) =>\n // label.toLowerCase().includes(searchLower)\n // );\n // }\n\n hasMore = Math.ceil(countData / optionsPerPage) >= page;\n // slicedOptions = _data.slice(\n // (page - 1) * optionsPerPage,\n // page * optionsPerPage\n // );\n\n return {\n options: _data,\n hasMore\n };\n};\n\nexport default loadCustomerOptions;\n","import React, { forwardRef } from \"react\";\nimport { useHistory } from \"react-router-dom\"\nimport { useTranslation } from 'react-i18next';\n\n\nconst FormTemplate = (props) => {\n\n const { t } = useTranslation();\n const history = useHistory();\n\n const showIcon=(props)=>{\n if(props.icon){\n return {props.icon}\n }\n }\n\n return (\n
    \n
    \n
    \n \n {showIcon(props)}\n {props.title}\n \n {props.headerRightContent}\n
    \n \n \n
    \n
    \n {props.children}\n
    \n {\n props.footer ? \n
    \n
    \n {props.footer }\n
    \n
    :\n \"\"\n }\n\n
    \n );\n}\nexport default FormTemplate\n\n","import React, { useState, useImperativeHandle ,forwardRef} from \"react\";\n\nimport Modal from 'react-bootstrap/Modal';\nimport { useTranslation } from 'react-i18next';\n\n\nconst ErrorDetailsModal = forwardRef((props, ref) => {\n\n const { t } = useTranslation();\n const [show, setShow] = useState(false);\n const [code, setCode] = useState(false);\n const [mess, setMess] = useState(false);\n const [body, setBody] = useState(false);\n\n\n useImperativeHandle(ref, () => ({\n\n open(mess){\n console.log(mess)\n setCode(mess.code)\n setMess(mess.message)\n if(mess.code==201){\n setBody(cardBody573)\n }\n setShow(true)\n\n },\n close(){\n setShow(false)\n },\n\n }));\n const handleCloseHelpMyData = () => {\n setShow(false);\n }\n\n const cardBody573=\n
    \n
    {t(\"errorDetai_201\")}
    \n \n
    {t(\"errorDetai_201_end\")}
    \n
    \n\n return (\n \n \n \n \n \n
    \n

    {t(\"ErrorDetails\",{\"code\":code})}

    \n
    \n
    \n {mess} \n
    \n
    \n {body}\n
    \n
    \n \n
    \n
    \n \n \n \n \n\n\n );\n}\n);\n\nexport default ErrorDetailsModal;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { getDefaults, useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\nimport { useForm, Controller } from \"react-hook-form\";\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport * as Yup from 'yup';\nimport ApiClient from \"../../services/api-client\"\nimport { CustomConfirmAlert as confirmAlert } from '../custom-confirm-alert';\nimport DatePicker from \"react-datepicker\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable';\nimport moment from 'moment'\nimport SaleEntries from \"../sales/sale-entries.component\";\nimport Commons from '../../util/commons'\nimport { useHistory } from \"react-router-dom\";\nimport MyDataLogo from \"../../img/mydata.png\";\n// import PlacesAutocomplete, {\n// geocodeByAddress,\n// getLatLng,\n// } from 'react-places-autocomplete';\nimport BlockUi from 'react-block-ui';\nimport { Loader } from 'react-loaders';\nimport SelectTable from '../select-table'\nimport { toast } from 'react-toastify';\nimport MoreTaxesGrid from '../editable-aggrids/sale-more-taxes-grid';\nimport EntriesSummary from \"../sales/entries.summary.component\";\n\nimport ReactDOM from 'react-dom';\nimport loadSaleInstancesOptions from \"../../services/loadSaleInstances\";\nimport loadCustomersOptions from \"../../services/loadCustomers\";\n\nimport FormLayout from '../form-layout';\nimport IFramePrintTemplate from '../iframe-print-template.component';\nimport ReactFlagsSelect from \"react-flags-select\";\nimport Tippy from '@tippyjs/react';\nimport { API_BASE_URL } from '../../util/constants';\nimport useMobileDetect from 'use-mobile-detect-hook';\n\nimport ErrorDetailsModal from \"../modals/error-details-modal\";\n\nconst loadPageOptions = async (q, prevOptions, { page }, props) => {\n const { options, hasMore } = await loadSaleInstancesOptions(q, page, props);\n return {\n options,\n hasMore,\n\n additional: {\n page: page + 1\n }\n };\n};\nconst loadCustomerPageOptions = async (q, prevOptions, { page }, props) => {\n const { options, hasMore } = await loadCustomersOptions(q, page, props);\n return {\n options,\n hasMore,\n\n additional: {\n page: page + 1\n }\n };\n};\nvar saleEntries = {\n entries: [], totals: {\n totalWithoutDiscount: 0, totalWithoutVat: 0, totalWithDiscount: 0, totalWithVat: 0, totalPayment: 0, totalvat: 0\n }\n};\nconst SalesAddEdit = (props) => {\n\n const { id } = useParams();\n const [content, setContent] = useState({ customers: { data: [], columns: [] } });\n const [customerContacts, setCustomerContacts] = useState({ data: [], columns: [] });\n const selectInputRef = useRef();\n const iframePrintTemplate = useRef();\n const refSalesEntries = useRef();\n const [salesLeft, setSalesLeft] = useState(0);\n const { t } = useTranslation();\n const [startDate, setStartDate] = useState(new Date());\n const [dispatchDate, setDispatchDate] = useState(null);\n const [mydata, setMyData] = useState(false);\n const [editMark, setEditMark] = useState(\"\");\n const [customerRequired, setCustomerRequired] = useState(true);\n const [addressRequired, setAddressRequired] = useState(false);\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const history = useHistory();\n const [correlativeSales, setCorrelativeSales] = useState({ data: [], columns: [] });\n const [suggestedInClassCatsOfInvType, setSuggestedInClassCatsOfInvType] = useState([]);\n const [suggestedInvoiceClassCatsOfInvType, setSuggestedInvoiceClassCatsOfInvType] = useState([]);\n const [selectedContacts, setSelectedContacts] = useState([]);\n const [selfPricingChecked, setSelfPricingChecked] = useState(false);\n const [inputCustomerValue, setCustomerInputValue] = useState(\"\");\n const [customerValue, setCustomerValue] = useState(\"\");\n const [moreTaxesTypesOptions, setMoreTaxesTypesOptions] = useState([]);\n const [DefaultCountry, setDefaultCountry] = useState({});\n const [countryDisabled, setCountryDisabled] = useState(false);\n const [isDeliverMandatory, setIsDeliverMandatory] = useState(false);\n const [isLoadingMandatory, setIsLoadingMandatory] = useState(false);\n\n const [mark, setMark] = useState(null);\n const [customerHidden, setCustomerHidden] = useState(\"flex\");\n const [transportInfoDisplay, setTransportInfoDisplay] = useState(\"none\");\n const [entriesHidden, setEntriesHidden] = useState(\"none\");\n const [otherTaxHidden, setOtherTaxHidden] = useState(\"none\");\n const [otherTaxRequired, setOtherRequired] = useState(false);\n const [template, setTemplate] = useState(false);\n const [isInvoice00_1, setIsInvoice00_1] = useState(false);\n const [sosMessage, setSosMessage] = useState(false);\n const [moreTaxesOptions, setMoreTaxesOptions] = useState([]);\n const [otherTaxesOptions, setOtherTaxesOptions] = useState([]);\n const saleMoreTaxesGridRef = useRef();\n const refEntriesSummary = useRef();\n const [initiallyCollapsed, setInitiallyCollapsed] = useState({ collapsed: true, show: false });\n const [initiallyCollapsedMore, setInitiallyCollapsedMore] = useState({ collapsed: true, show: false });\n const [initiallyCollapsedDeliveryMore, setInitiallyCollapsedDeliveryMore] = useState({ collapsed: true, show: false });\n\n\n const [isDeliveryNoteDisable, setIsDeliveryNoteDisable] = useState(\"none\");\n\n let SELECTED_COMPANY = JSON.parse(localStorage.getItem(\"company\"));\n\n const [onEditDisabled, setOnEditDisabled] = useState(false);\n const [dismissSalesEditAlert, setDismissSalesEditAlert] = useState(false);\n const [sendPaymentLink, setSendPaymentLink] = useState(false);\n const detectMobile = useMobileDetect();\n\n\n const [totals, setTotals] = useState({\n totalWithoutDiscount: \"0.00\",\n totalWithDiscount: \"0.00\",\n totalWithoutVat: \"0.00\",\n totalWithVat: \"0.00\",\n totalPayment: \"0.00\",\n totalvat: \"0.00\"\n });\n\n const params = new URLSearchParams(window.location.search);\n let customer = params.get('customer');\n let isCredit = params.get('credit');\n let isPreSale = params.get('presale');\n\n isCredit = isCredit == \"true\" ? true : false;\n isPreSale = isPreSale == \"true\" ? true : false;\n let defcountry = {};\n var TOTALS;\n const [selectedTemplateLanguage, setSelectedTemplateLanguage] = useState(\"GR\");\n\n const refErrorDetailsModal = useRef();\n\n\n const validationSchema = Yup.object().shape({\n customer: customerRequired ? Yup.object().required(t(\"fieldRequired\")).nullable() : Yup.object().nullable(),\n branch: Yup.object().required(t(\"fieldRequired\")).nullable(),\n invoiceType: Yup.object().required(t(\"fieldRequired\")).nullable(),\n series: Yup.object().required(t(\"fieldRequired\")).nullable(),\n // subjectField: Yup.string().nullable().test('len', t(\"maxLengthValidation\", { maxlength: 150 }), val => val ? val.length : \"\" <= 150),\n subjectField: Yup.string().nullable().max(150, t(\"maxLengthValidation\", { maxlength: 150 })),\n // postalCode: Yup.number().typeError(t(\"mustbenumber\")).nullable().transform((curr, orig) => orig === '' ? null : curr),\n invoiceDate: Yup.date().nullable().transform((curr, orig) => orig === '' ? null : curr).required(t(\"fieldRequired\")),\n taxpayerId: customerRequired ? Yup.string().required(t(\"fieldRequired\")).nullable() : Yup.string().nullable(),\n city: addressRequired ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n otherTaxCategory: otherTaxRequired ? Yup.object().required(t(\"fieldRequired\")).nullable() : Yup.object().nullable(),\n otherTaxAmount: otherTaxRequired ? Yup.string().required(t(\"fieldRequired\")).nullable() : Yup.string(),\n\n\n deliveryAddressStreet: isDeliverMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n deliveryAddressCity: isDeliverMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n deliveryAddressNumber: isDeliverMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n deliveryAddressPostalCode: isDeliverMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n\n loadingAddressStreet: isLoadingMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n loadingAddressCity: isLoadingMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n loadingAddressNumber: isLoadingMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n loadingAddressPostalCode: isLoadingMandatory ? Yup.string().required(t(\"fieldRequired\")) : Yup.string().nullable(),\n\n\n movePurpose: isDeliverMandatory ? Yup.object().required(t(\"fieldRequired\")).nullable() : Yup.object().nullable()\n\n\n });\n\n const { register, getValues, control, handleSubmit, setValue, reset, formState: { errors }, trigger, clearErrors } = useForm({\n resolver: yupResolver(validationSchema)\n });\n\n useEffect(() => {\n\n var companyId = SELECTED_COMPANY.id;\n var defaults = Commons.getDefaults();\n let mounted = true;\n\n if (defaults.branch && defaults.branch.value && !isCredit) {\n ApiClient.getTemplateSettings(companyId, defaults.branch.value).then(response => {\n var _template = response.data;\n _template.branch = defaults.branch.value;\n _template.mainColor = _template.mainColor ? _template.mainColor : \"#013289\";\n _template.secondaryColor = _template.secondaryColor ? _template.secondaryColor : \"#FFFFFF\";\n _template.appFont = _template.appFont ? _template.appFont : \"Arial\";\n setTemplate(_template);\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n if (defaults != undefined && defaults.mydata != undefined) {\n setMyData(defaults.mydata)\n }\n else {\n if (SELECTED_COMPANY.myDataToken) {\n setMyData(true)\n }\n else {\n setMyData(false)\n }\n }\n\n if (defaults) {\n setDismissSalesEditAlert(defaults.dismissSalesEditAlert)\n\n }\n\n var columns = [\n {\n header: t(\"invoiceNumber\"),\n field: \"code\",\n flex: 2,\n },\n {\n header: t(\"InvoiceType\"),\n field: \"invoiceType\",\n asLabel: true,\n flex: 6\n },\n {\n header: t(\"mark\"),\n field: \"mark\",\n flex: 4\n }\n ]\n var options = { data: [], columns: columns }\n\n setCorrelativeSales(options)\n setBlockuiLoading(true)\n ApiClient.getSalesView(companyId).then(response => {\n var data_companyBranches = response.data.companyBranches;\n var data_companyInvoiceTypes = response.data.companyInvoiceTypes;\n var data_paymentTypes = response.data.paymentTypes;\n var data_vats = response.data.vats;\n var data_measurementUnits = response.data.measurementUnits;\n var data_vatCategoryExceptions = response.data.vatCategoryExceptions;\n var data_myDataMovePurposes = response.data.myDataMovePurposes;\n var data_taxOffices = response.data.taxOffices;\n var data_countries = response.data.countries;\n var data_currencies = response.data.currencyTypeList;\n\n\n var applicationSosMessages = response.data.applicationSosMessages;\n\n if (applicationSosMessages && applicationSosMessages.sosMessage) {\n setSosMessage({\n message: applicationSosMessages.sosMessage,\n alertClass: \"alert alert-\" + applicationSosMessages.sosMessageStatus + \" alert-dismissible fade show\"\n })\n }\n\n\n\n setSalesLeft(response.data.countSales)\n\n var optionBranches = [];\n var optionsinvoiceTypes = [];\n var optionspaymentTypes = [];\n var optionsVats = [];\n var optionsMU = [];\n var optionsWHT = [];\n var optionsOT = [];\n var optionsVCT = [];\n var optionsMP = [];\n var optionsTO = [];\n var optionsCountries = [];\n var optionsCurrencies = [];\n\n\n data_countries.forEach(element => {\n var to = {\n value: element.alpha2,\n label: t(element.alpha2),\n alpha2: element.alpha2\n }\n optionsCountries.push(to);\n if (element.alpha2 == \"GR\") {\n setDefaultCountry(to)\n defcountry = to;\n }\n });\n\n data_currencies.forEach(element => {\n optionsCurrencies.push({\n value: element.symbol,\n label: element.name + \" (\" + element.symbol + \")\",\n rate: element.rate\n });\n });\n\n data_companyBranches.forEach(element => {\n optionBranches.push({\n value: element.id,\n label: element.name,\n model: element\n });\n });\n\n data_companyInvoiceTypes.forEach(element => {\n optionsinvoiceTypes.push({\n value: element.id,\n label: element.name,\n myDataInvoiceType: element.myDataInvoiceType,\n invoiceTypeClassifications: element.invoiceTypeClassifications\n });\n });\n\n data_paymentTypes.forEach(element => {\n optionspaymentTypes.push({\n value: element,\n label: element,\n });\n });\n\n data_vats.forEach(element => {\n optionsVats.push({\n value: element.id,\n label: element.value,\n });\n });\n\n data_measurementUnits.forEach(element => {\n optionsMU.push({\n value: element,\n label: t(element),\n });\n });\n\n\n\n var myDataMoreTaxesOptions = [];\n var myDataMoreTaxesData = response.data.myDataMoreTaxes;\n myDataMoreTaxesData.forEach(element => {\n myDataMoreTaxesOptions.push({\n value: element.type == \"DEDUCTION\" ? element.id : element.uid,\n uid: element.type == \"DEDUCTION\" ? element.id : element.uid,\n label: element.type == \"DEDUCTION\" ? element.name : t(\"TAX_\" + element.uid),\n type: element.type,\n key: element.key,\n amountValue: element.amountValue,\n isSubtracted: element.isSubtracted\n });\n });\n\n var moreTaxesTypesOptions = [];\n var myDataMoreTaxesTypes = response.data.myDataMoreTaxesTypes;\n myDataMoreTaxesTypes.forEach(element => {\n moreTaxesTypesOptions.push({\n value: element,\n label: t(element)\n });\n });\n\n let groupTaxes = myDataMoreTaxesOptions.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n\n var typeTaxes = groupTaxes[\"OTHER_TAXES\"];\n\n setMoreTaxesOptions(myDataMoreTaxesOptions);\n setMoreTaxesTypesOptions(moreTaxesTypesOptions);\n setOtherTaxesOptions(typeTaxes)\n\n\n data_vatCategoryExceptions.forEach(element => {\n optionsVCT.push({\n value: element,\n label: t(element)\n });\n });\n\n data_myDataMovePurposes.forEach(element => {\n optionsMP.push({\n value: element,\n label: t(element)\n });\n });\n\n data_taxOffices.forEach(element => {\n optionsTO.push({\n value: element.id,\n label: t(element.name)\n });\n });\n\n\n reset();\n var _content = {\n sale: null,\n paymentTypes: optionspaymentTypes,\n currencies: optionsCurrencies,\n vats: optionsVats,\n measurementUnits: optionsMU,\n withHoldTaxes: optionsWHT,\n otherTaxes: optionsOT,\n vatCategoryExceptions: optionsVCT,\n movePurposes: optionsMP,\n taxOffices: optionsTO,\n optionsinvoiceTypes: optionsinvoiceTypes,\n optionBranches: optionBranches,\n optionsCountries: optionsCountries\n }\n if (mounted) {\n\n window.addEventListener(\"message\", listenMessage, false);\n if (window.addEventListener) {\n window.addEventListener(\"message\", listenMessage, false);\n } else {\n window.removeEventListener(\"message\");\n window.attachEvent(\"onmessage\", listenMessage);\n }\n setContent(_content)\n\n\n if (id != undefined) {\n if (!isPreSale) {\n setOnEditDisabled(true)\n }\n\n ApiClient.getCompanySaleInstance(companyId, id).then(\n response => {\n var sale = response.data;\n\n var _invoiceType = {\n label: sale.invoiceType.name,\n value: sale.invoiceType.id,\n myDataInvoiceType: sale.invoiceType.myDataInvoiceType,\n invoiceTypeClassifications: sale.invoiceType.invoiceTypeClassifications\n }\n\n sale.invoiceType = _invoiceType\n if (!isCredit) {\n if (sale.mark) {\n var markInfo =\n
    \n
    {t(\"currentMarkInfo\") + \": \" + sale.mark + \". \"}
    \n\n {dismissSalesEditAlert ?\n <>\n
    \n
    {t(\"currentMarkInfo2\")}
    \n \n
    : <>\n }\n\n
    \n setEditMark(markInfo);\n }\n }\n\n\n\n changeBranch(sale.branch);\n sale.invoiceType.branchId = sale.branch.id;\n changeInvType(sale.invoiceType);\n\n\n\n if (!isCredit && !isPreSale) {\n setValue(\"invoiceType\", sale.invoiceType);\n var _ser = { value: sale.series.name, label: sale.series.name };\n sale.series = _ser;\n setValue(\"series\", sale.series);\n setValue(\"invoiceNumber\", sale.invoiceNumber);\n }\n else {\n\n\n\n if (sale.invoiceType.myDataInvoiceType == \"invoice1_1\" || sale.invoiceType.myDataInvoiceType == \"invoice2_1\" || sale.invoiceType.myDataInvoiceType == \"invoice1_2\" || sale.invoiceType.myDataInvoiceType == \"invoice1_3\") {\n var _invtype = {\n label: t(\"invoice5_1\"),\n value: 999999,\n myDataInvoiceType: \"invoice5_1\"\n }\n setValue(\"invoiceType\", _invtype);\n document.getElementsByClassName(\"correlativeSale\")[0].style.display = \"unset\";\n sale.correlativeSale = {\n label: sale.invoiceType.label,\n value: sale.id,\n mark: sale.mark,\n }\n setValue(\"correlativeSale\", sale.correlativeSale);\n }\n }\n\n var asExpenses = getValues().selfPricing || Commons.isOnGroup(sale.invoiceType.myDataInvoiceType, \"isExpense\");\n\n ApiClient.getClassificationCategoriesOfMyDataInvoice(sale.invoiceType.myDataInvoiceType, asExpenses).then(response => {\n var data = response.data;\n var obj = {}\n data.forEach(element => {\n if (element.classificationCategory) {\n obj[element.classificationCategory] = element.classificationValues;\n }\n else {\n obj[element.classificationCategory] = element.classificationValues;\n }\n });\n setDataWithClassifications(sale, obj, myDataMoreTaxesOptions)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n\n var customer = { label: sale.customer.name, value: sale.customer.name, model: sale.customer }\n var city = sale.customer.city;\n var address = sale.customer.address;\n var postalCode = sale.postalCode;\n var taxpayerId = sale.customer.taxpayerId;\n var addressNumber = sale.customer.number;\n var subjectField = sale.customer.subjectField;\n var branch = { label: sale.branch.name, value: sale.branch.id, model: sale.branch }\n\n var paymentType = { label: t(sale.paymentType), value: sale.paymentType }\n\n\n\n if (sale.moreTaxes && sale.moreTaxes.length > 0) {\n var _data_transformed = saleMoreTaxesGridRef.current.transformData(sale.moreTaxes, moreTaxesTypesOptions, myDataMoreTaxesOptions)\n saleMoreTaxesGridRef.current.setData(_data_transformed);\n setInitiallyCollapsed({ collapsed: false, show: true });\n }\n\n\n setTimeout(function () {\n if (taxpayerId) {\n setValue(\"taxpayerId\", taxpayerId);\n }\n if (customer) {\n setValue(\"customer\", customer);\n setCustomerValue(customer);\n }\n\n setValue(\"branch\", branch);\n if (address) {\n setValue(\"fulladdress\", address);\n }\n setValue(\"postalCode\", postalCode);\n setValue(\"addressNumber\", addressNumber);\n setValue(\"subjectField\", subjectField)\n setValue(\"city\", city);\n setValue(\"postalCode\", sale.customer.postalCode);\n if (sale.customer && sale.customer.taxOffice) {\n setValue(\"taxOffice\", { label: sale.customer.taxOffice.name, value: sale.customer.taxOffice.id });\n }\n\n setValue(\"notes\", sale.notes);\n\n if (sale.vehicleNumber || sale.dispatchDate) {\n setInitiallyCollapsedMore({ collapsed: false, show: true });\n }\n setValue(\"isDeliveryNote\", sale.isDeliveryNote);\n\n if (sale.movePurpose) {\n setValue(\"movePurpose\", {\n label: t(sale.movePurpose),\n value: sale.movePurpose\n });\n }\n\n if (sale.dispatchDate) {\n var _dispatchDate = moment(sale.dispatchDate).toDate();\n setValue(\"dispatchDate\", _dispatchDate);\n setDispatchDate(_dispatchDate);\n }\n\n\n setValue(\"vehicleNumber\", sale.vehicleNumber);\n setValue(\"exchangeRate\", sale.exchangeRate);\n\n setValue(\"loadingAddressStreet\", sale.loadingAddressStreet);\n setValue(\"loadingAddressNumber\", sale.loadingAddressNumber);\n setValue(\"loadingAddressCity\", sale.loadingAddressCity);\n setValue(\"loadingAddressPostalCode\", sale.loadingAddressPostalCode);\n\n setValue(\"deliveryAddressStreet\", sale.deliveryAddressStreet);\n setValue(\"deliveryAddressNumber\", sale.deliveryAddressNumber);\n setValue(\"deliveryAddressCity\", sale.deliveryAddressCity);\n setValue(\"deliveryAddressPostalCode\", sale.deliveryAddressPostalCode);\n\n\n if (sale.currency) {\n setValue(\"currency\", {\n label: sale.currency,\n value: sale.currency\n });\n }\n\n if (!isCredit) {\n var invdate = moment(sale.invoiceDate).toDate();\n setValue(\"invoiceDate\", invdate);\n setStartDate(invdate);\n setMark(sale.mark)\n }\n else {\n setValue(\"invoiceDate\", startDate);\n }\n\n if (sale.customer && sale.customer.country) {\n setValue(\"country\", { label: t(sale.customer.country.alpha2), value: sale.customer.country.alpha2 });\n }\n setValue(\"paymentType\", paymentType);\n\n\n }, 100)\n\n },\n error => {\n setBlockuiLoading(false)\n toast.error(\"Error: \" + error.response.data.message)\n console.error(error.response.data)\n }\n )\n\n }\n else {\n setValue(\"paymentType\", convertPaymentType({ value: \"CASH\", label: t(\"CASH\") }))\n setValue(\"invoiceDate\", startDate);\n\n\n\n var defaults = Commons.getDefaults();\n\n if (defaults != undefined && defaults.notes != undefined) {\n setValue(\"notes\", defaults.notes)\n }\n\n if (defaults.paymentType) {\n setValue(\"paymentType\", defaults.paymentType);\n if (defaults.paymentType.value == \"ON_CREDIT\") {\n document.getElementById(\"balance_container\").style.display = \"unset\"\n }\n else {\n document.getElementById(\"balance_container\").style.display = \"none\"\n }\n }\n\n if (defaults.templateLang) {\n setValue(\"templateLang\", defaults.templateLang);\n setSelectedTemplateLanguage(defaults.templateLang.toUpperCase())\n }\n\n\n if (defaults.branch != undefined) {\n setValue(\"branch\", defaults.branch);\n }\n else {\n if (optionBranches.length == 1) {\n var _branch = optionBranches[0];\n setValue(\"branch\", _branch);\n Commons.setDefault(\"branch\", _branch)\n if (_branch) {\n ApiClient.getTemplateSettings(companyId, _branch.value).then(response => {\n var _template = response.data;\n _template.branch = _branch.value;\n _template.mainColor = _template.mainColor ? _template.mainColor : \"#013289\";\n _template.secondaryColor = _template.secondaryColor ? _template.secondaryColor : \"#FFFFFF\";\n _template.appFont = _template.appFont ? _template.appFont : \"Arial\";\n setTemplate(_template);\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n }\n }\n\n\n if (defaults.invoiceType != undefined) {\n // \n changeInvType(defaults.invoiceType);\n setValue(\"invoiceType\", defaults.invoiceType);\n\n }\n else {\n if (optionsinvoiceTypes.length == 1) {\n changeInvType(optionsinvoiceTypes[0]);\n setValue(\"invoiceType\", optionsinvoiceTypes[0]);\n }\n else {\n setBlockuiLoading(false)\n }\n }\n }\n\n }\n });\n\n return () => mounted = false;\n\n }, []);\n\n function getContactEmails(sale, sendPaymentLink) {\n var customerName = sale.customeName;\n var company = SELECTED_COMPANY;\n var subject = t(\"emailSubject\", { company: company.name });\n\n var contactEmails = [];\n selectedContacts.forEach(contact => {\n if (contact.email == undefined || contact.email == null) {\n contact.email = contact.value;\n contact.name = contact.value\n }\n var body = \"

    \" + t(\"emailBody1\", { contactName: contact.name }) + \"

    \";\n body += \"

    \" + t(\"emailBody2\", { company: company.name }) + \"

    \";\n var link = \"\" + sale.invoiceType.name + \" \" + sale.series.name + sale.invoiceNumber + \"\";\n body += \"

    \" + t(\"emailBody3\", { link: link }) + \"

    \";\n\n if (sendPaymentLink && company.vivaQuickPay) {\n body += \"

    \" + t(\"emailVivaPayMess\") + \"

    \";\n body += \"

    \" + t(\"payWithViva\") + \"

    \";\n }\n if (sendPaymentLink && company.stripeAccountID) {\n var amount = sale.totalWithVat;\n body += \"

    \" + t(\"emailStripePayMess\") + \"

    \";\n body += \"

    \" + t(\"payWithTimologicPay\") + \"

    \";\n }\n contactEmails.push({\n subject: subject,\n body: body,\n email: contact.email\n });\n })\n return contactEmails;\n\n }\n\n function afterPrintProcess(sale) {\n setTimeout(function () {\n if (selectedContacts.length > 0) {\n document.getElementById(\"template\").style.display = \"unset\";\n setBlockuiLoading(false)\n }\n else {\n history.push(\"/\")\n history.push(\"/sale\")\n setBlockuiLoading(false);\n }\n }, 2000)\n }\n\n function getProductClassificationOfInvoicetype(classifications, invtype) {\n if (classifications != null) {\n for (var i = 0; i < classifications.length; i++) {\n if (classifications[i].invoiceType.myDataInvoiceType == invtype) {\n return classifications[i];\n }\n }\n\n }\n return null;\n }\n\n function prepareSale(_sale) {\n\n var sale = JSON.parse(JSON.stringify(_sale));\n\n\n if (mark && !isCredit) {\n sale.mark = mark;\n }\n if (id && !isCredit) {\n sale.id = id;\n }\n\n sale.saleEntries = [];\n refSalesEntries.current.getData().entries.forEach(e => {\n var saleEntry = {};\n\n if (!isCredit && sale.invoiceType.myDataInvoiceType != \"invoice5_1\") {\n saleEntry.id = e.id\n }\n if (!Number.isInteger(e.product.value)) {\n saleEntry.product = { id: undefined, name: e.product.label }\n }\n else {\n saleEntry.product = { id: e.product.value, name: e.product.label }\n }\n if (e.measurementUnit.value == \"-\") {\n saleEntry.measurementUnit = \"PIECES\";\n }\n else {\n saleEntry.measurementUnit = e.measurementUnit.value;\n }\n\n if (e.quantity == \"-\") {\n saleEntry.quantity = 1;\n }\n else {\n saleEntry.quantity = e.quantity;\n }\n\n saleEntry.vat = e.vat.value;\n\n saleEntry.discount = e.discount;\n saleEntry.unitPrice = e.unitPrice;\n saleEntry.priceWithVat = e.priceWithVat;\n saleEntry.priceWithoutVat = e.priceWithoutVat;\n\n if (e.vatCategoryException) {\n saleEntry.vatCategoryException = e.vatCategoryException.value\n }\n\n\n var prodClass = null;\n if (e.product != null && e.product.model != null) {\n prodClass = getProductClassificationOfInvoicetype(e.product.model.productClassifications, sale.invoiceType.myDataInvoiceType);\n }\n\n var _classifications = [];\n if (e.extraLineFields != undefined) {\n e.extraLineFields.forEach(e => {\n var _cl;\n var asExpenses = getValues().selfPricing || Commons.isOnGroup(sale.invoiceType.myDataInvoiceType, \"isExpense\");\n if (asExpenses) {\n _cl = {\n classificationCategory: e.classificationCategory.value,\n classificationValue: e.classificationValue.value,\n amount: parseFloat(e.amount).toFixed(2)\n }\n }\n else {\n _cl = {\n classificationCategory: e.classificationCategory.value,\n classificationValue: e.classificationValue.value,\n amount: parseFloat(e.amount).toFixed(2)\n }\n }\n\n _classifications.push(_cl);\n })\n\n }\n else if (prodClass != null) {\n var amnt = 0;\n if (prodClass.isPercent) {\n amnt = e.priceWithoutVat * prodClass.amount / 100;\n }\n\n _cl = {\n classificationCategory: prodClass.classificationCategory,\n classificationValue: prodClass.classificationValue,\n amount: parseFloat(amnt).toFixed(2)\n }\n\n _classifications.push(_cl);\n }\n else if (sale.invoiceType.invoiceTypeClassifications && sale.invoiceType.invoiceTypeClassifications.length > 0) {\n sale.invoiceType.invoiceTypeClassifications.forEach(_class => {\n var _cl;\n var asExpenses = getValues().selfPricing || Commons.isOnGroup(sale.invoiceType.myDataInvoiceType, \"isExpense\");\n if (asExpenses == _class.selfPricing) {\n var q = e.quantity == \"-\" ? 1 : e.quantity;\n var _amount = 0;\n if (_class.isPercent) {\n _amount = e.unitPrice * q * _class.amount / 100\n }\n else {\n _amount = _class.amount;\n }\n _amount -= e.discount * _amount / 100;\n\n var _cl = {\n classificationCategory: _class.classificationCategory,\n classificationValue: _class.classificationValue,\n amount: parseFloat(_amount).toFixed(2)\n }\n _classifications.push(_cl);\n }\n\n })\n }\n else {\n var _cl;\n var asExpenses = getValues().selfPricing || Commons.isOnGroup(sale.invoiceType.myDataInvoiceType, \"isExpense\");\n var q = e.quantity == \"-\" ? 1 : e.quantity;\n var _amount = e.unitPrice * q;\n _amount -= e.discount * _amount / 100;\n if (asExpenses) {\n _cl = {\n classificationCategory: suggestedInClassCatsOfInvType[0] ? suggestedInClassCatsOfInvType[0].value : null,\n classificationValue: suggestedInClassCatsOfInvType[0] ? suggestedInClassCatsOfInvType[0].classificationValues[0] : null,\n amount: _amount\n }\n }\n else {\n _cl = {\n classificationCategory: suggestedInClassCatsOfInvType[0] ? suggestedInClassCatsOfInvType[0].value : null,\n classificationValue: suggestedInClassCatsOfInvType[0] ? suggestedInClassCatsOfInvType[0].classificationValues[0] : null,\n amount: _amount\n }\n }\n\n _classifications.push(_cl);\n }\n\n var _taxes = [];\n if (e.taxes) {\n e.taxes.forEach(e => {\n // _taxes.push({\n // myDataMoreTax: \"TAX_\" + tax.myDataMoreTax.uid,\n // amount: tax.amount,\n // })\n\n var _myDataMoreTax_value = e.myDataMoreTax.value;\n if (!_myDataMoreTax_value.toString().includes(\"TAX_\")) {\n _myDataMoreTax_value = \"TAX_\" + _myDataMoreTax_value\n }\n\n _taxes.push({\n id: !isCredit && sale.invoiceType.myDataInvoiceType != \"invoice5_1\" ? e.id : null,\n amount: e.amount,\n myDataMoreTax: e.myDataMoreTax.type == \"DEDUCTION\" ? null : _myDataMoreTax_value,\n deduction: e.myDataMoreTax.type == \"DEDUCTION\" ? { name: e.myDataMoreTax.label, amountValue: e.amount, isSubtracted: e.isSubtracted } : null,\n type: e.myDataMoreTax.type\n })\n })\n\n }\n saleEntry.moreTaxes = _taxes;\n saleEntry.saleEntryClassifications = _classifications;\n\n\n\n\n //FOR THE NEXT MYDATA UPDATE\n // if (sale.invoiceType.myDataInvoiceType == \"invoice8_2\") {\n // entry.saleEntryClassifications = [];\n // }\n sale.saleEntries.push(saleEntry);\n })\n sale.movePurpose = sale.movePurpose ? sale.movePurpose.value : null;\n sale.templateLang = sale.templateLang ? sale.templateLang.toUpperCase() : \"GR\";\n\n sale.issuerPhone = sale.branch.model ? sale.branch.model.phone : null;\n sale.issuerEmail = sale.branch.model ? sale.branch.model.email : null;\n // sale.notes = refSalesEntries.current.getNotes();\n sale.branch = {\n id: sale.branch.value,\n name: sale.branch.label,\n address: sale.branch.model.address,\n subjectField: sale.branch.model.subjectField,\n branchNumber: sale.branch.model.branchNumber,\n logo: sale.branch.model.logo\n };\n sale.company = { id: SELECTED_COMPANY.id, taxpayerId: SELECTED_COMPANY.taxpayerId, name: SELECTED_COMPANY.name };\n\n\n var custTaxOffice = sale.taxOffice ? { name: sale.taxOffice.label, id: sale.taxOffice.value } : null;\n\n if (sale.customer) {\n if (!Number.isInteger(sale.customer.value)) {\n sale.customer = {\n id: undefined,\n name: sale.customer.label,\n taxpayerId: sale.taxpayerId,\n number: sale.addressNumber,\n postalCode: sale.postalCode,\n subjectField: sale.subjectField,\n city: sale.city,\n address: sale.fulladdress,\n taxOffice: custTaxOffice,\n country: sale.country.value\n };\n }\n else {\n sale.customer = {\n id: sale.customer.value,\n name: sale.customer.label,\n taxpayerId: sale.taxpayerId,\n country: sale.customer.model.country,\n number: sale.addressNumber,\n address: sale.fulladdress,\n postalCode: sale.postalCode,\n city: sale.city,\n taxOffice: sale.customer.model.taxOffice,\n subjectField: sale.subjectField,\n country: sale.country.value\n };\n }\n\n //correction of empty country\n if (sale.customer.country == undefined) {\n delete sale.customer;\n }\n }\n\n\n\n if (sale.correlativeSale != null) {\n sale.correlativeSale = sale.correlativeSale.value\n }\n\n sale.invoiceType = { id: sale.invoiceType.value, name: sale.invoiceType.label, myDataInvoiceType: sale.invoiceType.myDataInvoiceType };\n var _ser_lbl = sale.series == null ? \"\" : sale.series.label;\n var _ser_id = sale.series == null ? \"\" : sale.series.value;\n\n if (!Number.isInteger(_ser_id)) {\n _ser_id = \"\";\n }\n\n sale.series = { id: _ser_id, name: _ser_lbl };\n sale.paymentType = sale.paymentType ? sale.paymentType.value : null;\n\n if (sale.currency) {\n sale.currency = sale.currency.value;\n }\n\n\n\n sale.totalWithVat = totals.totalWithVat;\n sale.totalWithoutVat = totals.totalWithoutVat;\n sale.totalWithDiscount = totals.totalWithDiscount;\n sale.totalWithoutDiscount = totals.totalWithoutDiscount;\n sale.totalPayment = totals.totalPayment;\n sale.totalDiscount = totals.totalDiscount;\n\n sale.totalOtherTaxes = totals.totalOtherTaxes;\n sale.totalFeesTaxes = totals.totalFeesTaxes;\n sale.totalStumpOfDutyTaxes = totals.totalStumpOfDutyTaxes;\n sale.totalWithHoldTaxes = totals.totalWithHoldTaxes;\n sale.totalDeductionsTaxes = totals.totalDeductionsTaxes;\n\n var store = false;\n if (sale.invoiceType.myDataInvoiceType == \"invoice1_1\" || sale.invoiceType.myDataInvoiceType == \"invoice2_1\") {\n store = true;\n }\n var user = JSON.parse(localStorage.getItem(\"user\"));\n sale.contactEmails = {\n contacts: getContactEmails(sale, sendPaymentLink),\n store: store,\n taxpayerId: SELECTED_COMPANY.taxpayerId,\n fromEmail: user.email\n };\n\n\n\n var moreTaxes = saleMoreTaxesGridRef.current.getData();\n var _moretaxes = [];\n moreTaxes.forEach(tax => {\n\n var _myDataMoreTax_value = tax.myDataMoreTax.value;\n if (!_myDataMoreTax_value.toString().includes(\"TAX_\")) {\n _myDataMoreTax_value = \"TAX_\" + _myDataMoreTax_value\n }\n\n var t = {\n id: !isCredit && sale.invoiceType.myDataInvoiceType != \"invoice5_1\" ? tax.id : null,\n amount: tax.amount,\n myDataMoreTax: tax.myDataMoreTax.type == \"DEDUCTION\" ? null : _myDataMoreTax_value,\n deduction: tax.myDataMoreTax.type == \"DEDUCTION\" ? { name: tax.myDataMoreTax.label, amountValue: tax.amount, isSubtracted: tax.isSubtracted } : null,\n type: tax.myDataMoreTax.type\n }\n _moretaxes.push(t)\n })\n if (moreTaxes) {\n sale.moreTaxes = _moretaxes;\n }\n delete sale.taxpayerId;\n delete sale.city;\n delete sale.country;\n delete sale.postalCode;\n delete sale.fulladdress;\n delete sale.taxOffice;\n delete sale.subjectField;\n delete sale.addressNumber;\n delete sale.customerContacts;\n delete sale.otherTaxAmount;\n delete sale.otherTaxCategory;\n\n // if(sale.invoiceDate){\n // sale.invoiceDate=moment(sale.invoiceDate).format('YYYY-MM-DD HH:mm:ss')\n // }\n // if(sale.dispatchDate){\n // sale.dispatchDate=moment(sale.dispatchDate).format('YYYY-MM-DD HH:mm:ss')\n // }\n\n return sale;\n }\n\n function onSuccessSave(response, sale, _print) {\n var psale = getPrintSale();\n var _template = { template };\n if (_template) {\n psale.LOGO = _template.template.logo;\n psale.IBAN = _template.template.iban;\n psale.MOREINFO = _template.template.moreInfo;\n }\n if (response.data.response != undefined) {\n var resp = response.data.response[0];\n if (resp.errors != null) {\n var errors = resp.errors.error;\n\n console.log(errors);\n\n\n errors.forEach(error => {\n console.error(error);\n if (error.code == 201) {\n toast.error(myDataErrorMessageWithLink(error))\n }\n else {\n toast.error(error.message)\n }\n\n });\n setBlockuiLoading(false)\n\n // parseError(resp.errors)\n }\n else {\n if (resp.statusCode == \"Success\") {\n var mark = resp.invoiceMark;\n psale.INVOICEMARK = mark;\n psale.INVOICEUID = resp.invoiceUid;\n psale.QRURL = resp.qrUrl;\n if (mark) {\n toast.success(

    {t(\"invoiceSended\", { mark: mark })}

    , { autoClose: 20000 })\n\n }\n else {\n toast.success(t(\"saveSucceded\"))\n }\n document.getElementsByClassName(\"innerContainerMain\")[0].scrollTo(0, 0);\n }\n else {\n toast.error(t(\"Error\"))\n }\n\n if (_print) {\n iframePrintTemplate.current.print(psale)\n }\n sale.invoiceUid = psale.INVOICEUID;\n afterPrintProcess(sale)\n }\n }\n else {\n if (_print) {\n iframePrintTemplate.current.print(psale)\n }\n sale.invoiceUid = psale.INVOICEUID;\n afterPrintProcess(sale)\n toast.success(t(\"saveSucceded\"))\n document.getElementsByClassName(\"innerContainerMain\")[0].scrollTo(0, 0);\n }\n }\n\n function saveSale(_sale, _print = false) {\n\n var entriesHasError = refSalesEntries.current.hasError();\n if (entriesHasError) {\n toast.error(t(\"entriesErrors\"), 5000)\n return;\n }\n\n var entriesHasError = saleMoreTaxesGridRef.current.hasError();\n if (entriesHasError) {\n toast.error(t(\"entriesMoreTaxesErrors\"), 5000)\n return;\n }\n\n\n var _entries = refSalesEntries.current.getData();\n if (_entries.entries.length == 0) {\n toast.error(t(\"entriesErrorsCount\"), 5000)\n return;\n }\n\n\n var sale = prepareSale(_sale)\n console.debug(sale)\n\n Commons.setDefault(\"notes\", _sale.notes);\n\n\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: sale.isPreSale ? t(\"areYouSurePreSale\") : mydata ? t(\"areYouSureMyDataOn\") : t(\"areYouSureMyDataOff\"),\n buttons: [\n {\n label: t('Yes'),\n className: \"accept\",\n onClick: () => {\n setBlockuiLoading(true)\n ApiClient.saveSaleWithEntries(SELECTED_COMPANY.id, sale).then(\n response => {\n onSuccessSave(response, sale, _print)\n },\n error => {\n setBlockuiLoading(false)\n toast.error(\"Error: \" + error.response.data.message)\n console.error(error.response)\n setBlockuiLoading(false)\n }\n )\n }\n },\n {\n label: t('No'),\n onClick: () => { return; }\n }\n ],\n\n });\n }\n\n function changeCust(val) {\n setValue(\"customer\", val)\n setValue(\"invoiceDate\", startDate);\n setCustomerValue(val)\n\n\n\n\n var _contacts = [];\n if (val.model) {\n var contacts = val.model.contacts;\n if (contacts) {\n contacts.forEach(e => {\n _contacts.push({\n value: e.email,\n name: e.name,\n email: e.email,\n label: e.email\n })\n });\n\n\n\n if (SELECTED_COMPANY.accountantEmail) {\n _contacts.push({\n value: SELECTED_COMPANY.accountantEmail,\n name: t(\"companyAccountant\"),\n email: SELECTED_COMPANY.accountantEmail,\n label: SELECTED_COMPANY.accountantEmail\n })\n }\n\n var opts = {\n data: _contacts, columns: [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6,\n asLabel: true\n }\n ]\n }\n setCustomerContacts(opts)\n }\n\n\n setValue(\"taxpayerId\", val.model.taxpayerId);\n setValue(\"fulladdress\", val.model.address);\n setValue(\"postalCode\", val.model.postalCode);\n setValue(\"addressNumber\", val.model.number);\n setValue(\"city\", val.model.city);\n setValue(\"subjectField\", val.model.subjectField);\n\n if (val.model.country != null) {\n setValue(\"country\", { value: val.model.country.alpha2, label: t(val.model.country.alpha2) })\n }\n\n if (val.model.taxOffice) {\n setValue(\"taxOffice\", { label: val.model.taxOffice.name, value: val.model.taxOffice.id });\n }\n\n var selectedMyDataInvType = getValues().invoiceType.myDataInvoiceType;\n var isDeliveryNote = getValues().isDeliveryNote;\n\n if (selectedMyDataInvType == \"invoice2_01\" || selectedMyDataInvType == \"invoice11_02\") {\n setValue(\"recipientTaxPayerId\", val.model.taxpayerId);\n setValue(\"recipientName\", val.model.name);\n setValue(\"senderTaxPayerId\", val.model.taxpayerId);\n setValue(\"senderName\", val.model.name);\n }\n else if (selectedMyDataInvType == \"invoice9_3\" || isDeliveryNote){\n setValue(\"deliveryAddressNumber\", val.model.number);\n setValue(\"deliveryAddressStreet\", val.model.address);\n setValue(\"deliveryAddressCity\", val.model.city);\n setValue(\"deliveryAddressPostalCode\", val.model.postalCode);\n }\n\n clearErrors(\"customer\");\n clearErrors(\"taxpayerId\");\n }\n }\n function setDataWithClassifications(saleObject, optionIncClassCategories, myDataMoreTaxesOptions, isPreSale = false) {\n var saleEntries = saleObject.saleEntries;\n var entries = [];\n saleEntries.forEach(el => {\n var e = el;\n var product;\n\n\n if (isPreSale) {\n product = {\n label: el.product.label,\n value: el.product.value,\n model: el.product.model\n }\n }\n else {\n product = {\n label: el.product.name,\n value: el.product.name,\n model: el.product\n }\n }\n var vat;\n\n if (isPreSale) {\n vat = {\n label: el.vat.label,\n value: el.vat.value,\n }\n }\n else {\n var _lab = el.vat.id.replace(\"VAT_\", \"\");\n _lab = _lab == \"EMPTY\" ? \"-\" : _lab\n vat = {\n label: _lab,\n value: el.vat.id,\n }\n }\n\n var mu;\n if (isPreSale) {\n mu = {\n value: el.measurementUnit.value,\n label: t(el.measurementUnit.label),\n }\n }\n else {\n mu = {\n value: el.measurementUnit,\n label: t(el.measurementUnit),\n }\n }\n\n\n var _classifications = [];\n if (el.saleEntryClassifications) {\n el.saleEntryClassifications.forEach(e => {\n\n var _cl;\n var classcat = e.classificationCategory ? e.classificationCategory : e.classificationCategory;\n if (classcat) {\n var prefix = classcat.replace(\"CATEGORY_\", \"\") + \") \";\n\n\n var _cls = optionIncClassCategories[classcat];\n var newcls = [];\n if (_cls) {\n _cls.forEach(e => {\n newcls.push({\n label: t(e),\n value: e\n });\n });\n }\n\n\n if (e.classificationCategory) {\n _cl = {\n classificationCategory: {\n value: e.classificationCategory,\n label: prefix + t(e.classificationCategory),\n },\n classificationValue:\n {\n value: e.classificationValue,\n label: t(e.classificationValue) + \" (\" + e.classificationValue + \")\",\n },\n classificationValues: newcls,\n amount: parseFloat(e.amount).toFixed(2)\n }\n }\n else {\n _cl = {\n classificationCategory:\n {\n value: e.classificationCategory,\n label: prefix + t(e.classificationCategory),\n },\n classificationValue:\n {\n value: e.classificationValue,\n label: t(e.classificationValue) + \" (\" + e.classificationValue + \")\",\n },\n classificationValues: newcls,\n amount: parseFloat(e.amount).toFixed(2)\n }\n\n }\n _classifications.push(_cl);\n }\n\n })\n\n }\n else {\n if (isPreSale) {\n var invtype = getValues().invoiceType;\n var _cls\n if (invtype.invoiceTypeClassifications && invtype.invoiceTypeClassifications.length > 0) {\n\n invtype.invoiceTypeClassifications.forEach(_class => {\n var _cl;\n var asExpenses = getValues().selfPricing || Commons.isOnGroup(invtype.myDataInvoiceType, \"isExpense\");\n var prefix = _class.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \";\n\n if (asExpenses == _class.selfPricing) {\n var q = e.quantity == \"-\" ? 1 : e.quantity;\n var _amount = 0;\n if (_class.isPercent) {\n _amount = e.unitPrice * q * _class.amount / 100\n }\n else {\n _amount = _class.amount;\n }\n _amount -= e.discount * _amount / 100;\n\n var _cl = {\n classificationCategory: { label: prefix + \") \" + t(_class.classificationCategory), value: _class.classificationCategory },\n classificationValue: { label: t(_class.classificationValue) + \" (\" + _class.classificationValue + \")\", value: _class.classificationValue },\n classificationValues: _class.classificationValues,\n amount: parseFloat(_amount).toFixed(2)\n }\n _classifications.push(_cl);\n }\n\n })\n }\n else {\n var _cls = optionIncClassCategories[0];\n var types = _cls.classificationValues;\n var opts = [];\n if (types) {\n types.forEach(element => {\n opts.push({\n value: element,\n label: t(element) + \" (\" + element + \")\",\n });\n });\n }\n var _cl = {\n classificationCategory:\n {\n value: _cls.value,\n label: _cls.label\n },\n classificationValue:\n {\n value: _cls.classificationValues[0],\n label: t(_cls.classificationValues[0]) + \" (\" + _cls.classificationValues[0] + \")\",\n },\n classificationValues: types,\n amount: parseFloat(el.priceWithoutVat).toFixed(2)\n }\n _classifications.push(_cl);\n }\n }\n }\n\n var _mtaxes = [];\n if (el.moreTaxes) {\n el.moreTaxes.forEach(m => {\n var _value;\n if (m.deductionName && m.deductionName != \"\" && m.deductionAmountValue) {\n m.deduction = {\n id: m.id,\n amountValue: m.deductionAmountValue,\n name: m.deductionName\n };\n }\n\n if (m.deduction) {\n _value = m.deduction.id;\n m.myDataMoreTax = m.deduction;\n m.myDataMoreTax.type = \"DEDUCTION\"\n }\n else {\n _value = \"TAX_\" + m.myDataMoreTax.uid;\n }\n\n var type = m.myDataMoreTax.type\n var allTaxes = myDataMoreTaxesOptions;\n\n let groupTaxes = allTaxes.reduce((r, a) => {\n r[a.type] = [...r[a.type] || [], a];\n return r;\n }, {});\n\n var typeTaxes = groupTaxes[type];\n var new_type_options = [];\n typeTaxes.forEach(element => {\n new_type_options.push({\n value: \"TAX_\" + element.value,\n label: t(\"TAX_\" + element.value),\n amountValue: element.amountValue,\n uid: element.uid\n });\n });\n\n\n _mtaxes.push({\n amount: m.amount,\n myDataMoreTax: {\n label: m.deduction ? m.deduction.name : t(_value),\n value: _value,\n amountValue: m.myDataMoreTax.amountValue,\n uid: m.myDataMoreTax.uid,\n key: m.myDataMoreTax.key,\n type: m.myDataMoreTax.type,\n isSubtracted: m.deduction ? m.deduction.isSubtracted : null\n },\n type: {\n label: t(m.myDataMoreTax.type),\n value: m.myDataMoreTax.type,\n amountValue: m.myDataMoreTax.amountValue\n },\n myDataMoreTaxes: typeTaxes\n })\n var selectedMyDataInvType = getValues().invoiceType.myDataInvoiceType;\n if (selectedMyDataInvType == \"invoice8_2\") {\n setValue(\"otherTaxCategory\", _mtaxes[0].myDataMoreTax)\n setValue(\"otherTaxAmount\", _mtaxes[0].amount)\n }\n\n });\n }\n var vat_val = vat.label == \"-\" ? 0 : vat.label;\n var unitPriceWithVat = el.unitPrice * (1 + vat_val / 100)\n var _vatCategoryException = el.vatCategoryException ? { label: t(el.vatCategoryException), value: el.vatCategoryException } : null;\n var entry = {\n product: product,\n unitPrice: parseFloat(el.unitPrice).toFixed(2),\n unitPriceWithVat: parseFloat(unitPriceWithVat).toFixed(4),\n quantity: el.quantity,\n id: el.id,\n measurementUnit: mu,\n vat: vat,\n discount: el.discount ? el.discount : \"0.00\",\n priceWithoutVat: parseFloat(el.priceWithoutVat.toString()).toFixed(2),\n priceWithVat: el.priceWithVat,\n extraLineFields: _classifications,\n vatCategoryException: _vatCategoryException,\n taxes: _mtaxes\n }\n entries.push(entry)\n })\n refSalesEntries.current.setData(entries)\n reCalculateTotals();\n\n }\n\n const onSubmit = (sale, e) => {\n e.preventDefault();\n\n if (sale.invoiceType.myDataInvoiceType == \"invoice00_1\" || sale.invoiceType.myDataInvoiceType == \"invoice1_01\") {\n sale.isPreSale = true;\n sale.mydata = false\n }\n else {\n sale.isPreSale = false;\n sale.mydata = mydata ? mydata : false;\n }\n\n saveSale(sale, false)\n\n\n }\n\n const onError = (error) => {\n console.error(error)\n var el_name = Object.keys(error)[0];\n\n if (el_name === \"customer\") {\n var element = document.getElementsByClassName(\"customerCard\")[0];\n const yOffset = -10;\n const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;\n //toDo: reexamine above lines\n document.body.scrollTo({ top: y, behavior: 'smooth' });\n // document.getElementsByClassName(\"customerCard\")[0].scrollIntoView(true);\n }\n else {\n if (document.getElementsByName(el_name)) {\n var element = document.getElementsByName(el_name)[0];\n const yOffset = -10;\n const y = element.getBoundingClientRect().top + window.pageYOffset + yOffset;\n // document.body.scrollTo({ top: y, behavior: 'smooth' });\n document.getElementsByClassName(\"innerContainerMain\")[0].scrollTo({ top: y, behavior: 'smooth' });\n\n }\n\n }\n\n }\n\n const handlePrintAndSave = e => {\n // e.preventDefault();\n var sale = getValues();\n if (sale.invoiceType.myDataInvoiceType == \"invoice00_1\" || sale.invoiceType.myDataInvoiceType == \"invoice1_01\") {\n sale.isPreSale = true;\n sale.mydata = false\n }\n else {\n sale.isPreSale = false;\n sale.mydata = mydata ? mydata : false;\n }\n saveSale(sale, true)\n\n }\n\n function appendAccountantEmailOnContactsSelect() {\n var _contacts = [];\n if (SELECTED_COMPANY.accountantEmail) {\n _contacts.push({\n value: SELECTED_COMPANY.accountantEmail,\n name: t(\"companyAccountant\"),\n email: SELECTED_COMPANY.accountantEmail,\n label: SELECTED_COMPANY.accountantEmail\n })\n }\n\n var opts = {\n data: _contacts, columns: [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6,\n asLabel: true\n }\n ]\n }\n setCustomerContacts(opts)\n }\n\n\n const loadTaxOfficeOptions = (inputValue, callback) => {\n\n ApiClient.getAllTaxOffices().then(\n response => {\n\n var data_taxOffices = response.data;\n var optionsTO = []\n data_taxOffices.forEach(element => {\n optionsTO.push({\n value: element.id,\n label: t(element.name)\n });\n });\n callback(optionsTO)\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n );\n\n }\n\n\n const onInputChangeCustomer = (val, action) => {\n if (action.action != \"input-blur\" && action.action != \"menu-close\") {\n setValue(\"customer\", { label: val, value: val });\n setCustomerInputValue(val)\n document.getElementById(\"saveCustomerForFuture\").style.display = \"unset\";\n // setCustomerValue({ label: val, value: val })\n\n }\n else if (action.action == \"menu-close\") {\n var _country = getValues()[\"country\"];\n if (_country == undefined || _country == \"\") {\n var selectedMyDataInvType = getValues().invoiceType.myDataInvoiceType;\n if (selectedMyDataInvType != \"invoice1_3\") {\n setValue(\"country\", DefaultCountry)\n }\n\n }\n }\n }\n\n const onChangeCustomer = val => {\n // var _val=val;\n if (val.__isNew__) {\n document.getElementById(\"saveCustomerForFuture\").style.display = \"unset\";\n\n }\n else {\n document.getElementById(\"saveCustomerForFuture\").style.display = \"none\";\n }\n changeCust(val)\n\n };\n\n const onChangePaymentType = val => {\n if (val != null && val.value == \"ON_CREDIT\") {\n document.getElementById(\"balance_container\").style.display = \"unset\"\n }\n else {\n document.getElementById(\"balance_container\").style.display = \"none\"\n }\n setValue(\"paymentType\", val);\n Commons.setDefault(\"paymentType\", val);\n };\n\n function changeSeries(val) {\n var companyId = SELECTED_COMPANY.id\n var branch = getValues().branch;\n var invType = getValues().invoiceType;\n var branchName, invTypeName;\n if (branch) {\n branchName = branch.label;\n }\n if (invType) {\n invTypeName = invType.label;\n }\n var series = val ? val.label : \"\";\n\n var invoiceNumberIdentifierDTO = {\n branch: branch.model.id,\n invoiceType: invTypeName,\n series: series\n }\n\n ApiClient.getMaxCompanySaleInstanceNumber(invoiceNumberIdentifierDTO, companyId).then(\n response => {\n if (response) {\n setValue(\"invoiceNumber\", response.data)\n }\n else {\n setValue(\"invoiceNumber\", 1)\n }\n clearErrors(\"series\");\n clearErrors(\"invoiceNumber\");\n\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n );\n }\n\n const onChangeSelfPricing = e => {\n var val = e.target.checked;\n setSelfPricingChecked(val);\n var invoiceType = getValues().invoiceType;\n var asExpenses = Commons.isOnGroup(invoiceType.myDataInvoiceType, \"isExpense\") || val;\n\n if (id == undefined) {\n ApiClient.getClassificationCategoriesOfMyDataInvoice(invoiceType.myDataInvoiceType, asExpenses).then(response => {\n var data = response.data;\n var _optionIncClassCategories = [];\n data.forEach(element => {\n var _classificationCategoryType;\n var _classificationValueTypes;\n _classificationCategoryType = element.classificationCategory;\n _classificationValueTypes = element.classificationValues;\n\n var prefix = _classificationCategoryType.replace(\"CATEGORY_\", \"\") + \") \";\n _optionIncClassCategories.push({\n value: _classificationCategoryType,\n label: prefix + t(_classificationCategoryType),\n classificationValues: _classificationValueTypes,\n });\n });\n setSuggestedInClassCatsOfInvType(_optionIncClassCategories);\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n refSalesEntries.current.clearData();\n }\n }\n\n const onChangeSeries = val => {\n setValue(\"series\", val);\n Commons.setDefault(\"series\", val);\n changeSeries(val)\n }\n\n const onChangeBranch = val => {\n setValue(\"branch\", val);\n changeBranch(val);\n }\n\n const onChangeMovePurpose = val => {\n setValue(\"movePurpose\", val);\n clearErrors(\"movePurpose\");\n\n }\n\n const taxOfficeOnChange = val => {\n setValue(\"taxOffice\", val);\n }\n\n const isDeliveryNoteChange = e => {\n setInitiallyCollapsedDeliveryMore({ collapsed: e.target.checked, show: e.target.checked })\n\n if (e.target.checked) {\n document.getElementsByClassName(\"deliveryAddressPostalCodeContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressCityContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressStreetContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressNumberContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressPostalCodeContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressCityContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressStreetContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressNumberContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"movePurposeContainer\")[0].classList.add(\"required\")\n\n setIsDeliverMandatory(true)\n setIsLoadingMandatory(true)\n }\n else {\n document.getElementsByClassName(\"deliveryAddressPostalCodeContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressCityContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressStreetContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressNumberContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressPostalCodeContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressCityContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressStreetContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressNumberContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"movePurposeContainer\")[0].classList.remove(\"required\")\n\n setIsDeliverMandatory(false)\n setIsLoadingMandatory(false)\n }\n\n\n }\n\n function changeBranch(val) {\n if (!isCredit && id == null) {\n Commons.setDefault(\"branch\", val)\n }\n\n clearErrors(\"branch\");\n setValue(\"series\", \"\")\n setValue(\"invoiceNumber\", \"\")\n var selectedInvType = getValues().invoiceType;\n var invoiceTypeId = selectedInvType.value;\n var branchId = val.id ? val.id : val.model.id;\n\n if (selectedInvType) {\n ApiClient.getCompanyInvoiceTypeSeries(SELECTED_COMPANY.id, invoiceTypeId, branchId, isCredit).then(response => {\n var data = response.data;\n var optionSeries = [];\n if (data) {\n data.forEach(element => {\n optionSeries.push({\n value: element.id,\n startNumber: element.startNumber,\n label: element.name,\n });\n });\n }\n\n\n setContent(content => ({\n ...content,\n ...{ series: optionSeries }\n }));\n\n },\n error => {\n setBlockuiLoading(false)\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n var companyId = SELECTED_COMPANY.id;\n\n\n ApiClient.getTemplateSettings(companyId, branchId).then(response => {\n var _template = response.data;\n _template.branch = branchId;\n _template.mainColor = _template.mainColor ? _template.mainColor : \"#013289\";\n _template.secondaryColor = _template.secondaryColor ? _template.secondaryColor : \"#FFFFFF\";\n _template.appFont = _template.appFont ? _template.appFont : \"Arial\";\n setTemplate(_template);\n\n },\n error => {\n setBlockuiLoading(false)\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n function clearAllMandatoryStarts() {\n document.getElementsByClassName(\"loadingAddressPostalCodeContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressCityContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressStreetContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressNumberContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressPostalCodeContainer\")[0].classList.remove('required');\n document.getElementsByClassName(\"deliveryAddressCityContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressStreetContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressNumberContainer\")[0].classList.remove(\"required\")\n }\n\n function changeInvType(val) {\n\n clearAllMandatoryStarts();\n\n\n //========================================================\n // Default info message per invoice type\n var defaults = Commons.getDefaults();\n var infos = defaults.invoiceTypeMessages;\n document.getElementById(\"documentTypeInfo\").style.display = \"none\";\n if (infos) {\n var index = infos.indexOf(val.myDataInvoiceType);\n if (infos[index]) {\n document.getElementById(\"documentTypeInfo\").style.display = \"block\";\n document.querySelector(\"#documentTypeInfo .invoicetype_message\").innerText = t(infos[index] + \"_info\");\n document.querySelector(\"#documentTypeInfo .invoicetype_message\").setAttribute(\"data\", \"invoice2_1\");\n }\n }\n //========================================================\n\n\n var companyId = SELECTED_COMPANY.id;\n var invoiceTypeId = val.value;\n clearErrors(\"taxpayerId\");\n clearErrors(\"customer\");\n document.getElementsByClassName(\"correlativeSale\")[0].style.display = \"none\";\n document.getElementsByClassName(\"selfPricing\")[0].style.display = \"none\";\n\n\n if (Commons.isOnGroup(val.myDataInvoiceType, \"customerForbidden\")) {\n document.getElementsByClassName(\"customerFromGroup\")[0].classList.remove('required');\n var el = document.getElementsByClassName(\"customerFromGroup\");\n document.getElementById(\"taxpayerContainer\").classList.remove('required');\n setCustomerRequired(false);\n // setCustomerHidden(\"none\");\n }\n else {\n if (!document.getElementsByClassName(\"customerFromGroup\")[0].classList.contains(\"required\")) {\n document.getElementsByClassName(\"customerFromGroup\")[0].classList.add('required');\n document.getElementById(\"taxpayerContainer\").classList.add('required');\n setCustomerRequired(true);\n }\n // setCustomerHidden(\"flex\");\n }\n\n if (val.myDataInvoiceType == \"invoice5_1\" || val.myDataInvoiceType == \"invoice1_6\" || val.myDataInvoiceType == \"invoice2_4\" || val.myDataInvoiceType == \"invoice8_2\" || val.myDataInvoiceType == \"invoice11_4\") {\n document.getElementsByClassName(\"correlativeSale\")[0].style.display = \"unset\";\n // setCustomerRequired(true);\n // setCustomerHidden(\"flex\");\n }\n\n\n if (Commons.isOnGroup(val.myDataInvoiceType, \"trafficDataForbidden\")) {\n document.getElementsByClassName(\"transformDataCard\")[0].style.display = \"none\";\n }\n else {\n document.getElementsByClassName(\"transformDataCard\")[0].style.display = \"flex\";\n }\n\n\n if (val.myDataInvoiceType == \"invoice8_2\") {\n document.getElementById(\"taxesMoreAccordion\").style.display = \"none\";\n document.getElementById(\"salesMoreAccordion\").style.display = \"none\";\n\n }\n else {\n document.getElementById(\"taxesMoreAccordion\").style.display = \"unset\";\n document.getElementById(\"salesMoreAccordion\").style.display = \"unset\";\n }\n\n //=======================\n\n if (val.myDataInvoiceType == \"invoice3_1\") {\n\n document.getElementsByClassName(\"cityContainer\")[0].classList.add(\"required\")\n setAddressRequired(true)\n }\n else {\n document.getElementsByClassName(\"cityContainer\")[0].classList.remove('required');\n setAddressRequired(false)\n }\n if (val.myDataInvoiceType == \"invoice9_3\") {\n setInitiallyCollapsedDeliveryMore({ collapsed: true, show: true })\n document.getElementsByClassName(\"deliveryAddressPostalCodeContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressCityContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressStreetContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressNumberContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressPostalCodeContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressCityContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressStreetContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressNumberContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"movePurposeContainer\")[0].classList.add(\"required\")\n setIsDeliverMandatory(true)\n setIsLoadingMandatory(true)\n }\n else {\n setInitiallyCollapsedDeliveryMore({ collapsed: true, show: false })\n document.getElementsByClassName(\"deliveryAddressPostalCodeContainer\")[0].classList.remove('required');\n document.getElementsByClassName(\"deliveryAddressCityContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressStreetContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"deliveryAddressNumberContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressPostalCodeContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressCityContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressStreetContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"loadingAddressNumberContainer\")[0].classList.remove(\"required\")\n document.getElementsByClassName(\"movePurposeContainer\")[0].classList.remove(\"required\")\n setIsDeliverMandatory(false)\n setIsLoadingMandatory(false)\n }\n\n\n setTransportInfoDisplay(\"none\");\n if (val.myDataInvoiceType == \"invoice2_01\" || val.myDataInvoiceType == \"invoice11_02\") {\n setTransportInfoDisplay(\"flex\");\n }\n\n setIsInvoice00_1(false);\n if (val.myDataInvoiceType == \"invoice00_1\" || val.myDataInvoiceType == \"invoice1_01\") {\n setIsInvoice00_1(true);\n }\n\n\n if (Commons.isOnGroup(val.myDataInvoiceType, \"isDeliveryNote\")) {\n setIsDeliveryNoteDisable(false)\n if (getValues().isDeliveryNote) {\n document.getElementsByClassName(\"deliveryAddressPostalCodeContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressCityContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressStreetContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"deliveryAddressNumberContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressPostalCodeContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressCityContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressStreetContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"loadingAddressNumberContainer\")[0].classList.add(\"required\")\n document.getElementsByClassName(\"movePurposeContainer\")[0].classList.add(\"required\")\n }\n\n }\n else {\n setIsDeliveryNoteDisable(true)\n }\n\n // setCustomerHidden(\"flex\");\n // if (Commons.isOnGroup(val.myDataInvoiceType, \"countryDisable\")) {\n // setCountryDisabled(true)\n // }\n // else {\n // setCountryDisabled(false)\n // }\n\n //------------------\n\n if (val.myDataInvoiceType == \"invoice8_2\") {\n\n\n var _saleEntries = [];\n var saleEntry = {};\n saleEntry.product = { id: undefined, label: t(\"AccomodationTax\"), value: \"AccomodationTax\", model: { price: \"0.00\", priceWithVat: \"0.00\" } }\n saleEntry.measurementUnit = { label: \"-\", value: \"-\" };\n saleEntry.quantity = \"-\";\n saleEntry.vat = { label: \"-\", value: \"VAT_EMPTY\" };\n saleEntry.unitPrice = \"0.00\";\n saleEntry.priceWithVat = \"0.00\";\n saleEntry.priceWithoutVat = \"0.00\";\n saleEntry.unitPriceWithVat = \"0.00\";\n saleEntry.discount = \"0.00\";\n\n _saleEntries.push(saleEntry);\n\n refSalesEntries.current.setData(_saleEntries)\n\n setEntriesHidden(\"none\")\n setOtherTaxHidden(\"flex\")\n setOtherRequired(true)\n }\n else {\n setEntriesHidden(\"unset\")\n setOtherTaxHidden(\"none\")\n setOtherRequired(false)\n }\n //==========================\n\n\n\n if (Commons.isOnGroup(val.myDataInvoiceType, \"allowSelfPrice\")) {\n document.getElementsByClassName(\"selfPricing\")[0].style.display = \"unset\";\n }\n\n var selfPricing = getValues().selfPricing;\n\n var asExpenses = Commons.isOnGroup(val.myDataInvoiceType, \"isExpense\") || selfPricing\n\n ApiClient.getClassificationCategoriesOfMyDataInvoice(val.myDataInvoiceType, asExpenses).then(response => {\n var data = response.data;\n var _optionIncClassCategories = [];\n data.forEach(element => {\n var _classificationCategoryType = element.classificationCategory;\n var _classificationValueTypes = element.classificationValues;\n\n var prefix = _classificationCategoryType.replace(\"CATEGORY_\", \"\") + \") \";\n _optionIncClassCategories.push({\n value: _classificationCategoryType,\n label: prefix + t(_classificationCategoryType),\n classificationValues: _classificationValueTypes,\n classificationValue: element.classificationValue,\n });\n });\n\n setSuggestedInClassCatsOfInvType(_optionIncClassCategories);\n setSuggestedInvoiceClassCatsOfInvType(val.invoiceTypeClassifications);\n if (isPreSale) {\n var sale = getValues();\n saleEntries = refSalesEntries.current.getData();\n\n var saleObject = {\n saleEntries: saleEntries.entries\n }\n if (saleEntries && saleEntries.entries.length > 0) {\n setDataWithClassifications(saleObject, _optionIncClassCategories, sale.myDataMoreTaxes, true)\n }\n\n }\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n\n var branch = getValues().branch;\n var branchId = null;\n if (branch) {\n branchId = branch.model.id\n }\n if (branchId == null && val.branchId != null) {\n branchId = val.branchId;\n }\n setValue(\"series\", \"\")\n setValue(\"invoiceNumber\", \"\")\n ApiClient.getCompanyInvoiceTypeSeries(SELECTED_COMPANY.id, invoiceTypeId, branchId, isCredit).then(response => {\n var data = response.data;\n var optionSeries = [];\n if (data) {\n data.forEach(element => {\n optionSeries.push({\n value: element.id,\n startNumber: element.startNumber,\n label: element.name,\n });\n });\n }\n\n setContent(content => ({\n ...content,\n ...{ series: optionSeries }\n }));\n\n setBlockuiLoading(false)\n\n clearErrors(\"invoiceType\");\n\n if (document.querySelector(\".afterinvoice\")) {\n document.querySelector(\".afterinvoice\").style.display = \"flex\"\n }\n\n\n\n if (id == undefined && optionSeries.length > 0) {\n\n var defaultsSeriesLetters = optionSeries.map(c => c.label);\n\n if (defaults != undefined && defaults.series != undefined && defaults.series.__isNew__) {\n setValue(\"series\", defaults.series);\n changeSeries(defaults.series);\n }\n else {\n if (optionSeries.length == 1) {\n setValue(\"series\", optionSeries[0]);\n changeSeries(optionSeries[0]);\n }\n else if (defaults.series && defaultsSeriesLetters.includes(defaults.series.label)) {\n setValue(\"series\", defaults.series);\n changeSeries(defaults.series);\n }\n }\n }\n\n\n\n\n //if query params customer not null\n let customer = params.get('customer')\n\n if (customer) {\n\n ApiClient.getCompanyCustomer(companyId, customer).then(\n response => {\n\n var cust = response.data;\n var cust_obj = {\n label: cust.name,\n value: customer,\n taxpayerId: cust.taxpayerId,\n model: cust\n };\n setValue(\"customer\", cust_obj);\n setCustomerValue(cust_obj);\n changeCust(cust_obj);\n\n\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n );\n }\n\n\n },\n error => {\n setBlockuiLoading(false)\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n if (id == undefined) {\n Commons.setDefault(\"invoiceType\", val)\n }\n\n appendAccountantEmailOnContactsSelect();\n\n if (Commons.isOnGroup(val.myDataInvoiceType, \"zeroPrice\")) {\n setValue(\"paymentType\", null); \n document.getElementById(\"salesMoreAccordion\").style.display = \"none\";\n setValue(\"currency\", null); \n setValue(\"exchangeRate\", null); \n }\n else{\n document.getElementById(\"salesMoreAccordion\").style.display = \"unset\";\n }\n }\n\n function clearDeliveryValues(){\n setValue(\"loadingAddressStreet\", null);\n setValue(\"loadingAddressNumber\", null);\n setValue(\"loadingAddressCity\",null);\n setValue(\"loadingAddressPostalCode\", null);\n setValue(\"deliveryAddressStreet\", null);\n setValue(\"deliveryAddressNumber\", null);\n setValue(\"deliveryAddressCity\", null);\n setValue(\"deliveryAddressPostalCode\", null);\n setValue(\"movePurpose\", null);\n setValue(\"isDeliveryNote\",false);\n }\n\n const onChangeInvoiceType = val => {\n setValue(\"invoiceType\", val)\n var defaults = Commons.getDefaults();\n\n if (defaults != undefined && defaults.series != undefined && defaults.series.__isNew__) {\n Commons.setDefault(\"series\", null)\n }\n clearDeliveryValues();\n if (!isPreSale) {\n refSalesEntries.current.clearData();\n }\n\n saleEntries = refSalesEntries.current.getData();\n if (content != undefined) {\n changeInvType(val)\n }\n\n\n }\n\n const onChangeCorrelativeInvoice = val => {\n setValue(\"correlativeSale\", val);\n\n if (val.model) {\n var selfPricing = getValues().selfPricing;\n var asExpenses = Commons.isOnGroup(val.model.myDataInvoiceType, \"isExpense\") || selfPricing;\n var companyId = SELECTED_COMPANY.id;\n\n ApiClient.getCompanyCustomerByTaxpayerId(companyId, val.model.customerTaxPayerId, val.model.customerName).then(\n response => {\n var cust = response.data;\n var cust_obj = {\n label: cust.name,\n value: customer,\n taxpayerId: cust.taxpayerId,\n model: cust\n };\n setValue(\"customer\", cust_obj);\n setCustomerValue(cust_obj);\n changeCust(cust_obj);\n },\n error => {\n console.error(\"Error: \" + error.data)\n }\n );\n\n ApiClient.getClassificationCategoriesOfMyDataInvoice(val.model.myDataInvoiceType, asExpenses).then(response => {\n var data = response.data;\n var obj = {}\n data.forEach(element => {\n if (element.classificationCategory) {\n obj[element.classificationCategory] = element.classificationValues;\n }\n else {\n obj[element.classificationCategory] = element.classificationValues;\n }\n });\n var _selectedInvoiceType = getValues().invoiceType;\n\n if (_selectedInvoiceType.myDataInvoiceType != \"invoice8_2\") {\n setDataWithClassifications(val.model, obj, moreTaxesOptions)\n if (val.model.saleInstanceMoreTaxes && val.model.saleInstanceMoreTaxes.length > 0) {\n val.model.saleInstanceMoreTaxes.forEach(tax => {\n if (tax.deduction) {\n tax.myDataMoreTax = tax.deduction;\n }\n\n tax.value = \"TAX_\" + tax.uid;\n tax.label = tax.type == \"DEDUCTION\" ? tax.name : t(\"TAX_\" + tax.uid);\n tax.type = {\n value: tax.myDataMoreTax.type,\n label: t(tax.myDataMoreTax.type)\n }\n\n tax.myDataMoreTax.value = \"TAX_\" + tax.myDataMoreTax.uid;\n tax.myDataMoreTax.label = t(\"TAX_\" + tax.myDataMoreTax.uid);\n\n\n });\n var _data_transformed = saleMoreTaxesGridRef.current.transformData(val.model.saleInstanceMoreTaxes, moreTaxesTypesOptions, moreTaxesOptions)\n saleMoreTaxesGridRef.current.setData(_data_transformed);\n reCalculateTotals();\n setInitiallyCollapsed({ collapsed: false, show: true });\n }\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n }\n\n const getPrintSale = () => {\n var sale = getValues();\n sale.entries = refSalesEntries.current.getData().entries;\n sale.saleInstanceMoreTaxes = saleMoreTaxesGridRef.current.getData();\n sale.totals = totals;\n var psale = iframePrintTemplate.current.getPrintSale(sale);\n var _template = { template };\n if (_template) {\n psale.LOGO = _template.template.logo;\n psale.IBAN = _template.template.iban;\n psale.MOREINFO = _template.template.moreInfo;\n }\n\n return psale;\n }\n\n const handlePrint = e => {\n e.preventDefault();\n var sale = getValues();\n sale.entries = refSalesEntries.current.getData().entries;\n sale.saleInstanceMoreTaxes = saleMoreTaxesGridRef.current.getData();\n sale.totals = totals;\n var psale = iframePrintTemplate.current.getPrintSale(sale);\n var _template = { template };\n if (_template) {\n psale.LOGO = _template.template.logo;\n psale.IBAN = _template.template.iban;\n psale.MOREINFO = _template.template.moreInfo;\n }\n iframePrintTemplate.current.print(psale)\n }\n\n const convertPaymentTypes = types => {\n var optionspaymentTypes = [];\n if (types != undefined) {\n types.forEach(element => {\n optionspaymentTypes.push({\n value: element.value,\n label: t(element.label),\n });\n });\n\n }\n\n\n return optionspaymentTypes\n }\n const convertPaymentType = type => {\n var optionspaymentType = {\n value: type.value,\n label: t(type.label),\n }\n return optionspaymentType\n }\n\n const listenMessage = (msg) => {\n\n var mess = msg.data;\n if (mess.source == \"timologic\") {\n var customerName = mess.sale.customerName;\n if (customerName == null) {\n customerName = mess.sale.customerFirstName + \" \" + mess.sale.customerLastName;\n }\n var customer = { label: customerName, value: customerName }\n var city = mess.sale.customerCity;\n var address = mess.sale.customerAddress;\n var postalCode = mess.sale.postalCode;\n var taxpayerId = mess.sale.customerTaxPayerId;\n var addressNumber = mess.sale.addressNumber;\n var subjectField = mess.sale.subjectField;\n var entries = [];\n if (mess.sale.products) {\n mess.sale.products.forEach(e => {\n var productModel = {\n name: e.name\n }\n var product = {\n label: e.name,\n value: e.name,\n model: productModel\n }\n var vat_enum = \"VAT_\" + e.vat;\n var vat_label = e.vat;\n\n if (mess.sale.vat) {\n vat_enum = \"VAT_\" + mess.sale.vat;\n vat_label = mess.sale.vat;\n }\n\n var vat = {\n label: vat_label,\n value: vat_enum,\n }\n\n var mu = {\n value: e.measurementUnit,\n label: t(e.measurementUnit),\n }\n if (e.unitPriceWithVat) {\n e.unitPrice = parseFloat(e.unitPriceWithVat / (1 + vat_label / 100))\n }\n var priceWithoutVat = parseFloat(e.quantity * e.unitPrice);\n\n // var vat_amount = parseFloat(vat_label * priceWithoutVat / 100)\n\n var unitPriceWithVat = e.unitPrice * (1 + vat_label / 100)\n\n var priceWithVat = parseFloat(unitPriceWithVat * e.quantity).toFixed(2);\n\n\n var entry = {\n product: product,\n unitPrice: parseFloat(e.unitPrice).toFixed(2),\n unitPriceWithVat: parseFloat(unitPriceWithVat).toFixed(4),\n quantity: e.quantity,\n measurementUnit: mu,\n vat: vat,\n discount: \"0.00\",\n priceWithoutVat: priceWithoutVat.toFixed(2),\n priceWithVat: priceWithVat\n }\n if (entry.product.value) {\n entries.push(entry);\n }\n\n })\n }\n\n\n refSalesEntries.current.setData(entries)\n reCalculateTotals()\n\n if (taxpayerId) {\n setValue(\"taxpayerId\", taxpayerId);\n }\n\n setValue(\"country\", defcountry)\n\n if (customer) {\n setValue(\"customer\", customer);\n setCustomerValue(customer);\n }\n if (city) {\n setValue(\"city\", city);\n }\n if (address) {\n setValue(\"fulladdress\", address);\n }\n if (postalCode) {\n setValue(\"postalCode\", postalCode);\n }\n if (addressNumber) {\n setValue(\"addressNumber\", addressNumber);\n }\n if (subjectField) {\n setValue(\"subjectField\", subjectField)\n }\n }\n }\n\n const dismissSalesEditAlertHandle = () => {\n Commons.setDefault(\"dismissSalesEditAlert\", true)\n }\n\n const myDataTokenEmptyToastMessage = () => {\n var _url = \"/usercompany/\" + SELECTED_COMPANY.id;\n return (\n
    \n {t(\"myDataTokenEmpty1\")} {t(\"myDataTokenEmpty2\")} {t(\"myDataTokenEmpty3\")}\n
    \n )\n };\n const myDataErrorMessageWithLink = (error) => {\n return (\n
    \n {error.message} \n
    \n )\n }\n\n const showErrorDetailsModal = (error) => {\n refErrorDetailsModal.current.open(error);\n }\n\n const hangleChangeMyData = e => {\n if (SELECTED_COMPANY.myDataToken) {\n if (SELECTED_COMPANY.myDataToken.trim() != \"\") {\n setMyData(e.target.checked)\n Commons.setDefault(\"mydata\", e.target.checked);\n }\n else {\n setMyData(false)\n Commons.setDefault(\"mydata\", false);\n toast.error(myDataTokenEmptyToastMessage, { autoClose: 5000 })\n }\n }\n else {\n\n setMyData(false)\n Commons.setDefault(\"mydata\", false);\n toast.error(myDataTokenEmptyToastMessage, { autoClose: 5000 })\n }\n }\n\n const onChangeContact = data => {\n setSelectedContacts(data);\n }\n const onChangeDispatchDate = (date) => {\n setDispatchDate(date)\n setValue(\"dispatchDate\", date);\n }\n const onChangeDate = (date) => {\n setStartDate(date)\n setValue(\"invoiceDate\", date);\n }\n\n const reCalculateTotals = () => {\n if (refSalesEntries.current) {\n var nodes = refSalesEntries.current.getData();\n var saletaxes = saleMoreTaxesGridRef.current.getData();\n refEntriesSummary.current.calculateAndUpdateUI(nodes, saletaxes);\n }\n }\n\n const onClickFetchTaxPayerId = () => {\n var AFMcalledfor = getValues().taxpayerId;\n var AFMcalledby = SELECTED_COMPANY.taxpayerId;\n setBlockuiLoading(true)\n ApiClient.checkAfm(AFMcalledfor, AFMcalledby).then(\n response => {\n try {\n var res = response.data.Body.rgWsPublicAfmMethodResponse;\n\n var error = res.pErrorRec_out;\n if (error) {\n if (error.errorCode != null) {\n toast.error(error.errorDescr);\n setBlockuiLoading(false)\n return;\n }\n }\n\n\n var basic_rec = res.RgWsPublicBasicRt_out;\n var firm_act_tab = res.arrayOfRgWsPublicFirmActRt_out;\n var _customerName = basic_rec.onomasia.substring(0, 127);\n setValue(\"customer\", { label: _customerName, value: _customerName });\n setCustomerInputValue(_customerName)\n setValue(\"fulladdress\", basic_rec.postalAddress);\n if (firm_act_tab) {\n if (Array.isArray(firm_act_tab.RgWsPublicFirmActRtUser)) {\n setValue(\"subjectField\", firm_act_tab.RgWsPublicFirmActRtUser[0].firmActDescr);\n }\n else {\n setValue(\"subjectField\", firm_act_tab.RgWsPublicFirmActRtUser.firmActDescr);\n\n }\n }\n setValue(\"country\", DefaultCountry)\n setValue(\"postalCode\", basic_rec.postalZipCode);\n setValue(\"city\", basic_rec.postalAreaDescription);\n setValue(\"addressNumber\", basic_rec.postalAddressNo);\n setValue(\"taxOffice\", { \"value\": basic_rec.doy, \"label\": basic_rec.doyDescr });\n var selectedMyDataInvType = getValues().invoiceType.myDataInvoiceType;\n if (selectedMyDataInvType == \"invoice2_01\" || selectedMyDataInvType == \"invoice11_02\") {\n setValue(\"recipientTaxPayerId\", AFMcalledfor);\n setValue(\"recipientName\", _customerName);\n\n setValue(\"senderTaxPayerId\", AFMcalledfor);\n setValue(\"senderName\", _customerName);\n }\n\n document.getElementById(\"saveCustomerForFuture\").style.display = \"unset\";\n trigger();\n setBlockuiLoading(false)\n }\n catch (e) {\n setBlockuiLoading(false)\n }\n\n },\n error => {\n if (error.response) {\n toast.error(error.message + \": \" + error.response.data.message)\n console.error(error.response.data.message);\n }\n setBlockuiLoading(false)\n }\n )\n }\n\n const onChangeCurrency = (currency) => {\n setValue(\"currency\", currency)\n setValue(\"exchangeRate\", parseFloat(currency.rate).toFixed(4))\n }\n\n const onBalanceChange = (e) => {\n var newbalance = e.target.value ? e.target.value : 0.0;\n setValue(\"balance\", parseFloat(newbalance).toFixed(2))\n }\n const onInputChangeContact = (contact) => {\n\n }\n\n const onFooterAddCustomer = () => {\n window.open(\"/customer\", '_blank');\n\n }\n const cleanNotes = () => {\n setValue(\"notes\", \"\");\n }\n const onOtherTaxesSelectChange = (val) => {\n clearErrors(\"otherTaxCategory\");\n\n var rowData = refSalesEntries.current.getData();\n\n var newEntries = rowData.entries;\n var amount = getValues().otherTaxAmount;\n if (amount && amount != \"\") {\n var _amount = amount.toString().replace(\",\", \".\");\n amount = parseFloat(_amount).toFixed(2);\n }\n newEntries[0].taxes = [{\n myDataMoreTax: val,\n myDataMoreTaxes: otherTaxesOptions,\n type: {\n value: \"OTHER_TAXES\",\n label: t(\"OTHER_TAXES\")\n },\n amount: amount\n }];\n\n setValue(\"otherTaxCategory\", val)\n reCalculateTotals()\n refSalesEntries.current.setData(newEntries)\n saleEntries = refSalesEntries.current.getData();\n }\n\n const onOtherTaxAmountChange = (e) => {\n clearErrors(\"otherTaxAmount\");\n\n var rowData = refSalesEntries.current.getData();\n var taxval = e.target.value.toString().replace(\",\", \".\");\n\n var val = parseFloat(taxval).toFixed(2)\n\n var newEntries = rowData.entries;\n if (newEntries[0].taxes) {\n newEntries[0].taxes[0].amount = val\n }\n\n setValue(\"otherTaxAmount\", val)\n reCalculateTotals()\n refSalesEntries.current.setData(newEntries)\n };\n\n const onCloseInvoiceTypeInfo = () => {\n var defaults = Commons.getDefaults();\n var invoice_type = getValues().invoiceType ? getValues().invoiceType.myDataInvoiceType : null;\n if (defaults && invoice_type) {\n var infos = defaults.invoiceTypeMessages;\n if (infos && infos.includes(invoice_type)) {\n var index = infos.indexOf(invoice_type);\n if (index !== -1) {\n infos.splice(index, 1)\n Commons.setDefault(\"invoiceTypeMessages\", infos);\n }\n }\n }\n }\n\n const onSelectTemplateLanguage = (code) => {\n setSelectedTemplateLanguage(code);\n setValue(\"templateLang\", code.toLowerCase(code));\n Commons.setDefault(\"templateLang\", code.toLowerCase(code))\n }\n\n const selectStyles = {\n placeholder: (defaultStyles) => {\n return {\n ...defaultStyles,\n fontSize: 12,\n }\n }\n }\n\n return (\n } tag=\"div\" blocking={blockuiLoading}>\n
    \n
    \n
    \n \n
    \n\n
    \n {/*

    {t(\"salesLeftMess\", { count: salesLeft })}

    */}\n {t(\"salesLeftMess\", { count: salesLeft })}\n\n {sosMessage ?
    \n
    {sosMessage.message}
    \n
    : <>}\n\n\n {t(\"salesLeftMess\", { count: salesLeft })}

    \n\n // }\n >\n\n
    \n {editMark}\n
    \n
    \n\n
    \n \n (\n \n )}\n control={control}\n rules={{ required: true }}\n name=\"branch\"\n defaultValue=\"\"\n />\n\n
    {errors.branch?.message}
    \n
    \n
    \n \n
    \n\n (\n \n )}\n control={control}\n rules={{ required: true }}\n name=\"invoiceType\"\n defaultValue=\"\"\n />\n\n\n
    \n\n
    {errors.invoiceType?.message}
    \n
    \n\n
    \n \n (\n \n\n \n )}\n control={control}\n name=\"correlativeSale\"\n defaultValue=\"\"\n />\n\n\n
    {errors.correlativeSale?.message}
    \n
    \n\n
    \n \n\n (\n \n\n \n\n )}\n control={control}\n rules={{ required: true }}\n name=\"invoiceDate\"\n defaultValue=\"\"\n />\n\n\n
    {errors.invoiceDate?.message}
    \n
    \n\n
    \n\n
    \n
    \n \n (\n ({\n ...provided,\n padding: '0px',\n }),\n placeholder: (provided, state) => ({\n ...provided,\n fontSize: '12px',\n }),\n control: provided => ({\n ...provided,\n fontSize: '14px'\n }),\n }}\n onChange={onChangeSeries} inputId=\"series-react-select\"\n options={content.series}\n isDisabled={onEditDisabled && !isCredit}\n className={`form-control ${errors.series ? 'is-invalid' : ''}`}\n placeholder={t('Select')}\n >\n\n \n )}\n disabled={onEditDisabled}\n control={control}\n rules={{ required: true }}\n name=\"series\"\n defaultValue=\"\"\n />\n\n\n
    {errors.series?.message}
    \n
    \n
    \n \n\n
    \n
    \n #\n
    \n \n
    {errors.invoiceNumber?.message}
    \n
    \n\n
    \n\n
    \n \n
    \n \n
    \n
    \n\n
    \n\n
    \n\n\n
    \n
    \n


    \n\n
    \n
    \n \n {t(\"Customer\")}\n
    \n
    \n
    \n\n
    \n \n (\n \n\n \n\n )}\n control={control}\n rules={{ required: customerRequired }}\n name=\"customer\"\n defaultValue=\"\"\n />\n\n\n
    {errors.customer?.message}
    \n
    \n\n
    \n \n\n
    \n
    \n \n\n\n
    \n { e.keyCode === 13 && e.preventDefault(); }}\n className={`form-control ${errors.taxpayerId ? 'is-invalid' : ''}`}\n />\n
    {errors.taxpayerId?.message}
    \n
    \n
    \n
    \n \n (\n \n )}\n\n control={control}\n rules={{ maxLength: 100 }}\n name=\"country\"\n defaultValue=\"\"\n />\n
    {errors.country?.message}
    \n
    \n\n
    \n \n { e.keyCode === 13 && e.preventDefault(); }}\n className={`form-control ${errors.city ? 'is-invalid' : ''}`}\n />\n
    {errors.city?.message}
    \n
    \n
    \n \n { e.keyCode === 13 && e.preventDefault(); }}\n maxLength={64}\n type=\"text\"\n className={`form-control ${errors.fulladdress ? 'is-invalid' : ''}`}\n />\n
    {errors.fulladdress?.message}
    \n
    \n
    \n \n { e.keyCode === 13 && e.preventDefault(); }}\n type=\"text\"\n className={`form-control ${errors.addressNumber ? 'is-invalid' : ''}`}\n />\n
    {errors.addressNumber?.message}
    \n
    \n\n
    \n \n { e.keyCode === 13 && e.preventDefault(); }}\n maxLength={16}\n type=\"text\"\n className={`form-control ${errors.postalCode ? 'is-invalid' : ''}`}\n />\n
    {errors.postalCode?.message}
    \n
    \n\n\n
    \n \n (\n \n )}\n control={control}\n rules={{ maxLength: 100 }}\n name=\"taxOffice\"\n defaultValue=\"\"\n />\n
    {errors.taxOffice?.message}
    \n
    \n\n\n {/*
    \n \n (\n ({\n ...provided,\n padding: '0px',\n })\n }}\n // options={content.taxOffices}\n onChange={taxOfficeOnChange}\n className={`form-control ${errors.taxOffice ? 'is-invalid' : ''}`}\n placeholder={t('Select')}\n >\n \n\n\n )}\n control={control}\n rules={{ maxLength: 100 }}\n name=\"taxOffice\"\n defaultValue=\"\"\n />\n
    {errors.taxOffice?.message}
    \n
    */}\n\n\n\n
    \n \n { e.keyCode === 13 && e.preventDefault(); }}\n className={`form-control ${errors.subjectField ? 'is-invalid' : ''}`}\n />\n
    {errors.subjectField?.message}
    \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n \n {t(\"senderName\")}\n
    \n
    \n
    \n \n \n
    {errors.senderName?.message}
    \n
    \n\n\n
    \n \n \n
    {errors.senderTaxPayerId?.message}
    \n
    \n\n
    \n
    \n
    \n
    \n \n {t(\"recipientName\")}\n
    \n
    \n\n\n
    \n \n \n
    {errors.recipientName?.message}
    \n
    \n\n\n
    \n \n \n
    {errors.recipientTaxPayerId?.message}
    \n
    \n\n\n
    \n\n\n
    \n\n
    \n
    \n\n\n
    \n
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n\n
    \n \n {t(\"TrafficData\")}\n\n
    \n\n
    \n
    \n\n
    \n \n (\n \n )}\n control={control}\n rules={{ required: isDeliverMandatory }}\n name=\"movePurpose\"\n defaultValue=\"\"\n />\n\n\n
    {errors.movePurpose?.message}
    \n
    \n\n
    \n \n\n (\n \n\n \n\n )}\n control={control}\n name=\"dispatchDate\"\n defaultValue=\"\"\n />\n\n\n
    {errors.dispatchDate?.message}
    \n
    \n\n
    \n \n \n
    {errors.vehicleNumber?.message}
    \n
    \n\n
    \n\n
    \n

    {t(\"loadingAddressHeader\")}

    \n\n
    \n \n \n
    {errors.loadingAddressStreet?.message}
    \n
    \n
    \n \n \n
    {errors.loadingAddressNumber?.message}
    \n
    \n
    \n \n \n
    {errors.loadingAddressCity?.message}
    \n
    \n
    \n \n \n
    {errors.loadingAddressPostalCode?.message}
    \n
    \n
    \n\n
    \n

    {t(\"deliveryAddressHeader\")}

    \n\n
    \n \n \n
    {errors.deliveryAddressStreet?.message}
    \n
    \n
    \n \n \n
    {errors.deliveryAddressNumber?.message}
    \n
    \n
    \n \n \n
    {errors.deliveryAddressCity?.message}
    \n
    \n
    \n \n \n
    {errors.deliveryAddressPostalCode?.message}
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n\n
    \n
    \n

    \n \n {t(\"More\")}\n \n

    \n
    \n
    \n\n
    \n\n
    \n\n
    \n
    \n
    \n\n
    \n \n (\n \n )}\n control={control}\n rules={{ required: true }}\n name=\"currency\"\n />\n\n
    {errors.currency?.message}
    \n
    \n
    \n \n \n
    {errors.exchangeRate?.message}
    \n
    \n
    \n
    \n
    \n\n
    \n


    \n \n\n
    \n \n
    {errors.selfPricing?.message}
    \n
    \n\n\n
    \n\n
    \n\n
    \n
    \n
    \n
    \n\n\n\n {isPreSale ?
    \n
    {t(\"preSaleProductSuggestedClassificationsNotice\")}
    \n
    : <>}\n\n
    \n\n \n\n \n
    \n \n \n \n \n \n
    \n\n
    \n\n
    \n
    \n\n \n
    \n
    \n
    \n
    \n \n {/* \n \n\n */}\n\n\n (\n ({\n ...provided,\n minWidth: 250,\n border: '4px #333',\n zIndex: 9999\n }),\n indicatorsContainer: (provided, state) => ({\n ...provided,\n padding: '0px',\n }),\n placeholder: (provided, state) => ({\n ...provided,\n fontSize: '12px',\n }),\n control: provided => ({\n ...provided,\n fontSize: '14px'\n })\n }} {...field}\n onChange={onOtherTaxesSelectChange}\n inputId=\"otherTax-react-select\"\n options={otherTaxesOptions}\n className={`form-control ${errors.otherTaxCategory ? 'is-invalid' : ''}`}\n placeholder={t('Select')}\n >\n\n \n )}\n control={control}\n name=\"otherTaxCategory\"\n />\n\n\n\n\n
    \n
    \n \n \n
    \n
    \n
    \n
    \n\n

    \n
    \n\n
    \n \n \n
    \n\n
    \n \n \n
    \n
    \n \n \n
    \n\n\n
    \n \n \n
    \n
    \n \n \n
    \n\n

    \n
    \n \n
    \n\n
    \n
    \n\n
    \n \n\n \n\n\n \n
    \n );\n}\n","import React, { useState, useEffect, useRef } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { toast } from 'react-toastify';\n\n\nexport default function TemplateSearch(props) {\n\n\n\n const { t } = useTranslation();\n const history = useHistory();\n const [templateSettingsSearchTable, setTemplateSettingsSearchTable] = useState();\n const getLogo = (logo) => {\n if (logo) {\n return \n }\n }\n\n useEffect(() => {\n\n\n var company = JSON.parse(localStorage.getItem(\"company\"));\n ApiClient.getCompanyBranchesFull(company.id).then(\n response => {\n\n var _data = response.data;\n var templateSettingsTableRows = [];\n console.log(_data)\n _data.forEach(element => {\n\n var sets =\n
    \n
    {element.branch.address}
    \n
    \n {getLogo(element.templateSettings.logo)}\n

    {element.branch.name}

    \n
    \n
    \n \n
    \n
    \n\n templateSettingsTableRows.push(sets);\n });\n var table =
    {templateSettingsTableRows}
    \n setTemplateSettingsSearchTable(table);\n\n\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n );\n\n\n }, []);\n\n const editTemplateSetting = (e, element) => {\n e.preventDefault();\n history.push(\"/designer/\" + element.branch.id);\n }\n return (\n
    \n
    \n
    \n
    \n

    {t(\"templateSearchInfo\")}

    \n
    \n {templateSettingsSearchTable}\n
    \n
    \n
    \n );\n}\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport moment from 'moment'\nimport BlockUi from 'react-block-ui';\nimport CustomDateComponent from './customDateComponent.js';\nimport Modal from 'react-bootstrap/Modal';\nimport { useForm } from \"react-hook-form\";\nimport IFramePrintTemplate from '../iframe-print-template.component';\nimport InvoiceSimpleView from './invoice-simple-view.component';\nimport commons from \"../../util/commons\";\n\n\nconst MarkRenderer = forwardRef((props, ref) => {\n const [mark, setMark] = useState(props.value);\n const [cancellationMark, setCancellationMark] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val) {\n setMark(val);\n }\n }\n };\n\n });\n\n useEffect(() => {\n if (props.node.data != null) {\n setCancellationMark(props.node.data.cancellationMark)\n\n }\n }, [props.node])\n return (\n\n {cancellationMark}{mark} \n );\n});\nconst SeriesNumberRendener = forwardRef((props, ref) => {\n const [seriesNumber, setSeriesNumber] = useState(props.value);\n const [canceledIcon, setCanceledIcon] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n\n if (val) {\n setSeriesNumber(val);\n }\n }\n };\n\n });\n\n useEffect(() => {\n if (props.node.data != null) {\n setCanceledIcon(props.node.data.canceled ? : \"\")\n\n }\n }, [props.node])\n\n return (\n\n {seriesNumber}{canceledIcon}\n );\n});\nconst ActionsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const history = useHistory();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n\n\n }\n };\n\n });\n\n const showDetailsModal = () => {\n props.colDef.cellRendererParams.setShowDetailsModal(true);\n var _data = commons.convertData(props.data);\n console.log(props.data)\n console.log(_data)\n props.colDef.cellRendererParams.setDetailsInfo(_data)\n }\n\n\n\n const getTransmittedDoc = () => {\n var mark = props.data.mark;\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.getTransmittedDoc(companyId, mark).then(\n response => {\n\n console.log(response)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n useEffect(() => {\n\n const actionel = \n
    \n \n \n\n
    \n
    \n setActionElement(actionel)\n\n }, [props.node])\n\n return (\n\n {actionElement}\n );\n});\n\n\nexport default function AadeTransmittedDocsSearch() {\n\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const { t } = useTranslation();\n const [printSale, setPrintSale] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(0);\n const [fastFilter, setFastFilter] = useState(\"\");\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const [showDetailsModal, setShowDetailsModal] = useState(false);\n const { control, formState: { errors } } = useForm();\n const [lineData, setLineData] = useState({});\n const iframePrintTemplate = useRef();\n var to = null;\n const pagination = true;\n const paginationPageSize = 20;\n const [sheight, setSheight] = useState(window.screen.height * 0.8 - 240);\n\n const [detailsInfo, setDetailsInfo] = useState();\n\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n\n const getRowData = (params) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n var pageNo = gridApi.paginationGetCurrentPage();\n var sortBy = null;\n var order = \"asc\";\n var filterModel = gridApi.getFilterModel();\n gridApi.columnController.columnApi.getColumnState().map((v) => {\n if (v.sort != null) {\n sortBy = v.colId;\n order = v.sort\n }\n });\n\n\n var simpleColumnFilters = [];\n Object.keys(filterModel).forEach(k => {\n var obj = {\n column: k,\n filter: filterModel[k].filter,\n dateFrom: filterModel[k].dateFrom,\n dateTo: filterModel[k].dateTo,\n filterType: filterModel[k].filterType\n }\n simpleColumnFilters.push(obj);\n })\n\n\n var object = {\n \"quickSearch\": fastFilter,\n \"pageNo\": pageNo,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": paginationPageSize,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n\n ApiClient.getCompanyAadeSaleInstancesPage(companyId, object, false).then(\n response => {\n\n var saleInstances = response.data.objectList;\n var newSaleInstances = [];\n saleInstances.forEach(element => {\n var inst = element;\n var postStr = inst.customerTaxPayerId;\n if (inst.customerName) {\n postStr = inst.customerTaxPayerId + \" (\" + inst.customerName + \")\";\n }\n\n inst.seriesNumber = inst.series + inst.invoiceNumber;\n inst.customerTaxPayerId = postStr;\n newSaleInstances.push(inst);\n });\n\n params.successCallback(newSaleInstances, response.data.totalElements);\n if (newSaleInstances.length == 0) {\n gridApi.showNoRowsOverlay();\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n let timer1 = setTimeout(function () {\n gridApi.setDatasource(dataSource);\n }, 1000);\n\n return () => {\n clearTimeout(timer1);\n };\n\n }\n }, [fastFilter]);\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi.setDatasource(dataSource);\n }\n }, [gridApi]);\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.screen.height * 0.8 - 240);\n }, 300);\n });\n\n // params.api.sizeColumnsToFit();\n };\n const onQuickFilterChanged = e => {\n console.log();\n gridApi.fastFilter = e.target.value;\n // gridApi.setQuickFilter(e.target.value);\n setFastFilter(e.target.value);\n\n };\n const print = (psale) => {\n iframePrintTemplate.current.print(psale)\n }\n const onClickPrint = data => {\n console.log(data)\n setPrintSale(data)\n setTimeout(function () {\n print(data);\n })\n }\n const goTo = invoiceUid => {\n history.push(\"/mydata/\" + invoiceUid);\n }\n const onPaginationChanged = (val) => {\n var currentPage = val.api.paginationGetCurrentPage();\n setCurrentPage(currentPage)\n\n }\n const dateFormatter = (params) => {\n if (params.data != undefined) {\n var dateAsString = moment(params.data.invoiceDate).format('DD/MM/YYYY hh:mm')\n return dateAsString\n }\n return \"\"\n }\n\n const getPrintSale = (sale) => {\n var saleClone = JSON.parse(JSON.stringify(sale));\n var cancelmark = sale.mark.props.children[0].props.children;\n var mark = sale.mark.props.children[1].props.children;\n saleClone.cancellationMark = cancelmark;\n saleClone.mark = mark;\n return iframePrintTemplate.current.getPrintSale2(saleClone)\n }\n\n const saleEntriesRender = (saleEntries) => {\n var rows = [];\n var _thead = {t(\"priceWithoutVat\")}{t(\"vat\")}{t(\"priceWithVat\")}{t(\"saleEntryClassifications\")};\n saleEntries.forEach(entry => {\n var _tr = {entry.priceWithoutVat}{entry.vat}{entry.priceWithVat}{saleEntryClassificationRender(entry.saleEntryClassifications)};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n\n const saleEntryClassificationRender = (classifications) => {\n var rows = [];\n var _thead = {t(\"incomeClassificationCategoryType\")}{t(\"incomeClassificationValueType\")}{t(\"amount\")};\n classifications.forEach(entry => {\n var classCat = entry.incomeClassificationCategoryType ? entry.incomeClassificationCategoryType : entry.expensesClassificationCategoryType\n var classType = entry.incomeClassificationValueType ? entry.incomeClassificationValueType : entry.expensesClassificationValueType\n\n var _tr = {t(classCat)}{t(classType)}{entry.amount};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n\n const synchronizeCompanyTransmitted = () => {\n setBlockuiLoading(true)\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.synchronizeCompanyTransmitted(companyId).then(\n response => {\n\n setBlockuiLoading(false)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString());\n setBlockuiLoading(false)\n }\n );\n }\n\n return (\n \n
    \n
    \n
    \n
    \n
    {t(\"invoicesSearch\")}
    \n
    \n
    \n
    \n \n \n\n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n\n
    \n\n \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n markRenderer: MarkRenderer,\n agDateInput: CustomDateComponent\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n defaultColDef={{\n flex: 1,\n resizable: true,\n sortable: true,\n wrapText: true,\n autoHeight: true,\n suppressMovable:true,\n }}\n >\n \n { return params.data ? t(params.data.invoiceType) : \"\" }} field=\"invoiceType\">\n \n \n params.data != null ? params.data.totalWithoutVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithoutVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithoutVat\">\n params.data != null ? params.data.totalWithVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithVat\">\n \n \n \n\n \n
    \n


    \n \n
    \n
    \n \n \n \n {t(\"Invoice Details\")}\n \n \n
    \n \n
    \n\n
    \n \n \n \n \n\n\n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport moment from 'moment'\nimport BlockUi from 'react-block-ui';\nimport CustomDateComponent from './customDateComponent.js';\nimport Modal from 'react-bootstrap/Modal';\nimport { useForm } from \"react-hook-form\";\nimport IFramePrintTemplate from '../iframe-print-template.component';\nimport InvoiceSimpleView from './invoice-simple-view.component';\nimport commons from \"../../util/commons\";\n\nconst MarkRenderer = forwardRef((props, ref) => {\n const [mark, setMark] = useState(props.value);\n const [cancellationMark, setCancellationMark] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val) {\n setMark(val);\n }\n }\n };\n\n });\n\n useEffect(() => {\n if (props.node.data != null) {\n setCancellationMark(props.node.data.cancellationMark)\n\n }\n }, [props.node])\n return (\n\n {cancellationMark}{mark} \n );\n});\nconst SeriesNumberRendener = forwardRef((props, ref) => {\n const [seriesNumber, setSeriesNumber] = useState(props.value);\n const [canceledIcon, setCanceledIcon] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n\n if (val) {\n setSeriesNumber(val);\n }\n }\n };\n\n });\n\n useEffect(() => {\n if (props.node.data != null) {\n setCanceledIcon(props.node.data.canceled ? : \"\")\n\n }\n }, [props.node])\n\n return (\n\n {seriesNumber}{canceledIcon}\n );\n});\nconst ActionsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n \n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n\n\n }\n };\n\n });\n\n const showDetailsModal = () => {\n props.colDef.cellRendererParams.setShowDetailsModal(true);\n var _data = commons.convertData(props.data);\n console.log(props.data)\n console.log(_data)\n props.colDef.cellRendererParams.setDetailsInfo(_data)\n }\n\n\n\n const getTransmittedDoc = () => {\n var mark = props.data.mark;\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.getTransmittedDoc(companyId, mark).then(\n response => {\n\n console.log(response)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n useEffect(() => {\n\n const actionel = \n
    \n \n \n\n
    \n
    \n setActionElement(actionel)\n\n }, [props.node])\n\n return (\n\n {actionElement}\n );\n});\n\n\nexport default function AadeRequestDocsSearch() {\n\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const { t } = useTranslation();\n const [printSale, setPrintSale] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(0);\n const [fastFilter, setFastFilter] = useState(\"\");\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const [showDetailsModal, setShowDetailsModal] = useState(false);\n const { control, formState: { errors } } = useForm();\n const [lineData, setLineData] = useState({});\n const iframePrintTemplate = useRef();\n const pagination = true;\n const paginationPageSize = 20;\n const [sheight, setSheight] = useState(window.screen.height * 0.8 - 240);\n\n const [detailsInfo, setDetailsInfo] = useState();\n\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n\n const getRowData = (params) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n var pageNo = gridApi.paginationGetCurrentPage();\n var sortBy = null;\n var order = \"asc\";\n var filterModel = gridApi.getFilterModel();\n gridApi.columnController.columnApi.getColumnState().map((v) => {\n if (v.sort != null) {\n sortBy = v.colId;\n order = v.sort\n }\n });\n\n\n var simpleColumnFilters = [];\n Object.keys(filterModel).forEach(k => {\n var obj = {\n column: k,\n filter: filterModel[k].filter,\n dateFrom: filterModel[k].dateFrom,\n dateTo: filterModel[k].dateTo,\n filterType: filterModel[k].filterType\n }\n simpleColumnFilters.push(obj);\n })\n\n\n var object = {\n \"quickSearch\": fastFilter,\n \"pageNo\": pageNo,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": paginationPageSize,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n\n ApiClient.getCompanyAadeSaleInstancesPage(companyId, object, true).then(\n response => {\n\n var saleInstances = response.data.objectList;\n var newSaleInstances = [];\n saleInstances.forEach(element => {\n var inst = element;\n var postStr = inst.customerTaxPayerId;\n if (inst.customerName) {\n postStr = inst.customerTaxPayerId + \" (\" + inst.customerName + \")\";\n }\n\n inst.seriesNumber = inst.series + inst.invoiceNumber;\n inst.customerTaxPayerId = postStr;\n newSaleInstances.push(inst);\n });\n\n params.successCallback(newSaleInstances, response.data.totalElements);\n if (newSaleInstances.length == 0) {\n gridApi.showNoRowsOverlay();\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n let timer1 = setTimeout(function () {\n gridApi.setDatasource(dataSource);\n }, 1000);\n\n return () => {\n clearTimeout(timer1);\n };\n\n }\n }, [fastFilter]);\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi.setDatasource(dataSource);\n }\n }, [gridApi]);\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.screen.height * 0.8 - 240);\n }, 300);\n });\n\n // params.api.sizeColumnsToFit();\n };\n const onQuickFilterChanged = e => {\n console.log();\n gridApi.fastFilter = e.target.value;\n // gridApi.setQuickFilter(e.target.value);\n setFastFilter(e.target.value);\n\n };\n const print = (psale) => {\n iframePrintTemplate.current.print(psale)\n }\n const onClickPrint = data => {\n console.log(data)\n setPrintSale(data)\n setTimeout(function () {\n print(data);\n })\n }\n const goTo = invoiceUid => {\n history.push(\"/mydata/\" + invoiceUid);\n }\n const onPaginationChanged = (val) => {\n var currentPage = val.api.paginationGetCurrentPage();\n setCurrentPage(currentPage)\n\n }\n const dateFormatter = (params) => {\n if (params.data != undefined) {\n var dateAsString = moment(params.data.invoiceDate).format('DD/MM/YYYY hh:mm')\n return dateAsString\n }\n return \"\"\n }\n\n const getPrintSale = (sale) => {\n var saleClone = JSON.parse(JSON.stringify(sale));\n var cancelmark = sale.mark.props.children[0].props.children;\n var mark = sale.mark.props.children[1].props.children;\n saleClone.cancellationMark = cancelmark;\n saleClone.mark = mark;\n return iframePrintTemplate.current.getPrintSale2(saleClone)\n }\n\n const saleEntriesRender = (saleEntries) => {\n var rows = [];\n var _thead = {t(\"priceWithoutVat\")}{t(\"vat\")}{t(\"priceWithVat\")}{t(\"saleEntryClassifications\")};\n saleEntries.forEach(entry => {\n var _tr = {entry.priceWithoutVat}{entry.vat}{entry.priceWithVat}{saleEntryClassificationRender(entry.saleEntryClassifications)};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n\n const saleEntryClassificationRender = (classifications) => {\n var rows = [];\n var _thead = {t(\"incomeClassificationCategoryType\")}{t(\"incomeClassificationValueType\")}{t(\"amount\")};\n classifications.forEach(entry => {\n var classCat = entry.incomeClassificationCategoryType ? entry.incomeClassificationCategoryType : entry.expensesClassificationCategoryType\n var classType = entry.incomeClassificationValueType ? entry.incomeClassificationValueType : entry.expensesClassificationValueType\n\n var _tr = {t(classCat)}{t(classType)}{entry.amount};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n\n return (\n \n
    \n
    \n
    \n
    \n
    {t(\"invoicesSearch\")}
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n\n
    \n\n \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n markRenderer: MarkRenderer,\n agDateInput: CustomDateComponent\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n defaultColDef={{\n flex: 1,\n resizable: true,\n sortable: true,\n wrapText: true,\n autoHeight: true,\n suppressMovable:true,\n }}\n >\n \n { return params.data ? t(params.data.invoiceType) : \"\" }} field=\"invoiceType\">\n \n \n params.data != null ? params.data.totalWithoutVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithoutVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithoutVat\">\n params.data != null ? params.data.totalWithVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithVat\">\n \n \n \n\n \n
    \n


    \n \n
    \n
    \n \n \n \n {t(\"Invoice Details\")}\n \n \n
    \n \n
    \n\n
    \n \n \n \n \n\n\n
    \n );\n}\n\n\n","import React ,{useState} from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport Tab from 'react-bootstrap/Tab';\nimport Tabs from 'react-bootstrap/Tabs';\nimport AadeTransmittedDocsSearch from '../components/sales/aade-transmitted-docs';\nimport AadeRequestDocsSearch from '../components/sales/aade-request-docs';\nimport ApiClient from \"../services/api-client\"\nimport BlockUi from 'react-block-ui';\n\nexport default function AadeSaleSearch() {\n const { t } = useTranslation();\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n const synchronizeCompany = ()=>{\n setBlockuiLoading(true)\n var companyId=JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.synchronizeCompany(companyId).then(\n response => {\n\n setBlockuiLoading(false)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString());\n setBlockuiLoading(false)\n }\n );\n }\n return (\n \n
    \n
    \n \n
    \n \n \n \n \n \n \n \n\n \n\n
    \n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport InvoiceSimpleView from '../components/sales/invoice-simple-view.component';\nimport { useTranslation } from 'react-i18next';\nimport BlockUi from 'react-block-ui';\nimport { toast } from 'react-toastify';\n\n\n\nexport default function AadeSaleSearchByMark() {\n\n const { t } = useTranslation();\n const [invoice, setInvoice] = useState();\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n\n const searchOnMydata=()=>{\n setBlockuiLoading(true)\n var mark=document.getElementById(\"searchByMark\").value.trim();\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n ApiClient.getTransmittedDoc(companyId,mark).then(\n response => {\n if (response != undefined) {\n if(response.data.responseType.statusCode==\"Failure\"){\n var errors=response.data.responseType.errors.error;\n errors.forEach(error => {\n console.error(error);\n toast.error(error.message)\n setBlockuiLoading(false)\n });\n }\n else{\n var inv=response.data.requestedDoc.invoicesDoc\n console.log(inv)\n setInvoice(inv);\n setBlockuiLoading(false)\n }\n\n \n \n }\n },\n error => {\n setBlockuiLoading(false)\n console.error(error.data)\n }\n )\n }\n\n return (\n \n
    \n
    \n

    \n \n \n

    \n \n
    \n\n
    \n
    \n \n
    \n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { CustomConfirmAlert as confirmAlert } from '../components/custom-confirm-alert';\nimport moment from 'moment'\nimport BlockUi from 'react-block-ui';\nimport { toast } from 'react-toastify';\nimport CustomDateComponent from '../components/sales/customDateComponent.js';\nimport Modal from 'react-bootstrap/Modal';\nimport ReactTooltip from \"react-tooltip\";\nimport SelectTable from '../components/select-table'\nimport { useForm, Controller } from \"react-hook-form\";\nimport IFramePrintTemplate from '../components/iframe-print-template.component';\nimport MyDataLogo from \"../img/mydata.png\";\n\nconst MarkRenderer = forwardRef((props, ref) => {\n const [mark, setMark] = useState(props.value);\n const [cancellationMark, setCancellationMark] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val) {\n setMark(val);\n }\n }\n };\n\n });\n // const cancellationMark = rowNode.data.cancellationMark != null ? rowNode.data.cancellationMark : \"\"\n\n useEffect(() => {\n if (props.node.data != null) {\n var cm = props.node.data.cancellationMark;\n setCancellationMark(props.node.data.cancellationMark)\n\n }\n }, [props.node])\n\n const showDetailsModal = (e) => {\n \n \n // props.colDef.cellRendererParams.setDetailsInfo(props.data)\n\n var mark=e.target.innerText.trim();\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n\n ApiClient.getCompanySaleInstanceByMark(companyId, mark).then(\n response => {\n console.log(response.data);\n props.colDef.cellRendererParams.setShowDetailsModal(true);\n props.colDef.cellRendererParams.setDetailsInfo(response.data)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n const formatMark = (mark) => {\n if (mark) {\n var markArray = mark.split(\",\");\n var _fullmark = [];\n if (markArray) {\n markArray.forEach(m => {\n var series = m.match(/\\((.*?)\\)/);\n var mark = m.replace(series[0], \"\").trim();\n\n // var _mark={m}\n _fullmark.push([{\"(\" + series[1] + \")\"}{mark} ])\n\n })\n }\n\n return _fullmark;\n }\n return <>;\n }\n\n return (\n\n {formatMark(mark)}\n );\n});\nconst SeriesNumberRendener = forwardRef((props, ref) => {\n const [seriesNumber, setSeriesNumber] = useState(props.value);\n const [canceledIcon, setCanceledIcon] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n\n if (val) {\n setSeriesNumber(val);\n }\n }\n };\n\n });\n // const canceledIcon = props.node.data.canceled? : \"\"\n // const canceledIcon = rowNode.data.canceled ? : \"\"\n // console.error(rowNode)\n\n useEffect(() => {\n if (props.node.data != null) {\n setCanceledIcon(props.node.data.canceled ? : \"\")\n\n }\n }, [props.node])\n\n return (\n\n {seriesNumber}{canceledIcon}\n );\n});\n\n\nconst DateRendener = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [date, setDate] = useState(moment(props.value).format('DD/MM/YYYY'));\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n if (val) {\n setDate(val);\n }\n }\n };\n\n });\n\n return (\n\n {date}\n );\n});\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const [isCanceled, setIsCanceled] = useState();\n const history = useHistory();\n\n\n const goToPublic = () => {\n var invoiceUid = props.data.invoiceUid;\n window.open(\"/mydata/\" + invoiceUid, \"_blank\");\n }\n\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n\n\n }\n };\n\n });\n\n \n\n const hangleEdit = () => {\n history.push(\"/sale/\" + props.node.data.id);\n }\n\n useEffect(() => {\n // \n if (props.node.data != null) {\n var mark = props.node.data.mark;\n var cancelMark = props.node.data.cancellationMark;\n var _htm2 = {cancelMark}{mark} ;\n props.node.setDataValue(\"mark\", mark);\n props.node.setDataValue(\"cancelationMark\", cancelMark);\n\n }\n\n\n\n }, [props.node])\n\n return (\n\n {actionElement}\n );\n});\n\n\nexport default function IncomesSearch() {\n\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const [gridApi2, setGridApi2] = useState(null);\n const { t } = useTranslation();\n const [printSale, setPrintSale] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(0);\n const [fastFilter, setFastFilter] = useState(\"\");\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const { control, formState: { errors } } = useForm();\n const [customerContacts, setCustomerContacts] = useState([]);\n const [selectedCustomerContacts, setSelectedCustomerContacts] = useState([]);\n const [lineData, setLineData] = useState({});\n const iframePrintTemplate = useRef();\n var to = null;\n const pagination = true;\n const paginationPageSize = 20;\n const [sheight, setSheight] = useState(window.screen.height * 0.8 - 240);\n\n const [sendPaymentLink, setSendPaymentLink] = useState(false);\n const [showDetailsModal, setShowDetailsModal] = useState(false);\n\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n\n const getRowData = (params) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n var pageNo = gridApi.paginationGetCurrentPage();\n var sortBy = null;\n var order = \"asc\";\n var filterModel = gridApi.getFilterModel();\n gridApi.columnController.columnApi.getColumnState().map((v) => {\n if (v.sort != null) {\n sortBy = v.colId;\n order = v.sort\n }\n });\n\n\n var simpleColumnFilters = [];\n Object.keys(filterModel).forEach(k => {\n var obj = {\n column: k,\n filter: filterModel[k].filter,\n dateFrom: filterModel[k].dateFrom,\n dateTo: filterModel[k].dateTo,\n filterType: filterModel[k].filterType,\n searchOperator: filterModel[k].type\n }\n if (obj.column == \"seriesNumber\") {\n obj.column = \"series\";\n obj.concatWith = \"invoiceNumber\";\n }\n simpleColumnFilters.push(obj);\n })\n\n\n var object = {\n \"quickSearch\": fastFilter,\n \"pageNo\": pageNo,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": paginationPageSize,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n\n ApiClient.getCompanyIncomesPage(companyId, object).then(\n response => {\n\n var saleInstances = response.data.objectList;\n var newSaleInstances = [];\n saleInstances.forEach(element => {\n var inst = element;\n inst.seriesNumber = inst.series + inst.invoiceNumber;\n newSaleInstances.push(inst);\n });\n\n params.successCallback(newSaleInstances, response.data.totalElements);\n if (newSaleInstances.length == 0) {\n gridApi.showNoRowsOverlay();\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n let timer1 = setTimeout(function () {\n gridApi.setDatasource(dataSource);\n }, 1000);\n\n return () => {\n clearTimeout(timer1);\n };\n\n }\n }, [fastFilter]);\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi.setDatasource(dataSource);\n }\n if (gridApi2) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi2.setDatasource(dataSource);\n }\n }, [gridApi, gridApi2]);\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.screen.height * 0.8 - 240);\n }, 300);\n });\n\n };\n\n\n const onGridReady2 = params => {\n setGridApi2(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.screen.height * 0.8 - 240);\n }, 300);\n });\n\n };\n\n\n\n const onQuickFilterChanged = e => {\n gridApi.fastFilter = e.target.value;\n setFastFilter(e.target.value);\n\n };\n const print = (psale) => {\n iframePrintTemplate.current.print(psale)\n }\n const onClickPrint = data => {\n console.log(data)\n setPrintSale(data)\n setTimeout(function () {\n print(data);\n })\n }\n const goTo = invoiceUid => {\n history.push(\"/mydata/\" + invoiceUid);\n }\n const onPaginationChanged = (params) => {\n var currentPage = params.api.paginationGetCurrentPage();\n if (gridApi) {\n gridApi.paginationGoToPage(currentPage);\n }\n\n\n }\n const dateFormatter = (params) => {\n if (params.data != undefined) {\n var dateAsString = moment(params.data.invoiceDate).format('DD/MM/YYYY hh:mm')\n console.log(dateAsString)\n return dateAsString\n }\n return \"\"\n }\n const onChangeContact = data => {\n setSelectedCustomerContacts(data);\n }\n const onInputChangeContact = (contact) => {\n\n }\n function getContactEmails(sale, sendPaymentLink) {\n var customerName = sale.customeName;\n var company = JSON.parse(localStorage.getItem(\"company\"));\n var subject = t(\"emailSubject\", { company: company.name });\n\n var contactEmails = [];\n selectedCustomerContacts.forEach(contact => {\n if (contact.email == undefined || contact.email == null) {\n contact.email = contact.value;\n contact.name = contact.value\n }\n var body = \"

    \" + t(\"emailBody1\", { contactName: contact.name }) + \"

    \";\n body += \"

    \" + t(\"emailBody2\", { company: company.name }) + \"

    \";\n var link = \"\" + sale.invoiceType + \" \" + sale.series + sale.invoiceNumber + \"\";\n body += \"

    \" + t(\"emailBody3\", { link: link }) + \"

    \";\n body += \"

    \" + t(\"emailBody4\") + \"

    \";\n var link2 = \"\" + t(\"here\") + \"\";\n if (sendPaymentLink && company.vivaQuickPay) {\n body += \"

    \" + t(\"emailBody6\", { link: link2 }) + \"

    \";\n }\n // body += \"\" + t(\"emailBody5\") + \"\";\n contactEmails.push({\n subject: subject,\n body: body,\n email: contact.email\n });\n })\n return contactEmails;\n\n }\n\n const [detailsInfo, setDetailsInfo] = useState();\n\n const saleEntriesRender = (saleEntries) => {\n var rows = [];\n var _thead = {t(\"priceWithoutVat\")}{t(\"vat\")}{t(\"priceWithVat\")}{t(\"saleEntryClassifications\")};\n saleEntries.forEach(entry => {\n var _tr = {entry.priceWithoutVat}{entry.vat.value}{entry.priceWithVat}{saleEntryClassificationRender(entry.saleEntryClassifications)};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n const saleEntryClassificationRender = (classifications) => {\n var rows = [];\n var _thead = {t(\"incomingClassificationCategoryType\")}{t(\"incomingClassificationValueType\")}{t(\"amount\")};\n classifications.forEach(entry => {\n var classCat = entry.classificationCategory\n var classType = entry.classificationValue\n\n var _tr = {t(classCat)}{t(classType)}{entry.amount};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n\n const synchronize=()=>{\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.synchronizeCompanyIncomes(companyId).then(\n response => {\n console.log(response.data);\n \n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n return (\n \n\n
    \n
    \n
    \n
    \n
    {t(\"invoicesSearch\")}
    \n
    \n
    \n
    \n \n
    \n {/*
    \n \n
    */}\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n\n
    \n
    \n\n
    \n\n
    \n
    \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n dateRendener: DateRendener,\n agDateInput: CustomDateComponent\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n skipHeaderOnAutoSize={true}\n alwaysShowHorizontalScroll={true}\n defaultColDef={{\n flex: 1,\n resizable: true,\n sortable: true,\n wrapText: true,\n suppressMovable:true,\n autoHeight: true, icons: {\n menu: '',\n },\n }}\n >\n {/* */}\n params.data?t(\"invoice\"+params.data.invType.replace(\".\",\"_\"))+\" (\"+params.data.invType+\")\":\"\"} sortable={true} filter=\"agTextColumnFilter\" field=\"invType\">\n \n \n params.data ? params.data.netValue.toFixed(2) : 0.00} headerName={t(\"TotalWithoutVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"netValue\">\n params.data ? params.data.vatAmount.toFixed(2) : 0.00} headerName={t(\"VatAmount\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"vatAmount\">\n params.data ? params.data.grossValue.toFixed(2) : 0.00} headerName={t(\"TotalWithVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"grossValue\">\n params.data ? \"(\"+params.data.count+\") \"+ params.data.minMark +\" - \"+params.data.minMark : \"\"} headerName={t(\"MarkRange\")} sortable={true} filter=\"agTextColumnFilter\" field=\"markRange\">\n\n\n \n
    \n


    \n
    \n\n
    \n\n
    \n
    \n\n\n \n \n {t(\"invoiceDetails\")}\n \n \n
    \n

    MARK: {detailsInfo?detailsInfo.mark:\"\"}

    \n {detailsInfo ? saleEntriesRender(detailsInfo.saleEntries) : \"\"}\n
    \n
    \n \n \n \n \n\n\n\n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { CustomConfirmAlert as confirmAlert } from '../components/custom-confirm-alert';\nimport moment from 'moment'\nimport BlockUi from 'react-block-ui';\nimport { toast } from 'react-toastify';\nimport CustomDateComponent from '../components/sales/customDateComponent.js';\nimport Modal from 'react-bootstrap/Modal';\nimport ReactTooltip from \"react-tooltip\";\nimport SelectTable from '../components/select-table'\nimport { useForm, Controller } from \"react-hook-form\";\nimport IFramePrintTemplate from '../components/iframe-print-template.component';\nimport MyDataLogo from \"../img/mydata.png\";\nimport { Menu, MenuItem, MenuButton } from '@szhsin/react-menu';\nimport '@szhsin/react-menu/dist/index.css';\nimport '@szhsin/react-menu/dist/transitions/slide.css';\nimport Tippy from '@tippyjs/react';\nimport useMobileDetect from 'use-mobile-detect-hook';\nimport 'react-dates/initialize';\nimport { DateRangePicker } from 'react-dates';\n\n\n\nconst LineInfoRenderer = forwardRef((props, ref) => {\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n\n });\n\n return (\n <> \n );\n});\n\nconst AllFieldsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n\n const [borderClass, setBorderClass] = useState(\"sales-grid-row\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n\n });\n\n\n useEffect(() => {\n if (props.node.data != null) {\n var addcls = props.node.data ? props.node.data.cancellationMark ? \"row-canceled-status\" : props.node.data.mark ? \"row-sended-status\" : \"row-not-sended-status\" : \"\";\n setBorderClass(\"sales-grid-row \" + addcls);\n\n }\n }, [props.node])\n\n\n\n const rowData =
    \n\n\n
    \n
    {t(\"InvoiceType\")}:
    \n
    {props.data ? props.data.invoiceType : \"\"}
    \n
    \n
    \n
    {t(\"Customer\")}:
    \n
    {props.data ? props.data.customerName : \"\"} ({props.data ? props.data.customerTaxPayerId : \"\"})
    \n
    \n
    \n
    {t(\"issuerDate\")}:
    \n
    {props.data ? moment(props.data.invoiceDate).format('DD/MM/YYYY') : \"\"}
    \n
    \n
    \n
    {t(\"TotalWithoutVat\")}:
    \n
    {props.data ? props.data.totalWithoutVat : \"\"}
    \n
    \n
    \n
    {t(\"TotalWithVat\")}:
    \n
    {props.data ? props.data.totalWithVat : \"\"}
    \n
    \n
    \n
    {t(\"TotalPayment\")}:
    \n
    {props.data ? props.data.totalPayment : \"\"}
    \n
    \n
    ;\n\n\n return (\n\n
    \n\n
    \n
    \n \n \n \n {props.data ? props.data.seriesNumber + \" \" : \"\"}\n {props.data ? props.data.invoiceType : \"\"}
    \n
    \n\n
    \n
    {props.data ? props.data.customerName + \" (\" + props.data.customerTaxPayerId + \")\" : \"\"}
    \n
    \n
    \n
    {props.data ? moment(props.data.invoiceDate).format('DD/MM/YYYY') : \"\"}
    \n
    \n\n
    \n
    {t(\"VatAmount\")}: {props.data ? (props.data.totalWithVat - props.data.totalWithoutVat).toFixed(2) : 0.00}
    \n
    {t(\"TotalPaymentMin\")}: {props.data ? props.data.totalPayment.toFixed(2) : 0.00}
    \n
    \n
    \n\n\n );\n});\n\n\n\nconst SeriesNumberRendener = forwardRef((props, ref) => {\n const [seriesNumber, setSeriesNumber] = useState(props.value);\n const [canceledIcon, setCanceledIcon] = useState(\"\");\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const history = useHistory();\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n\n if (val) {\n setSeriesNumber(val);\n }\n }\n };\n\n });\n // const canceledIcon = props.node.data.canceled? : \"\"\n // const canceledIcon = rowNode.data.canceled ? : \"\"\n // console.error(rowNode)\n const handleInputChange = (e) => {\n // e.preventDefault();\n var _data = props.data;\n ApiClient.getTemplateSettings(_data.company.id, _data.branchId).then(response => {\n var _template = response.data;\n var _temp = {\n branch: _data.branchId,\n template: _template.template,\n css: _template.css,\n logo: _template.logo\n }\n\n props.colDef.cellRendererParams.setTemplate(_temp);\n var saleInstance = props.colDef.cellRendererParams.getPrintSale(_data);\n saleInstance.LOGO = _temp.logo;\n console.log(saleInstance)\n props.colDef.cellRendererParams.onClickPrint(saleInstance)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }\n\n const handleCancel = (e) => {\n // e.preventDefault();\n var id = props.data.id;\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"deletePreSaleConfirm\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var rowNode = props.node;\n const seriesNumber = props.data.seriesNumber;\n props.colDef.cellRendererParams.blockUi(true)\n ApiClient.cancelMyDataInvoice(companyId, id).then(\n response => {\n\n if (response.data.response[0].statusCode == \"Success\") {\n var cancelMark = response.data.response[0].cancellationMark;\n\n\n var mark = rowNode.data.mark;\n if (cancelMark) {\n var _htm = {seriesNumber};\n rowNode.setDataValue(\"seriesNumber\", _htm);\n\n const actionel =
    \n\n } transition>\n Print\n Edit\n Send Email\n \n {t(\"deletePreSaleMenu\")}\n \n \n\n
    \n setActionElement(actionel)\n // rowNode.gridApi.redrawRows()\n rowNode.gridApi.refreshInfiniteCache()\n }\n else {\n rowNode.gridApi.refreshInfiniteCache()\n }\n\n\n\n toast.success(t(\"preSaleDeleted\"))\n }\n else {\n var errors = response.data.response[0].errors.error;\n errors.forEach(e => {\n toast.error(e.message, { autoClose: 5000 })\n })\n }\n\n props.colDef.cellRendererParams.blockUi(false)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n props.colDef.cellRendererParams.blockUi(false)\n }\n );\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n }\n\n const showEmailModal = () => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.findCompanyCustomerContacts(companyId, props.data.customerTaxPayerId, props.data.customerName).then(\n response => {\n var contacts = response.data;\n var _contacts = []\n contacts.forEach(e => {\n _contacts.push({\n value: e.email,\n name: e.name,\n email: e.email,\n label: e.email\n })\n });\n\n\n var columns = [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n // asLabel: true\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6\n }\n ]\n\n\n\n var _company = JSON.parse(localStorage.getItem(\"company\"));\n if (_company.accountantEmail) {\n _contacts.push({\n value: _company.accountantEmail,\n name: t(\"companyAccountant\"),\n email: _company.accountantEmail,\n label: _company.accountantEmail\n })\n }\n\n var opts = { data: _contacts, columns: columns };\n\n props.colDef.cellRendererParams.setShowEmailModal(true);\n props.colDef.cellRendererParams.setCustomerContacts(opts);\n props.colDef.cellRendererParams.setLineData(props.data);\n\n },\n error => {\n console.log(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n const hangleEdit = () => {\n debugger\n history.push(\"/sale/\" + props.data.id);\n }\n\n useEffect(() => {\n if (props.node.data != null) {\n setCanceledIcon(\n props.node.data.canceled ? : \"\")\n\n }\n }, [props.node])\n\n return (\n\n \n\n \n {seriesNumber}{canceledIcon}\n } transition>\n {t(\"printMenu\")}\n {t(\"publishMenu\")}\n {t(\"sendEmailMenu\")}\n \n {t(\"deletePreSaleMenu\")}\n \n \n \n );\n});\n\n\nconst DateRendener = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [date, setDate] = useState(moment(props.value).format('DD/MM/YYYY'));\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n if (val) {\n setDate(val);\n }\n }\n };\n\n });\n\n const styleDate = (date) => {\n var _date = date.split(\" \")[0]\n var _time = date.split(\" \")[1]\n return <>{_date} {_time}\n }\n\n\n return (\n\n {styleDate(date)}\n );\n});\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const history = useHistory();\n\n\n const goToPublic = () => {\n var invoiceUid = props.data.invoiceUid;\n window.open(\"/mydata/\" + invoiceUid, \"_blank\");\n }\n\n const handleInputChange = (e) => {\n // e.preventDefault();\n var _data = props.data;\n ApiClient.getTemplateSettings(_data.company.id, _data.branchId).then(response => {\n var _template = response.data;\n var _temp = {\n branch: _data.branchId,\n template: _template.template,\n css: _template.css,\n logo: _template.logo,\n mainColor: _template.mainColor,\n secondaryColor: _template.secondaryColor,\n appFont: _template.appFont,\n iban: _template.iban\n }\n\n props.colDef.cellRendererParams.setTemplate(_temp);\n var saleInstance = props.colDef.cellRendererParams.getPrintSale(_data);\n saleInstance.LOGO = _temp.logo;\n saleInstance.IBAN = _temp.iban;\n console.log(saleInstance)\n props.colDef.cellRendererParams.onClickPrint(saleInstance)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }\n const handleCancel = (e) => {\n // e.preventDefault();\n var id = props.data.id;\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"deletePreSaleConfirm\"),\n // submessage: t(\"deletePreSaleConfirm2\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var rowNode = props.node;\n const seriesNumber = props.data.seriesNumber;\n props.colDef.cellRendererParams.blockUi(true)\n ApiClient.cancelMyDataInvoice(companyId, id).then(\n response => {\n\n if (response.data.response[0].statusCode == \"Success\") {\n var cancelMark = response.data.response[0].cancellationMark;\n\n\n var mark = rowNode.data.mark;\n if (cancelMark) {\n var _htm = {seriesNumber};\n rowNode.setDataValue(\"seriesNumber\", _htm);\n const actionel =
    \n\n } transition>\n Print\n Edit\n Send Email\n \n {t(\"deletePreSaleMenu\")}\n \n \n\n
    \n setActionElement(actionel)\n // rowNode.gridApi.redrawRows()\n rowNode.gridApi.refreshInfiniteCache()\n }\n else {\n rowNode.gridApi.refreshInfiniteCache()\n }\n\n\n\n toast.success(t(\"preSaleDeleted\"))\n }\n else {\n var errors = response.data.response[0].errors.error;\n errors.forEach(e => {\n toast.error(e.message, { autoClose: 5000 })\n })\n }\n\n props.colDef.cellRendererParams.blockUi(false)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n props.colDef.cellRendererParams.blockUi(false)\n }\n );\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n }\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n\n });\n\n const showEmailModal = () => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.findCompanyCustomerContacts(companyId, props.data.customerTaxPayerId, props.data.customerName).then(\n response => {\n var contacts = response.data;\n var _contacts = []\n contacts.forEach(e => {\n _contacts.push({\n value: e.email,\n name: e.name,\n email: e.email,\n label: e.email\n })\n });\n\n\n var columns = [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n // asLabel: true\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6\n }\n ]\n\n\n var _company = JSON.parse(localStorage.getItem(\"company\"));\n if (_company.accountantEmail) {\n _contacts.push({\n value: _company.accountantEmail,\n name: t(\"companyAccountant\"),\n email: _company.accountantEmail,\n label: _company.accountantEmail\n })\n }\n\n\n\n var opts = { data: _contacts, columns: columns };\n\n props.colDef.cellRendererParams.setShowEmailModal(true);\n props.colDef.cellRendererParams.setCustomerContacts(opts);\n props.colDef.cellRendererParams.setLineData(props.data);\n\n },\n error => {\n console.log(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n const hangleEdit = () => {\n history.push(\"/sale/\" + props.data.id + \"?presale=true\");\n }\n\n\n useEffect(() => {\n // \n if (props.node.data != null) {\n\n const actionel =
    \n\n } transition>\n {t(\"printMenu\")}\n {t(\"publishMenu\")}\n {t(\"sendEmailMenu\")}\n \n {t(\"deletePreSaleMenu\")}\n \n \n
    \n setActionElement(actionel)\n }\n\n\n\n }, [props.node])\n\n return (\n\n {actionElement}\n );\n});\n\n\nexport default function PreSaleSearch() {\n\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const { t } = useTranslation();\n const [printSale, setPrintSale] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(0);\n const [fastFilter, setFastFilter] = useState(\"\");\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const [showEmailModal, setShowEmailModal] = useState(false);\n const { control, formState: { errors } } = useForm();\n const [customerContacts, setCustomerContacts] = useState([]);\n const [selectedCustomerContacts, setSelectedCustomerContacts] = useState([]);\n const [lineData, setLineData] = useState({});\n const iframePrintTemplate = useRef();\n var to = null;\n const pagination = true;\n const paginationPageSize = 20;\n const [sheight, setSheight] = useState(window.innerHeight - 190);\n const detectMobile = useMobileDetect();\n const [sendPaymentLink, setSendPaymentLink] = useState(false);\n const [template, setTemplate] = useState(false);\n const [touchStart, setTouchStart] = useState(null)\n const [touchEnd, setTouchEnd] = useState(null)\n const [startDate, setStartDate] = useState();\n const [endDate, setEndDate] = useState();\n const [focusedInput, setFocusedInput] = useState();\n\n const minSwipeDistance = 200\n\n const onTouchStart = (e) => {\n setTouchEnd(null) // otherwise the swipe is fired even with usual touch events\n setTouchStart(e.targetTouches[0].clientX)\n }\n\n const onTouchMove = (e) => {\n setTouchEnd(e.targetTouches[0].clientX)\n }\n\n const onTouchEnd = () => {\n var currentPage = gridApi.paginationGetCurrentPage();\n var lastpage = gridApi.paginationGetTotalPages();\n\n if (!touchStart || !touchEnd) return\n const distance = touchStart - touchEnd\n const isLeftSwipe = distance > minSwipeDistance\n const isRightSwipe = distance < -minSwipeDistance\n if (isLeftSwipe) {\n if (currentPage != lastpage) {\n gridApi.paginationGoToPage(currentPage + 1);\n }\n\n }\n else if (isRightSwipe) {\n if (currentPage != 0) {\n gridApi.paginationGoToPage(currentPage - 1);\n }\n\n }\n\n }\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n\n var getPageObject = function () {\n var pageNo = gridApi.paginationGetCurrentPage();\n var sortBy = null;\n var order = \"asc\";\n var filterModel = gridApi.getFilterModel();\n gridApi.columnController.columnApi.getColumnState().map((v) => {\n if (v.sort != null) {\n sortBy = v.colId;\n order = v.sort\n }\n });\n\n\n var simpleColumnFilters = [];\n Object.keys(filterModel).forEach(k => {\n var obj = {\n column: k,\n filter: filterModel[k].filter,\n dateFrom: filterModel[k].dateFrom,\n dateTo: filterModel[k].dateTo,\n filterType: filterModel[k].filterType,\n searchOperator: filterModel[k].type\n }\n if (obj.column == \"seriesNumber\") {\n obj.column = \"series\";\n obj.concatWith = \"invoiceNumber\";\n }\n simpleColumnFilters.push(obj);\n })\n\n\n var object = {\n \"quickSearch\": fastFilter,\n \"pageNo\": pageNo,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": paginationPageSize,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n return object;\n }\n\n const getRowData = (params) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n\n var object = getPageObject();\n\n\n ApiClient.getCompanyPreSaleInstancesPage(companyId, object).then(\n response => {\n\n var saleInstances = response.data.objectList;\n var newSaleInstances = [];\n saleInstances.forEach(element => {\n var inst = element;\n inst.seriesNumber = inst.series + inst.invoiceNumber;\n newSaleInstances.push(inst);\n });\n\n params.successCallback(newSaleInstances, response.data.totalElements);\n if (newSaleInstances.length == 0) {\n gridApi.showNoRowsOverlay();\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n let timer1 = setTimeout(function () {\n gridApi.setDatasource(dataSource);\n }, 1000);\n\n return () => {\n clearTimeout(timer1);\n };\n\n }\n }, [fastFilter]);\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi.setDatasource(dataSource);\n }\n }, [gridApi]);\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n console.log(window.innerHeight - 190)\n setSheight(window.innerHeight - 190);\n }, 300);\n });\n\n // params.api.sizeColumnsToFit();\n };\n const onQuickFilterChanged = e => {\n console.log();\n gridApi.fastFilter = e.target.value;\n // gridApi.setQuickFilter(e.target.value);\n setFastFilter(e.target.value.trim());\n\n };\n const onClickPrint = data => {\n console.log(data)\n setPrintSale(data)\n iframePrintTemplate.current.print(data)\n }\n\n const goTo = invoiceUid => {\n history.push(\"/mydata/\" + invoiceUid);\n }\n const onPaginationChanged = (val) => {\n var currentPage = val.api.paginationGetCurrentPage();\n setCurrentPage(currentPage)\n\n }\n const dateFormatter = (params) => {\n if (params.data != undefined) {\n var dateAsString = moment(params.data.invoiceDate).format('DD/MM/YYYY')\n return dateAsString\n }\n return \"\"\n }\n const onChangeContact = data => {\n setSelectedCustomerContacts(data);\n }\n const onInputChangeContact = (contact) => {\n\n }\n\n\n\n\n function getContactEmails(sale, sendPaymentLink) {\n var customerName = sale.customeName;\n var company = JSON.parse(localStorage.getItem(\"company\"));\n var subject = t(\"emailSubject\", { company: company.name });\n\n var contactEmails = [];\n selectedCustomerContacts.forEach(contact => {\n if (contact.email == undefined || contact.email == null) {\n contact.email = contact.value;\n contact.name = contact.value\n }\n var body = \"

    \" + t(\"emailBody1\", { contactName: contact.name }) + \"

    \";\n body += \"

    \" + t(\"emailBody2\", { company: company.name }) + \"

    \";\n var link = \"\" + sale.invoiceType + \" \" + sale.series + sale.invoiceNumber + \"\";\n body += \"

    \" + t(\"emailBody3\", { link: link }) + \"

    \";\n // body += \"

    \" + t(\"emailBody4\") + \"

    \";\n var link2 = \"\" + t(\"here\") + \"\";\n if (sendPaymentLink && company.vivaQuickPay) {\n body += \"

    \" + t(\"emailBody6\", { link: link2 }) + \"

    \";\n }\n // body += \"\" + t(\"emailBody5\") + \"\";\n contactEmails.push({\n subject: subject,\n body: body,\n email: contact.email\n });\n })\n return contactEmails;\n\n }\n const getPrintSale = (sale) => {\n var saleClone = JSON.parse(JSON.stringify(sale));\n return iframePrintTemplate.current.getPrintSale2(saleClone)\n }\n const onSendEmail = () => {\n var contactEmails = getContactEmails(lineData, sendPaymentLink);\n document.getElementById(\"template\").style.display = \"unset\";\n const ps = getPrintSale(lineData);\n\n setPrintSale(ps)\n setTimeout(function () {\n setBlockuiLoading(true)\n try {\n var store = false;\n var user=JSON.parse(localStorage.getItem(\"user\"));\n if (lineData.myDataInvoiceType == \"invoice1_1\" || lineData.myDataInvoiceType == \"invoice2_1\") {\n store = true;\n }\n iframePrintTemplate.current._sendEmail({ contacts: contactEmails, store: store, taxpayerId: lineData.company.taxpayerId , fromEmail: user.email }, function (resp) {\n setBlockuiLoading(false)\n document.getElementById(\"template\").style.display = \"none\";\n setShowEmailModal(false);\n if (resp.data.status == \"SUCCESS\") {\n toast.success(t(\"emailSended\"));\n }\n else {\n toast.error(t(\"emailNotSended\"));\n }\n });\n }\n catch (e) {\n console.error(e)\n setBlockuiLoading(false)\n }\n })\n\n }\n const exportToExcel = (e) => {\n e.preventDefault();\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n setBlockuiLoading(true)\n var object = getPageObject();\n ApiClient.exportCompanySalesToExcel(companyId, object).then(\n response => {\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', 'export.xlsx');\n document.body.appendChild(link);\n link.click();\n setBlockuiLoading(false)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString());\n setBlockuiLoading(false)\n }\n );\n }\n\n const getHeaderTemplate = () => {\n return \n }\n\n return (\n \n\n
    \n
    \n\n {/*
    {t(\"PreSalesSearchInfo\")}{t(\"PreSalesSearchInfo2\")}
    */}\n\n\n
    \n \n
    \n
    {t(\"PreSalesSearchNav\")}\n \n \n \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n\n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n\n {/*
    \n {\n if (Array.isArray(options)) {\n setSelectedOptions(options.map((opt) => opt.value));\n }\n }}\n options={allOptions}\n components={{\n Option: InputOption\n }}\n />\n
    */}\n\n
    \n
    \n false}\n withPortal={true}\n withFullScreenPortal={true}\n onDatesChange={({ startDate, endDate }) => {\n setStartDate(startDate);\n setEndDate(endDate);\n\n if (startDate && endDate) {\n gridApi.setFilterModel({\n \"invoiceDate\": {\n \"dateFrom\": moment(startDate).format('YYYY-MM-DD'),\n \"dateTo\": moment(endDate).format('YYYY-MM-DD'),\n \"type\": \"inRange\",\n \"filterType\": \"date\"\n }\n });\n }\n }}\n focusedInput={focusedInput}\n orientation=\"vertical\"\n onFocusChange={(focusedInput) => {\n setFocusedInput(focusedInput);\n\n }\n }\n />\n
    \n
    \n
    \n {\n detectMobile.isDesktop() ?\n \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n animateRows={true}\n\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n dateRendener: DateRendener,\n agDateInput: CustomDateComponent\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n defaultColDef={{\n flex: 1,\n resizable: true,\n sortable: true,\n wrapText: true,\n suppressMovable:true,\n autoHeight: true, icons: {\n menu: '',\n },\n }}\n >\n \n \n \n \n \n params.data != null ? params.data.totalWithoutVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithoutVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithoutVat\">\n params.data != null ? params.data.totalWithVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithVat\">\n \n\n \n
    \n \n
    :\n \n \n \n \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n animateRows={true}\n suppressCellSelection={true}\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n dateRendener: DateRendener,\n agDateInput: CustomDateComponent,\n lineInfoRenderer: LineInfoRenderer,\n allFieldsRenderer: AllFieldsRenderer\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n overlayLoadingTemplate={\n '' + t('aggridPageLoadMess') + ''\n }\n rowHeight={86}\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n tooltipHideDelay={0}\n enableBrowserTooltips={false}\n defaultColDef={{\n sortable: true,\n wrapText: false,\n suppressHorizontalScroll: true,\n suppressMovable: true,\n }}\n >\n \n \n \n \n\n \n\n \n
    \n \n\n
    \n\n }\n \n \n \n \n {t(\"sendEmail\")}\n\n \n \n \n
    \n
    \n \n\n (\n \n\n \n )}\n control={control}\n name=\"customerContacts\"\n defaultValue=\"\"\n />\n

    \n setSendPaymentLink(e.target.checked)} name=\"sendPaymentLink\" checked={sendPaymentLink} className=\"form-check-input\" />{t(\"Send Payment link\")}\n\n
    {errors.customerContact?.message}
    \n
    \n
    \n
    \n \n \n \n \n \n\n\n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from \"react-router-dom\"\nimport { CustomConfirmAlert as confirmAlert } from '../components/custom-confirm-alert';\nimport moment from 'moment'\nimport BlockUi from 'react-block-ui';\nimport { toast } from 'react-toastify';\nimport CustomDateComponent from '../components/sales/customDateComponent.js';\nimport Modal from 'react-bootstrap/Modal';\nimport ReactTooltip from \"react-tooltip\";\nimport SelectTable from '../components/select-table'\nimport { useForm, Controller } from \"react-hook-form\";\nimport IFramePrintTemplate from '../components/iframe-print-template.component';\nimport MyDataLogo from \"../img/mydata.png\";\n\nconst MarkRenderer = forwardRef((props, ref) => {\n const [mark, setMark] = useState(props.value);\n const [cancellationMark, setCancellationMark] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val) {\n setMark(val);\n }\n }\n };\n\n });\n // const cancellationMark = rowNode.data.cancellationMark != null ? rowNode.data.cancellationMark : \"\"\n\n useEffect(() => {\n if (props.node.data != null) {\n var cm = props.node.data.cancellationMark;\n setCancellationMark(props.node.data.cancellationMark)\n\n }\n }, [props.node])\n\n const showDetailsModal = (e) => {\n \n \n // props.colDef.cellRendererParams.setDetailsInfo(props.data)\n\n var mark=e.target.innerText.trim();\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n\n ApiClient.getCompanySaleInstanceByMark(companyId, mark).then(\n response => {\n console.log(response.data);\n props.colDef.cellRendererParams.setShowDetailsModal(true);\n props.colDef.cellRendererParams.setDetailsInfo(response.data)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n const formatMark = (mark) => {\n if (mark) {\n var markArray = mark.split(\",\");\n var _fullmark = [];\n if (markArray) {\n markArray.forEach(m => {\n var series = m.match(/\\((.*?)\\)/);\n var mark = m.replace(series[0], \"\").trim();\n\n // var _mark={m}\n _fullmark.push([{\"(\" + series[1] + \")\"}{mark} ])\n\n })\n }\n\n return _fullmark;\n }\n return <>;\n }\n\n return (\n\n {formatMark(mark)}\n );\n});\nconst SeriesNumberRendener = forwardRef((props, ref) => {\n const [seriesNumber, setSeriesNumber] = useState(props.value);\n const [canceledIcon, setCanceledIcon] = useState(\"\");\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n\n if (val) {\n setSeriesNumber(val);\n }\n }\n };\n\n });\n // const canceledIcon = props.node.data.canceled? : \"\"\n // const canceledIcon = rowNode.data.canceled ? : \"\"\n // console.error(rowNode)\n\n useEffect(() => {\n if (props.node.data != null) {\n setCanceledIcon(props.node.data.canceled ? : \"\")\n\n }\n }, [props.node])\n\n return (\n\n {seriesNumber}{canceledIcon}\n );\n});\n\n\nconst DateRendener = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [date, setDate] = useState(moment(props.value).format('DD/MM/YYYY hh:mm'));\n\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n\n if (val) {\n setDate(val);\n }\n }\n };\n\n });\n\n const styleDate = (date) => {\n var _date = date.split(\" \")[0]\n var _time = date.split(\" \")[1]\n return <>{_date} {_time}\n }\n\n\n return (\n\n {styleDate(date)}\n );\n});\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const [actionElement, setActionElement] = useState();\n const [isCanceled, setIsCanceled] = useState();\n const history = useHistory();\n\n\n const goToPublic = () => {\n var invoiceUid = props.data.invoiceUid;\n window.open(\"/mydata/\" + invoiceUid, \"_blank\");\n }\n\n const handleInputChange = (e) => {\n e.preventDefault();\n var saleInstance = props.colDef.cellRendererParams.getPrintSale(props.data);\n\n props.colDef.cellRendererParams.onClickPrint(saleInstance)\n }\n const handleCancel = (e) => {\n e.preventDefault();\n var id = props.data.id;\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"cancelationConfirm\"),\n submessage: t(\"cancelationConfirm2\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var rowNode = props.node;\n const seriesNumber = props.data.seriesNumber;\n props.colDef.cellRendererParams.blockUi(true)\n ApiClient.cancelMyDataInvoice(companyId, id).then(\n response => {\n\n if (response.data.response[0].statusCode == \"Success\") {\n var cancelMark = response.data.response[0].cancellationMark;\n\n\n var mark = rowNode.data.mark;\n\n if (cancelMark) {\n var _htm = {seriesNumber};\n rowNode.setDataValue(\"seriesNumber\", _htm);\n rowNode.setDataValue(\"mark\", mark);\n rowNode.setDataValue(\"cancelationMark\", cancelMark);\n\n const actionel = \n
    \n \n \n \n \n
    \n
    \n setActionElement(actionel)\n\n setIsCanceled(true)\n }\n else {\n rowNode.gridApi.refreshInfiniteCache()\n }\n\n\n\n toast.success(t(\"invoiceCanceled\", { mark: cancelMark }), { autoClose: 5000 })\n }\n else {\n var errors = response.data.response[0].errors.error;\n errors.forEach(e => {\n toast.error(e.message, { autoClose: 5000 })\n })\n }\n\n props.colDef.cellRendererParams.blockUi(false)\n\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n props.colDef.cellRendererParams.blockUi(false)\n }\n );\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n }\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n\n\n }\n };\n\n });\n\n const showEmailModal = () => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.findCompanyCustomerContacts(companyId, props.data.customerTaxPayerId, props.data.customerName).then(\n response => {\n var contacts = response.data;\n var _contacts = []\n contacts.forEach(e => {\n _contacts.push({\n value: e.email,\n name: e.name,\n email: e.email,\n label: e.email\n })\n });\n\n\n var columns = [\n {\n header: t(\"Name\"),\n field: \"name\",\n flex: 6,\n // asLabel: true\n },\n {\n header: t(\"Email\"),\n field: \"email\",\n flex: 6\n }\n ]\n\n var opts = { data: _contacts, columns: columns };\n\n props.colDef.cellRendererParams.setShowEmailModal(true);\n props.colDef.cellRendererParams.setCustomerContacts(opts);\n props.colDef.cellRendererParams.setLineData(props.data);\n\n },\n error => {\n console.log(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n\n }\n\n const hangleEdit = () => {\n history.push(\"/sale/\" + props.node.data.id);\n }\n\n useEffect(() => {\n // \n if (props.node.data != null) {\n var mark = props.node.data.mark;\n var cancelMark = props.node.data.cancellationMark;\n var _htm2 = {cancelMark}{mark} ;\n props.node.setDataValue(\"mark\", mark);\n props.node.setDataValue(\"cancelationMark\", cancelMark);\n\n const cancelBtn = !props.node.data.canceled ? : \"\"\n const actionel = \n
    \n \n \n \n \n {cancelBtn}\n
    \n
    \n setActionElement(actionel)\n }\n\n\n\n }, [props.node])\n\n return (\n\n {actionElement}\n );\n});\n\n\nexport default function SaleGroupedSearch() {\n\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const [gridApi2, setGridApi2] = useState(null);\n const { t } = useTranslation();\n const [printSale, setPrintSale] = useState(\"\");\n const [currentPage, setCurrentPage] = useState(0);\n const [fastFilter, setFastFilter] = useState(\"\");\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n const [showEmailModal, setShowEmailModal] = useState(false);\n const { control, formState: { errors } } = useForm();\n const [customerContacts, setCustomerContacts] = useState([]);\n const [selectedCustomerContacts, setSelectedCustomerContacts] = useState([]);\n const [lineData, setLineData] = useState({});\n const iframePrintTemplate = useRef();\n var to = null;\n const pagination = true;\n const paginationPageSize = 20;\n const [sheight, setSheight] = useState(window.screen.height * 0.8 - 240);\n\n const [sendPaymentLink, setSendPaymentLink] = useState(false);\n const [showDetailsModal, setShowDetailsModal] = useState(false);\n\n\n const blockUi = (block) => {\n setBlockuiLoading(block)\n }\n\n const getRowData = (params) => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n var pageNo = gridApi.paginationGetCurrentPage();\n var sortBy = null;\n var order = \"asc\";\n var filterModel = gridApi.getFilterModel();\n gridApi.columnController.columnApi.getColumnState().map((v) => {\n if (v.sort != null) {\n sortBy = v.colId;\n order = v.sort\n }\n });\n\n\n var simpleColumnFilters = [];\n Object.keys(filterModel).forEach(k => {\n var obj = {\n column: k,\n filter: filterModel[k].filter,\n dateFrom: filterModel[k].dateFrom,\n dateTo: filterModel[k].dateTo,\n filterType: filterModel[k].filterType,\n searchOperator: filterModel[k].type\n }\n if (obj.column == \"seriesNumber\") {\n obj.column = \"series\";\n obj.concatWith = \"invoiceNumber\";\n }\n simpleColumnFilters.push(obj);\n })\n\n\n var object = {\n \"quickSearch\": fastFilter,\n \"pageNo\": pageNo,\n \"sortBy\": sortBy,\n \"order\": order,\n \"pageSize\": paginationPageSize,\n \"simpleColumnFilters\": simpleColumnFilters\n }\n\n ApiClient.getGroupedSaleInstancePage(companyId, object).then(\n response => {\n\n var saleInstances = response.data.objectList;\n var newSaleInstances = [];\n saleInstances.forEach(element => {\n var inst = element;\n inst.seriesNumber = inst.series + inst.invoiceNumber;\n newSaleInstances.push(inst);\n });\n\n params.successCallback(newSaleInstances, response.data.totalElements);\n if (newSaleInstances.length == 0) {\n gridApi.showNoRowsOverlay();\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n let timer1 = setTimeout(function () {\n gridApi.setDatasource(dataSource);\n }, 1000);\n\n return () => {\n clearTimeout(timer1);\n };\n\n }\n }, [fastFilter]);\n\n\n useEffect(() => {\n if (gridApi) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi.setDatasource(dataSource);\n }\n if (gridApi2) {\n const dataSource = {\n getRows: (params) => {\n let mounted = true;\n if (mounted) {\n getRowData(params);\n }\n return () => mounted = false;\n }\n }\n\n gridApi2.setDatasource(dataSource);\n }\n }, [gridApi, gridApi2]);\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.screen.height * 0.8 - 240);\n }, 300);\n });\n\n };\n\n\n const onGridReady2 = params => {\n setGridApi2(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n setSheight(window.screen.height * 0.8 - 240);\n }, 300);\n });\n\n };\n\n\n\n const onQuickFilterChanged = e => {\n gridApi.fastFilter = e.target.value;\n setFastFilter(e.target.value);\n\n };\n const print = (psale) => {\n iframePrintTemplate.current.print(psale)\n }\n const onClickPrint = data => {\n console.log(data)\n setPrintSale(data)\n setTimeout(function () {\n print(data);\n })\n }\n const goTo = invoiceUid => {\n history.push(\"/mydata/\" + invoiceUid);\n }\n const onPaginationChanged = (params) => {\n var currentPage = params.api.paginationGetCurrentPage();\n if (gridApi) {\n gridApi.paginationGoToPage(currentPage);\n }\n\n\n }\n const dateFormatter = (params) => {\n if (params.data != undefined) {\n var dateAsString = moment(params.data.invoiceDate).format('DD/MM/YYYY hh:mm')\n console.log(dateAsString)\n return dateAsString\n }\n return \"\"\n }\n const onChangeContact = data => {\n setSelectedCustomerContacts(data);\n }\n const onInputChangeContact = (contact) => {\n\n }\n function getContactEmails(sale, sendPaymentLink) {\n var customerName = sale.customeName;\n var company = JSON.parse(localStorage.getItem(\"company\"));\n var subject = t(\"emailSubject\", { company: company.name });\n\n var contactEmails = [];\n selectedCustomerContacts.forEach(contact => {\n if (contact.email == undefined || contact.email == null) {\n contact.email = contact.value;\n contact.name = contact.value\n }\n var body = \"

    \" + t(\"emailBody1\", { contactName: contact.name }) + \"

    \";\n body += \"

    \" + t(\"emailBody2\", { company: company.name }) + \"

    \";\n var link = \"\" + sale.invoiceType + \" \" + sale.series + sale.invoiceNumber + \"\";\n body += \"

    \" + t(\"emailBody3\", { link: link }) + \"

    \";\n body += \"

    \" + t(\"emailBody4\") + \"

    \";\n var link2 = \"\" + t(\"here\") + \"\";\n if (sendPaymentLink && company.vivaQuickPay) {\n body += \"

    \" + t(\"emailBody6\", { link: link2 }) + \"

    \";\n }\n // body += \"\" + t(\"emailBody5\") + \"\";\n contactEmails.push({\n subject: subject,\n body: body,\n email: contact.email\n });\n })\n return contactEmails;\n\n }\n const getPrintSale = (sale) => {\n var saleClone = JSON.parse(JSON.stringify(sale));\n return iframePrintTemplate.current.getPrintSale2(saleClone)\n }\n const onSendEmail = () => {\n var contactEmails = getContactEmails(lineData, sendPaymentLink);\n document.getElementById(\"template\").style.display = \"unset\";\n const ps = getPrintSale(lineData);\n\n setPrintSale(ps)\n setTimeout(function () {\n setBlockuiLoading(true)\n try {\n iframePrintTemplate.current._sendEmail(contactEmails, function (resp) {\n setBlockuiLoading(false)\n document.getElementById(\"template\").style.display = \"none\";\n setShowEmailModal(false);\n if (resp.data.status == \"SUCCESS\") {\n toast.success(t(\"emailSended\"));\n }\n else {\n toast.error(t(\"emailNotSended\"));\n }\n });\n }\n catch (e) {\n console.error(e)\n setBlockuiLoading(false)\n }\n })\n\n }\n const exportToExcel = (e) => {\n e.preventDefault();\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n setBlockuiLoading(true)\n ApiClient.exportCompanySalesToExcel(companyId).then(\n response => {\n const url = window.URL.createObjectURL(new Blob([response.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', 'export.xlsx');\n document.body.appendChild(link);\n link.click();\n setBlockuiLoading(false)\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString());\n setBlockuiLoading(false)\n }\n );\n }\n\n const getHeaderTemplate = () => {\n return \n }\n const [detailsInfo, setDetailsInfo] = useState();\n\n const saleEntriesRender = (saleEntries) => {\n var rows = [];\n var _thead = {t(\"priceWithoutVat\")}{t(\"vat\")}{t(\"priceWithVat\")}{t(\"saleEntryClassifications\")};\n saleEntries.forEach(entry => {\n var _tr = {entry.priceWithoutVat}{entry.vat.value}{entry.priceWithVat}{saleEntryClassificationRender(entry.saleEntryClassifications)};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n const saleEntryClassificationRender = (classifications) => {\n var rows = [];\n var _thead = {t(\"incomingClassificationCategoryType\")}{t(\"incomingClassificationValueType\")}{t(\"amount\")};\n classifications.forEach(entry => {\n var classCat = entry.classificationCategory\n var classType = entry.classificationValue\n\n var _tr = {t(classCat)}{t(classType)}{entry.amount};\n rows.push(_tr);\n });\n\n return {_thead}{rows}
    ;\n }\n\n return (\n \n\n
    \n
    \n
    \n
    \n
    {t(\"invoicesSearch\")}
    \n
    \n
    \n
    \n \n
    \n {/*
    \n \n
    */}\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n\n
    \n
    \n\n
    \n\n
    \n
    \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n suppressRowTransform={true}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n seriesNumberRendener: SeriesNumberRendener,\n dateRendener: DateRendener,\n agDateInput: CustomDateComponent\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n skipHeaderOnAutoSize={true}\n alwaysShowHorizontalScroll={true}\n defaultColDef={{\n flex: 1,\n resizable: true,\n sortable: true,\n wrapText: true,\n suppressMovable:true,\n autoHeight: true, icons: {\n menu: '',\n },\n }}\n >\n {/* */}\n \n \n \n \n params.data != null ? params.data.totalWithoutVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithoutVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithoutVat\">\n params.data != null ? params.data.totalWithVat.toFixed(2) : 0.00} flex={2} headerName={t(\"TotalWithVat\")} sortable={true} filter=\"agNumberColumnFilter\" field=\"totalWithVat\">\n \n\n\n \n
    \n


    \n \n
    \n\n
    \n
    \n goTo(e.data.invoiceUid)}\n // rowData={content}\n // domLayout={'autoHeight'}\n suppressRowTransform={true}\n frameworkComponents={{\n markRenderer: MarkRenderer\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n skipHeaderOnAutoSize={true}\n alwaysShowHorizontalScroll={true}\n onPaginationChanged={onPaginationChanged}\n rowModelType={'infinite'}\n cacheBlockSize={paginationPageSize}\n gridOptions={{ suppressMenuHide: true }}\n onBodyScroll={function (e) {\n var el = document.querySelector(\".left-table .ag-body-viewport\");\n if (el) {\n try {\n el.scrollTop = e.top\n }\n catch (e) {\n console.error(e)\n }\n }\n\n }}\n\n >\n \n\n\n \n
    \n


    \n \n
    \n\n
    \n\n
    \n
    \n\n\n \n \n {t(\"invoiceDetails\")}\n \n \n
    \n

    MARK: {detailsInfo?detailsInfo.mark:\"\"}

    \n {detailsInfo ? saleEntriesRender(detailsInfo.saleEntries) : \"\"}\n
    \n
    \n \n \n \n \n\n\n\n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useHistory } from \"react-router-dom\"\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\n\n\nexport default function CompanyBusinessCard() {\n\n const [content, setContent] = React.useState(0);\n const history = useHistory();\n const pagination = true;\n const paginationPageSize = 10;\n const { t } = useTranslation();\n const { taxpayerId } = useParams();\n const { branchId } = useParams();\n\n\n useEffect(() => {\n\n ApiClient.getCompanyCard(taxpayerId,branchId).then(\n response => {\n console.log(response.data)\n\n setContent(response.data)\n },\n error => {\n console.log(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }, []);\n\n return (\n
    \n
    \n
    \n

    \n {content.companyName}\n

    \n

    \n {content ? content.companySubjectField: \"\"}\n

    \n

    \n {content ? content.companyAddress : \"\"}\n

    \n\n
    \n
    \n
    \n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { toast } from 'react-toastify';\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport ReactDOM from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport { useForm} from \"react-hook-form\";\nimport ApiClient from \"../../services/api-client\"\nimport { CustomConfirmAlert as confirmAlert} from '../custom-confirm-alert';\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n const [disabled, setDisabled] = useState(false);\n\n const { t} = useTranslation();\n\n const hangleDeleteRow = (e) => {\n e.preventDefault();\n\n let rowData = [];\n props.agGridReact.api.forEachNode(node => rowData.push(node.data));\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var id = props.data.id;\n if (id != undefined) {\n ApiClient.deleteCompanyDeduction(companyId,id).then(\n response => {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n toast.success(t(\"deleteSucceded\"))\n\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n )\n }\n else {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n }\n\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n }\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n if (props.rowIndex == countDisplayedRows) {\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n \n \n );\n});\n\nconst DoubleValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n \n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val !== undefined) {\n var _val;\n if (props.colDef.cellRendererParams && props.colDef.cellRendererParams.precision) {\n _val = parseFloat(val.replace(\",\", \".\")).toFixed(props.colDef.cellRendererParams.precision);\n }\n else {\n _val = parseFloat(val.replace(\",\", \".\")).toFixed(2);\n }\n\n setVal(_val);\n props.node.setDataValue(props.column.colId, _val);\n\n }\n\n }\n };\n });\n if (props.colDef.field == \"price\") {\n return {val != null && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n else {\n return {val && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n});\n\n\nconst CheckboxRenderer = forwardRef((props, ref) => {\n\n\n const [checked, setChecked] = useState(props.value?props.value:false);\n const [disabled, setDisabled] = useState(false);\n const { t, i18n } = useTranslation();\n\n const onChangeStatus = (e) => {\n \n props.node.setDataValue(props.column.colId, e.target.checked);\n }\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setChecked(val);\n }\n\n }\n };\n });\n return \n});\n\n\n\nconst CompanyDeductionsGrid = forwardRef((props, ref) => {\n const [gridApi, setGridApi] = useState(null);\n const [gridColumnApi, setGridColumnApi] = useState(null);\n const { t, i18n } = useTranslation();\n const { formState: { errors }, trigger } = useForm();\n const [hasError, setHasError] = useState(false);\n\n const rowStyle = { background: 'white' };\n\n\n useImperativeHandle(ref, () => ({\n\n transformData(data){\n \n },\n getData() {\n var items = [];\n var _items = [];\n gridApi.forEachNode(node => {\n items.push(node.data);\n });\n items.pop();\n return items;\n },\n hasError() {\n return hasError;\n },\n setData(data) {\n if (data != undefined) {\n var newdata = [];\n data.forEach(e => {\n newdata.push(e)\n })\n newdata.push({})\n gridApi.setRowData(newdata)\n }\n else {\n data = [];\n data.push({})\n gridApi.setRowData(data)\n }\n }\n\n }));\n\n\n const isValid = (nodeData) => {\n return nodeData.data.name!= \"\"\n && nodeData.data.amountValue != undefined\n && nodeData.data.amountValue != \"\"\n && nodeData.data.name != undefined\n\n }\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n setGridColumnApi(params.columnApi);\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n\n });\n });\n var data = props.deductions;\n console.error(data)\n if (data != undefined) {\n data.push({ name: undefined ,amount: undefined })\n params.api.setRowData(data)\n }\n else {\n data = [];\n data.push({ name: undefined ,amount: undefined })\n params.api.setRowData(data)\n }\n };\n\n const addRow = () => {\n\n // var _data = gridApi.gridOptionsWrapper.gridOptions.rowData;\n var data = { name: undefined ,amount: undefined };\n\n let rowData = [];\n gridApi.forEachNode(node => rowData.push(node.data));\n\n rowData.push(data)\n gridApi.setRowData(rowData)\n\n\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n gridApi.ensureIndexVisible(countDisplayedRows, 'top');\n }\n\n\n const onCellValueChanged = (params) => {\n // params.node.rowIndex\n var nodeIndex = params.node.rowIndex;\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n console.log(params.newValue)\n if (nodeIndex == countDisplayedRows && params.newValue != undefined) {\n addRow(nodeIndex);\n }\n\n var items = [];\n gridApi.forEachNode(node => {\n items.push(node);\n });\n items.pop();\n }\n \n const getRowStyle = params => {\n\n\n if (params.node.rowIndex == params.api.rowModel.rowsToDisplay.length - 1) {\n return {\n background: '#d2f6fac7'\n };\n\n }\n else {\n if (!isValid(params.node)) {\n setHasError(true)\n return { background: '#ffb09c' };\n }\n else {\n setHasError(false)\n if (params.node.data.global) {\n return { background: '#eee' };\n }\n else {\n return { background: 'white' };\n }\n }\n }\n };\n\n const onRemoveRow = () => {\n var rowData = [];\n if (gridApi != undefined) {\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.pop();\n }\n }\n \n return (\n
    \n\n
    \n
    \n \n\n \n \n \n \n \n\n \n
    \n
    \n
    \n );\n});\nexport default CompanyDeductionsGrid ","import React, { useState, useEffect, useRef } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { useHistory } from \"react-router-dom\"\nimport { useTranslation } from 'react-i18next';\nimport CompanyDeductionsGrid from '../components/editable-aggrids/company-deductions-grid';\nimport FormLayout from '../components/form-layout'\nimport { useForm, Controller } from \"react-hook-form\";\nimport BlockUi from 'react-block-ui';\nimport { CustomConfirmAlert as confirmAlert } from '../components/custom-confirm-alert';\nimport { toast } from 'react-toastify';\n\n\nexport default function CompanyDeduction() {\n\n const [content, setContent] = useState([]);\n const history = useHistory();\n const { t, i18n } = useTranslation();\n const deductionsGridRef = useRef();\n const [blockuiLoading, setBlockuiLoading] = useState(false);\n\n\n const { handleSubmit, formState: { errors } } = useForm();\n \n const onSubmit = deduction => {\n var deductions=deductionsGridRef.current.getData();\n console.log(deductions)\n var company = JSON.parse(localStorage.getItem(\"company\"));\n var _deductions=[];\n deductions.forEach(e=>{\n e.company={\n id:company.id\n }\n _deductions.push(e);\n })\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n setBlockuiLoading(true);\n ApiClient.saveDeductions(company.id,_deductions).then(\n response => {\n console.log(response.data);\n toast.success(t(\"saveSucceded\"))\n setBlockuiLoading(false);\n\n },\n error => {\n toast.error(error.message + \": \" + error.response.data.message)\n console.error(error.response);\n setBlockuiLoading(false);\n }\n )\n }\n\n },\n {\n label: t('No')\n }\n ]\n });\n\n }\n\n useEffect(() => {\n\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.getCompanyDeductions(companyId).then(\n response => {\n console.log(response.data)\n deductionsGridRef.current.setData(response.data);\n },\n error => {\n setContent(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }, []);\n\n\n return (\n\n
    \n
    \n\n \n \n {/* {deleteBtn} */}\n
    \n }\n >\n\n
    \n
    \n {t(\"DeductionsInfo\")}\n
    \n
    \n \n \n \n \n\n );\n}\n\n\n","import React, { useState, useEffect, forwardRef, useRef, useImperativeHandle } from \"react\";\nimport { toast } from 'react-toastify';\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport ReactDOM from 'react-dom';\nimport { useTranslation } from 'react-i18next';\nimport Select from 'react-select'\nimport 'font-awesome/css/font-awesome.min.css';\nimport { useForm} from \"react-hook-form\";\nimport ApiClient from \"../../services/api-client\"\nimport { CustomConfirmAlert as confirmAlert} from '../custom-confirm-alert';\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n\n const [disabled, setDisabled] = useState(false);\n\n const { t} = useTranslation();\n\n const hangleDeleteRow = (e) => {\n e.preventDefault();\n\n let rowData = [];\n props.agGridReact.api.forEachNode(node => rowData.push(node.data));\n\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => {\n var id = props.data.id;\n if (id != undefined) {\n ApiClient.deleteProductCategoryClassification(id).then(\n response => {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n toast.success(t(\"deleteSucceded\"))\n\n },\n error => {\n toast.error(\"Error: \" + error.data)\n console.error(error.data)\n }\n )\n }\n else {\n rowData.splice(props.rowIndex, 1)\n props.agGridReact.api.setRowData(rowData)\n props.colDef.cellRendererParams.onRemoveRow();\n }\n\n }\n },\n {\n label: t('No'),\n onClick: () => {\n }\n }\n ]\n });\n\n\n\n\n\n\n }\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n if (props.rowIndex == countDisplayedRows) {\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n \n \n );\n});\nconst doubleValRenderer = forwardRef((props, ref) => {\n\n\n const [val, setVal] = useState(props.value);\n const { t, i18n } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setVal(val);\n }\n\n }\n };\n });\n if (props.colDef.field == \"price\") {\n return {val != null && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n else {\n return {val && val != \"\" ? parseFloat(val).toFixed(2) :
    ...
    }
    \n\n }\n});\n\n\nconst InvoiceTypeRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst InvoiceTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t, i18n } = useTranslation();\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n setTimeout(function () {\n props.node.setDataValue(\"invoiceType\", val);\n props.node.setDataValue(\"selfPricing\", false);\n });\n \n var opts = [];\n var expenses = props.node.data.selfPricing ? props.node.data.selfPricing : false;\n\n ApiClient.getClassificationCategoriesOfMyDataInvoice(val.myDataInvoiceType, expenses).then(response => {\n var data = response.data;\n var _optionIncClassCategories = [];\n data.forEach(element => {\n var _classificationCategoryType;\n var _classificationValueTypes;\n _classificationCategoryType = element.classificationCategory;\n _classificationValueTypes = element.classificationValues;\n var prefix = _classificationCategoryType.replace(\"CATEGORY_\", \"\") + \") \";\n if (props.node.data.selfPricing) {\n _classificationCategoryType = element.classificationCategory;\n _classificationValueTypes = element.classificationValues;\n }\n\n\n _optionIncClassCategories.push({\n value: _classificationCategoryType,\n label: prefix + t(_classificationCategoryType),\n classificationValues: _classificationValueTypes,\n });\n });\n // console.log( props.node)\n var row_dom = document.querySelector(`.ag-center-cols-container > div[row-index=\"${props.node.rowIndex}\"][role=\"row\"]`)\n var selfpricing_invoicearr = [\"invoice1_1\", \"invoice1_4\", \"invoice1_5\", \"invoice1_6\", \"invoice2_1\", \"invoice2_4\", \"invoice5_1\", \"invoice5_2\"]\n\n setTimeout(function () {\n var el = row_dom.querySelector(\"input[type='checkbox']\");\n props.node.setDataValue(\"classificationCategoryTypes\", _optionIncClassCategories);\n\n props.node.setDataValue(\"classificationCategory\", { value: undefined, label: undefined });\n props.node.setDataValue(\"classificationValue\", { value: undefined, label: undefined });\n if ((val)) {\n if (!selfpricing_invoicearr.includes(val.myDataInvoiceType)) {\n\n el.disabled = true;\n }\n else {\n el.disabled = false;\n }\n }\n else {\n el.disabled = false;\n }\n\n\n });\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\n\nconst CheckboxRenderer = forwardRef((props, ref) => {\n\n\n const [checked, setChecked] = useState(props.value);\n const [disabled, setDisabled] = useState(false);\n const { t, i18n } = useTranslation();\n\n const onChangeStatus = (e) => {\n props.node.setDataValue(\"selfPricing\", e.target.checked);\n setTimeout(function () {\n props.api.stopEditing();\n\n var opts = [];\n var expenses = props.node.data.selfPricing ? props.node.data.selfPricing : false;\n\n ApiClient.getClassificationCategoriesOfMyDataInvoice(props.node.data.invoiceType.myDataInvoiceType, expenses).then(response => {\n var data = response.data;\n var _optionIncClassCategories = [];\n data.forEach(element => {\n var _classificationCategoryType;\n var _classificationValueTypes;\n _classificationCategoryType = element.classificationCategory;\n _classificationValueTypes = element.classificationValues;\n \n\n var prefix = _classificationCategoryType.replace(\"CATEGORY_\", \"\") + \") \";\n _optionIncClassCategories.push({\n value: _classificationCategoryType,\n label: prefix + t(_classificationCategoryType),\n classificationValues: _classificationValueTypes,\n });\n });\n setTimeout(function () {\n \n });\n \n\n // console.log( props.node)\n var row_dom = document.querySelector(`.ag-center-cols-container > div[row-index=\"${props.node.rowIndex}\"][role=\"row\"]`)\n var selfpricing_invoicearr = [\"invoice1_1\", \"invoice1_4\", \"invoice1_5\", \"invoice1_6\", \"invoice2_1\", \"invoice2_4\", \"invoice5_1\", \"invoice5_2\"]\n\n setTimeout(function () {\n\n props.node.setDataValue(\"classificationCategoryTypes\", _optionIncClassCategories);\n props.node.setDataValue(\"classificationCategory\", { value: undefined, label: undefined });\n props.node.setDataValue(\"classificationValue\", { value: undefined, label: undefined });\n\n var el = row_dom.querySelector(\"input[type='checkbox']\");\n\n if ((props.data.invoiceType)) {\n if (!selfpricing_invoicearr.includes(props.data.invoiceType.myDataInvoiceType)) {\n\n el.disabled = true;\n }\n else {\n el.disabled = false;\n }\n }\n else {\n el.disabled = false;\n }\n\n\n }, 100);\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n })\n }\n\n\n\n useImperativeHandle(ref, () => {\n var countDisplayedRows = props.agGridReact.api.getDisplayedRowCount() - 1;\n var selfpricing_invoicearr = [\"invoice1_1\", \"invoice1_4\", \"invoice1_5\", \"invoice1_6\", \"invoice2_1\", \"invoice2_4\", \"invoice5_1\", \"invoice5_2\"]\n\n if (props.rowIndex == countDisplayedRows) {\n setDisabled(true);\n }\n else {\n if ((props.data.invoiceType)) {\n if (!selfpricing_invoicearr.includes(props.data.invoiceType.myDataInvoiceType)) {\n\n setDisabled(true);\n }\n else {\n setDisabled(false);\n }\n }\n else {\n setDisabled(false);\n }\n\n }\n\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setChecked(val);\n }\n\n }\n };\n });\n return \n});\n\nconst IncomingClassCategoryTypeRenderer = forwardRef((props, ref) => {\n const [mu, setMU] = useState(props.value);\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n setMU(val);\n }\n\n }\n };\n });\n return (\n {mu ? mu.label :
    ...
    }
    \n\n );\n});\nconst IncomingClassCategoryTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n focus();\n }, []);\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n\n useEffect(() => {\n if (props.data.invoiceType == undefined) {\n props.api.stopEditing();\n }\n }, [props.data.invoiceType]);\n\n useEffect(() => {\n console.error(props.data.invoiceType);\n\n if (!editing) {\n\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n const { t } = useTranslation();\n\n const onSelectChange = val => {\n\n var old_val=props.node.data.classificationCategory.value;\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n \n \n props.node.setDataValue(\"classificationCategory\", val);\n\n var opts = [];\n\n val.classificationValues.forEach(element => {\n opts.push({\n value: element,\n label: t(element) + \" (\" + element + \")\",\n });\n });\n\n props.node.setDataValue(\"classificationValues\", opts);\n //if classificationCategory changed\n if(old_val!=val.value){\n \n props.node.setDataValue(\"classificationValue\", { value: undefined, label: undefined });\n }\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst IncomingClassValueTypeRenderer = forwardRef((props, ref) => {\n const [val, setVal] = useState(props.value);\n const { t, i18n } = useTranslation();\n\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n var val = props.getValue();\n if (val != undefined) {\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n setVal(val);\n }\n\n }\n };\n });\n return (\n {val != null ? val.label :
    ...
    }
    \n );\n});\nconst IncomingClassValueTypeEditor = forwardRef((props, ref) => {\n const [selectedVal, setSelectedVal] = useState(props.value);\n const [editing, setEditing] = useState(true);\n const refContainer = useRef(null);\n\n\n useEffect(() => {\n\n focus();\n }, []);\n\n\n useImperativeHandle(ref, () => {\n return {\n getValue() {\n return selectedVal != null ? selectedVal : props.value;\n },\n\n isPopup() {\n return true;\n }\n };\n });\n\n console.error(props.data)\n useEffect(() => {\n if (props.data.classificationCategory.value == undefined) {\n props.api.stopEditing();\n }\n }, [props.data.classificationCategory.value]);\n\n useEffect(() => {\n if (!editing) {\n props.api.stopEditing();\n }\n }, [editing]);\n\n const focus = () => {\n window.setTimeout(() => {\n let container = ReactDOM.findDOMNode(refContainer.current);\n if (container) {\n container.focus();\n }\n });\n };\n\n\n const onSelectChange = val => {\n setSelectedVal(val);\n setTimeout(function () {\n props.api.stopEditing();\n // props.node.setDataValue(\"incomingClassificationValueType\", val);\n\n })\n\n }\n const onMouseOver = e => {\n refContainer.current.setState({ isOpen: true })\n let container = ReactDOM.findDOMNode(e.target).parentNode.getElementsByTagName(\"input\")[0];\n if (container != undefined) {\n container.focus();\n }\n }\n\n\n return (
    \n\n \n \n \n \n
    \n );\n});\nconst ProductCategoryClassificationsGrid = forwardRef((props, ref) => {\n const [gridApi, setGridApi] = useState(null);\n const [gridColumnApi, setGridColumnApi] = useState(null);\n const { t, i18n } = useTranslation();\n const { formState: { errors }, trigger } = useForm();\n const [hasError, setHasError] = useState(false);\n\n const rowStyle = { background: 'white' };\n\n\n useImperativeHandle(ref, () => ({\n\n transformData(data){\n var newData = [];\n data.forEach(el => {\n var cats = [];\n var values = [];\n \n el.suggestedInvoiceCategories.forEach(e => {\n var prefix;\n if (el.selfPricing) {\n prefix = e.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \";\n cats.push({\n value: e.classificationCategory,\n label: prefix + t(e.classificationCategory),\n classificationValues: e.classificationValues\n })\n }\n else {\n prefix = e.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \";\n cats.push({\n value: e.classificationCategory,\n label: prefix + t(e.classificationCategory),\n classificationValues: e.classificationValues\n })\n }\n \n })\n \n el.classificationValues.forEach(e => {\n values.push({\n value: e,\n label: t(e) + \"(\" + e + \")\"\n })\n })\n var prefix;\n prefix = el.classificationCategory.replace(\"CATEGORY_\", \"\") + \") \";\n var fel = {\n id: el.id,\n classificationCategory: { value: el.classificationCategory, label: prefix + t(el.classificationCategory) },\n classificationValue: { value: el.classificationValue, label: t(el.classificationValue) + \"(\" + el.classificationValue + \")\" },\n invoiceType: { value: el.invoiceType.id, label: el.invoiceType.name, myDataInvoiceType: el.invoiceType.myDataInvoiceType },\n classificationCategoryTypes: cats,\n classificationValues: values,\n selfPricing: el.selfPricing,\n }\n newData.push(fel)\n });\n return newData;\n },\n getData() {\n var items = [];\n var _items = [];\n gridApi.forEachNode(node => {\n items.push(node.data);\n });\n items.pop();\n items.forEach(element => {\n var obj = {\n \"id\": element.id,\n \"invoiceType\": { id: element.invoiceType.value, myDataInvoiceType: element.invoiceType.myDataInvoiceType, name: element.invoiceType.label },\n \"classificationCategory\": element.classificationCategory.value,\n \"classificationValue\": element.classificationValue.value,\n \"selfPricing\": element.selfPricing\n }\n _items.push(obj);\n\n });\n return _items;\n },\n hasError() {\n return hasError;\n },\n setData(data) {\n if (data != undefined) {\n var newdata = [];\n data.forEach(e => {\n if (e.selfPricing) {\n e.classificationCategory = e.classificationCategory;\n e.classificationValue = e.classificationValue;\n }\n newdata.push(e)\n })\n newdata.push({ classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined } })\n gridApi.setRowData(newdata)\n }\n else {\n data = [];\n data.push({ classificationValueType: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined } })\n gridApi.setRowData(data)\n }\n }\n\n }));\n\n\n const isValid = (nodeData) => {\n return nodeData.data.classificationCategory.value != \"\"\n && nodeData.data.classificationCategory.value != undefined\n && nodeData.data.classificationValue.value != undefined\n && nodeData.data.classificationValue.value != \"\"\n }\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n setGridColumnApi(params.columnApi);\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n\n });\n });\n var data = props.productClassifications;\n console.error(data)\n if (data != undefined) {\n data.push({ classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined } })\n params.api.setRowData(data)\n }\n else {\n data = [];\n data.push({ classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined } })\n params.api.setRowData(data)\n }\n };\n\n const addRow = () => {\n\n // var _data = gridApi.gridOptionsWrapper.gridOptions.rowData;\n var data = { classificationValue: { value: undefined, label: undefined }, classificationCategory: { value: undefined, label: undefined } };\n // gridApi.updateRowData({ add: data, addIndex: -1 });\n\n let rowData = [];\n gridApi.forEachNode(node => rowData.push(node.data));\n\n rowData.push(data)\n gridApi.setRowData(rowData)\n\n\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n gridApi.ensureIndexVisible(countDisplayedRows, 'top');\n }\n const toastId = useRef(null);\n const onCellValueChanged = (params) => {\n // params.node.rowIndex\n var nodeIndex = params.node.rowIndex;\n var countDisplayedRows = gridApi.getDisplayedRowCount() - 1;\n if (nodeIndex == countDisplayedRows && params.newValue != undefined) {\n addRow(nodeIndex);\n }\n var items = [];\n gridApi.forEachNode(node => {\n items.push(node);\n });\n items.pop();\n items.forEach(node => {\n\n\n\n if (params.node.data.invoiceType &&\n params.node.data.classificationCategory &&\n params.node.data.classificationValue &&\n node.data.classificationCategory &&\n node.data.classificationValue &&\n node.data.invoiceType && nodeIndex != node.rowIndex) {\n\n var cond = params.node.data.classificationCategory.value == node.data.classificationCategory.value &&\n params.node.data.classificationValue.value == node.data.classificationValue.value &&\n params.node.data.invoiceType.value == node.data.invoiceType.value\n\n if (cond) {\n var row_dom = document.querySelector(`.classificationGrid .ag-center-cols-container > div[row-index=\"${params.node.rowIndex}\"][role=\"row\"]`)\n row_dom.style.backgroundColor = '#ffb09c'\n setTimeout(function () {\n if (!toast.isActive(toastId.current)) {\n toastId.current = toast.error(t(\"duplicateInvoiceTypeCategoryTypeCategoryValue\"));\n }\n setHasError(true)\n }, 100)\n return;\n }\n\n }\n });\n\n }\n\n const getRowStyle = params => {\n\n\n if (params.node.rowIndex == params.api.rowModel.rowsToDisplay.length - 1) {\n return {\n background: '#d2f6fac7'\n };\n\n }\n else {\n if (!isValid(params.node)) {\n setHasError(true)\n return { background: '#ffb09c' };\n }\n else {\n setHasError(false)\n if (params.node.data.global) {\n return { background: '#eee' };\n }\n else {\n return { background: 'white' };\n }\n }\n }\n };\n\n const onRemoveRow = () => {\n var rowData = [];\n if (gridApi != undefined) {\n gridApi.forEachNode(node => rowData.push(node.data));\n rowData.pop();\n }\n }\n\n return (\n
    \n\n
    \n
    \n \n\n {/* suppressSizeToFit={true} */}\n \n \n \n \n \n \n \n\n \n\n\n\n\n
    \n
    \n

    \n\n
    \n );\n});\nexport default ProductCategoryClassificationsGrid ","import React, { useState, useEffect, useRef } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\nimport { useForm, Controller } from \"react-hook-form\";\nimport ApiClient from \"../services/api-client\"\nimport Select from 'react-select'\nimport { confirmAlert } from 'react-confirm-alert';\nimport { toast } from 'react-toastify';\nimport { useHistory } from \"react-router-dom\"\nimport ProductCategoryClassificationsGrid from '../components/editable-aggrids/product-category-classifications-grid';\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport * as Yup from 'yup';\nimport FormLayout from '../components/form-layout'\n\nexport default function ProductCategoryAdd() {\n\n\n const { id } = useParams();\n const { t } = useTranslation();\n const validationSchema = Yup.object().shape({\n name: Yup.string().required(t(\"fieldRequired\")).max(150, t(\"maxLengthValidation\", { maxlength: 64 })),\n });\n\n const [content, setContent] = useState({});\n const [global, setGlobal] = useState(false);\n const { register, control, handleSubmit, setValue, reset, formState: { errors } } = useForm({\n resolver: yupResolver(validationSchema)\n });\n const history = useHistory();\n const [companyInvoiceTypes, setCompanyInvoiceTypes] = useState([]);\n const prodClassificationGridRef = useRef();\n const [productCategoryClassifications, setproductCategoryClassifications] = useState([]);\n\n\n const onSubmit = category => {\n\n var entriesHasError = prodClassificationGridRef.current.hasError();\n if (entriesHasError) {\n toast.error(t(\"entriesErrors\"), 5000)\n return;\n }\n\n var company = JSON.parse(localStorage.getItem(\"company\"));\n category.company = { id: company.id };\n if (id != undefined) {\n category.id = id;\n }\n\n category.productCategoryClassifications = prodClassificationGridRef.current.getData();\n category.global = global;\n debugger\n confirmAlert({\n title: t(\"submitConfirm\"),\n message: t(\"areYouSure\"),\n buttons: [\n {\n label: t('Yes'),\n onClick: () => ApiClient.SaveProductCategory(category).then(\n response => {\n if (id === undefined) {\n history.push(\"/\")\n history.push(\"/productCategory\");\n }\n toast.success(t(\"saveSucceded\"))\n console.debug(response.data)\n\n },\n error => {\n toast.error(\"Error: \" + error.response.data.message)\n console.error(error.response.data)\n }\n )\n },\n {\n label: t('No'),\n onClick: () => {\n\n }\n }\n ]\n });\n\n\n\n }\n\n\n\n useEffect(() => {\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.getCompanyInvoiceTypes(companyId).then(\n response => {\n if (response) {\n var invtypes = response.data;\n var _invtypes = []\n invtypes.forEach(element => {\n _invtypes.push({\n value: element.id,\n label: t(element.name),\n myDataInvoiceType: element.myDataInvoiceType,\n });\n });\n console.log(response.data)\n setCompanyInvoiceTypes(_invtypes);\n }\n\n\n\n if (id != undefined) {\n ApiClient.getCompanyProductCategory(companyId, id).then(\n response => {\n if (response.data == \"\") {\n history.push(\"/\")\n history.push(\"/productCategory\")\n toast.error(\"productCategory not found: \")\n return;\n }\n\n var prodCategory = response.data;\n setValue(\"name\", prodCategory.name);\n setGlobal(prodCategory.global)\n prodClassificationGridRef.current.setData(\n prodClassificationGridRef.current.transformData(prodCategory.productCategoryClassifications)\n );\n\n },\n error => {\n toast.error(\"Error: \" + error.response.data.error)\n console.error(error.response.data)\n }\n );\n }\n else {\n reset();\n\n }\n\n\n },\n error => {\n setContent(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }, []);\n\n // watch();\n return (\n /* \"handleSubmit\" will validate your inputs before invoking \"onSubmit\" */\n
    \n
    \n\n \n {t(\"classificationsOfProductsSearch\")} \n \n }\n footer={\n
    \n \n {/* {deleteBtn} */}\n
    \n }\n >\n\n
    \n
    \n\n {t(\"productCategoriesInfo\")}\n\n
    \n


    \n
    \n {t(\"productCategoriesInfo2\")}\n
    \n
    \n\n\n
    \n\n\n
    \n \n \n
    {errors.name?.message}
    \n
    \n\n
    \n


    \n
    {t(\"productClassifications2\")}
    \n \n\n \n \n \n
    \n );\n}","import React, { useState, useEffect, forwardRef, useImperativeHandle } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { AgGridColumn, AgGridReact } from 'ag-grid-react';\nimport { useHistory } from \"react-router-dom\"\nimport { useTranslation } from 'react-i18next';\n\n\nconst ActionsRenderer = forwardRef((props, ref) => {\n const history = useHistory();\n\n const handleInputChange = (e) => {\n e.preventDefault();\n var rowNode = props.agGridReact.api.getRowNode(props.rowIndex);\n var _id = rowNode.data.id;\n history.push(\"/productCategory/\" + _id);\n }\n useImperativeHandle(ref, () => {\n return {\n refresh(params) {\n\n }\n };\n });\n return (\n \n // {branch != null && branch.label != undefined ? branch.label : }\n );\n});\n\n\nexport default function ProductCategorySearch() {\n\n const [content, setContent] = useState([]);\n const history = useHistory();\n const [gridApi, setGridApi] = useState(null);\n const { t, i18n } = useTranslation();\n\n useEffect(() => {\n\n var companyId = JSON.parse(localStorage.getItem(\"company\")).id;\n ApiClient.getCompanyProductCategories(companyId).then(\n response => {\n console.log(response.data)\n setContent(response.data);\n\n },\n error => {\n setContent(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n\n }, []);\n\n const pagination = true;\n const paginationPageSize = 10;\n\n\n const onGridReady = params => {\n setGridApi(params.api);\n // params.api.sizeColumnsToFit();\n window.addEventListener('resize', function () {\n setTimeout(function () {\n // params.api.sizeColumnsToFit();\n });\n });\n\n // params.api.sizeColumnsToFit();\n };\n const onQuickFilterChanged = e => {\n gridApi.setQuickFilter(e.target.value);\n };\n\n\n const goTo = id => {\n history.push(\"/productCategory/\" + id);\n }\n return (\n\n
    \n
    \n
    \n
    \n
    {t(\"classificationsOfProductsSearch\")}
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n

    \n
    \n
    \n
    \n

    {t(\"productCategoriesInfo\")}

    \n
    \n
    \n
    \n
    \n
    \n
    \n

    \n \n

    \n
    \n\n
    \n\n \n
    \n goTo(e.data.id)}\n rowData={content}\n frameworkComponents={{\n actionsRenderer: ActionsRenderer,\n }}\n overlayNoRowsTemplate={\n '' + t('noEntries') + ''\n }\n >\n \n \n\n \n
    \n\n
    \n
    \n \n );\n}\n\n\n","import React, { useEffect, useState } from \"react\";\nimport ApiClient from \"../services/api-client\"\nimport { useTranslation } from 'react-i18next';\n\nexport default function VivaRedirectHandler() {\n\n const { t} = useTranslation();\n\n\n\n useEffect(() => {\n let mounted = true;\n const params = new URLSearchParams(window.location.search)\n let transactionId = params.get('t')\n let orderCode = params.get('s')\n var pack = {\n \"packageId\": localStorage.getItem(\"packId\"),\n \"transactionId\": transactionId,\n \"orderCode\": orderCode\n }\n localStorage.removeItem(\"packId\")\n if (transactionId) {\n ApiClient.UpdateUserTransaction(pack).then(\n response => {\n localStorage.setItem(\"user\", JSON.stringify(response.data));\n window.location.href = \"../sale\";\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n );\n }\n else {\n window.location.href = \"../dashboard\";\n localStorage.setItem(\"errorOnPayment\", t(\"errorOnPayment\"));\n console.error(\"Error on payment\");\n }\n return () => mounted = false;\n\n }, []);\n\n\n return (
    );\n}\n","import React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\n\nclass NotFound extends Component {\n render() {\n return (\n
    \n

    \n 404\n

    \n
    \n The Page you're looking for was not found.\n
    \n \n
    \n );\n }\n}\n\nexport default NotFound;","import React, { useEffect, useState } from 'react';\nimport { RedocStandalone } from 'redoc';\nimport { SRV_BASE_URL } from '../util/constants';\n\n\n\nexport default function Swagger(props) {\n\n const SWAGGER_URL = SRV_BASE_URL+\"/v3/api-docs/public-api\";\n\n\n return (\n
    \n
    \n \n
    \n
    \n\n );\n\n}\n","import React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport ApiClient from \"../services/api-client\"\nimport { useTranslation } from 'react-i18next';\nimport { VIVA_VIEW_TRANSACTION } from '../util/constants';\n\n\nexport default function ChoosePackage() {\n\n\n\n const { formState: { errors } } = useForm();\n const { t } = useTranslation();\n\n const createReccuringPaymentOrder = (e,packId) => {\n ApiClient.createReccuringPaymentOrder(packId).then(\n (response) => {\n console.log(response)\n if (response.data.Success) {\n localStorage.setItem(\"packId\",packId);\n window.location = VIVA_VIEW_TRANSACTION + \"/web/checkout?ref=\" + response.data.OrderCode;\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n \n return (\n
    \n











    \n

    {t(\"choosePackage\")}

    \n

    \n



    \n\n
    \n\n
    \n\n
    \n\n
    \n
    Οι Τιμές μας
    \n
    \n\n
    \n\n
    \n
    \n\n

    Μικρές επιχειρήσεις

    \n
    5 / μήνα
    \n
      \n
    • 10 Τιμολόγια
    • \n
    • ΑΑΔΕ- Σύνδεση με myDATA
    • \n
    • Απεριόριστα τιμολόγια
    • \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n );\n}","import React, { useEffect, useState } from \"react\";\nimport { useParams } from 'react-router-dom';\nimport { useForm } from \"react-hook-form\";\nimport ApiClient from \"../services/api-client\"\nimport { toast } from 'react-toastify';\nimport { useTranslation } from 'react-i18next';\nimport VivaLogo from '../img/viva_logo.png';\nimport VivaFooter from '../img/viva_footer.png';\nimport { VIVA_VIEW_TRANSACTION } from '../util/constants';\nimport { useHistory } from \"react-router-dom\";\nimport MyDataLogo from \"../img/mydata.png\";\n\n\nexport default function StartSubscription() {\n\n\n const { id } = useParams();\n\n const [transactionId, setTransactionId] = useState(\"\");\n const { formState: { errors } } = useForm();\n const { t, i18n } = useTranslation();\n const history = useHistory();\n\n\n useEffect(() => {\n let mounted = true;\n return () => mounted = false;\n }, []);\n\n const createOrder = (e, packId) => {\n var paymentMethod = document.getElementById(\"paymentMethod\").value;\n\n if (paymentMethod == \"0\") {\n ApiClient.createReccuringPaymentOrder(packId).then(\n (response) => {\n if (response.data.Success) {\n localStorage.setItem(\"packId\", packId);\n window.location = VIVA_VIEW_TRANSACTION + \"/web/checkout?ref=\" + response.data.OrderCode;\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n else {\n ApiClient.createPaymentOrder(packId).then(\n (response) => {\n if (response.data.Success) {\n localStorage.setItem(\"packId\", packId);\n window.location = VIVA_VIEW_TRANSACTION + \"/web/checkout?ref=\" + response.data.OrderCode + \"&paymentMethod=\" + paymentMethod;\n }\n },\n error => {\n console.error(\n (error.response &&\n error.response.data &&\n error.response.data.message) ||\n error.message ||\n error.toString())\n }\n )\n }\n\n }\n\n\n const choosePackageContainer =\n
    \n\n

    \n\n
    \n
    \n\n\n\n
      \n
    • \n \n
    • \n
    • \n \n
    • \n
    \n
    \n

    \n
    \n
    \n Ο παρακάτω τιμές αναφέρονται σε 12 μήνες συνδρομή\n
    \n


    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 25 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 200 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 500 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n


    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 24000 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Απεριόριστα τιμολόγια
    • \n\n
    \n\n \n
    \n
    \n\n
    \n\n\n\n
    \n\n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 25 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 200 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 500 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n


    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Εως και 2000 τιμολόγια/μήνα
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n\n
    \n
      \n
    • Σύνδεση με το \"myDATA
    • \n
    • Απεριόριστα τιμολόγια
    • \n\n
    \n\n \n
    \n
    \n\n
    \n
    \n
    \n\n
    \n
    \n


    \n\n
    \n \n \n
    \n


    \n
    Στις τιμές δεν περιλαμβάνεται Φ.Π.Α.
    \n\n
    \n\n return (\n
    \n
    \n



    \n

    Ξεκίνα σήμερα τη συνδρομή σου! Οι συνδρομές στο πρόγραμμα ανανεώνονται αυτόματα εκτός και αν ακυρώσετε τη συνδρομή σας

    \n

    \n\n\n\n
    {choosePackageContainer}
    \n
    \n
    \n
    \n \n Γίνονται δεκτές πιστωτικές ή χρεωστικές κάρτες Visa, Mastercard ή American express, μετρητά ή E-banking οποιασδήποτε τράπεζας. Για να διασφαλιστεί ή απόλυτη ασφάλεια των ηλεκτρονικών σας συναλλαγών αυτές γίνονται με ανακατεύθυνση, μέσα από το σύστημα ασφαλείας τoυ αδειοδοτημένου από την Τράπεζα της Ελλάδος ιδρύματος πληρωμών Viva Payments η οποία εγγυάται ένα ασφαλές περιβάλλον συναλλαγών στο κορυφαίο σύστημα ηλεκτρονικών πληρωμών. Τα δεδομένα της πιστωτικής σας κάρτας δεν αποθηκεύονται στον διακομιστή μας.\n \n
    \n
    \n


    \n\n \n
    \"Viva\"
    \n
    \n \n
    \n


    \n
    \n
    \n\n );\n}","import React, { Component } from 'react';\nimport { ACCESS_TOKEN } from '../util/constants';\nimport { Redirect } from 'react-router-dom'\nimport { getCurrentUser } from '../util/AuthUtils';\n\nclass OAuth2RedirectHandler extends Component {\n getUrlParameter(name) {\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n\n var results = regex.exec(this.props.location.search);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n };\n\n componentDidMount() {\n\n const token = this.getUrlParameter('token');\n const error = this.getUrlParameter('error');\n localStorage.setItem(ACCESS_TOKEN, token);\n getCurrentUser()\n .then(usr => {\n if(usr.companies && usr.companies.length==1){\n localStorage.setItem(\"company\", JSON.stringify(usr.companies[0]))\n }\n localStorage.setItem(\"user\", JSON.stringify(usr.user))\n window.location.reload();\n }).catch(error => {\n this.setState({\n loading: false\n });\n });\n }\n\n render() {\n const token = this.getUrlParameter('token');\n const error = this.getUrlParameter('error');\n if (token) {\n return ;\n } else {\n return ;\n }\n }\n}\n\nexport default OAuth2RedirectHandler;","import React, { useState } from 'react';\nimport { useStripe, useElements, PaymentElement } from '@stripe/react-stripe-js';\nimport { useTranslation } from 'react-i18next';\nimport { CHECKOUT_REDIRECT_URI } from '../util/constants';\n\nconst CheckoutForm = () => {\n const { t } = useTranslation();\n const params = new URLSearchParams(window.location.search);\n\n const stripe = useStripe();\n const elements = useElements();\n\n const [errorMessage, setErrorMessage] = useState(null);\n\n const handleSubmit = async (event) => {\n // We don't want to let default form submission happen here,\n // which would refresh the page.\n event.preventDefault();\n let secret = params.get('secret');\n let accountId = params.get('accountId');\n if (!stripe || !elements) {\n // Stripe.js has not yet loaded.\n // Make sure to disable form submission until Stripe.js has loaded.\n return;\n }\n\n const { error } = await stripe.confirmPayment({\n //`Elements` instance that was used to create the Payment Element\n elements,\n confirmParams: {\n return_url: CHECKOUT_REDIRECT_URI+'?accountId='+accountId+'&secret='+secret,\n },\n });\n if (error) {\n // This point will only be reached if there is an immediate error when\n // confirming the payment. Show error to your customer (for example, payment\n // details incomplete)\n setErrorMessage(error.message);\n } else {\n // Your customer will be redirected to your `return_url`. For some payment\n // methods like iDEAL, your customer will be redirected to an intermediate\n // site first to authorize the payment, then redirected to the `return_url`.\n }\n };\n return (\n
    \n \n
    \n

    \n \n
    \n {/* Show error message to your customers */}\n {errorMessage &&
    {errorMessage}
    }\n \n );\n};\n\nexport default CheckoutForm;","import React from 'react';\nimport { Elements } from '@stripe/react-stripe-js';\nimport { loadStripe } from '@stripe/stripe-js';\nimport CheckoutForm from '../components/CheckoutForm';\nimport { useTranslation } from 'react-i18next';\nimport { STRIPE_PUBLISHABLE_KEY } from '../util/constants';\n\n// Make sure to call `loadStripe` outside of a component’s render to avoid\n// recreating the `Stripe` object on every render.\n\n\nfunction StripePayment() {\n const { t } = useTranslation();\n\n\n const params = new URLSearchParams(window.location.search);\n let secret = params.get('secret');\n let amount = params.get('amount');\n let accountId = params.get('accountId');\n\n\n const stripePromise = loadStripe(STRIPE_PUBLISHABLE_KEY, {\n stripeAccount: accountId,\n locale: \"el\"\n });\n\n\n const options = {\n // pass the client secret from the previous step\n clientSecret: secret,\n // Fully customizable with the Appearance API\n appearance: {/*...*/ },\n };\n\n return (\n
    \n

    \n

    {t(\"youHaveToPayMess\")}: {amount}€

    \n \n \n \n
    \n\n );\n};\n\nexport default StripePayment;","import React, { useState, useEffect } from 'react';\nimport { useStripe, Elements } from '@stripe/react-stripe-js';\nimport { useTranslation } from 'react-i18next';\nimport { loadStripe } from '@stripe/stripe-js';\n\nconst PaymentStatus = () => {\n const stripe = useStripe();\n const [message, setMessage] = useState(null);\n const { t } = useTranslation();\n\n useEffect(() => {\n if (!stripe) {\n return;\n }\n\n // Retrieve the \"payment_intent_client_secret\" query parameter appended to\n // your return_url by Stripe.js\n const clientSecret = new URLSearchParams(window.location.search).get(\n 'payment_intent_client_secret'\n );\n\n // Retrieve the PaymentIntent\n stripe\n .retrievePaymentIntent(clientSecret)\n .then(({ paymentIntent }) => {\n // Inspect the PaymentIntent `status` to indicate the status of the payment\n // to your customer.\n //\n // Some payment methods will [immediately succeed or fail][0] upon\n // confirmation, while others will first enter a `processing` state.\n //\n // [0]: https://stripe.com/docs/payments/payment-methods#payment-notification\n switch (paymentIntent.status) {\n case 'succeeded':\n setMessage(\n
    \n {t(\"stripePaymentSuccess\")}\n
    );\n break;\n\n case 'processing':\n setMessage(\n
    \n {t(\"stripePaymentProcessing\")}\n
    );\n break;\n\n\n case 'requires_payment_method':\n // Redirect your user back to your payment page to attempt collecting\n // payment again\n setMessage(\n
    \n {t(\"stripeRequiresPaymentMethod\")}\n\n
    );\n break;\n\n default:\n setMessage(\n
    \n {t(\"stripeUknownPaymentError\")}\n
    );\n break;\n }\n });\n }, [stripe]);\n\n\n return message;\n};\n\nexport default PaymentStatus;","import React from 'react';\nimport { Elements } from '@stripe/react-stripe-js';\nimport { loadStripe } from '@stripe/stripe-js';\nimport PaymentStatus from '../components/stripe-payment-status';\nimport { useTranslation } from 'react-i18next';\nimport logo from '../img/timologic_login.png';\nimport { STRIPE_PUBLISHABLE_KEY } from '../util/constants';\n\n\n\nfunction StripePaymentComplete() {\n const { t } = useTranslation();\n\n const params = new URLSearchParams(window.location.search);\n let secret = params.get('secret');\n let accountId = params.get('accountId');\n\n\n const stripePromise = loadStripe(STRIPE_PUBLISHABLE_KEY, {\n stripeAccount: accountId,\n locale: \"el\"\n });\n\n\n const options = {\n clientSecret: secret\n };\n\n return (\n
    \n

    \n

    \n \n \n \n \n
    \n \n \n
    \n
    \n\n );\n};\n\nexport default StripePaymentComplete;","import React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\n\nclass Error extends Component {\n constructor(props) {\n super(props)\n this.state = {\n code: \"\"\n };\n\n\n }\n\n componentDidMount() {\n var _code= this.getUrlParameter('code');\n var _message =\"Unknown Error\";\n\n switch(_code){\n case \"403\":{\n _message=\"Unauthorized\";\n }\n }\n this.setState({\n code: _code,\n message: _message\n })\n }\n\n getUrlParameter(name) {\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n\n var results = regex.exec(this.props.location.search);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n };\n\n\n render() {\n return (\n
    \n

    \n {this.state.code}\n

    \n
    \n {this.state.message}\n
    \n \n
    \n );\n }\n}\n\nexport default Error;","import React,{useState} from \"react\";\nimport { useHistory } from \"react-router-dom\"\nimport { useTranslation } from 'react-i18next';\nimport { Switch, Route } from \"react-router-dom\";\nimport PrivateRoute from './privateRoute'\nimport MainNavBar from \"./navbar\";\n\nimport Login from \"../pages/login\";\nimport Register from \"../pages/register\";\nimport ForgotPassword from \"../pages/forgot_password\";\nimport ResetPassword from \"../pages/reset_password\";\n\nimport Dashboard from \"../pages/dashboard\";\nimport Profile from \"../pages/profile\";\n\nimport SaleSearch from \"../pages/sale-search\";\nimport SaleAdd from \"../pages/sale-add\";\nimport SaleEdit from \"../pages/sale-edit\";\nimport CustomerSearch from \"../pages/customer-search\";\nimport CustomerAdd from \"../pages/customer-add\";\nimport UserSearch from \"../pages/admin/user-search\";\nimport UserAdd from \"../pages/admin/user-add\";\nimport ProductSearch from \"../pages/product-search\";\nimport ProductAdd from \"../pages/product-add\";\nimport CompanyAdd from \"../pages/company-add\";\nimport CompanySearch from \"../pages/company-search\";\nimport InvoiceTypeAdd from \"../pages/invoicetype-add\";\nimport InvoiceTypeSearch from \"../pages/invoicetype-search\";\nimport InvoiceView from \"../pages/viewinvoice\";\nimport AccountantAssignment from \"../pages/accountant-assignment\";\nimport TemplateDesigner from \"../pages/template-designer\";\nimport TemplateSearch from \"../pages/template-search\";\n\nimport AadeSaleSearch from \"../pages/aade-sales-search\";\nimport AadeSaleSearchByMark from \"../pages/aade-sale-search-bymark\";\nimport CompanyIncomes from \"../pages/company-incomes\";\n\nimport PreSaleSearch from \"../pages/pre-sale-search\";\n\n\nimport SaleGroupedSearch from \"../pages/sale-grouped-search\";\n\nimport BusinessCard from \"../pages/company-business-card\";\n\nimport Deductions from \"../pages/company-deduction\";\n\nimport ProductCategoryAdd from \"../pages/product-category-add\";\nimport ProductCategorySearch from \"../pages/product-category-search\";\nimport vivaRedirectHandler from '../pages/viva-redirect';\nimport NotFound from '../pages/notfound';\nimport Swagger from \"../pages/swagger\";\n\n\nimport TemplateComponent from \"./templates/template.component\"\nimport Paymemnt from \"./payment.component.js\";\nimport ChoosePackage from \"./choosepackage\";\nimport StartYourSubscription from \"./startSubscription.js\";\nimport OAuth2RedirectHandler from '../services/OAuth2RedirectHandler';\n\nimport StripePayment from \"../pages/stripe-payment\";\nimport PaymentStatus from \"../pages/stripe-payment-complete\";\nimport {version} from '../../package.json';\n\nimport ChatWindow from \"./chat.component.js\";\n\n\nimport Error from \"./error\";\nimport timologicFooter from \"../img/timologic_login.png\"\nconst MainLayout = (props) => {\n\n\n const { t } = useTranslation();\n const DefaultContainer = () => (\n
    \n \n
    \n
    \n \n\n \n \n\n \n \n \n \n \n\n \n \n \n {/* ------------------------------------------------ */}\n \n \n\n\n {/* ------------------------------------------------ */}\n \n \n \n\n {/* ------------------------------------------------ */}\n \n \n \n\n {/* ------------------------------------------------ */}\n \n \n \n\n {/* ------------------------------------------------ */}\n {/* */}\n \n \n \n\n {/* ------------------------------------------------ */}\n \n \n \n\n\n {/* ------------------------------------------------ */}\n \n \n \n\n\n \n \n \n \n\n \n \n\n \n \n\n\n \n \n {/* */}\n \n
    \n
    \n
    \n
    \n
    \n
    \n {version}\n {/* {t(\"technical_support_info\")}}>\n \n */}\n \n {/*

    {t(\"footermess\")}

    */}\n {/* */}\n
    \n
    \n
    \n )\n return (\n \n }>\n \n \n \n \n\n \n \n\n \n \n }>\n\n {/* */}\n\n \n \n\n \n\n \n \n }>\n\n\n\n\n \n );\n}\nexport default MainLayout\n\n","import \"bootstrap/dist/css/bootstrap.min.css\";\nimport 'react-confirm-alert/src/react-confirm-alert.css';\nimport 'react-toastify/dist/ReactToastify.css';\nimport \"bootstrap/dist/js/bootstrap.bundle\";\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport 'font-awesome/css/font-awesome.min.css';\nimport 'react-dropzone-uploader/dist/styles.css'\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-alpine.css';\nimport 'react-block-ui/style.css';\nimport 'loaders.css/loaders.min.css';\nimport \"./styles/App.css\";\nimport \"./styles/skin.css\";\nimport '@szhsin/react-menu/dist/index.css';\nimport '@szhsin/react-menu/dist/transitions/slide.css';\nimport 'react-dates/lib/css/_datepicker.css';\nimport 'tippy.js/dist/tippy.css'; \nimport 'rc-slider/assets/index.css';\nimport 'pace-js'\nimport 'pace-js/themes/blue/pace-theme-minimal.css'\n\n\nimport React, { useEffect } from \"react\";\nimport { useIdleTimer } from 'react-idle-timer'\nimport { getCurrentUser, logout } from './util/AuthUtils';\nimport { useHistory } from \"react-router-dom\"\nimport MainLayout from './components/main-layout'\n\n\nexport default function App() {\n\n const history = useHistory();\n\n const handleOnIdle = event => {\n console.error(\"Iddle 15mins\");\n logout();\n history.push(\"login\")\n }\n\n const handleOnActive = event => {\n }\n\n const handleOnAction = event => {\n }\n\n\n const { getRemainingTime, getLastActiveTime } = useIdleTimer({\n timeout: 1000 * 60 * 15,\n onIdle: handleOnIdle,\n onActive: handleOnActive,\n onAction: handleOnAction,\n debounce: 1000,\n crossTab: true\n });\n\n useEffect(() => {\n let mounted = true;\n getCurrentUser()\n .then(response => {\n if (response == undefined) {\n localStorage.removeItem(\"accessToken\")\n }\n else {\n localStorage.setItem(\"user\", JSON.stringify(response.user))\n if (response.companies && response.companies.length == 1) {\n localStorage.setItem(\"company\", JSON.stringify(response.companies[0]))\n }\n }\n }).catch(error => {\n console.error(error)\n if (error.status === 401) {\n localStorage.removeItem(\"accessToken\")\n history.push(\"login\")\n }\n\n });\n\n return () => mounted = false;\n\n }, []);\n\n return (\n
    \n \n
    \n );\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from \"react\";\nimport './i18n';\n\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport { transitions, positions, Provider as AlertProvider } from 'react-alert'\nimport AlertTemplate from 'react-alert-template-basic'\nimport { ToastContainer } from 'react-toastify';\n\n\nimport App from \"./App\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nconst options = {\n // you can also just use 'bottom center'\n position: positions.BOTTOM_CENTER,\n timeout: 5000,\n offset: '30px',\n // you can also just use 'scale'\n transition: transitions.SCALE\n}\n\nReactDOM.render(\n\n \n \n \n \n \n ,\n document.getElementById(\"root\")\n\n);\n\nserviceWorker.unregister();\n","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/viva_footer.3fc9c306.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAX8AAAA7AQMAAACpNBjqAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAABlJREFUSMftwTEBAAAAwiD7p7bDbmAAAEBxC0sAAa+awk0AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/mydata.9efdb93e.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABdFBMVEUAAADW6PT0+f2Ivd+01ez+/v/9/v7Y6vWMv+GAuN36/P7d7Pfn8vj////z+PvZ6vW72e6r0emax+SIveB3s9yRwuN+ttz8/f/6/f37/f7x+Pv3+/3////////v9vvr9Pr7/f7k8Pji7/fV6PTW6fXf7vfY6fX7/f641+3a6/bL4/L2+v241+zE3u+x0+rS5vP6/f7u9frr8/rA3O+42O2x1Op4tdymzui62e2v0+q52O2s0emUxOSQwuKnzeibyOWBud+fyueSwuJ9t90Kdr/////0+fz5+/32+v3p8/rr9frf7ffo8vnc7Pbv9vvO4/Lf7ffL4vHn8vnK4vHP5PKmzejm8fnc6vPR5fO31+3o8/rn7/Xj7PKx1OukzOjX6fWiy+fx9/unzufF3+/E3OyRwuPG4PDZ6fPG3/C21+zR5vOizOfe7fa/3O6nz+nr9PqZx+TN4/KXxuScyebe7PR6td262Oy42O1RntJGmM7////s9PrAD4PnAAAAenRSTlMAi5dqqJiXyBcR9r+em5qNhV4xMCMiB/37+Pf18urh4dnKwsK7trSyqKaimZeWlZSOi3p6c2xsaWdZVExEQTgsKRwbCwn68+rh2tfX1M3MyMPDwrOtrKqopKOenZ2ampmYlJOSjIyHgH56dXVybWpoWVJRSkA1JR0dFk+69d4AAAGHSURBVDjLddJnV9swFIDht3SEJE3IBMoeZRVoKZRC2at7s/fee4/Ln8eWiJDBPF985fNaPjpHuAbiWZHnrhe3nDESbT/nVmO++JvIxVUhtlf2omwIiIkl0FkmthEYtL9ugWLxSNEpxko28NUbfKAtM4a7cYnXEz7qoaQDpatBr+tG9TOHp+L4vK4PlKy6prdaHAfsFKsdVFA6gLInkj8Ex6UiTTD41wSVaDUiX9TQklcDzJvgN+Ce4KVIwaUq+o6AZyb4T7qiVgdStI1mB5X7InPAtLi+d90LtLdqB+11j0/QAMxKxmrQd4cZMd4/CJaBJTGaHgSLcPJNTYXxTb8dpvrq9PAuG7oDzUCtHYTafugD9KLE+mHsLgg5n6VjIr8+ocT/SMEuayYIJXAlWlGSYXGVB0yQV96O0d/oe2H+9aAdikcOrZlxMqWCszf3gg77girBKivYImitStQhUmHrVRIWxFKdDnp+EcDxU2yF9qLoCkfuuDxi+AIt0RyN1Gd51Uc3TnHcAH/DKReuFluRAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAzFBMVEUAAABVYIBVYIDW2uBUYIBWYoRVYIBVYIBVYIBOZItVX4DY3uPHzNVVYIB4gJlUYoJTYIRTYILn7O3M0tleaYe/xc5VYIC3vclnco5/h57n6+1VYIBWX4BVYILn7O1VYIDn7OxdZoZibIpmcI3m7O1xe5WLk6iDjKNUYIBVX4Dm7O1WYYBUYIBVX4Dn6+7o6Oj////l6uzh5+lWYYDn7O3O1t3n7O2wuMXk6exqc4+YobJWX4Dm7O1XY4B8g5uXn7fl7e3p6elVYIDn7O2I6TXwAAAAQnRSTlMA+eblmQ316scH++nXy8ElIBr03dPS0M7IwIFZVS354tzVzsnFw8C/nZyRjImHSgsE/PXz8d/JycfGwZ6QLCEgHRcTS3ihAAABQElEQVQ4y32S55aCMBBGJ1FAURR17djW3t3e2+T932lVhkyAc7i/SL5LMpMEGKuf9xxXON66b0Ga6spGjb2qJuLiVmAMd1c081oBU7RqnA8kEkJKvdToS/8/orTbUGcaXXIkrWF5lDcV0SSjENaxxZCl0ixpanftz6VRmYVyVNKl2w8kcizkkMgDWHaWYFvQxywBA1jr7xILJeQ9PCQ6ymCKRAEcJCqmUEHCAZEtCBamptBhwcGIF84XGCGBL/qNm3CRi8zrb6EPootGmwEP5pQ3BM8FfNR8XbeIxlEbe2A7FG7MHQB8wSskBeHDmT0Sk7tQeMeIffjkW9fBw+JeEW1ao0VP33cQxbykDJqXQqXPz77zpBK0J3IAmp9nleL1GwxOvWE8HvZOEOev98hxffMLaY6HzWxcr49nn4cjz/4DIr2727kfucIAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAY1BMVEUAAAA/UbU/UbU/UbU0WsM/UbU/UbU/UbVAU7U+UbQ/UbU/ULU/UbU+UbU+UbU/UrY/UbUzTbM/UbU/UbVAUbY/UrU/UbQ/ULU/UbX////x8vqPmtTR1e3Q1O3HzOmzuuKCjs/goGOjAAAAGHRSTlMA7fiYBK3TNxwT47WUWId6dwr65IiGVbtpdmPUAAABGklEQVRIx92V27qCIBBGHRAQJbXjnrJdvf9T1tcFOCCn29at/1JGhqH5SVo1CQmHA0gxqXy8Ox1xRT92ybjmDD0Y1/H8DnAD2MUWzzECb7fy+wGjDPuN9w+Y4C/8BsckPKjXCyz/t+sHtHiVa6D5xydMBdCpBS3XQEBD9pdR4b4hsPWen5DyXf8LKeNK6JHi3r7i6H6twhIBXe9OZcJsBUHTjht5IKwgY8KdPJBWgJjwpH1uBRYTFnqWnJAr2hegTABXdE7wixZlgqjeuOrWqGy+vnGMJcKZHKC8wDpyRPOC8YZATgDtjZmccKkcZCYclSKVH9raYVw37k1bd6FcEleWCa8so9OX4tiT/jl3TRY1CwmMgRSzan6SN00Gc4KKnoDtAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAABXFBMVEUAAAD/SgBdsUl6tD7/ZgL/aQKhsi/sigwoesUtfMD/XwKGtTj/gQT/hwD/wAf/ZgL/dAKZti+ptyqZuir/ggCAv4D/RQBZsEtksUbXvheEtDn/UAFnskX/wQj/XAJPiKJWip1bi5n/wAeItjeCtTv/aAOJtTeNtjb/wQf/cAOStjT/wQf/wQj/cwL/eAWdtjD/vwf/ggSkty3/wAn/wQeHmW3/wAmqvCSbr1P/vwB6m3tYsUo8gbQ8grNGhar/WgH/oAV2skBejpH/wQf/wQdplYKDtTn/cQNlj4//awP/bgNukYeUuDJxk4T/dQNrkYr/cgKVtjGVtzL/wAb/wgaInHH/dgWHlnOguS2ltTD/egX/cQD/lgAZdtL/PQBMr1D/wQf/QABQsE9RsE0ed84feMxWjpJgl39in21gpmBZqlixuSftvw70wAz/swb/mQX/iAT/dgP/XQL/RgFWm9DXAAAAXXRSTlMA/f3lz8AIBf795NAkCPnUkIsiHBUE/v39/fr49+3o5drU1M/OxcS0rp6dk4h9Y19IQT84JSMcFRMMC/739+zq6Ofk5OPd0svEuLWznZyZloiCf3p5WjgzMzAwGxESFHymAAABpUlEQVRIx92TV1fCMBhAv7YIMpQhTpAhS1BAUARx7733oAPEvf3/54jQhlISKK/c19yb1RTaEl1sx+CgBKHPYdiO6ZrqFwGKlUEFbhrqJrPAKhA0JrJv6WMxUEcEvcvMEtBgj3LnYolYcPMvkv0OwGBu0bfIT6mJJuz2RFRDkX0TVdUPdGibYYrgwybyDfaaiVx4f7r7W7pBUMU4z3/+lucHdazyPP/xU9r/rTp/ki/zJYRBHad8haUulcGoGIxBlVwdnR40OCIGE9gAMY8Gh8VgqnHQiQa7xWCmcVBsNbhveUutHnpO5bUi3GjwrOK/DWkBQ1YvBruKpzFIcxFcsC+tcA6ItZL/muc4uqfeT0kL6Hvlz/t9iPuHqfN73dICW/IfaHCAq+BX+l70FS5BhpGTYGp21bOek/CCHBuNCnoP3ZU2QucfpK+WghqsXBXaeJJMp5PH/vIsj5XgEBT4OBJPxZLvASW6ZWLxrM8tZKGODEMsXlYygEG7QQqMWsBj7cfp/VYgYvMVlHrBaINGXAUH5DodvIamxEOMky7kZ51MKA5tyR+5rSV/c1pM4gAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/mydata_help1.2852cf1c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help2.d2884736.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help3.ec406881.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help4.07ecd5e8.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help6.b86940b1.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help7.ab08bb35.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help8.b8392aa0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/mydata_help5.05cc080c.jpg\";"],"sourceRoot":""}