{"version":3,"sources":["../index.tsx","../types.tsx","lang/index.tsx","core/modules/common/components/ButtonCommon.tsx","contexts/LanguageContext.tsx","../BaseServices.tsx","core/modules/common/components-forms/InputTextForm.tsx","core/modules/common/components/SuggestionWidget.tsx","core/modules/common/components/TooltipAlias.tsx","core/modules/common/components/GuideTemplate.tsx","core/modules/common/components-forms/SelectDropdownForm.tsx","core/modules/common/components-forms/SelectBodyArea.tsx","core/modules/common/components-forms/SelectGenders.tsx","core/modules/common/components-forms/SelectFitType.tsx","core/modules/common/components-forms/MultiselectDropdownForm.tsx","../PlatformService.tsx","core/modules/common/components/ButtonAction.tsx","core/modules/common/components/PushButtonFilterMercadoShops.tsx","core/modules/common/components/Badge.tsx","core/modules/common/components/ModalCommon.tsx","core/modules/common/components/BlockContentControls.tsx","core/modules/common/components/ChipsControl.tsx","core/modules/common/components-forms/FileUploadForm.tsx","core/modules/common/components-forms/ColumnSelectFitType.tsx","../StorageServices.tsx","../UserServices.tsx","../HealthService.tsx","../ProductoServices.tsx","../SizeGuideServices.tsx","../PersonServices.tsx","../BodyAreaServices.tsx","../FitTypeServices.tsx","../DashboardServices.tsx","../ToolsServices.tsx","core/modules/roots/login/Login.tsx","core/misc/modules/ExcelModule.tsx","../ConvertModule.tsx","../Tools.tsx","core/modules/roots/content-layout/ContentLayout.tsx","core/modules/dashboards/home/MainDashboard.tsx","core/modules/common/components/InputSearch.tsx","core/modules/common/components/StatisticWidget.tsx","core/modules/common/components/AlertWidget.tsx","core/modules/common/components/SectionTitle.tsx","core/modules/common/components/MainBoxTool.tsx","core/modules/common/components/MainSectionTitle.tsx","core/modules/common/components/PushButtonFilter.tsx","core/modules/common/components/SizeGuideGrid.tsx","core/modules/common/components/ModalActionMessage.tsx","core/modules/common/components/SizesForm.tsx","core/modules/common/components/DashboardCard.tsx","core/modules/common/components/Table.tsx","core/modules/common/components/CalendarDemo.tsx","core/modules/common/components/DashboardModal.tsx","core/modules/common/components/NotFoundTable.tsx","core/modules/common/components/DropdownButton.tsx","core/modules/common/components/AssociateModal.tsx","core/modules/common/components/ProductsForm.tsx","core/modules/common/components/InputText.tsx","core/modules/common/components/ModalIntro.tsx","core/modules/common/components/ModalLimitReached.tsx","core/modules/common/components/ToolTip.tsx","core/modules/common/components/ModalIntroMs.tsx","core/modules/common/components/PriceCard.tsx","core/modules/common/components/TooltipDomAuth.tsx","core/modules/common/components-forms/SelectSizeGuideType.tsx","core/modules/common/components-chart/BarChart.tsx","core/modules/common/components-chart/LineChart.tsx","core/modules/common/components-chart/BarChartSizes.tsx","core/modules/common/components-forms/ColumnSelectSizeGuide.tsx","core/modules/common/components/CrispChat.tsx","core/modules/home/home/MainHome.tsx","core/modules/tools/home/Tools.tsx","core/modules/products/components/List/List-Products.tsx","core/modules/products/components/dashboard/Dashboard-Products.tsx","core/modules/products/components/List/ListProductWithoutSizeGuide.tsx","core/modules/products/components/List/List-ProdcutsNotFound.tsx","core/modules/products/components/List/List-ProductsWithoutActivity.tsx","core/modules/products/components/crud/ProductRegistration.tsx","core/modules/products/components/crud/ProductEdit.tsx","core/modules/products/home/MainProducts.tsx","core/modules/sizes-guides/components/crud/EditSizeGuide.tsx","core/modules/sizes-guides/components/crud/NewSizeGuide.tsx","core/modules/sizes-guides/components/dashboard/DashboardSizeGuides.tsx","core/modules/sizes-guides/home/MainSizeGuides.tsx","App.tsx","registerServiceWorker.js","index.js","core/modules/roots/nav-app/Navapp.tsx","core/modules/roots/content-app/ContentApp.tsx","core/modules/common/components/ConfirmationModal.tsx","core/modules/common/components/ProductGrid.tsx","core/modules/mercadoshops/components/MercadoShopsTable.tsx","core/modules/mercadoshops/home/MercadoShops.tsx","core/modules/tiendanube/components/TiendaNubeTable.tsx","core/modules/tiendanube/home/TiendaNube.tsx"],"names":["E_ContractType","ButtomCommon","props","onClickButton","eventClick","disabled","label","style","Styles","className","isOutline","width","onClick","badge","Badge","badgeClassName","LanguageContext","createContext","locale","messages","es","changeLanguage","LanguageProvider","children","cultureLocale","getLocaleFromCulture","culture","split","useState","setLocale","en","pt","setMessages","useEffect","storedLocale","localStorage","getItem","Provider","value","newLocale","setItem","useLanguage","useContext","InputTextForm","showHelper","setShowHelper","targetHelper","setTargetHelper","intl","useIntl","Group","ClassGroup","Label","id","Helper","src","alt","e","target","handlerClickHelper","show","placement","Body","Control","size","type","maxLength","MaxLength","Number","MAX_VALUE","placeholder","formatMessage","Placeholder","defaultMessage","Disabled","onChange","SuscribedChange","onControlChange","defaultValue","DefaultValue","handlerClean","variant","onClickClean","icon","SuggestionWidget","styleClass","xs","xxl","height","title","description","Tooltip","isVisible","setIsVisible","position","backgroundColor","padding","border","borderRadius","zIndex","right","top","faWindows","faApple","GuideTemplate","imgSrc","paragraphText","mainContainerClass","imageContainerClass","imageClass","textContainerClass","textClass","SelectDropdownForm","Elements","Select","Classname","AriaLabel","IsLoading","OptionDefault","map","call","element","index","Id","Name","SelectBodyArea","bodyareas","setBodyAreas","isLoading","setIsLoading","setSelectedBodyArea","a","BodyAreaServices","GetBodyAreas","getResponse","parseInt","length","undefined","SelectGender","genders","setGenders","setSelectedGender","PersonServices","GetGenders","genderResponse","SelectFitType","fittypes","setFitTypes","setSelected","FitTypeServices","GetFitTypes","MultiselectDropdownForm","SelectedValues","selectedValues","setSelectedValues","options","Options","optionLabel","OptionLabel","display","appendTo","ButtomAction","CustomButton","messageId","quantity","isActive","setIsActive","text","BadgeFitprenda","severity","ModalCommon","onHandleClose","OnModalClose","Show","onHide","centered","dialogClassName","contentClassName","Header","closeButton","borderBottom","Title","HiddenTitle","Content","HiddenActions","buttonSuccessTitle","OnModalOk","BlockContentControls","paddingX","ChipsControl","Values","values","setValues","isDisabled","onChipChange","onChangeValue","separator","FileUpdloadForm","accept","Accept","SuscribeChanges","error","console","log","onFileSelectedChange","ref","ControlRef","ColumnSelectFitType","setOptions","onSelectChange","optionsResponse","toString","name","minWidth","sessionStorage","StorageServices","cookieName","secretCode","Login","handleKeyDown","event","currentTime","Date","getTime","state","lastKeyTime","setState","keySequence","prevState","key","includes","showSecretInput","onClickLogin","LoginFailed","isUserInvalid","isPasswordInvalid","isDropdownOpen","document","addEventListener","this","removeEventListener","userName","userPassword","UserServices","LoginValid","Status","SetCookieUser","CultureLocale","languageCode","context","Tools","IsDevelopment","onSuccess","fluid","background","marginTop","as","Row","sm","autoFocus","handlerInputChange","isInvalid","animation","href","React","Component","contextType","ExcelModule","elements","sheetName","fileName","then","xlsx","worksheet","utils","json_to_sheet","workbook","Sheets","SheetNames","excelBuffer","write","bookType","SaveAsFile","callback","file","files","reader","FileReader","onload","read","result","worksheetName","data","sheet_to_json","header","raw","cols","shift","dataRead","d","reduce","obj","c","i","readAsArrayBuffer","buffer","FileSaver","Blob","saveAs","ConvertModule","can","services_1","ContentLayout","MainDashboard","Recommended","setRecommended","SizeGuideRecommended","setSizeGuideRecommended","SizesGuideRecommended","setSizesGuideRecommended","DaysRecommended","setDaysRecommended","AgeRecommended","setAgeRecommended","isLoadingRecommended","setIsLoadingRecommended","isLoadingSizeGuideRecommended","setIsLoadingSizeGuideRecommended","isLoadingDaysRecommended","setIsLoadingDaysRecommended","isLoadingAgeRecommended","setIsLoadingAgeRecommended","isLoadingSizesGuideRecommended","setIsLoadingSizesGuideRecommended","setDate","getDate","toISOString","substring","dateSelected","setDateSelected","sizeGuideIdSelected","setsizeGuideIdSelected","NONE","contractType","setContractType","user","GetCookieUser","Contract","FREE","loadDashboard","dateFrom","dateTo","sizeGuideId","DashboardServices","GetRecommended","response","GetRecommendedSizePerSizeGuide","getRecommended","GetRecommendedPerDays","GetRecommendedPerAge","GetRecommendedPerSizesGuide","CalculatePercentaje","base","total","rounded","Math","floor","ceil","onChangeSizeGuide","loadDashboardSizeGuide","onChangeDates","xl","Value","valueVariant","StatisticWidgetVariantValue","REGULAR","typeWidget","StatisticTypeWidget","SUNGLASSES","helper","SUCCESS","STARSTRUCK","DANGER","FROWNING","bgClass","DataValue","isLoadingData","Data","InputSearch","onInputChange","StatisticWidget","AlertWidget","imageSrcType","typeAlert","AlertWidgetType","WARNING","TSHIRT","imageAltType","includeNewLine","urlLink","urlText","SectionTitle","clarification","fontWeight","fontSize","MainBoxTool","subtitle","MainSectionTitle","marginBottom","badgeValue","badgeVariant","PushButtonFilter","StateFilter","isFilterActive","setIsFilterActive","ClickSuscribe","onClickFilter","isValidElement","DataTableSizeGuides","global","matchMode","filters","setFilters","selection","setSelection","setGlobalFilterValue","isFilterTop","setIsFilterTop","isFilterBottom","setIsFilterBottom","isFilterEntire","setIsFilterEntire","isFilterBrassiere","setIsFilterBrassiere","isFilterFemale","setIsFilterFemale","isFilterMale","setIsFilterMale","onSearch","_filters","onSearchSuperior","onSearchInferior","onSearchEntera","onSearchBrassiere","onSearchFemenino","onSearchMasculino","renderRowEdit","rowData","overlay","handlerEdit","onClickEdit","renderRowDuplicate","handlerClone","onClickClone","renderRowDelete","handlerDelete","onClickDelete","dataKey","qSuperior","qInferior","qEntera","qBrassiere","qFemenino","qMasculino","filter","TypeSizeGuide","E_ClothesType","TOP","BOTTOM","ENTIRE","BRASSIERE","Gender","E_GenderType","FEMALE","MALE","showTitle","handlerDownload","onClickDownload","handlerDeleteGroup","onClickDeleteGroup","renderHeader","responsiveLayout","scrollable","scrollHeight","selectionMode","onSelectionChange","row","handlerSelectionRow","globalFilterFields","loading","headerStyle","maxWidth","field","sortable","body","Sizes","join","Related","Enabled","faBan","bodyClassName","ModalActionMessage","SizesForm","onSizeAdd","newSizes","newSize","indice","nextOrder","currentElements","Order","Measures","Array","BodyParts","forEach","item","indexBodyPart","RowMeasure","From","ErrorFrom","To","ErrorTo","IsSuccess","BodyPart","push","createNewRowSize","SucribeChanges","elemento","toUpperCase","onSizeNameChange","elementoMeasure","indiceMeasure","E_BodyPart","FOOT","referenceId","currentSizeMesure","lastSize","onSizeMesaureChangeFrom","parseFloat","onSizeMesaureChangeTo","splice","onSizeRemove","counterErrors","sizesErrors","sizeMeasuresErrors","itemMeasure","areHaveErrors","showCustomWarning","DashboardCard","img","percentage","edad","peso","altura","largo","cintura","cadera","busto","largoPie","Table","paginatorTemplate","emptyMessage","currentPageReportTemplate","rows","sortField","sortOrder","FoundSize","NotFoundSize","exportData","ExportElements","ProductsRelated","SizeMostRecommended","ExportTo","onSuscribeDownloadData","CalendarDemo","today","sixDaysAgo","dateRange","setDateRange","addLocale","firstDayOfWeek","dayNames","dayNamesShort","dayNamesMin","monthNames","monthNamesShort","clear","readOnlyInput","dateFormat","DashboardModal","SizeGuides","setSizeGuides","setIsLoadingSizeGuides","setShow","setSelectedOption","SizeGuideServices","GetSizesGuides","getSizeGuides","faArrowDown","DefaultData","find","backdrop","keyboard","selected","NotFoundTable","Object","initGlobalFilters","products","handlerAddSizeGuide","DropdownButton","option1","setOption1","code","AssociateModal","ProductsForm","showModal","setShowModal","setIsLoadingData","isLoadingSizeGuides","SizeGuideSelected","setSizeGuideSelected","SizesGuideSelect","setSizesGuideSelect","SizeGuideType","setSizeGuideType","SizeGuideGender","setSizeGuideGender","selectedSizes","setSelectedSizes","setSelectedSizesNames","itemEdit","setItemEdit","setSelectedChips","chipsDisabled","setChipsDisabled","fileUploadRef","useRef","getSizeGuidesUpload","getBodyAreas","getGenders","getFitTypes","createNewRowProduct","Code","Variants","BodyArea","Fit","Categories","SizeGuide","PositionRow","onShowModal","Index","Item","onSizeGuideChange","guideSelect","guide","onSizesChange","selectedOptions","onImportExcel","current","uploadSizeGuides","bodyAreas","fitTypes","ImportFrom","currentProducts","Modelo","Descripcion","SKUs","findItem","findElement","Genero","Posicion","Guia","Talles","sizes","talleElement","findSizeItem","findSizeElement","trim","Categorias","newProduct","canUpdload","canDownload","bg","newProducts","onProductCodeChange","onProductNameChange","onProductBodyAreaChange","onProductGenderChange","onProductFitChange","option","onProductRemove","onProductAdd","currentProduct","InputText","ClassName","ModalIntro","closeModal","selectedLanguage","step","setStep","handleNext","prevStep","handleExit","handleDotClick","newStep","paragraphText1","paragraphText2","paragraphText4","paragraphText5","colStyle","md","ModalLimitReached","Footer","headingId","paragraphIds","firstParagraphBackgroundColor","tooltipRight","tooltipWidth","tooltipTop","ModalIntroMs","handleNothing","image","fit","product","PricingCard","titleId","definitionId","subtitleId","items","itemId","faCheck","left","SelectSizeGuideType","sizeGuideTypes","setSizeGuideTypes","setSelectedType","GetTypesSizeGuide","TypesSizeGuide","ChartJS","register","CategoryScale","LinearScale","BarElement","Legend","responsive","plugins","legend","labels","font","family","weight","lineHeight","layout","scales","x","grid","color","beginAtZero","ticks","backdropColor","y","beforeDraw","chart","chartArea","barArray","getDatasetMeta","borderWidth","datasets","random","BarChart","prototype","PointElement","LineElement","borderColor","fill","LineChart","BarChartSizes","ColumnSelectSizeGuide","ByCode","GetSizesGuidesRelatedCode","CrispChat","script","createElement","innerHTML","head","appendChild","removeChild","MainHome","prevLanguage","openModal","currentTarget","getAttribute","ShowOnBoard","handleLanguageChange","currentUser","warningsHealth","Health","GetWarningsHealth","forceUpdate","lg","contentInternalActionTools","count","NoSizeGuideProducts","CENTIMETER","UnknowProducts","Inactive","TotalPredictions","TotalPredictionsPercentageAccepts","TotalPredictionsPercentageNoAccepts","plans","planId","companyPlanId","platformId","PlatformId","inputValue","setInputValue","tags","setTags","visible","setVisible","selectedTagIndex","setSelectedTagIndex","newTagIndex","setNewTagIndex","companyDomains","setCompanyDomains","GetDomains","ToolServices","GetCompanyDomains","Domains","footerContent","newTags","_","newCompany","newDomains","removeTag","onClickSaveDomains","saveDomains","UpdateCompanyDomains","plan","faCheckCircle","baseItem","replace","tag","handleRemoveClick","cursor","footer","ListProducts","setProducts","productSelection","setProductsSelection","navigate","useNavigate","useParams","ProductServices","GetProducts","getProductResponse","getProductos","onListProductChange","onClickGoBack","Col","DashboardProducts","productsHealth","setProductsHealth","isLoadingProducts","setIsLoadingProducts","GetProductsHealth","NoSizeGuide","VariantsId","Description","FitType","PlatformCategory","ListProductsWithOutSizeGuide","GetProductsWithoutSizeGuide","ListProductsNotFound","hiddenTitle","setHiddenaTitle","hiddenActions","setHiddenaActions","modalStep","setModalStep","params","Form","ListProductsWithoutActivity","GetProductsWithoutActivity","ProductRegistration","formProducts","setFormProducts","b","chunks","br","FormProducts","aProducts","getProducts","ProductEdit","useLocation","editedData","setEditedData","ProductReference","OtherReference","otherReference","setOtherReference","isClicked","setIsClicked","divRef","handleClick","handleDocumentClick","contains","handleInputsChange","handlePaste","clipboardData","aliasReference","elementsCopied","getData","pop","Boolean","itemComma","renderInputs","filteredItems","toLowerCase","handleTagDelete","indexToDelete","newItems","handleInputChange","SelectGenders","boldText","TooltipAlias","onPaste","maxHeight","overflowY","ButtonCommon","MainProducts","productsLength","setProductsLength","variantBadge","mainSectionContent","path","EditSizeGuide","clothesType","clothesTypeSelect","setClothesTypeSelect","gender","genreSelect","setGenreSelect","unique","IsUnique","uniqueSelect","setUniqueSelect","Cups","cupSelect","setCupSelect","sizeGuideName","setSizeGuideName","enabledChecked","setEnabledChecked","formSizes","setFormSizes","cupsSizes","setCupsSize","createProductGuideSelected","setCreateProductGuide","productReferenceCodeDefaultValue","setProductReferenceCodeDefaultValue","productReferenceCode","setProductReferenceCode","handleEnabledChange","CanCreateSizeGuide","getBodyParts","bodyParts","CHEST","WAIST","HIP","LEG","SHOES","UNDERBUST","getSizes","partsBody","FormSizes","aSizes","handlerChangeForm","handlerCupChange","newCup","aCups","newCups","cup","indexOf","onClickSave","UnfixedLimits","PutSizeGuide","sizeGuideResponse","clothesTypeKey","genderTypeKey","checked","Check","defaultChecked","substr","onCheckProductGuideCreate","UserMustCreateRelatedCode","ClothesType","NewSizeGuide","useSearchParams","searchParams","get","nameError","setNameError","setShowCustomWarning","hasEmptyMeasureName","some","qErrors","hasEmptyMeasures","PostSizeGuide","ValidateSizes","DashboardSizeGuides","setElements","isLoadingElements","setIsLoadingElements","setElementSelection","showLimitModal","setShowLimitModal","setClothesType","genderSelect","setGenderSelect","getActiveSizeGuides","qActive","onHideModal","SetQuantitySizeGuideActive","paragraphText3","onInitSizeGuideTemplate","idType","pathname","search","createSearchParams","isUnique","MainSizeGuides","App","isAuthenticated","ExistsCookieUser","to","onUserLogin","displayName","isLocalhost","window","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","controller","catch","library","add","fas","far","baseUrl","getElementsByTagName","rootElement","getElementById","classList","userCultureLocale","ReactDOM","render","StrictMode","basename","URL","process","origin","fetch","status","headers","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker","Navapp","toggleHelpDropdown","isHelpDropdownOpen","toggleDropdown","showMenu","showOffcanvas","onClickMenuAside","FlushCookie","Nav","defaultActiveKey","toggleOffcanvas","Offcanvas","Link","onLogout","Navbar","fixed","Container","rel","ContentApp","isMenuColapse","setIsMenuColapse","ToolService","menuState","marginLeft","ConfirmationModal","deleteFunction","modelName","setModelName","yesLabel","noLabel","DataTableProducts","isHandlerActionRaised","selectedRowData","setSelectedRowData","OverlayTrigger","Button","E_BodyArea","faFileExcel","handlerAddSizeGuideGroup","onClickAddSizeGuideGroup","variants","ProductType","MercadoShopsTable","synchMarketplace","ShowOnBoardMarketplace","selectedProducts","setSelectedProducts","first","setFirst","setRows","globalFilter","setGlobalFilter","noClasificadoCount","setNoClasificadoCount","deshabilitadoCount","setDeshabilitadoCount","modificadosCount","setModificadosCount","filterNoClasificado","setFilterNoClasificado","filterDeshabilitado","setFilterDeshabilitado","isModalOpen","setIsModalOpen","GetPlatformProducts","calculateStatusCounts","overflow","noClasificadoItems","Classified","deshabilitadoItems","modificadosItems","Modified","handleSizeGuideChange","newValue","updatedProducts","p","PlatformProductId","handleFitTypeChange","updateProducts","PostPlatformProducts","onClickRefresh","onClickRefreshItem","PlatformsService","GetMercadoShopsItemDetail","PlatformCode","getMarketplaceResponse","GetPlatformProduct","productPlatform","ImageUrl","onClickSynchMarketPlace","GetMercadoShopsSearchItems","onCloseModalOnBoarding","UpdateStatusOnBoarding","postStatusOnBoarding","paginator","onPage","rowsPerPageOptions","imageUrl","statusStyle","statusText","condicionStyle","condicionText","onMouseDown","stopPropagation","newCondicion","handleStatusChange","MercadoShops","TiendaNubeTable","PlatformServices","GetTiendaNubeItemDetail","GetTiendaNubeSearchItems","TiendaNube"],"mappings":"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","file":"static/js/main.6b351abc.chunk.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Tools = void 0;\nvar Tools_1 = require(\"./home/Tools\");\nObject.defineProperty(exports, \"Tools\", { enumerable: true, get: function () { return Tools_1.default; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.E_ContractType = exports.E_UnitMeasure = exports.E_MeasureType = exports.E_BodyPart = exports.E_BodyArea = exports.E_FitType = exports.E_GenderType = exports.E_ClothesType = exports.AlertWidgetType = exports.StatisticTypeWidget = exports.StatisticWidgetVariantValue = void 0;\nvar StatisticWidgetVariantValue;\n(function (StatisticWidgetVariantValue) {\n StatisticWidgetVariantValue[StatisticWidgetVariantValue[\"REGULAR\"] = 0] = \"REGULAR\";\n StatisticWidgetVariantValue[StatisticWidgetVariantValue[\"SUCCESS\"] = 1] = \"SUCCESS\";\n StatisticWidgetVariantValue[StatisticWidgetVariantValue[\"DANGER\"] = 2] = \"DANGER\";\n})(StatisticWidgetVariantValue || (exports.StatisticWidgetVariantValue = StatisticWidgetVariantValue = {}));\nvar StatisticTypeWidget;\n(function (StatisticTypeWidget) {\n StatisticTypeWidget[StatisticTypeWidget[\"SUNGLASSES\"] = 0] = \"SUNGLASSES\";\n StatisticTypeWidget[StatisticTypeWidget[\"STARSTRUCK\"] = 1] = \"STARSTRUCK\";\n StatisticTypeWidget[StatisticTypeWidget[\"FROWNING\"] = 2] = \"FROWNING\";\n})(StatisticTypeWidget || (exports.StatisticTypeWidget = StatisticTypeWidget = {}));\nvar AlertWidgetType;\n(function (AlertWidgetType) {\n AlertWidgetType[AlertWidgetType[\"CENTIMETER\"] = 0] = \"CENTIMETER\";\n AlertWidgetType[AlertWidgetType[\"TSHIRT\"] = 1] = \"TSHIRT\";\n AlertWidgetType[AlertWidgetType[\"WARNING\"] = 2] = \"WARNING\";\n})(AlertWidgetType || (exports.AlertWidgetType = AlertWidgetType = {}));\nvar E_ClothesType;\n(function (E_ClothesType) {\n E_ClothesType[E_ClothesType[\"NONE\"] = 0] = \"NONE\";\n E_ClothesType[E_ClothesType[\"TOP\"] = 1] = \"TOP\";\n E_ClothesType[E_ClothesType[\"BOTTOM\"] = 2] = \"BOTTOM\";\n E_ClothesType[E_ClothesType[\"ENTIRE\"] = 3] = \"ENTIRE\";\n E_ClothesType[E_ClothesType[\"BRASSIERE\"] = 4] = \"BRASSIERE\";\n E_ClothesType[E_ClothesType[\"SHOES\"] = 5] = \"SHOES\";\n})(E_ClothesType || (exports.E_ClothesType = E_ClothesType = {}));\nvar E_GenderType;\n(function (E_GenderType) {\n E_GenderType[E_GenderType[\"NONE\"] = 0] = \"NONE\";\n E_GenderType[E_GenderType[\"MALE\"] = 1] = \"MALE\";\n E_GenderType[E_GenderType[\"FEMALE\"] = 2] = \"FEMALE\";\n E_GenderType[E_GenderType[\"UNKNOW\"] = 3] = \"UNKNOW\";\n})(E_GenderType || (exports.E_GenderType = E_GenderType = {}));\nvar E_FitType;\n(function (E_FitType) {\n E_FitType[E_FitType[\"NONE\"] = 0] = \"NONE\";\n E_FitType[E_FitType[\"REGULAR\"] = 1] = \"REGULAR\";\n E_FitType[E_FitType[\"TIGHT\"] = 2] = \"TIGHT\";\n E_FitType[E_FitType[\"LOOSE\"] = 3] = \"LOOSE\";\n})(E_FitType || (exports.E_FitType = E_FitType = {}));\nvar E_BodyArea;\n(function (E_BodyArea) {\n E_BodyArea[E_BodyArea[\"NONE\"] = 0] = \"NONE\";\n E_BodyArea[E_BodyArea[\"TOP\"] = 1] = \"TOP\";\n E_BodyArea[E_BodyArea[\"BOTTOM\"] = 2] = \"BOTTOM\";\n E_BodyArea[E_BodyArea[\"BOTH\"] = 3] = \"BOTH\";\n E_BodyArea[E_BodyArea[\"UNKNOW\"] = 4] = \"UNKNOW\";\n})(E_BodyArea || (exports.E_BodyArea = E_BodyArea = {}));\nvar E_BodyPart;\n(function (E_BodyPart) {\n E_BodyPart[E_BodyPart[\"NONE\"] = 0] = \"NONE\";\n E_BodyPart[E_BodyPart[\"TALL\"] = 1] = \"TALL\";\n E_BodyPart[E_BodyPart[\"HEAD\"] = 2] = \"HEAD\";\n E_BodyPart[E_BodyPart[\"NECK\"] = 3] = \"NECK\";\n E_BodyPart[E_BodyPart[\"SHOULDER\"] = 4] = \"SHOULDER\";\n E_BodyPart[E_BodyPart[\"CHEST\"] = 5] = \"CHEST\";\n E_BodyPart[E_BodyPart[\"BACK\"] = 6] = \"BACK\";\n E_BodyPart[E_BodyPart[\"ARM\"] = 7] = \"ARM\";\n E_BodyPart[E_BodyPart[\"WAIST\"] = 8] = \"WAIST\";\n E_BodyPart[E_BodyPart[\"HIP\"] = 9] = \"HIP\";\n E_BodyPart[E_BodyPart[\"LEG\"] = 10] = \"LEG\";\n E_BodyPart[E_BodyPart[\"CROTCH\"] = 11] = \"CROTCH\";\n E_BodyPart[E_BodyPart[\"UNDERBUST\"] = 12] = \"UNDERBUST\";\n E_BodyPart[E_BodyPart[\"FOOT\"] = 13] = \"FOOT\";\n})(E_BodyPart || (exports.E_BodyPart = E_BodyPart = {}));\nvar E_MeasureType;\n(function (E_MeasureType) {\n E_MeasureType[E_MeasureType[\"NONE\"] = 0] = \"NONE\";\n E_MeasureType[E_MeasureType[\"LENGTH\"] = 1] = \"LENGTH\";\n E_MeasureType[E_MeasureType[\"HIGH\"] = 2] = \"HIGH\";\n E_MeasureType[E_MeasureType[\"CONTOUR\"] = 3] = \"CONTOUR\";\n})(E_MeasureType || (exports.E_MeasureType = E_MeasureType = {}));\nvar E_UnitMeasure;\n(function (E_UnitMeasure) {\n E_UnitMeasure[E_UnitMeasure[\"NONE\"] = 0] = \"NONE\";\n E_UnitMeasure[E_UnitMeasure[\"FT\"] = 1] = \"FT\";\n E_UnitMeasure[E_UnitMeasure[\"CM\"] = 2] = \"CM\";\n E_UnitMeasure[E_UnitMeasure[\"MT\"] = 3] = \"MT\";\n E_UnitMeasure[E_UnitMeasure[\"GRS\"] = 4] = \"GRS\";\n E_UnitMeasure[E_UnitMeasure[\"KG\"] = 2] = \"KG\";\n})(E_UnitMeasure || (exports.E_UnitMeasure = E_UnitMeasure = {}));\nvar E_ContractType;\n(function (E_ContractType) {\n E_ContractType[E_ContractType[\"NONE\"] = 0] = \"NONE\";\n E_ContractType[E_ContractType[\"FREE\"] = 1] = \"FREE\";\n E_ContractType[E_ContractType[\"PRO\"] = 2] = \"PRO\";\n E_ContractType[E_ContractType[\"ENTERPRISE\"] = 3] = \"ENTERPRISE\";\n})(E_ContractType || (exports.E_ContractType = E_ContractType = {}));\n//# sourceMappingURL=types.js.map","export { default as es } from \"./es.json\";\r\nexport { default as en } from \"./en.json\";\r\nexport { default as pt } from \"./pt.json\";\r\n","import { Button } from \"primereact/button\";\r\nimport \"./ButtonCommon.css\";\r\n\r\nconst ButtomCommon = (props: any) => {\r\n const onClickButton = () => {\r\n if (props.eventClick) props.eventClick();\r\n };\r\n\r\n //console.log('props', props);\r\n\r\n return (\r\n <>\r\n {props.disabled ? (\r\n // \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InputTextForm;\r\n","import { Row, Col } from \"react-bootstrap\";\r\nimport \"./SuggestionWidget.css\";\r\n\r\nconst SuggestionWidget = (props: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n

\r\n {props.title || \"Sugerencia\"}\r\n

\r\n {props.description && (\r\n

\r\n {props.description}\r\n

\r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SuggestionWidget;\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState } from \"react\";\r\nimport \"./TooltipAlias.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { faApple, faWindows } from \"@fortawesome/free-brands-svg-icons\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction Tooltip() {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleTooltip = () => {\r\n setIsVisible(!isVisible);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n {isVisible && (\r\n \r\n
\r\n

\r\n \r\n {/* Para agregar mas alias a tu producto hace click sobre el boton que\r\n dice pega aqui tus alias, una vez seleccionado pega tus codigos de\r\n guias desde excel o word (control + v en Windows) o (command + v\r\n en Mac) */}\r\n

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

+

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

+

\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Tooltip;\r\n","import React from \"react\";\r\nimport \"./GuideTemplate.css\";\r\n\r\nconst GuideTemplate = (props: any) => {\r\n const {\r\n imgSrc,\r\n paragraphText,\r\n onClick,\r\n mainContainerClass,\r\n imageContainerClass,\r\n imageClass,\r\n textContainerClass,\r\n textClass,\r\n } = props;\r\n\r\n return (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

{paragraphText}

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default GuideTemplate;\r\n","import { useState } from \"react\";\r\nimport { Form, Overlay, Popover } from \"react-bootstrap\";\r\nimport { IBaseItem } from \"../types\";\r\nimport \"./SelectDropdownForm.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst SelectDropdownForm = (props: any) => {\r\n const { Elements } = props;\r\n\r\n const [showHelper, setShowHelper] = useState(false);\r\n const [targetHelper, setTargetHelper] = useState(null);\r\n\r\n const onControlChange = (e: any) => {\r\n if (props.SuscribedChange) props.SuscribedChange(e.target.value);\r\n };\r\n\r\n const handlerClickHelper = (e: any) => {\r\n setShowHelper(!showHelper);\r\n setTargetHelper(e.target);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {props.Helper ? (\r\n <>\r\n handlerClickHelper(e)}\r\n />\r\n \r\n \r\n {props.Helper || \"\"}\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n onControlChange(e)}\r\n disabled={props.Disabled || false}\r\n defaultValue={props.DefaultValue || \"\"}\r\n >\r\n {props.IsLoading ? (\r\n \r\n ) : (\r\n <>\r\n {props.OptionDefault ? : null}\r\n {[].map.call(Elements, (element: IBaseItem, index: number) => {\r\n return (\r\n \r\n {element.Name}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectDropdownForm;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { BodyAreaServices } from \"../../../services\";\r\nimport { IBaseItem } from \"../types\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\n\r\nconst SelectBodyArea = (props: any) => {\r\n const [bodyareas, setBodyAreas] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [selectedBodyArea, setSelectedBodyArea] = useState(0);\r\n\r\n const intl = useIntl();\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const getResponse = await BodyAreaServices.GetBodyAreas();\r\n\r\n setBodyAreas(getResponse);\r\n setIsLoading(false);\r\n })();\r\n }, []);\r\n\r\n const onControlChange = (e: any) => {\r\n setSelectedBodyArea(parseInt(e.target.value));\r\n\r\n if (props.SuscribedChange) props.SuscribedChange(parseInt(e.target.value));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {isLoading ? (\r\n <>\r\n ) : (\r\n onControlChange(e)}\r\n key={\"select-body-area\"}\r\n defaultValue={\r\n props.DefaultValue && bodyareas.length > 0\r\n ? props.DefaultValue\r\n : undefined\r\n }\r\n >\r\n {bodyareas?.map((element: IBaseItem, index: number) => {\r\n return (\r\n \r\n {element.Name}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectBodyArea;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { PersonServices } from \"../../../services\";\r\nimport { IBaseItem } from \"../types\";\r\nimport { useIntl } from \"react-intl\";\r\n\r\nconst SelectGender = (props: any) => {\r\n const [genders, setGenders] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [selectedGender, setSelectedGender] = useState(0);\r\n\r\n const intl = useIntl();\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const genderResponse = await PersonServices.GetGenders();\r\n\r\n setGenders(genderResponse);\r\n setIsLoading(false);\r\n })();\r\n }, []);\r\n\r\n const onControlChange = (e: any) => {\r\n setSelectedGender(parseInt(e.target.value));\r\n\r\n if (props.SuscribedChange) props.SuscribedChange(parseInt(e.target.value));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {intl.formatMessage({ id: props.Label, defaultMessage: props.Label })}\r\n \r\n {isLoading ? (\r\n <>\r\n ) : (\r\n onControlChange(e)}\r\n key={\"select-gender\"}\r\n defaultValue={\r\n props.DefaultValue && genders.length > 0\r\n ? props.DefaultValue\r\n : undefined\r\n }\r\n >\r\n {genders?.map((element: IBaseItem, index: number) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectGender;\r\n","import { useState, useEffect } from 'react';\r\nimport { Form } from 'react-bootstrap';\r\nimport { FitTypeServices } from '../../../services';\r\nimport { IBaseItem } from '../types';\r\n\r\nconst SelectFitType = (props: any) => {\r\n const [fittypes, setFitTypes] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [selected, setSelected] = useState(0);\r\n\r\n\r\n useEffect(() => {\r\n\r\n (async() => {\r\n const getResponse = await FitTypeServices.GetFitTypes();\r\n\r\n setFitTypes(getResponse);\r\n setIsLoading(false);\r\n })();\r\n\r\n }, []);\r\n\r\n const onControlChange = (e: any) => {\r\n setSelected(parseInt(e.target.value));\r\n\r\n if (props.SuscribedChange) props.SuscribedChange(parseInt(e.target.value));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {props.Label || ''}\r\n {\r\n isLoading ?\r\n <>\r\n :\r\n onControlChange(e)}\r\n key={'select-fit-type'}\r\n defaultValue={(props.DefaultValue && fittypes.length > 0 ? props.DefaultValue : undefined)}>\r\n {\r\n fittypes?.map((element: IBaseItem, index: number) => {\r\n return (\r\n \r\n )\r\n \r\n })\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SelectFitType;\r\n","import { useIntl } from \"react-intl\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { useState } from \"react\";\r\n\r\nconst MultiselectDropdownForm = (props: any) => {\r\n const [selectedValues, setSelectedValues] = useState(\r\n props.SelectedValues ? props.SelectedValues : null\r\n );\r\n const intl = useIntl();\r\n\r\n const onControlChange = (e: any) => {\r\n setSelectedValues(e.value);\r\n\r\n if (props.SuscribedChange) props.SuscribedChange(e.value);\r\n };\r\n\r\n return (\r\n <>\r\n onControlChange(e)}\r\n optionLabel={`${props.OptionLabel ? props.OptionLabel : \"name\"}`}\r\n placeholder={intl.formatMessage({ id: props.Placeholder })}\r\n display=\"chip\"\r\n appendTo={\"self\"}\r\n className={\"w-100\"}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default MultiselectDropdownForm;\r\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"Platform\";\nvar PlatformsService = /** @class */ (function () {\n function PlatformsService() {\n }\n PlatformsService.GetMercadoShopsSearchItems = function (includeDetails) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"mercadoshops/search/items?companyId=\".concat(userCred.CompanyId, \"&platformid=\").concat(userCred.PlatformId).concat((includeDetails ? '&includeDetails=true' : '')))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n PlatformsService.GetMercadoShopsItemDetail = function (platformCode) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"mercadoshops/item/detail?companyId=\".concat(userCred.CompanyId, \"&platformid=\").concat(userCred.PlatformId, \"&platformCode=\").concat(platformCode))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n PlatformsService.GetTiendaNubeSearchItems = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUser();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"tiendanube/search/items?storeId=\".concat(userCred.SellerId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_3 = _a.sent();\n console.log(error_3);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n PlatformsService.GetTiendaNubeItemDetail = function (platformCode) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUser();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"tiendanube/item/detail?storeId=\".concat(userCred.SellerId, \"&platformid=\").concat(userCred.PlatformId, \"&platformCode=\").concat(platformCode))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_4 = _a.sent();\n console.log(error_4);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return PlatformsService;\n}());\nexports.default = PlatformsService;\n//# sourceMappingURL=PlatformService.js.map","import { Button } from \"primereact/button\";\r\nimport \"./ButtonAction.css\";\r\n\r\nconst ButtomAction = (props: any) => {\r\n return (\r\n <>\r\n {props.disabled ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ButtomAction;\r\n","import React, { useState } from \"react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport \"./PushButtonFilterMercadoShops.css\";\r\n\r\nconst CustomButton = ({ messageId, quantity, onClick }: any) => {\r\n const [isActive, setIsActive] = useState(false);\r\n\r\n const handleClick = () => {\r\n setIsActive(!isActive);\r\n onClick();\r\n };\r\n\r\n return (\r\n \r\n \r\n {(text) => (\r\n \r\n {text} ({quantity})\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomButton;\r\n","import { Badge } from \"primereact/badge\";\r\nimport \"./Badge.css\";\r\n\r\nconst BadgeFitprenda = (props: any) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BadgeFitprenda;\r\n","import { Modal, Row, Col } from \"react-bootstrap\";\r\nimport ButtonCommon from \"./ButtonCommon\";\r\nimport \"./ModalCommon.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst ModalCommon = (props: any) => {\r\n const onHandleClose = () => {\r\n if (props.OnModalClose) props.OnModalClose();\r\n };\r\n\r\n const onHandleOk = () => {\r\n if (props.OnModalOk) props.OnModalOk();\r\n };\r\n\r\n return (\r\n <>\r\n onHandleClose()}\r\n centered\r\n dialogClassName=\"my-modal\"\r\n contentClassName=\"modal-height\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.Content || \"Modal Content\"}\r\n \r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onHandleClose()}\r\n />\r\n \r\n \r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onHandleOk()}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCommon;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport \"./BlockContentControls.css\";\r\n\r\nconst BlockContentControls = (props: any) => {\r\n return (\r\n <>\r\n \r\n {props.children || \"Content Empty\"}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BlockContentControls;\r\n","import { Chips } from \"primereact/chips\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { Row, Col, Overlay, Popover } from \"react-bootstrap\";\r\nimport \"./ChipsControl.css\";\r\n\r\nconst ChipsControl = (props: any) => {\r\n const [values, setValues] = useState(props.Values ? props.Values : []);\r\n\r\n const [showHelper, setShowHelper] = useState(false);\r\n const [targetHelper, setTargetHelper] = useState(null);\r\n\r\n useEffect(() => {\r\n setValues(props.Values ? props.Values : []);\r\n }, [props.Values]);\r\n\r\n const handlerClickHelper = (e: any) => {\r\n setShowHelper(!showHelper);\r\n setTargetHelper(e.target);\r\n };\r\n\r\n const onChangeValue = (e: any) => {\r\n if (props.onChipChange) props.onChipChange(e);\r\n\r\n setValues(e.value);\r\n };\r\n\r\n const isDisabled = props.disabled;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {props.Title || \"\"}\r\n {props.Helper ? (\r\n <>\r\n handlerClickHelper(e)}\r\n />\r\n \r\n \r\n {props.Helper || \"\"}\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n onChangeValue(e)}\r\n separator=\",\"\r\n className={`w-100 ${isDisabled ? \"chips-disabled\" : \"\"}`}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChipsControl;\r\n","import { useRef, useState } from \"react\";\r\nimport { ButtonGroup, Form } from \"react-bootstrap\";\r\n\r\nconst FileUpdloadForm = (props: any) => {\r\n // const [fileSelectedFile, setFileSelectedFile] = useState(null)\r\n // const fileImport = useRef(null);\r\n \r\n const onFileSelectedChange = (e: any) => {\r\n try {\r\n // setFileSelectedFile(e.target.files[0])\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(e);\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n return(\r\n <>\r\n onFileSelectedChange(e)}\r\n className={props.Classname}\r\n ref={props.ControlRef || null} />\r\n \r\n )\r\n}\r\n\r\nexport default FileUpdloadForm;","import React, { useEffect, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { IBaseItem } from \"../types\";\r\nimport { FitTypeServices } from \"../../../services\";\r\n\r\nconst ColumnSelectFitType = (\r\n {\r\n placeholder\r\n , value\r\n , onChange\r\n }: any) => {\r\n\r\n const [options, setOptions] = useState();\r\n\r\n\r\n const onSelectChange = (e: any) => {\r\n\r\n if (onChange) onChange(e.value);\r\n }\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const getResponse = await FitTypeServices.GetFitTypes();\r\n\r\n const optionsResponse = getResponse.map((element: IBaseItem) => {\r\n return {\r\n value: element.Id.toString(),\r\n name: element.Name\r\n };\r\n });\r\n\r\n setOptions(optionsResponse);\r\n })();\r\n\r\n }, []);\r\n\r\n return (\r\n
\r\n onSelectChange(e)}\r\n options={options}\r\n optionLabel=\"name\"\r\n placeholder={placeholder}\r\n className=\"w-full md:w-14rem\"\r\n style={{ minWidth: \"100%\" }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default ColumnSelectFitType;\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar buffer_1 = require(\"buffer\");\nvar StorageServices = /** @class */ (function () {\n function StorageServices() {\n }\n StorageServices.SetCookieUser = function (value) {\n var cookieStore = {};\n try {\n if (sessionStorage.getItem(StorageServices.cookieName)) {\n cookieStore = JSON.parse(buffer_1.Buffer.from(sessionStorage.getItem(StorageServices.cookieName) || \"\", \"base64\").toString(\"ascii\"));\n cookieStore.user = value;\n sessionStorage.setItem(StorageServices.cookieName, buffer_1.Buffer.from(JSON.stringify(cookieStore)).toString(\"base64\"));\n }\n else {\n cookieStore.user = value;\n sessionStorage.setItem(StorageServices.cookieName, buffer_1.Buffer.from(JSON.stringify(cookieStore)).toString(\"base64\"));\n }\n }\n catch (error) {\n console.log(error);\n }\n };\n StorageServices.GetCookieUser = function () {\n try {\n if (sessionStorage.getItem(StorageServices.cookieName)) {\n var cookieStore = JSON.parse(buffer_1.Buffer.from(sessionStorage.getItem(StorageServices.cookieName) || \"\", \"base64\").toString(\"ascii\"));\n return cookieStore.user;\n }\n }\n catch (error) {\n console.log(error);\n }\n };\n StorageServices.SetCookieUserSizeGuideActive = function (value) {\n var cookieStore = {};\n try {\n if (sessionStorage.getItem(StorageServices.cookieName)) {\n cookieStore = JSON.parse(buffer_1.Buffer.from(sessionStorage.getItem(StorageServices.cookieName) || \"\", \"base64\").toString(\"ascii\"));\n cookieStore.user.SizeGuideActive = value;\n sessionStorage.setItem(StorageServices.cookieName, buffer_1.Buffer.from(JSON.stringify(cookieStore)).toString(\"base64\"));\n }\n }\n catch (error) {\n console.log(error);\n }\n };\n StorageServices.SetCookieUserSizeGuideActiveChange = function (value) {\n var cookieStore = {};\n try {\n if (sessionStorage.getItem(StorageServices.cookieName)) {\n cookieStore = JSON.parse(buffer_1.Buffer.from(sessionStorage.getItem(StorageServices.cookieName) || \"\", \"base64\").toString(\"ascii\"));\n cookieStore.user.SizeGuideActive += value;\n sessionStorage.setItem(StorageServices.cookieName, buffer_1.Buffer.from(JSON.stringify(cookieStore)).toString(\"base64\"));\n }\n }\n catch (error) {\n console.log(error);\n }\n };\n StorageServices.GetCookieUserCredentials = function () {\n var UserCred = {};\n try {\n if (sessionStorage.getItem(StorageServices.cookieName)) {\n var cookieStore = JSON.parse(buffer_1.Buffer.from(sessionStorage.getItem(StorageServices.cookieName) || \"\", \"base64\").toString(\"ascii\"));\n UserCred.UserId = cookieStore.user.UserId;\n UserCred.CompanyId = cookieStore.user.CompanyId;\n UserCred.PlatformId = cookieStore.user.PlatformId;\n }\n else {\n UserCred.UserId = 0;\n UserCred.CompanyId = 0;\n UserCred.PlatformId = 0;\n }\n }\n catch (error) {\n console.log(error);\n }\n return UserCred;\n };\n StorageServices.ExistsCookieUser = function () {\n try {\n if (sessionStorage.getItem(StorageServices.cookieName)) {\n var cookieStore = JSON.parse(buffer_1.Buffer.from(sessionStorage.getItem(StorageServices.cookieName) || \"\", \"base64\").toString(\"ascii\"));\n return cookieStore.user !== undefined && cookieStore.user !== null;\n }\n else {\n return false;\n }\n }\n catch (error) {\n console.log(error);\n }\n return false;\n };\n StorageServices.FlushCookie = function () {\n try {\n sessionStorage.removeItem(StorageServices.cookieName);\n }\n catch (error) {\n console.log(error);\n }\n };\n StorageServices.cookieName = \"FP-Cookie\";\n return StorageServices;\n}());\nexports.default = StorageServices;\n//# sourceMappingURL=StorageServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"User\";\nvar UserServices = /** @class */ (function () {\n function UserServices() {\n }\n UserServices.Login = function (userName, userPassword) {\n return __awaiter(this, void 0, void 0, function () {\n var data, Request_1, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n Request_1 = {\n UserCred: __1.StorageServices.GetCookieUserCredentials(),\n Content: {\n Mail: userName,\n Password: userPassword\n }\n };\n return [4 /*yield*/, BaseServices_1.default.PostAnonymousServices(ControllerBase, 'login', Request_1)];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n UserServices.UpdateStatusOnBoarding = function (typeOnBoading) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.PostServices(ControllerBase, \"hideonboarding/\".concat(userCred.PlatformId, \"/\").concat(userCred.UserId, \"/\").concat(typeOnBoading), data)];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return UserServices;\n}());\nexports.default = UserServices;\n//# sourceMappingURL=UserServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"Health\";\nvar HealthServices = /** @class */ (function () {\n function HealthServices() {\n }\n HealthServices.GetProductsHealth = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, oUser, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n oUser = __1.StorageServices.GetCookieUserCredentials();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"product?userid=\".concat(oUser.UserId, \"&platformid=\").concat(oUser.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n HealthServices.GetWarningsHealth = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, oUser, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n oUser = __1.StorageServices.GetCookieUserCredentials();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"warning?userid=\".concat(oUser.UserId, \"&platformid=\").concat(oUser.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return HealthServices;\n}());\nexports.default = HealthServices;\n//# sourceMappingURL=HealthService.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"Product\";\nvar ProductService = /** @class */ (function () {\n function ProductService() {\n }\n ProductService.GetProducts = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"products?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n ProductService.GetProductsWithoutSizeGuide = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"products/withoutsizeguide?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n ProductService.GetProductsWithoutActivity = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"products/withoutactivity?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_3 = _a.sent();\n console.log(error_3);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n ProductService.GetPlatformProducts = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"products/platform?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_4 = _a.sent();\n console.log(error_4);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n ProductService.GetPlatformProduct = function (platformCode) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_5;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"products/platform?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId, \"&platformcode=\").concat(platformCode))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_5 = _a.sent();\n console.log(error_5);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n ProductService.PostPlatformProducts = function (products) {\n return __awaiter(this, void 0, void 0, function () {\n var data, params, error_6;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n params = {\n UserCred: __1.StorageServices.GetCookieUserCredentials(),\n Content: products,\n };\n return [4 /*yield*/, BaseServices_1.default.PostServices(ControllerBase, \"products/platform\", params)];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_6 = _a.sent();\n console.log(error_6);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return ProductService;\n}());\nexports.default = ProductService;\n//# sourceMappingURL=ProductoServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"guide\";\nvar SizeGuideServices = /** @class */ (function () {\n function SizeGuideServices() {\n }\n SizeGuideServices.GetTypesSizeGuide = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n data = [];\n try {\n // const userCred = StorageServices.GetCookieUserCredentials();\n // data = await BaseServices.GetServices(ControllerBase, `products?userid=${userCred.UserId}&platformid=${userCred.PlatformId}`);\n data = [\n { Id: 1, Name: \"Superiores\" },\n { Id: 2, Name: \"Inferiores\" },\n { Id: 3, Name: \"Enteras\" },\n { Id: 4, Name: \"Sostenes\" },\n { Id: 5, Name: \"Calzado\" },\n ];\n }\n catch (error) {\n console.log(error);\n }\n return [2 /*return*/, data];\n });\n });\n };\n SizeGuideServices.GetSizesGuides = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"guides?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n SizeGuideServices.GetSizeGuide = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"guides/\".concat(id, \"?userid=\").concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n SizeGuideServices.PostSizeGuide = function (sizeGuide) {\n return __awaiter(this, void 0, void 0, function () {\n var data, params, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n params = {\n UserCred: __1.StorageServices.GetCookieUserCredentials(),\n Content: sizeGuide,\n };\n return [4 /*yield*/, BaseServices_1.default.PostServices(ControllerBase, \"\", params)];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_3 = _a.sent();\n console.log(error_3);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n SizeGuideServices.PutSizeGuide = function (id, sizeGuide) {\n return __awaiter(this, void 0, void 0, function () {\n var data, params, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n params = {\n UserCred: __1.StorageServices.GetCookieUserCredentials(),\n Content: sizeGuide,\n };\n return [4 /*yield*/, BaseServices_1.default.PutServices(ControllerBase, \"\".concat(id), params)];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_4 = _a.sent();\n console.log(error_4);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n SizeGuideServices.DeleteSizeGuide = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_5;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.DelServices(ControllerBase, \"\".concat(id, \"?userid=\").concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_5 = _a.sent();\n console.log(error_5);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n SizeGuideServices.GetSizesGuidesRelatedCode = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, userCred, error_6;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"guides/codes?userid=\".concat(userCred.UserId, \"&platformid=\").concat(userCred.PlatformId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_6 = _a.sent();\n console.log(error_6);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return SizeGuideServices;\n}());\nexports.default = SizeGuideServices;\n//# sourceMappingURL=SizeGuideServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//const ControllerBase: string = \"Person\";\nvar PersonServices = /** @class */ (function () {\n function PersonServices() {\n }\n PersonServices.GetGenders = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n data = [];\n try {\n // const userCred = StorageServices.GetCookieUserCredentials();\n // data = await BaseServices.GetServices(ControllerBase, `products?userid=${userCred.UserId}&platformid=${userCred.PlatformId}`);\n data = [\n { Id: 1, Name: 'Masculino' },\n { Id: 2, Name: 'Femenino' },\n //{Id: 3, Name: 'Sin Definir'}\n ];\n }\n catch (error) {\n console.log(error);\n }\n return [2 /*return*/, data];\n });\n });\n };\n return PersonServices;\n}());\nexports.default = PersonServices;\n//# sourceMappingURL=PersonServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ControllerBase = \"Person\";\nvar BodyAreaServices = /** @class */ (function () {\n function BodyAreaServices() {\n }\n BodyAreaServices.GetBodyAreas = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n data = [];\n try {\n // const userCred = StorageServices.GetCookieUserCredentials();\n // data = await BaseServices.GetServices(ControllerBase, `products?userid=${userCred.UserId}&platformid=${userCred.PlatformId}`);\n data = [\n { Id: 1, Name: 'Superior' },\n { Id: 2, Name: 'Inferior' },\n { Id: 4, Name: 'Sin Definir' }\n ];\n }\n catch (error) {\n console.log(error);\n }\n return [2 /*return*/, data];\n });\n });\n };\n return BodyAreaServices;\n}());\nexports.default = BodyAreaServices;\n//# sourceMappingURL=BodyAreaServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ControllerBase = \"Product\";\nvar FitTypeServices = /** @class */ (function () {\n function FitTypeServices() {\n }\n FitTypeServices.GetFitTypes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n data = [];\n try {\n // const userCred = StorageServices.GetCookieUserCredentials();\n // data = await BaseServices.GetServices(ControllerBase, `products?userid=${userCred.UserId}&platformid=${userCred.PlatformId}`);\n data = [\n { Id: 1, Name: 'Regular' },\n { Id: 2, Name: 'Ajustado' },\n { Id: 3, Name: 'Holgado' }\n ];\n }\n catch (error) {\n console.log(error);\n }\n return [2 /*return*/, data];\n });\n });\n };\n return FitTypeServices;\n}());\nexports.default = FitTypeServices;\n//# sourceMappingURL=FitTypeServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"Dashboard\";\nvar DashboardServices = /** @class */ (function () {\n function DashboardServices() {\n }\n DashboardServices.GetRecommended = function (FromDate, ToDate) {\n if (FromDate === void 0) { FromDate = ''; }\n if (ToDate === void 0) { ToDate = ''; }\n return __awaiter(this, void 0, void 0, function () {\n var data, paramConcat, params, userCred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n paramConcat = '?';\n params = '';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n if (FromDate) {\n params += \"\".concat(paramConcat, \"From=\").concat(FromDate);\n paramConcat = '&';\n }\n if (ToDate) {\n params += \"\".concat(paramConcat, \"To=\").concat(ToDate);\n paramConcat = '&';\n }\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"\".concat(userCred.UserId, \"/\").concat(userCred.PlatformId, \"/recommended\").concat(params))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n DashboardServices.GetRecommendedSizePerSizeGuide = function (FromDate, ToDate, SizeGuideId) {\n if (FromDate === void 0) { FromDate = ''; }\n if (ToDate === void 0) { ToDate = ''; }\n if (SizeGuideId === void 0) { SizeGuideId = 0; }\n return __awaiter(this, void 0, void 0, function () {\n var data, paramConcat, params, userCred, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n paramConcat = '?';\n params = '';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n if (FromDate) {\n params += \"\".concat(paramConcat, \"From=\").concat(FromDate);\n paramConcat = '&';\n }\n if (ToDate) {\n params += \"\".concat(paramConcat, \"To=\").concat(ToDate);\n paramConcat = '&';\n }\n if (SizeGuideId) {\n params += \"\".concat(paramConcat, \"SizeGuideId=\").concat(SizeGuideId);\n paramConcat = '&';\n }\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"\".concat(userCred.UserId, \"/\").concat(userCred.PlatformId, \"/recommended/sizeguide\").concat(params))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n DashboardServices.GetRecommendedPerDays = function (FromDate, ToDate) {\n if (FromDate === void 0) { FromDate = ''; }\n if (ToDate === void 0) { ToDate = ''; }\n return __awaiter(this, void 0, void 0, function () {\n var data, paramConcat, params, userCred, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n paramConcat = '?';\n params = '';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n if (FromDate) {\n params += \"\".concat(paramConcat, \"From=\").concat(FromDate);\n paramConcat = '&';\n }\n if (ToDate) {\n params += \"\".concat(paramConcat, \"To=\").concat(ToDate);\n paramConcat = '&';\n }\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"\".concat(userCred.UserId, \"/\").concat(userCred.PlatformId, \"/recommended/days\").concat(params))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_3 = _a.sent();\n console.log(error_3);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n DashboardServices.GetRecommendedPerAge = function (FromDate, ToDate) {\n if (FromDate === void 0) { FromDate = ''; }\n if (ToDate === void 0) { ToDate = ''; }\n return __awaiter(this, void 0, void 0, function () {\n var data, paramConcat, params, userCred, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n paramConcat = '?';\n params = '';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n if (FromDate) {\n params += \"\".concat(paramConcat, \"From=\").concat(FromDate);\n paramConcat = '&';\n }\n if (ToDate) {\n params += \"\".concat(paramConcat, \"To=\").concat(ToDate);\n paramConcat = '&';\n }\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"\".concat(userCred.UserId, \"/\").concat(userCred.PlatformId, \"/recommended/age\").concat(params))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_4 = _a.sent();\n console.log(error_4);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n DashboardServices.GetRecommendedPerSizesGuide = function (FromDate, ToDate) {\n if (FromDate === void 0) { FromDate = ''; }\n if (ToDate === void 0) { ToDate = ''; }\n return __awaiter(this, void 0, void 0, function () {\n var data, paramConcat, params, userCred, error_5;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n paramConcat = '?';\n params = '';\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n userCred = __1.StorageServices.GetCookieUserCredentials();\n if (FromDate) {\n params += \"\".concat(paramConcat, \"From=\").concat(FromDate);\n paramConcat = '&';\n }\n if (ToDate) {\n params += \"\".concat(paramConcat, \"To=\").concat(ToDate);\n paramConcat = '&';\n }\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"\".concat(userCred.UserId, \"/\").concat(userCred.PlatformId, \"/recommended/sizeguide/list\").concat(params))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_5 = _a.sent();\n console.log(error_5);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return DashboardServices;\n}());\nexports.default = DashboardServices;\n//# sourceMappingURL=DashboardServices.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseServices_1 = require(\"../base-services/BaseServices\");\nvar __1 = require(\"..\");\nvar ControllerBase = \"Tools\";\nvar ToolServices = /** @class */ (function () {\n function ToolServices() {\n }\n ToolServices.GetCompanyDomains = function () {\n return __awaiter(this, void 0, void 0, function () {\n var data, UserCred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n UserCred = __1.StorageServices.GetCookieUser();\n return [4 /*yield*/, BaseServices_1.default.GetServices(ControllerBase, \"domains/\".concat(UserCred.PlatformId, \"/\").concat(UserCred.UserId))];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n console.log(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n ToolServices.UpdateCompanyDomains = function (domains) {\n return __awaiter(this, void 0, void 0, function () {\n var data, UserCred, params, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {};\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n UserCred = __1.StorageServices.GetCookieUserCredentials();\n params = {\n UserCred: UserCred,\n Content: domains,\n };\n return [4 /*yield*/, BaseServices_1.default.PostServices(ControllerBase, \"domains/\".concat(UserCred.PlatformId, \"/\").concat(UserCred.UserId), params)];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_2 = _a.sent();\n console.log(error_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/, data];\n }\n });\n });\n };\n return ToolServices;\n}());\nexports.default = ToolServices;\n//# sourceMappingURL=ToolsServices.js.map","import React from \"react\";\r\nimport {\r\n Button,\r\n Form,\r\n Row,\r\n Col,\r\n Spinner,\r\n FloatingLabel,\r\n Container,\r\n} from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { StorageServices, UserServices } from \"../../../services\";\r\nimport \"./Login.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { LanguageContext } from \"../../../../contexts/LanguageContext\";\r\nimport { Tools } from \"../../../misc\";\r\n\r\nconst secretCode = [\r\n \"ArrowUp\",\r\n \"ArrowUp\",\r\n \"ArrowDown\",\r\n \"ArrowDown\",\r\n \"ArrowRight\",\r\n \"ArrowRight\",\r\n \"ArrowLeft\",\r\n \"ArrowLeft\",\r\n];\r\n\r\nexport default class Login extends React.Component {\r\n static contextType = LanguageContext;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n isLoading: false,\r\n LoginFailed: false,\r\n isUserInvalid: false,\r\n isPasswordInvalid: false,\r\n isDropdownOpen: false,\r\n showSecretInput: false,\r\n keySequence: [],\r\n lastKeyTime: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener(\"keydown\", this.handleKeyDown);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener(\"keydown\", this.handleKeyDown);\r\n }\r\n\r\n handleKeyDown = (event: KeyboardEvent) => {\r\n const currentTime = new Date().getTime();\r\n if (currentTime - this.state.lastKeyTime > 3000) {\r\n this.setState({ keySequence: [] });\r\n }\r\n\r\n this.setState(\r\n (prevState: any) => ({\r\n keySequence: [...prevState.keySequence, event.key],\r\n lastKeyTime: currentTime,\r\n }),\r\n () => {\r\n if (this.state.keySequence.toString().includes(secretCode.toString())) {\r\n this.setState({ showSecretInput: true, keySequence: [] });\r\n }\r\n }\r\n );\r\n\r\n if (event.key === \"Enter\") {\r\n this.onClickLogin();\r\n }\r\n };\r\n\r\n async onClickLogin() {\r\n try {\r\n if (this.state.userName && this.state.userPassword) {\r\n this.setState({ isLoading: true });\r\n\r\n const LoginValid = await UserServices.Login(\r\n this.state.userName,\r\n this.state.userPassword\r\n );\r\n\r\n this.setState({ isLoading: false });\r\n\r\n if (LoginValid && LoginValid.Status === 200) {\r\n StorageServices.SetCookieUser(LoginValid.Content);\r\n\r\n // Extraer culturelocale y hacer update del lenguaje del contexto\r\n const cultureLocale = LoginValid.Content.CultureLocale || \"es-ES\"; \r\n const languageCode = cultureLocale.split(\"-\")[0]; \r\n this.context.changeLanguage(languageCode);\r\n\r\n if (Tools.IsDevelopment()) {\r\n console.log(\"login\", LoginValid.Content);\r\n console.log(\"Login successful with culture locale:\", cultureLocale);\r\n }\r\n\r\n // Trigger any additional success behaviors\r\n this.props.onSuccess();\r\n } else {\r\n // Handle failed login\r\n this.setState({\r\n LoginFailed: true,\r\n isUserInvalid: true,\r\n isPasswordInvalid: true,\r\n });\r\n }\r\n } else {\r\n // Validate input fields\r\n if (!this.state.userName) this.setState({ isUserInvalid: true });\r\n if (!this.state.userPassword)\r\n this.setState({ isPasswordInvalid: true });\r\n }\r\n } catch (error) {\r\n console.error(\"Login error:\", error);\r\n this.setState({ isLoading: false });\r\n }\r\n }\r\n\r\n handlerInputChange(e: any) {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n LoginFailed: false,\r\n isUserInvalid: false,\r\n isPasswordInvalid: false,\r\n });\r\n }\r\n\r\n render() {\r\n const { locale, changeLanguage } = this.context;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n this.setState({\r\n isDropdownOpen: !this.state.isDropdownOpen,\r\n })\r\n }\r\n >\r\n {locale === \"en\" && (\r\n \r\n )}\r\n {locale === \"es\" && (\r\n \r\n )}\r\n {locale === \"pt\" && (\r\n \r\n )}\r\n
\r\n {this.state.isDropdownOpen && (\r\n
\r\n
changeLanguage(\"en\")}>English
\r\n
changeLanguage(\"es\")}>Español
\r\n
changeLanguage(\"pt\")}>Português
\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
Login
\r\n
Mail
\r\n \r\n this.handlerInputChange(e)}\r\n isInvalid={this.state.isUserInvalid}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n this.handlerInputChange(e)}\r\n isInvalid={this.state.isPasswordInvalid}\r\n />\r\n \r\n \r\n
\r\n {this.state.showSecretInput && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n \r\n
\r\n this.onClickLogin()}\r\n >\r\n
\r\n \r\n
\r\n {this.state.isLoading ? (\r\n \r\n ) : this.state.LoginFailed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n

\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","\r\nexport default class ExcelModule {\r\n\r\n public static ExportTo(elements: any[], sheetName: string, fileName: string): void {\r\n\r\n try {\r\n import('xlsx').then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(elements);\r\n const workbook = { Sheets: { [sheetName]: worksheet }, SheetNames: [sheetName] };\r\n const excelBuffer = xlsx.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n ExcelModule.SaveAsFile(excelBuffer, fileName);\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n public static ImportFrom(e: any, callback: any): void {\r\n\r\n try {\r\n const file = e.files[0];\r\n\r\n import('xlsx').then((xlsx: any) => {\r\n const reader = new FileReader();\r\n\r\n reader.onload = (e: any) => {\r\n const workbook = xlsx.read(e.target.result, { type: 'array'});\r\n const worksheetName = workbook.SheetNames[0];\r\n const worksheet = workbook.Sheets[worksheetName];\r\n const data = xlsx.utils.sheet_to_json(worksheet, { header: 1, raw: false});\r\n\r\n const cols = data[0];\r\n data.shift();\r\n\r\n let dataRead = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n\r\n callback(dataRead);\r\n }\r\n\r\n reader.readAsArrayBuffer(file);\r\n });\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n\r\n private static SaveAsFile(buffer: any, fileName: string): void {\r\n\r\n try {\r\n import('file-saver').then((FileSaver: any) => {\r\n let EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n let EXCEL_EXTENSION = '.xlsx';\r\n\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n\r\n FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n}","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ConvertModule = /** @class */ (function () {\n function ConvertModule() {\n }\n ConvertModule.BaseItemToArrayString = function (elements) {\n var list = new Array();\n try {\n if (elements) {\n list = elements.map(function (value) {\n return value.Name;\n });\n }\n }\n catch (error) {\n console.log(\"Error BaseItemToArrayString\", error);\n }\n return list;\n };\n ConvertModule.BaseItemToArrayInt = function (elements) {\n var list = new Array();\n try {\n if (elements) {\n list = elements.map(function (value) {\n return value.Id;\n });\n }\n }\n catch (error) {\n console.log(\"Error BaseItemToArrayInt\", error);\n }\n return list;\n };\n return ConvertModule;\n}());\nexports.default = ConvertModule;\n//# sourceMappingURL=ConvertModule.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar services_1 = require(\"../../services\");\nvar Tools = /** @class */ (function () {\n function Tools() {\n }\n Tools.IsDevelopment = function () {\n return ((process.env.NODE_ENV) && (process.env.NODE_ENV === 'development'));\n };\n Tools.SetQuantitySizeGuideActive = function (value) {\n if (this.IsDevelopment())\n console.log('SetQuantitySizeGuideActive', value);\n services_1.StorageServices.SetCookieUserSizeGuideActive(value);\n };\n Tools.CanCreateSizeGuide = function () {\n var can = false;\n try {\n var user = services_1.StorageServices.GetCookieUser();\n can = ((!(user)) || ((user.SizeGuidesAvailable || 0) === 0) || (((user.SizeGuidesAvailable || 0) - (user.SizeGuideActive || 0)) > 0));\n }\n catch (e) {\n console.log(\"ERROR CanCreateSizeGuide\", e);\n }\n return can;\n };\n Tools.AddSizeGuideActive = function () {\n services_1.StorageServices.SetCookieUserSizeGuideActiveChange(1);\n };\n Tools.SubstractSizeGuideActive = function () {\n services_1.StorageServices.SetCookieUserSizeGuideActiveChange(-1);\n };\n Tools.UserMustCreateRelatedCode = function () {\n var must = false;\n try {\n var user = services_1.StorageServices.GetCookieUser();\n must = ((user) && ((user.PlatformId === 2) || (user.PlatformId === 200)));\n }\n catch (e) {\n console.log(\"ERROR UserMustCreateRelatedCode\", e);\n }\n return must;\n };\n return Tools;\n}());\nexports.default = Tools;\n//# sourceMappingURL=Tools.js.map","import React from 'react';\r\nimport { Outlet } from 'react-router-dom';\r\n// import { Container } from 'react-bootstrap';\r\n\r\nexport default class ContentLayout extends React.Component {\r\n\r\n render() {\r\n return (\r\n <>\r\n {/* */}\r\n \r\n {/* */}\r\n \r\n )\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport {\r\n BarChart,\r\n LineChart,\r\n BarChartSizes,\r\n DashboardCard,\r\n} from \"../../common\";\r\nimport {\r\n E_ContractType,\r\n StatisticTypeWidget,\r\n StatisticWidgetVariantValue,\r\n} from \"../../common/types\";\r\nimport { StatisticWidget, Table, CalendarDemo } from \"../../common\";\r\n//import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n//import { faArrowDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport \"./MainDashboard.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport { DashboardServices } from \"../../../services\";\r\nimport { StorageServices } from \"../../../services\";\r\n\r\nconst MainDashboard = () => {\r\n const [Recommended, setRecommended] = useState();\r\n const [SizeGuideRecommended, setSizeGuideRecommended] = useState();\r\n const [SizesGuideRecommended, setSizesGuideRecommended] = useState([]);\r\n const [DaysRecommended, setDaysRecommended] = useState();\r\n const [AgeRecommended, setAgeRecommended] = useState();\r\n const [isLoadingRecommended, setIsLoadingRecommended] = useState(false);\r\n const [isLoadingSizeGuideRecommended, setIsLoadingSizeGuideRecommended] =\r\n useState(false);\r\n const [isLoadingDaysRecommended, setIsLoadingDaysRecommended] =\r\n useState(false);\r\n const [isLoadingAgeRecommended, setIsLoadingAgeRecommended] = useState(false);\r\n const [isLoadingSizesGuideRecommended, setIsLoadingSizesGuideRecommended] =\r\n useState(false);\r\n const [dateSelected, setDateSelected] = useState([\r\n new Date(new Date().setDate(new Date().getDate() - 6))\r\n .toISOString()\r\n .substring(0, 10),\r\n new Date().toISOString().substring(0, 10),\r\n ]);\r\n const [sizeGuideIdSelected, setsizeGuideIdSelected] = useState(0);\r\n const [contractType, setContractType] = useState(E_ContractType.NONE);\r\n\r\n useEffect(() => {\r\n const user = StorageServices.GetCookieUser();\r\n const contractType =\r\n user?.Contract?.Name === \"Free\"\r\n ? E_ContractType.FREE\r\n : E_ContractType.NONE;\r\n setContractType(contractType);\r\n loadDashboard();\r\n }, []);\r\n\r\n const intl = useIntl();\r\n\r\n const loadDashboard = (\r\n dateFrom: string | \"\" = \"\",\r\n dateTo: string | \"\" = \"\",\r\n sizeGuideId: number | undefined = 0\r\n ) => {\r\n (async () => {\r\n try {\r\n setIsLoadingRecommended(true);\r\n\r\n const response = await DashboardServices.GetRecommended(\r\n dateFrom,\r\n dateTo\r\n );\r\n\r\n if (response.Status === 200) {\r\n setRecommended(response.Content);\r\n } else {\r\n setRecommended([]);\r\n }\r\n\r\n setIsLoadingRecommended(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingRecommended(false);\r\n }\r\n })();\r\n\r\n (async () => {\r\n try {\r\n setIsLoadingSizeGuideRecommended(true);\r\n\r\n const getRecommended =\r\n await DashboardServices.GetRecommendedSizePerSizeGuide(\r\n dateFrom,\r\n dateTo,\r\n sizeGuideId\r\n );\r\n\r\n if (getRecommended && getRecommended.Status === 200) {\r\n setSizeGuideRecommended(getRecommended.Content);\r\n } else {\r\n setSizeGuideRecommended({});\r\n }\r\n\r\n setIsLoadingSizeGuideRecommended(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingSizeGuideRecommended(false);\r\n }\r\n })();\r\n\r\n (async () => {\r\n try {\r\n setIsLoadingDaysRecommended(true);\r\n\r\n const getRecommended = await DashboardServices.GetRecommendedPerDays(\r\n dateFrom,\r\n dateTo\r\n );\r\n\r\n if (getRecommended && getRecommended.Status === 200) {\r\n setDaysRecommended(getRecommended.Content);\r\n } else {\r\n setDaysRecommended([]);\r\n }\r\n\r\n setIsLoadingDaysRecommended(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingDaysRecommended(false);\r\n }\r\n })();\r\n\r\n (async () => {\r\n try {\r\n setIsLoadingAgeRecommended(true);\r\n\r\n const getRecommended = await DashboardServices.GetRecommendedPerAge(\r\n dateFrom,\r\n dateTo\r\n );\r\n\r\n if (getRecommended && getRecommended.Status === 200) {\r\n setAgeRecommended(getRecommended.Content);\r\n } else {\r\n setAgeRecommended([]);\r\n }\r\n\r\n setIsLoadingAgeRecommended(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingAgeRecommended(false);\r\n }\r\n })();\r\n\r\n (async () => {\r\n try {\r\n setIsLoadingSizesGuideRecommended(true);\r\n\r\n const getRecommended =\r\n await DashboardServices.GetRecommendedPerSizesGuide(dateFrom, dateTo);\r\n\r\n if (getRecommended && getRecommended.Status === 200) {\r\n setSizesGuideRecommended(getRecommended.Content);\r\n } else {\r\n setSizesGuideRecommended([]);\r\n }\r\n\r\n setIsLoadingSizesGuideRecommended(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingSizesGuideRecommended(false);\r\n }\r\n })();\r\n };\r\n\r\n const loadDashboardSizeGuide = (\r\n dateFrom: string | \"\" = \"\",\r\n dateTo: string | \"\" = \"\",\r\n sizeGuideId: number | undefined = 0\r\n ) => {\r\n (async () => {\r\n try {\r\n setIsLoadingSizeGuideRecommended(true);\r\n\r\n const getRecommended =\r\n await DashboardServices.GetRecommendedSizePerSizeGuide(\r\n dateFrom,\r\n dateTo,\r\n sizeGuideId\r\n );\r\n\r\n if (getRecommended && getRecommended.Status === 200) {\r\n setSizeGuideRecommended(getRecommended.Content);\r\n } else {\r\n setSizeGuideRecommended({});\r\n }\r\n\r\n setIsLoadingSizeGuideRecommended(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingSizeGuideRecommended(false);\r\n }\r\n })();\r\n };\r\n\r\n useEffect(() => {\r\n loadDashboard();\r\n }, [\r\n setRecommended,\r\n setSizeGuideRecommended,\r\n setDaysRecommended,\r\n setAgeRecommended,\r\n ]);\r\n\r\n const CalculatePercentaje = (\r\n base: number,\r\n total: number,\r\n rounded: number | undefined = -1\r\n ) => {\r\n try {\r\n if (rounded < 0) {\r\n return Math.floor(((base * 1.0) / (total * 1.0)) * 100);\r\n } else {\r\n return Math.ceil(((base * 1.0) / (total * 1.0)) * 100);\r\n }\r\n } catch (e) {\r\n console.log(\"CalculatePercentaje\", e);\r\n\r\n return 0;\r\n }\r\n };\r\n\r\n const onChangeDates = (value: any) => {\r\n /* console.log('onChangeDates', value);*/\r\n\r\n try {\r\n if (value && value[0] && value[1]) {\r\n const dateFrom: Date = new Date(value[0]);\r\n const dateTo: Date = new Date(value[1]);\r\n\r\n loadDashboard(\r\n dateFrom.toISOString().substring(0, 10),\r\n dateTo.toISOString().substring(0, 10),\r\n sizeGuideIdSelected\r\n );\r\n //console.log('onChangeDates', dateFrom.toISOString().substring(0, 10));\r\n //console.log('onChangeDates', dateTo.toISOString().substring(0, 10));\r\n\r\n setDateSelected([\r\n dateFrom.toISOString().substring(0, 10),\r\n dateTo.toISOString().substring(0, 10),\r\n ]);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n const onChangeSizeGuide = (value: any) => {\r\n try {\r\n if (value) {\r\n loadDashboardSizeGuide(dateSelected[0], dateSelected[1], value);\r\n\r\n setsizeGuideIdSelected(value);\r\n //console.log('onChangeDates', dateFrom.toISOString().substring(0, 10));\r\n //console.log('onChangeDates', dateTo.toISOString().substring(0, 10));\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {/* RESULTADOS 7 DIAS */}\r\n
\r\n

\r\n \r\n

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

\r\n {\" \"}\r\n \r\n

\r\n onChangeDates(value)}\r\n />\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n {/*
*/}\r\n {/*

*/}\r\n {/*

*/}\r\n {/* {\" \"}*/}\r\n {/* {\" \"}*/}\r\n {/*

*/}\r\n {/*

*/}\r\n {/*
*/}\r\n {/*
*/}\r\n
\r\n
\r\n\r\n {/* WIDGETS CON EMOTICONES */}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {Recommended && Recommended[0] && Recommended[0].Value\r\n ? Recommended[0].Value\r\n : \"0\"}\r\n {contractType === E_ContractType.FREE && (\r\n / 500\r\n )}\r\n \r\n }\r\n valueVariant={StatisticWidgetVariantValue.REGULAR}\r\n typeWidget={StatisticTypeWidget.SUNGLASSES}\r\n contractType={contractType}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* CUADROS ESTADISTICA */}\r\n
\r\n \r\n \r\n onChangeSizeGuide(value)}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* LAS CARDS */}\r\n {/*
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
*/}\r\n\r\n {/* TABLA */}\r\n
\r\n {contractType === E_ContractType.FREE ? (\r\n \"\"\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MainDashboard;\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { useIntl } from \"react-intl\";\r\nimport \"./InputSearch.css\";\r\n\r\nconst InputSearch = (props: any) => {\r\n const intl = useIntl();\r\n\r\n return (\r\n <>\r\n \r\n \r\n props.onInputChange(e.target.value)}\r\n placeholder={intl.formatMessage({\r\n id: \"input-search-placeholder\",\r\n })}\r\n className=\"input-search-container\"\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InputSearch;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { useState } from \"react\";\r\nimport {\r\n StatisticWidgetVariantValue,\r\n StatisticTypeWidget,\r\n E_ContractType,\r\n} from \"../types\";\r\nimport { Overlay, Popover } from \"react-bootstrap\";\r\nimport \"./StatisticWidget.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nexport interface IStatisticWidgetParam {\r\n text: string | \"\";\r\n value: React.ReactNode | \"\";\r\n helper?: string | \"\";\r\n valueVariant:\r\n | StatisticWidgetVariantValue\r\n | StatisticWidgetVariantValue.REGULAR;\r\n typeWidget: StatisticTypeWidget | StatisticTypeWidget.SUNGLASSES;\r\n contractType: E_ContractType;\r\n}\r\n\r\nconst StatisticWidget = (props: IStatisticWidgetParam) => {\r\n const [showHelper, setShowHelper] = useState(false);\r\n const [targetHelper, setTargetHelper] = useState(null);\r\n\r\n const handlerClickHelper = (e: any) => {\r\n setShowHelper(!showHelper);\r\n setTargetHelper(e.target);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.helper ? (\r\n <>\r\n handlerClickHelper(e)}\r\n />\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n \r\n {props.valueVariant === StatisticWidgetVariantValue.DANGER ? (\r\n

\r\n {props.value}\r\n

\r\n ) : props.valueVariant === StatisticWidgetVariantValue.SUCCESS ? (\r\n

\r\n {props.value}\r\n

\r\n ) : (\r\n

\r\n {props.value}{\" \"}\r\n

\r\n )}\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default StatisticWidget;\r\n","import { AlertWidgetType } from \"../types\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport \"./AlertWidget.css\";\r\n\r\nexport interface IAlertWidgetParam {\r\n title: string | \"\";\r\n description: string | \"\";\r\n urlLink: string | \"\";\r\n urlText: string | \"\";\r\n typeAlert: AlertWidgetType | AlertWidgetType.CENTIMETER;\r\n includeNewLine: boolean | false;\r\n className?: string;\r\n values?: { [key: string]: any }; // Add this line\r\n}\r\n\r\nconst AlertWidget = (props: IAlertWidgetParam) => {\r\n const imageSrcType =\r\n props.typeAlert === AlertWidgetType.WARNING\r\n ? \"/img/icon-warning.png\"\r\n : props.typeAlert === AlertWidgetType.TSHIRT\r\n ? \"/img/icon-tshirt.png\"\r\n : \"/img/icon-centimeter.png\";\r\n\r\n const imageAltType =\r\n props.typeAlert === AlertWidgetType.WARNING\r\n ? \"Warning\"\r\n : props.typeAlert === AlertWidgetType.TSHIRT\r\n ? \"T-Shirt\"\r\n : \"Centimeter\";\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n

\r\n {props.description ? (\r\n

\r\n \r\n

\r\n ) : (\r\n <>\r\n )}\r\n {props.includeNewLine ? (\r\n
\r\n ) : (\r\n <>\r\n )}\r\n {props.urlLink ? (\r\n

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

\r\n ) : (\r\n <>\r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AlertWidget;\r\n","import { FormattedMessage } from \"react-intl\";\r\n\r\nconst SectionTitle = (props: any) => {\r\n return (\r\n <>\r\n {props.clarification ? (\r\n

\r\n {props.title ? (\r\n \r\n ) : (\r\n \"\"\r\n )}{\" \"}\r\n \r\n \r\n \r\n

\r\n ) : (\r\n

\r\n {props.title ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n

\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SectionTitle;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport \"./MainBoxTool.css\";\r\n\r\nconst MainBoxTool = (props: any) => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n

\r\n {props.title ? props.title : \"\"}\r\n

\r\n \r\n
\r\n {props.subtitle ? (\r\n \r\n \r\n

\r\n \r\n

\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {props.children}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default MainBoxTool;\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport BadgeFitprenda from \"./Badge\";\r\nimport \"./MainSectionTitle.css\";\r\n\r\nconst MainSectionTitle = (props: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {props.title ? props.title : \"\"}{\" \"}\r\n {props.badgeValue ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n

\r\n \r\n
\r\n {props.subtitle ? (\r\n \r\n \r\n

{props.subtitle}

\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default MainSectionTitle;\r\n","import React, { useState } from \"react\"; // Import React\r\nimport { FormattedMessage } from \"react-intl\"; // Import FormattedMessage\r\nimport \"./PushButtonFilter.css\";\r\n\r\nconst PushButtonFilter = (props: any) => {\r\n const [isFilterActive, setIsFilterActive] = useState(\r\n props.StateFilter !== undefined && props.StateFilter !== null\r\n ? props.StateFilter\r\n : false\r\n );\r\n\r\n const onClickFilter = () => {\r\n try {\r\n setIsFilterActive(\r\n props.StateFilter !== undefined && props.StateFilter !== null\r\n ? props.StateFilter\r\n : !isFilterActive\r\n );\r\n\r\n if (props.ClickSuscribe)\r\n props.ClickSuscribe(\r\n props.StateFilter !== undefined && props.StateFilter !== null\r\n ? props.StateFilter\r\n : !isFilterActive\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n onClickFilter()}\r\n >\r\n \r\n {React.isValidElement(props.title) ? props.title : `${props.title}`} (\r\n {props.quantity})\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PushButtonFilter;\r\n","import { Row, Col, Button, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { useState } from \"react\";\r\nimport { BadgeFitprenda, InputSearch, PushButtonFilter } from \"../index\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { E_ClothesType, E_GenderType } from \"../types\";\r\nimport ButtomAction from \"./ButtonAction\";\r\nimport \"./SizeGuideGrid.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { faBan } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst DataTableSizeGuides = (props: any) => {\r\n const { elements } = props;\r\n // let showOptions: boolean = false;\r\n\r\n // console.log('DataTableSizeGuides', elements);\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: \"contains\" },\r\n });\r\n\r\n const [selection, setSelection] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\r\n // const [showOptions, setShowOptions] = useState(false);\r\n // const [target, setTarget] = useState(null);\r\n // const [targetDataProduct, setTargetDataProduct] = useState(null);\r\n\r\n const [isFilterTop, setIsFilterTop] = useState(false);\r\n const [isFilterBottom, setIsFilterBottom] = useState(false);\r\n const [isFilterEntire, setIsFilterEntire] = useState(false);\r\n const [isFilterBrassiere, setIsFilterBrassiere] = useState(false);\r\n\r\n const [isFilterFemale, setIsFilterFemale] = useState(false);\r\n const [isFilterMale, setIsFilterMale] = useState(false);\r\n\r\n // const [filters, setFilters] = useState({\r\n // 'global': { value: null, matchMode: 'contains'}\r\n // });\r\n\r\n // useEffect(() => {\r\n // initGlobalFilters();\r\n // }, []);\r\n\r\n // const initGlobalFilters = () => {\r\n // setFilters({\r\n // global: { value: null, matchMode: \"contains\" },\r\n // });\r\n\r\n // // {value: null, matchMode: 'contains'}\r\n // };\r\n\r\n /* DEFINIMOS PLANES */\r\n\r\n interface RowData {\r\n Enabled: boolean;\r\n }\r\n\r\n const renderRowStatus = (rowData: RowData) => {\r\n if (!rowData.Enabled) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const onSelectionChange = (row: any) => {\r\n setSelection(row.value);\r\n\r\n if (props.handlerSelectionRow) props.handlerSelectionRow(row.value);\r\n };\r\n\r\n const onSearch = (value: any) => {\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n console.log(\"_Filters\", _filters);\r\n console.log(\"Valor\", value);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchSuperior = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterTop) value = \"Superiores\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterBottom(false);\r\n setIsFilterEntire(false);\r\n setIsFilterBrassiere(false);\r\n setIsFilterTop(!isFilterTop);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchInferior = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterBottom) value = \"Inferiores\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterTop(false);\r\n setIsFilterEntire(false);\r\n setIsFilterBrassiere(false);\r\n setIsFilterBottom(!isFilterBottom);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchEntera = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterTop) value = \"Enteras\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterBottom(false);\r\n setIsFilterTop(false);\r\n setIsFilterBrassiere(false);\r\n setIsFilterEntire(!isFilterEntire);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchBrassiere = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterTop) value = \"Brassiere\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterBottom(false);\r\n setIsFilterTop(false);\r\n setIsFilterEntire(false);\r\n setIsFilterBrassiere(!isFilterBrassiere);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchFemenino = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterFemale) value = \"Femenino\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterMale(false);\r\n setIsFilterFemale(!isFilterFemale);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchMasculino = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterMale) value = \"Masculino\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterFemale(false);\r\n setIsFilterMale(!isFilterMale);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onClickEdit = (rowData: any) => {\r\n try {\r\n // console.log('DataTableSizeGuides Popover Edit', { data: rowData});\r\n\r\n if (props.handlerEdit) props.handlerEdit(rowData);\r\n\r\n // setTarget(null);\r\n // setTargetDataProduct(null);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickClone = (rowData: any) => {\r\n try {\r\n // console.log('DataTableSizeGuides Popover Clone', { data: rowData});\r\n\r\n if (props.handlerClone) props.handlerClone(rowData);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickDelete = (rowData: any) => {\r\n try {\r\n // console.log('DataTableSizeGuides Popover Delete', { data: rowData});\r\n\r\n if (props.handlerDelete) props.handlerDelete(rowData);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickDeleteGroup = (data: any) => {\r\n try {\r\n // console.log('DataTableSizeGuides Popover Delete', { data: rowData});\r\n\r\n if (props.handlerDeleteGroup) props.handlerDeleteGroup(data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickDownload = (data: any) => {\r\n try {\r\n if (props.handlerDownload) props.handlerDownload(data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n // const renderActionRow = (rowData: any, event: any) => {\r\n // // console.log('renderActionRow SizeGuideGrid Params', { RowData: rowData, Event: event });\r\n // // console.log('renderActionRow SizeGuideGrid Selection', selection);\r\n // // console.log('renderActionRow SizeGuideGrid Event', event);\r\n\r\n // return (\r\n // <>\r\n //
\r\n // {/* */}\r\n // handleClick(e, rowData)} />\r\n // \r\n // \r\n // \r\n // { props.handlerEdit ?\r\n // <>\r\n // onClickEdit(event)}>\r\n // \r\n // \r\n // \r\n // \r\n // Editar\r\n // \r\n // \r\n // \r\n // : <>\r\n // }\r\n // {props.handlerClone ?\r\n // <>\r\n //
\r\n // onClickClone(event)}>\r\n // \r\n // \r\n // \r\n // \r\n // Duplicar\r\n // \r\n // \r\n // \r\n // : <>\r\n // }\r\n // {props.handlerDelete ? (\r\n // <>\r\n //
\r\n // onClickDelete(event)}>\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // Eliminar\r\n // \r\n // \r\n // \r\n // \r\n // ) : (\r\n // <>\r\n // )}\r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n // );\r\n // };\r\n\r\n const renderHeader = () => {\r\n var qSuperior: number = 0;\r\n var qInferior: number = 0;\r\n var qEntera: number = 0;\r\n var qBrassiere: number = 0;\r\n var qFemenino: number = 0;\r\n var qMasculino: number = 0;\r\n\r\n if (\r\n props.elements &&\r\n (props.elements.length || 0) > 0 &&\r\n !props.isLoading\r\n ) {\r\n qSuperior =\r\n props.elements.filter((element: any) => {\r\n return (element.TypeSizeGuide?.Id || 0) === E_ClothesType.TOP;\r\n }).length || 0;\r\n qInferior =\r\n props.elements.filter((element: any) => {\r\n return (element.TypeSizeGuide?.Id || 0) === E_ClothesType.BOTTOM;\r\n }).length || 0;\r\n qEntera =\r\n props.elements.filter((element: any) => {\r\n return (element.TypeSizeGuide?.Id || 0) === E_ClothesType.ENTIRE;\r\n }).length || 0;\r\n qBrassiere =\r\n props.elements.filter((element: any) => {\r\n return (element.TypeSizeGuide?.Id || 0) === E_ClothesType.BRASSIERE;\r\n }).length || 0;\r\n qFemenino =\r\n props.elements.filter((element: any) => {\r\n return (element.Gender?.Id || 0) === E_GenderType.FEMALE;\r\n }).length || 0;\r\n qMasculino =\r\n props.elements.filter((element: any) => {\r\n return (element.Gender?.Id || 0) === E_GenderType.MALE;\r\n }).length || 0;\r\n\r\n // console.log('DataTableSizeGuides renderHeader', {\r\n // Superior: qSuperior,\r\n // Inferior: qInferior,\r\n // Entera: qEntera,\r\n // Brassiere: qBrassiere,\r\n // Femenino: qFemenino,\r\n // Masculino: qMasculino\r\n // });\r\n }\r\n\r\n // var colsSearch: number = 2;\r\n\r\n // if (!props.handlerDelete) colsSearch++;\r\n // if (!props.handlerEdit) colsSearch++;\r\n // if (!props.handlerAddSizeGuide) colsSearch += 2;\r\n // if (!props.handlerDownload) colsSearch++;\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n {props.showTitle ? (\r\n

\r\n {\" \"}\r\n \r\n

\r\n ) : (\r\n <>\r\n )}\r\n \r\n\r\n {/* \r\n \r\n */}\r\n
\r\n {qSuperior && (qInferior || qEntera || qBrassiere) ? (\r\n \r\n }\r\n quantity={qSuperior}\r\n StateFilter={isFilterTop}\r\n ClickSuscribe={onSearchSuperior}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qInferior && (qSuperior || qEntera || qBrassiere) ? (\r\n \r\n }\r\n quantity={qInferior}\r\n StateFilter={isFilterBottom}\r\n ClickSuscribe={onSearchInferior}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qEntera && (qInferior || qSuperior || qBrassiere) ? (\r\n \r\n }\r\n quantity={qEntera}\r\n StateFilter={isFilterEntire}\r\n ClickSuscribe={onSearchEntera}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qBrassiere && (qInferior || qEntera || qSuperior) ? (\r\n \r\n }\r\n quantity={qEntera}\r\n StateFilter={isFilterBrassiere}\r\n ClickSuscribe={onSearchBrassiere}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qFemenino && qMasculino ? (\r\n \r\n }\r\n quantity={qFemenino}\r\n StateFilter={isFilterFemale}\r\n ClickSuscribe={onSearchFemenino}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qFemenino && qMasculino ? (\r\n \r\n }\r\n quantity={qMasculino}\r\n StateFilter={isFilterMale}\r\n ClickSuscribe={onSearchMasculino}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {props.handlerDownload ? (\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n onClickDownload(selection)}\r\n >\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n {selection && selection.length > 1 && props.handlerDeleteGroup ? (\r\n \r\n
\r\n onClickDeleteGroup(selection)}\r\n >\r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n );\r\n };\r\n\r\n const renderRowEdit = (rowData: any, event: any) => {\r\n try {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n }\r\n >\r\n onClickEdit(rowData)}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.log(error);\r\n\r\n return <>;\r\n }\r\n };\r\n\r\n const renderRowDuplicate = (rowData: any, event: any) => {\r\n try {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n }\r\n >\r\n onClickClone(rowData)}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.log(error);\r\n\r\n return <>;\r\n }\r\n };\r\n\r\n const renderRowDelete = (rowData: any, event: any) => {\r\n try {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n }\r\n >\r\n onClickDelete(rowData)}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.log(error);\r\n\r\n return <>;\r\n }\r\n };\r\n\r\n // const handleClick = (event: any, rowData: any) => {\r\n\r\n // try {\r\n\r\n // // event.preventDefault();\r\n\r\n // if (!showOptions) {\r\n\r\n // console.log('Menu handleClick SetTarget No', { event: event, target: event.target, data: rowData });\r\n\r\n // setShowOptions(true);\r\n // setTarget(event.target);\r\n // setTargetDataProduct(rowData);\r\n\r\n // } else {\r\n // console.log('Menu handleClick SetTarget Si', { event: event, target: event.target, data: rowData });\r\n\r\n // //\r\n // setShowOptions(false);\r\n // // setTarget(null);\r\n // // setTargetDataProduct(null);\r\n // }\r\n\r\n // } catch (error) {\r\n // console.log(error);\r\n // }\r\n\r\n // };\r\n\r\n const renderSize = (rowData: any) => {\r\n try {\r\n if (rowData && rowData.Sizes) {\r\n return rowData.Sizes.map((element: any) => element.Name).join(\", \");\r\n } else {\r\n return \"\";\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n onSelectionChange(e)}\r\n size=\"small\"\r\n filters={filters}\r\n globalFilterFields={[\r\n \"Id\",\r\n \"Name\",\r\n \"TypeSizeGuide.Name\",\r\n \"Gender.Name\",\r\n ]}\r\n loading={props.isLoading || false}\r\n >\r\n {props.handlerSelectionRow ? (\r\n \r\n ) : null}\r\n \r\n \r\n }\r\n sortable\r\n className=\"col-md-4 col-sm-6\"\r\n >\r\n \r\n }\r\n sortable\r\n className=\"col-md-2 col-sm-4\"\r\n >\r\n }\r\n sortable\r\n className=\"col-md-2 col-sm-4\"\r\n >\r\n \r\n }\r\n body={renderSize}\r\n // sortable\r\n className=\"col-md-3 col-sm-6\"\r\n >\r\n \r\n }\r\n body={(rowData) => {\r\n return (\r\n <>\r\n {rowData.Related}\r\n \r\n );\r\n }}\r\n sortable\r\n className=\"col-md-3 col-sm-6 text-center\"\r\n >\r\n {/* ACA EMPIEZA EL DATO NUEVO */}\r\n \r\n {props.handlerEdit ? (\r\n renderRowEdit(rowData, event)}\r\n bodyClassName={`${\r\n !props.handlerClone && !props.handlerDelete ? \"me-3\" : \"\"\r\n }`}\r\n style={{\r\n maxWidth: \"40px\",\r\n minWidth: \"20px\",\r\n }}\r\n className=\"sizeguidegrid-icon\"\r\n >\r\n ) : null}\r\n {props.handlerClone ? (\r\n \r\n renderRowDuplicate(rowData, event)\r\n }\r\n bodyClassName={`${!props.handlerDelete ? \"me-3\" : \"\"}`}\r\n style={{\r\n maxWidth: \"40px\",\r\n minWidth: \"20px\",\r\n }}\r\n >\r\n ) : null}\r\n {props.handlerDelete ? (\r\n \r\n renderRowDelete(rowData, event)\r\n }\r\n bodyClassName={`me-3`}\r\n style={{\r\n maxWidth: \"40px\",\r\n minWidth: \"20px\",\r\n }}\r\n >\r\n ) : null}\r\n {/* {\r\n ((props.handlerEdit) || (props.handlerClone) || (props.handlerDelete)) ?\r\n renderActionRow(rowData, event)}\r\n style={{ maxWidth: \"35px\", minWidth: \"15px\" }}>\r\n : <>\r\n } */}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DataTableSizeGuides;\r\n","import { Modal, Row, Col } from \"react-bootstrap\";\r\nimport ButtonCommon from \"./ButtonCommon\";\r\nimport \"./ModalActionMessage.css\";\r\n\r\nconst ModalActionMessage = (props: any) => {\r\n const onHandleClose = () => {\r\n if (props.OnModalClose) props.OnModalClose();\r\n };\r\n\r\n const onHandleOk = () => {\r\n if (props.OnModalOk) props.OnModalOk();\r\n };\r\n\r\n return (\r\n <>\r\n onHandleClose()} centered>\r\n \r\n {/* \r\n {props.Title || 'Titulo Modal'}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n {props.Title || \"Titulo Modal\"}\r\n

\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ModalActionMessage;\r\n","//import React from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { IBodyPart, ISizeModel, ISizeModelMeasure } from \"../types\";\r\nimport { E_BodyPart } from \"../../common/types\";\r\nimport \"./SizesForm.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\ninterface SizesFormProps {\r\n ValidateSizes: () => boolean;\r\n showCustomWarning: boolean;\r\n}\r\n\r\nconst SizesForm = (props: any) => {\r\n const createNewRowSize = (indice: number) => {\r\n let newSize: ISizeModel;\r\n let nextOrder: number = indice;\r\n\r\n try {\r\n if (indice > 0) {\r\n const currentElements = [...props.Elements];\r\n\r\n nextOrder = currentElements[currentElements.length - 1].Order;\r\n }\r\n\r\n newSize = {\r\n Id: indice,\r\n Order: nextOrder + 1,\r\n Name: \"\",\r\n Measures: new Array(),\r\n };\r\n\r\n props.BodyParts.forEach((item: IBodyPart, indexBodyPart: number) => {\r\n let RowMeasure: ISizeModelMeasure = {\r\n Id: 0,\r\n From: 0,\r\n ErrorFrom: false,\r\n To: 0,\r\n ErrorTo: false,\r\n IsSuccess: false,\r\n BodyPart: item,\r\n };\r\n newSize.Measures.push(RowMeasure);\r\n });\r\n\r\n return newSize;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n return undefined;\r\n };\r\n\r\n const onSizeNameChange = (index: number, value: string, item: ISizeModel) => {\r\n const newSizes = [...props.Elements];\r\n const currentSize = newSizes[index];\r\n\r\n currentSize.Name = value ? value.toUpperCase() : \"\";\r\n\r\n if (props.SucribeChanges) props.SucribeChanges(newSizes);\r\n };\r\n\r\n const onSizeMesaureChangeFrom = (\r\n index: number,\r\n referenceId: number,\r\n value: number,\r\n item: ISizeModelMeasure\r\n ) => {\r\n const newSizes = [...props.Elements];\r\n const currentSize = newSizes[index];\r\n const currentSizeMesure = currentSize.Measures[referenceId];\r\n\r\n currentSizeMesure.From = value;\r\n\r\n if (newSizes && newSizes.length > 0) {\r\n const lastSize = newSizes[index - 1];\r\n\r\n if (lastSize) {\r\n const lastSizeMeasure = lastSize.Measures[referenceId];\r\n\r\n if (lastSizeMeasure.To > (currentSizeMesure.From || 0)) {\r\n currentSizeMesure.ErrorFrom = true;\r\n } else {\r\n currentSizeMesure.ErrorFrom = false;\r\n }\r\n }\r\n }\r\n\r\n if (\r\n !currentSizeMesure.ErrorFrom &&\r\n !currentSizeMesure.ErrorTo &&\r\n currentSizeMesure.From < (currentSizeMesure.To || 0)\r\n ) {\r\n currentSizeMesure.IsSuccess = true;\r\n }\r\n\r\n if (props.SucribeChanges) props.SucribeChanges(newSizes);\r\n };\r\n\r\n const onSizeMesaureChangeTo = (\r\n index: number,\r\n referenceId: number,\r\n value: number,\r\n item: ISizeModelMeasure\r\n ) => {\r\n const newSizes = [...props.Elements];\r\n const currentSize = newSizes[index];\r\n const currentSizeMesure = currentSize.Measures[referenceId];\r\n\r\n if (item.BodyPart?.Id === E_BodyPart.FOOT) {\r\n if (newSizes[index - 1]) {\r\n currentSizeMesure.From =\r\n newSizes[index - 1].Measures[referenceId].To + 0.01;\r\n } else {\r\n currentSizeMesure.From = value - 0.4;\r\n }\r\n }\r\n\r\n currentSizeMesure.To = value;\r\n\r\n if (currentSizeMesure.From >= currentSizeMesure.To) {\r\n currentSizeMesure.ErrorTo = true;\r\n } else {\r\n currentSizeMesure.ErrorTo = false;\r\n }\r\n\r\n if (\r\n !currentSizeMesure.ErrorFrom &&\r\n !currentSizeMesure.ErrorTo &&\r\n currentSizeMesure.From < currentSizeMesure.To\r\n ) {\r\n currentSizeMesure.IsSuccess = true;\r\n }\r\n\r\n if (props.SucribeChanges) props.SucribeChanges(newSizes);\r\n };\r\n\r\n const onSizeRemove = (index: number, item: ISizeModel) => {\r\n if (index > 0) {\r\n const newSizes = [...props.Elements];\r\n newSizes.splice(index, 1);\r\n\r\n if (props.SucribeChanges) props.SucribeChanges(newSizes);\r\n }\r\n };\r\n\r\n const onSizeAdd = () => {\r\n const newSizes = [...props.Elements];\r\n const newSize = createNewRowSize(newSizes.length);\r\n\r\n if (newSize) {\r\n newSizes.push(newSize);\r\n if (props.SucribeChanges) props.SucribeChanges(newSizes);\r\n }\r\n };\r\n\r\n const areHaveErrors = () => {\r\n let counterErrors: number = 0;\r\n\r\n try {\r\n const newSizes = [...props.Elements];\r\n\r\n if (newSizes && newSizes.length > 0) {\r\n const sizesErrors = newSizes.filter((item: ISizeModel) => {\r\n const sizeMeasuresErrors = item.Measures.filter(\r\n (itemMeasure: ISizeModelMeasure) => {\r\n return itemMeasure.ErrorFrom || itemMeasure.ErrorTo;\r\n }\r\n );\r\n\r\n return sizeMeasuresErrors && sizeMeasuresErrors.length > 0;\r\n });\r\n\r\n counterErrors = sizesErrors?.length || 0;\r\n }\r\n } catch (error) {\r\n console.log(\"SIZES FORM ERROR\", error);\r\n }\r\n\r\n return counterErrors === 0;\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

\r\n \r\n

\r\n \r\n {props.BodyParts.map((elemento: IBodyPart, indice: number) => {\r\n return (\r\n 2 ? 2 : 3}\r\n className=\"text-center\"\r\n >\r\n 2 ? \"\" : \"ps-5\"\r\n }`}\r\n >\r\n {elemento.Name}\r\n

\r\n \r\n );\r\n })}\r\n
\r\n\r\n
\r\n {props.Elements.map((elemento: ISizeModel, indice: number) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n onSizeNameChange(\r\n indice,\r\n e.target.value ? e.target.value : \"\",\r\n elemento\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n {elemento.Measures.map(\r\n (\r\n elementoMeasure: ISizeModelMeasure,\r\n indiceMeasure: number\r\n ) => {\r\n return (\r\n <>\r\n 2 ? \"d-none\" : \"d-block\"\r\n }`}\r\n >\r\n {/* EL PRIMER INPUT */}\r\n \r\n \r\n \r\n {elementoMeasure.BodyPart?.Id ===\r\n E_BodyPart.FOOT ? null : ( // Render nothing for FOOT\r\n // Render the input for other body parts\r\n \r\n onSizeMesaureChangeFrom(\r\n indice,\r\n indiceMeasure,\r\n e.target.value\r\n ? parseFloat(e.target.value)\r\n : 0,\r\n elementoMeasure\r\n )\r\n }\r\n />\r\n )}\r\n \r\n \r\n {elementoMeasure.BodyPart?.Id ===\r\n E_BodyPart.FOOT ? null : (\r\n

\r\n -\r\n

\r\n )}\r\n \r\n \r\n \r\n onSizeMesaureChangeTo(\r\n indice,\r\n indiceMeasure,\r\n e.target.value\r\n ? parseFloat(e.target.value)\r\n : 0,\r\n elementoMeasure\r\n )\r\n }\r\n />\r\n \r\n \r\n {elementoMeasure.ErrorFrom ||\r\n elementoMeasure.ErrorTo ? (\r\n \r\n ) : elementoMeasure.IsSuccess ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n )}\r\n \r\n \r\n onSizeRemove(indice, elemento)}\r\n icon={\"times\"}\r\n className=\"text-secondary\"\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n })}\r\n
\r\n\r\n \r\n \r\n onSizeAdd()}>\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n {!areHaveErrors() ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {props.showCustomWarning && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SizesForm;\r\n","import \"./DashboardCard.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst DashboardCard = (props: any) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
\r\n

{props.title}

\r\n

{props.percentage}

\r\n
\r\n
\r\n
\r\n :{\" \"}\r\n
{props.edad}
\r\n
\r\n
\r\n :{\" \"}\r\n
{props.peso}
{\" \"}\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
{props.altura}
{\" \"}\r\n
\r\n
\r\n :\r\n
{props.largo}
\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
{props.cintura}
\r\n
\r\n
\r\n :\r\n
{props.cadera}
\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n {props.busto}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n {props.largoPie}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DashboardCard;\r\n","import React from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"./Table.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { ExcelModule } from \"../../../misc\";\r\n\r\nconst Table = (props: any) => {\r\n\r\n const onSuscribeDownloadData = () => {\r\n const exportData: any[] = props.Data && props.Data.length > 0 ? props.Data : undefined;\r\n\r\n try {\r\n // console.log('Click Download', exportData);\r\n\r\n if (exportData) {\r\n let ExportElements: any[] = new Array();\r\n\r\n [].forEach.call(exportData, (elemento: any, indice: number) => {\r\n ExportElements.push({\r\n 'Guía': elemento.Name,\r\n 'Productos Asociados': elemento.ProductsRelated,\r\n 'Talles Recomendados': elemento.Recommended,\r\n 'Talle Más Recomendado': elemento.SizeMostRecommended,\r\n 'Encontró Talle': elemento.FoundSize + '%',\r\n 'No Encontró Talle': elemento.NotFoundSize + '%',\r\n });\r\n });\r\n\r\n if (ExportElements && ExportElements.length > 0) {\r\n ExcelModule.ExportTo(\r\n ExportElements,\r\n \"ReportSizesguide\",\r\n \"ReadySize_ReportSizesguide\"\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n }\r\n />\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n { return rowData.FoundSize.toString() + '%'; } }\r\n sortable\r\n header={\r\n \r\n }\r\n >\r\n { return rowData.NotFoundSize.toString() + '%'; }}\r\n sortable\r\n header={\r\n \r\n }\r\n >\r\n \r\n
\r\n

onSuscribeDownloadData() }>\r\n {\" \"}\r\n {\" \"}\r\n

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Table;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { addLocale } from \"primereact/api\";\r\n\r\nconst CalendarDemo = (props: any) => {\r\n let today = new Date();\r\n\r\n // Calculate the end date as 6 days before the current day\r\n const sixDaysAgo = new Date(today);\r\n sixDaysAgo.setDate(sixDaysAgo.getDate() - 6);\r\n\r\n // Initialize the date range as an array containing the start and end dates\r\n const [dateRange, setDateRange] = useState([\r\n sixDaysAgo,\r\n today,\r\n ]);\r\n\r\n addLocale(\"es\", {\r\n firstDayOfWeek: 1,\r\n dayNames: [\r\n \"domingo\",\r\n \"lunes\",\r\n \"martes\",\r\n \"miércoles\",\r\n \"jueves\",\r\n \"viernes\",\r\n \"sábado\",\r\n ],\r\n dayNamesShort: [\"dom\", \"lun\", \"mar\", \"mié\", \"jue\", \"vie\", \"sáb\"],\r\n dayNamesMin: [\"D\", \"L\", \"M\", \"X\", \"J\", \"V\", \"S\"],\r\n monthNames: [\r\n \"enero\",\r\n \"febrero\",\r\n \"marzo\",\r\n \"abril\",\r\n \"mayo\",\r\n \"junio\",\r\n \"julio\",\r\n \"agosto\",\r\n \"septiembre\",\r\n \"octubre\",\r\n \"noviembre\",\r\n \"diciembre\",\r\n ],\r\n monthNamesShort: [\r\n \"ene\",\r\n \"feb\",\r\n \"mar\",\r\n \"abr\",\r\n \"may\",\r\n \"jun\",\r\n \"jul\",\r\n \"ago\",\r\n \"sep\",\r\n \"oct\",\r\n \"nov\",\r\n \"dic\",\r\n ],\r\n today: \"Hoy\",\r\n clear: \"Claro\",\r\n });\r\n\r\n const dateTemplate = (date: any) => {\r\n if (date.day > 10 && date.day < 15) {\r\n return (\r\n {date.day}\r\n );\r\n }\r\n\r\n return date.day;\r\n };\r\n\r\n const handleDateSelect = (e: any) => {\r\n // Handle the selected date range\r\n setDateRange(e.value);\r\n if (props.SuscribedChange) props.SuscribedChange(e.value);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CalendarDemo;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport \"./DashboardModal.css\";\r\nimport { SizeGuideServices } from \"../../../services\";\r\nimport { IBaseItem } from \"../types\";\r\n\r\nfunction DashboardModal(props: any) {\r\n const [SizeGuides, setSizeGuides] = useState();\r\n const [isLoadingSizeGuides, setIsLoadingSizeGuides] = useState(false);\r\n const intl = useIntl();\r\n\r\n const [show, setShow] = useState(false);\r\n //const [selectedOption, setSelectedOption] = useState(\r\n // intl.formatMessage({\r\n // id: \"ready-size-example-guide\",\r\n // defaultMessage: \"Guia Ejemplo\",\r\n // })\r\n // );\r\n\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n useEffect(() => {\r\n\r\n (async () => {\r\n try {\r\n setIsLoadingSizeGuides(true);\r\n\r\n const getSizeGuides = await SizeGuideServices.GetSizesGuides();\r\n\r\n if (getSizeGuides && getSizeGuides.Status === 200) {\r\n setSizeGuides(getSizeGuides.Content);\r\n } else {\r\n setSizeGuides([]);\r\n }\r\n\r\n setIsLoadingSizeGuides(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingSizeGuides(false);\r\n }\r\n })();\r\n\r\n }, [setSizeGuides])\r\n\r\n const handleOptionSelect = (event: any) => {\r\n setSelectedOption(event.target.value);\r\n\r\n if (props.SuscribedChange) props.SuscribedChange(event.target.value);\r\n\r\n setShow(false);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n {SizeGuides?.map((element: IBaseItem, index: number) => {\r\n return (\r\n \r\n {element.Name}\r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n
\r\n {/**/}\r\n {/* */}\r\n {/* {\" \"}*/}\r\n {/* */}\r\n {/* {\" \"}*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n {/**/}\r\n {/* */}\r\n {/* {\" \"}*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/**/}\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default DashboardModal;\r\n","import { Row } from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { useEffect, useState } from \"react\";\r\nimport \"./NotFoundTable.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst NotFoundTable = (props: any) => {\r\n const [selection, setSelection] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n // const [filters, setFilters] = useState({\r\n // 'global': { value: null, matchMode: 'contains'}\r\n // });\r\n const [filters, setFilters] = useState(Object);\r\n\r\n const [show, setShow] = useState(false);\r\n const [target, setTarget] = useState(null);\r\n\r\n useEffect(() => {\r\n initGlobalFilters();\r\n }, []);\r\n\r\n const initGlobalFilters = () => {\r\n setFilters({\r\n global: { value: null, matchMode: \"contains\" },\r\n });\r\n\r\n // {value: null, matchMode: 'contains'}\r\n };\r\n\r\n const onSelectionChange = (row: any) => {\r\n setSelection(row.value);\r\n\r\n if (props.handlerSelectionRow) props.handlerSelectionRow(row.value);\r\n };\r\n\r\n const onSearch = (value: any) => {\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n console.log(\"_Filters\", _filters);\r\n console.log(\"Valor\", value);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const renderHeader = () => {\r\n var colsSearch: number = 2;\r\n\r\n if (!props.handlerDelete) colsSearch++;\r\n if (!props.handlerEdit) colsSearch++;\r\n if (!props.handlerAddSizeGuide) colsSearch += 2;\r\n if (!props.handlerDownload) colsSearch++;\r\n\r\n return (\r\n <>\r\n \r\n {/* \r\n \r\n */}\r\n\r\n {/* \r\n \r\n */}\r\n {/* {\r\n props.handlerDelete ?\r\n \r\n \r\n \r\n : <>\r\n }\r\n {\r\n props.handlerEdit ?\r\n \r\n \r\n \r\n : <>\r\n }\r\n {\r\n props.handlerAddSizeGuide ?\r\n \r\n \r\n \r\n : <>\r\n }\r\n {\r\n props.handlerDownload ?\r\n \r\n \r\n \r\n : <>\r\n } */}\r\n \r\n \r\n );\r\n };\r\n\r\n const handleClick = (event: any) => {\r\n setShow(!show);\r\n setTarget(event.target);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n onSelectionChange(e)}\r\n size=\"small\"\r\n filters={filters}\r\n globalFilterFields={[\"Code\", \"Alias\", \"Description\"]}\r\n loading={props.isLoading || false}\r\n >\r\n {props.handlerSelectionRow ? (\r\n \r\n ) : null}\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"110px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"200px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"150px\" }}\r\n >\r\n }\r\n sortable\r\n style={{ minWidth: \"80px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"80px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"80px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"110px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"130px\" }}\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"150px\" }}\r\n >\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default NotFoundTable;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nconst DropdownButton = () => {\r\n const [option1, setOption1] = useState(null);\r\n\r\n const cities = [\r\n { name: \"AA114137\", code: \"37\" },\r\n { name: \"AA114136\", code: \"36\" },\r\n { name: \"AA114135\", code: \"35\" },\r\n { name: \"AA114134\", code: \"34\" },\r\n { name: \"AA114133\", code: \"33\" },\r\n ];\r\n\r\n const onCityChange = (e: { value: any }) => {\r\n setOption1(e.value);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DropdownButton;\r\n","import React, { useState } from \"react\";\r\nimport Button from \"react-bootstrap/Button\";\r\nimport Modal from \"react-bootstrap/Modal\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./AssociateModal.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction AssociateModal() {\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n {/* Asociar sugerencia */}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AssociateModal;\r\n","import { useRef, useState } from \"react\";\r\nimport { Col, Form, Row, Button, Placeholder } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport SelectDropdownForm from \"../components-forms/SelectDropdownForm\";\r\nimport SuggestionWidget from \"./SuggestionWidget\";\r\nimport InputTextForm from \"../components-forms/InputTextForm\";\r\nimport ChipsControl from \"./ChipsControl\";\r\nimport SelectBodyArea from \"../components-forms/SelectBodyArea\";\r\nimport SelectGenders from \"../components-forms/SelectGenders\";\r\nimport SelectFitType from \"../components-forms/SelectFitType\";\r\nimport ModalCommon from \"./ModalCommon\";\r\nimport {\r\n BodyAreaServices,\r\n FitTypeServices,\r\n PersonServices,\r\n SizeGuideServices,\r\n} from \"../../../services\";\r\nimport MultiselectDropdownForm from \"../components-forms/MultiselectDropdownForm\";\r\nimport { IBaseItem, IProduct, ISizeGuide, ISizeModel } from \"../types\";\r\nimport FileUpdloadForm from \"../components-forms/FileUploadForm\";\r\nimport { ExcelModule } from \"../../../misc\";\r\nimport { finished } from \"stream\";\r\nimport \"./ProductsForm.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\n\r\nconst ProductsForm = (props: any) => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n const [isLoadingData, setIsLoadingData] = useState(false);\r\n const [isLoadingSizeGuides, setIsLoadingSizeGuides] = useState(false);\r\n const [SizeGuides, setSizeGuides] = useState();\r\n const [SizeGuideSelected, setSizeGuideSelected] = useState(null);\r\n const [SizesGuideSelect, setSizesGuideSelect] = useState([]);\r\n const [SizeGuideType, setSizeGuideType] = useState();\r\n const [SizeGuideGender, setSizeGuideGender] = useState();\r\n const [selectedSizes, setSelectedSizes] = useState([]);\r\n const [selectedSizesNames, setSelectedSizesNames] = useState([]);\r\n const [itemEdit, setItemEdit] = useState(null);\r\n const [selectedChips, setSelectedChips] = useState([]); // Lift the state to the parent component\r\n const [chipsDisabled, setChipsDisabled] = useState(false);\r\n\r\n const intl = useIntl();\r\n\r\n const fileUploadRef = useRef(null);\r\n\r\n async function getSizeGuides() {\r\n try {\r\n setIsLoadingSizeGuides(true);\r\n\r\n const getSizeGuides = await SizeGuideServices.GetSizesGuides();\r\n\r\n if (getSizeGuides && getSizeGuides.Status === 200) {\r\n setSizeGuides(getSizeGuides.Content);\r\n } else {\r\n setSizeGuides([]);\r\n }\r\n\r\n setIsLoadingSizeGuides(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingSizeGuides(false);\r\n }\r\n }\r\n\r\n async function getSizeGuidesUpload() {\r\n try {\r\n const getSizeGuides = await SizeGuideServices.GetSizesGuides();\r\n\r\n if (getSizeGuides && getSizeGuides.Status === 200) {\r\n setSizeGuides(getSizeGuides.Content);\r\n return getSizeGuides.Content;\r\n } else {\r\n setSizeGuides([]);\r\n return [];\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async function getBodyAreas() {\r\n try {\r\n const getResponse = await BodyAreaServices.GetBodyAreas();\r\n\r\n if (getResponse) {\r\n return getResponse;\r\n } else {\r\n return new Array();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async function getGenders() {\r\n try {\r\n const getResponse = await PersonServices.GetGenders();\r\n\r\n if (getResponse) {\r\n return getResponse;\r\n } else {\r\n return new Array();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n async function getFitTypes() {\r\n try {\r\n const getResponse = await FitTypeServices.GetFitTypes();\r\n\r\n if (getResponse) {\r\n return getResponse;\r\n } else {\r\n return new Array();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n const createNewRowProduct = (indice: number) => {\r\n let newProduct: IProduct;\r\n let newId: number = indice;\r\n\r\n try {\r\n if (indice > 0) {\r\n const currentElements = [...props.Elements];\r\n\r\n newId = currentElements[currentElements.length - 1].Id;\r\n }\r\n\r\n newProduct = {\r\n Id: indice + 1,\r\n Name: \"\",\r\n Code: \"\",\r\n Variants: new Array(),\r\n BodyArea: { Id: 4, Name: \"\" },\r\n Gender: { Id: 3, Name: \"\" },\r\n Fit: { Id: 1, Name: \"\" },\r\n Categories: new Array(),\r\n SizeGuide: null,\r\n Sizes: null,\r\n PositionRow: indice,\r\n };\r\n\r\n return newProduct;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n return undefined;\r\n };\r\n\r\n const onProductCodeChange = (\r\n index: number,\r\n value: string,\r\n item: IProduct\r\n ) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.Code = value ? value : \"\";\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductVariantsChange = (\r\n index: number,\r\n values: string[],\r\n item: IProduct\r\n ) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.Variants = values ? values : [];\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductNameChange = (\r\n index: number,\r\n value: string,\r\n item: IProduct\r\n ) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.Name = value ? value : \"\";\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductBodyAreaChange = (\r\n index: number,\r\n value: number,\r\n item: IProduct\r\n ) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.BodyArea.Id = value ? value : 0;\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductGenderChange = (\r\n index: number,\r\n value: number,\r\n item: IProduct\r\n ) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.Gender.Id = value ? value : 0;\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductFitChange = (index: number, value: number, item: IProduct) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.Fit.Id = value ? value : 0;\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductCategoriesChange = (\r\n index: number,\r\n values: string[],\r\n item: IProduct\r\n ) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.Categories = values ? values : [];\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductRemoveSizeGuide = (index: number, item: IProduct) => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[index];\r\n\r\n currentProduct.SizeGuide = null;\r\n currentProduct.Sizes = null;\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductRemove = (index: number, item: IProduct) => {\r\n try {\r\n if (index > 0) {\r\n const newProducts = [...props.Elements];\r\n newProducts.splice(index, 1);\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onProductAdd = () => {\r\n try {\r\n const newProducts = [...props.Elements];\r\n\r\n const newProduct = createNewRowProduct(newProducts.length);\r\n\r\n if (newProducts) {\r\n newProducts.push(newProduct);\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onShowModal = (index: number, item: IProduct) => {\r\n try {\r\n if (!SizeGuides) {\r\n getSizeGuides();\r\n }\r\n\r\n setSizeGuideSelected(null);\r\n setSelectedSizes([]);\r\n setSizeGuideGender(null);\r\n setSizeGuideType(null);\r\n setItemEdit({ Index: index, Item: item });\r\n setShowModal(true);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onHideModal = () => {\r\n setShowModal(false);\r\n\r\n setSizeGuideSelected(null);\r\n setSelectedSizes([]);\r\n setSizeGuideGender(null);\r\n setSizeGuideType(null);\r\n setItemEdit(null);\r\n };\r\n\r\n const onOkModal = () => {\r\n try {\r\n setShowModal(false);\r\n\r\n const newProducts = [...props.Elements];\r\n const currentProduct = newProducts[itemEdit.Index];\r\n\r\n currentProduct.SizeGuide = SizeGuideSelected ? SizeGuideSelected : null;\r\n currentProduct.Sizes = selectedSizes ? selectedSizes : null;\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(newProducts);\r\n\r\n // Disable the ChipsControl\r\n setChipsDisabled(true); // Add this line\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSizeGuideChange = (value: any) => {\r\n try {\r\n const guideSelect = SizeGuides?.find((guide: any) => {\r\n return guide.Id === parseInt(value);\r\n });\r\n\r\n if (guideSelect) {\r\n setSizeGuideSelected(guideSelect);\r\n setSizeGuideType(guideSelect.TypeSizeGuide);\r\n setSizeGuideGender(guideSelect.Gender);\r\n\r\n setSizesGuideSelect(\r\n guideSelect.Sizes.map((element: any) => {\r\n return {\r\n name: element.Name,\r\n code: element.Id,\r\n };\r\n })\r\n );\r\n } else {\r\n setSizeGuideSelected(null);\r\n setSizeGuideType(null);\r\n setSizeGuideGender(null);\r\n setSizesGuideSelect([]);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSizesChange = (value: any) => {\r\n try {\r\n setSelectedChips(value ? value : []);\r\n const selectedOptions = value\r\n ? [].map.call(value, (elemento: any) => {\r\n return { Id: elemento.code, Name: elemento.name };\r\n })\r\n : [];\r\n setSelectedSizes(selectedOptions);\r\n setSelectedSizesNames(\r\n selectedOptions.map((elemento: any) => elemento.Name)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const ModalContent = () => {\r\n return (\r\n
\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n \r\n {\" \"}\r\n {SizeGuideType?.Name || \"\"}\r\n

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

\r\n \r\n \r\n {\" \"}\r\n {SizeGuideGender?.Name || \"\"}\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const helperModelo = () => {\r\n return (\r\n <>\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n \"magento-icon\"\r\n

\r\n Magento: SKU\r\n

\r\n
\r\n
\r\n \"vtex-icon\"\r\n

\r\n Vtex:{\" \"}\r\n Product_Reference\r\n

\r\n
\r\n
\r\n \"shopify-icon\"\r\n

\r\n Shopify: SKU\r\n

\r\n
\r\n
\r\n \"shopify-icon\"\r\n

\r\n Shopify: Barcode\r\n

\r\n
\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n // const helperDescription = () => {\r\n // return (\r\n // <>\r\n //
\r\n //

Soy Ayuda de Descripción

\r\n //
\r\n // \r\n // );\r\n // };\r\n\r\n const onImportExcel = async (e: any) => {\r\n let uploadSizeGuides: any[];\r\n let bodyAreas: IBaseItem[] | undefined;\r\n let genders: IBaseItem[] | undefined;\r\n let fitTypes: IBaseItem[] | undefined;\r\n\r\n try {\r\n if (fileUploadRef.current.value) {\r\n setIsLoadingData(true);\r\n\r\n uploadSizeGuides = await getSizeGuidesUpload();\r\n bodyAreas = await getBodyAreas();\r\n genders = await getGenders();\r\n fitTypes = await getFitTypes();\r\n\r\n ExcelModule.ImportFrom(e.target, (data: any) => {\r\n if (data) {\r\n const currentProducts = [...props.Elements];\r\n\r\n // console.log('IMPORT FILE DATA', data);\r\n\r\n [].forEach.call(data, (element: any, index: number) => {\r\n if (currentProducts[currentProducts.length - 1].Code === \"\") {\r\n currentProducts[currentProducts.length - 1].Code =\r\n element.Modelo;\r\n currentProducts[currentProducts.length - 1].Name =\r\n element.Descripcion;\r\n\r\n if (element.SKUs)\r\n currentProducts[currentProducts.length - 1].Variants =\r\n element.SKUs.split(\",\");\r\n\r\n if (element.Fit && fitTypes) {\r\n const findItem = fitTypes.find((findElement: IBaseItem) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Fit.toUpperCase()\r\n );\r\n });\r\n\r\n currentProducts[currentProducts.length - 1].Fit = findItem\r\n ? findItem\r\n : { Id: 1, Name: \"\" };\r\n }\r\n\r\n if (element.Genero && genders) {\r\n const findItem = genders.find((findElement: IBaseItem) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Genero.toUpperCase()\r\n );\r\n });\r\n\r\n currentProducts[currentProducts.length - 1].Gender = findItem\r\n ? findItem\r\n : { Id: 3, Name: \"\" };\r\n }\r\n\r\n if (element.Posicion && bodyAreas) {\r\n const findItem = bodyAreas.find((findElement: IBaseItem) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Posicion.toUpperCase()\r\n );\r\n });\r\n\r\n currentProducts[currentProducts.length - 1].BodyArea =\r\n findItem ? findItem : { Id: 4, Name: \"\" };\r\n }\r\n\r\n if (element.Guia && uploadSizeGuides) {\r\n const findItem = uploadSizeGuides.find(\r\n (findElement: ISizeGuide) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Guia.toUpperCase()\r\n );\r\n }\r\n );\r\n\r\n currentProducts[currentProducts.length - 1].SizeGuide =\r\n findItem ? findItem : null;\r\n\r\n if (element.Talles && findItem) {\r\n const sizes: ISizeModel[] = new Array();\r\n\r\n [].forEach.call(\r\n element.Talles.split(\",\"),\r\n (talleElement: any) => {\r\n const findSizeItem = findItem.Sizes.find(\r\n (findSizeElement: ISizeModel) => {\r\n return (\r\n findSizeElement.Name.toUpperCase() ===\r\n talleElement.trim().toUpperCase()\r\n );\r\n }\r\n );\r\n\r\n if (findSizeItem) {\r\n sizes.push(findSizeItem);\r\n }\r\n }\r\n );\r\n\r\n currentProducts[currentProducts.length - 1].Sizes =\r\n sizes && sizes.length > 0 ? sizes : null;\r\n }\r\n }\r\n\r\n if (element.Categorias)\r\n currentProducts[currentProducts.length - 1].Categories =\r\n element.Categorias.split(\",\");\r\n } else {\r\n const newProduct = createNewRowProduct(currentProducts.length);\r\n\r\n if (newProduct) {\r\n newProduct.Code = element.Modelo;\r\n newProduct.Name = element.Descripcion;\r\n\r\n if (element.SKUs)\r\n newProduct.Variants = element.SKUs.split(\",\");\r\n\r\n if (element.Fit) {\r\n const findItem = fitTypes?.find(\r\n (findElement: IBaseItem) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Fit.toUpperCase()\r\n );\r\n }\r\n );\r\n\r\n newProduct.Fit = findItem ? findItem : { Id: 1, Name: \"\" };\r\n }\r\n\r\n if (element.Genero) {\r\n const findItem = genders?.find((findElement: IBaseItem) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Genero.toUpperCase()\r\n );\r\n });\r\n\r\n newProduct.Gender = findItem\r\n ? findItem\r\n : { Id: 3, Name: \"\" };\r\n }\r\n\r\n if (element.Posicion) {\r\n const findItem = bodyAreas?.find(\r\n (findElement: IBaseItem) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Posicion.toUpperCase()\r\n );\r\n }\r\n );\r\n\r\n newProduct.BodyArea = findItem\r\n ? findItem\r\n : { Id: 4, Name: \"\" };\r\n }\r\n\r\n if (element.Guia) {\r\n const findItem = uploadSizeGuides?.find(\r\n (findElement: ISizeGuide) => {\r\n return (\r\n findElement.Name.toUpperCase() ===\r\n element.Guia.toUpperCase()\r\n );\r\n }\r\n );\r\n\r\n newProduct.SizeGuide = findItem ? findItem : null;\r\n\r\n if (element.Talles && findItem) {\r\n const sizes: ISizeModel[] = new Array();\r\n\r\n [].forEach.call(\r\n element.Talles.split(\",\"),\r\n (talleElement: any) => {\r\n const findSizeItem = findItem.Sizes.find(\r\n (findSizeElement: ISizeModel) => {\r\n return (\r\n findSizeElement.Name.toUpperCase() ===\r\n talleElement.trim().toUpperCase()\r\n );\r\n }\r\n );\r\n\r\n if (findSizeItem) {\r\n sizes.push(findSizeItem);\r\n }\r\n }\r\n );\r\n\r\n newProduct.Sizes =\r\n sizes && sizes.length > 0 ? sizes : null;\r\n }\r\n }\r\n\r\n if (element.Categorias)\r\n newProduct.Categories = element.Categorias.split(\",\");\r\n\r\n currentProducts.push(newProduct);\r\n }\r\n }\r\n });\r\n\r\n setIsLoadingData(false);\r\n\r\n if (props.SuscribeChanges) props.SuscribeChanges(currentProducts);\r\n }\r\n });\r\n }\r\n\r\n if (fileUploadRef.current) fileUploadRef.current.value = \"\";\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {props.canUpdload ? (\r\n <>\r\n \r\n onImportExcel(e)}\r\n ControlRef={fileUploadRef}\r\n Accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8, application/vnd.ms-excel;charset=UTF-8, text/csv;charset=UTF-8\"\r\n Classname=\"\"\r\n />\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {props.canDownload ? (\r\n \r\n \r\n\r\n \r\n Exportar modelo csv\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n\r\n {!isLoadingData ? (\r\n <>\r\n
\r\n {props.Elements.map((elemento: IProduct, indice: number) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n onProductCodeChange(indice, e, elemento)\r\n }\r\n />\r\n \r\n \r\n \r\n onProductNameChange(indice, e, elemento)\r\n }\r\n />\r\n \r\n \r\n \r\n onProductBodyAreaChange(indice, e, elemento)\r\n }\r\n />\r\n \r\n \r\n \r\n onProductGenderChange(indice, e, elemento)\r\n }\r\n />\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )\r\n }\r\n DefaultValue={elemento.Fit?.Id}\r\n SuscribedChange={(e: any) =>\r\n onProductFitChange(indice, e, elemento)\r\n }\r\n />\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )\r\n }\r\n placeholder={\"\"}\r\n Values={elemento.Sizes?.map(\r\n (option: { Name: string }) => option.Name\r\n )}\r\n onChipChange={(e: any) => onSizesChange(e)}\r\n disabled={chipsDisabled}\r\n />\r\n \r\n {elemento.SizeGuide ? (\r\n \r\n {indice === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n onShowModal(indice, elemento)}\r\n >\r\n \r\n {elemento.SizeGuide?.Name}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {indice === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n onShowModal(indice, elemento)}\r\n >\r\n \r\n \r\n onProductRemove(indice, elemento)}\r\n >\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n\r\n \r\n \r\n onProductAdd()}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProductsForm;\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useState } from \"react\";\r\nimport { Button, Form, Overlay, Popover } from \"react-bootstrap\";\r\n\r\nconst InputText = (props: any) => {\r\n const [showHelper, setShowHelper] = useState(false);\r\n const [targetHelper, setTargetHelper] = useState(null);\r\n\r\n const onControlChange = (e: any) => {\r\n if (props.SuscribedChange) props.SuscribedChange(e.target.value);\r\n };\r\n\r\n const onClickClean = (e: any) => {\r\n if (props.handlerClean) props.handlerClean(e);\r\n };\r\n\r\n const handlerClickHelper = (e: any) => {\r\n setShowHelper(!showHelper);\r\n setTargetHelper(e.target);\r\n }\r\n\r\n return (\r\n <>\r\n {/* */}\r\n \r\n {props.Label || \"\"}\r\n {\r\n props.Helper\r\n ?\r\n <>\r\n handlerClickHelper(e)}\r\n />\r\n \r\n \r\n \r\n {props.Helper || ''}\r\n \r\n \r\n \r\n \r\n : <>\r\n }\r\n \r\n\r\n {/* */}\r\n onControlChange(e)}\r\n className={`${props.ClassName || \"\"}`}\r\n defaultValue={props.DefaultValue || \"\"}\r\n />\r\n {\r\n props.handlerClean ?\r\n \r\n : <>\r\n }\r\n {/* */}\r\n \r\n );\r\n};\r\n\r\nexport default InputText;","import React, { useState } from \"react\";\r\nimport \"./ModalIntro.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport GuideTemplate from \"./GuideTemplate\";\r\n\r\ninterface ModalProps {\r\n closeModal: () => void;\r\n selectedLanguage: \"es\" | \"en\" | \"pt\"; // Specify the valid language values\r\n}\r\n\r\nconst ModalIntro: React.FC = ({ closeModal, selectedLanguage }) => {\r\n const [step, setStep] = useState(1);\r\n\r\n const languageImages = {\r\n es: \"img/modalwelcome.png\",\r\n en: \"img/modalintrohello.png\",\r\n pt: \"img/modalintroola.png\",\r\n };\r\n\r\n const handleNext = () => {\r\n setStep((prevStep) => prevStep + 1);\r\n };\r\n\r\n const handleExit = () => {\r\n closeModal();\r\n };\r\n\r\n const handleBegin = () => {\r\n closeModal();\r\n };\r\n\r\n const handleDotClick = (newStep: number) => {\r\n setStep(newStep);\r\n };\r\n\r\n /* IMG 1 */\r\n const imgSrc1 = \"img/upperclothingimg.png\";\r\n const paragraphText1 = (\r\n \r\n );\r\n /* IMG 2 */\r\n const imgSrc2 = \"img/bottomwear.png\";\r\n const paragraphText2 = (\r\n \r\n );\r\n /* IMG 3 */\r\n // const imgSrc3 = \"img/dressimg.png\";\r\n // const paragraphText3 = (\r\n // \r\n // );\r\n /* IMG 4 */\r\n const imgSrc4 = \"img/braimg.png\";\r\n const paragraphText4 = (\r\n \r\n );\r\n /* IMG 5 */\r\n const imgSrc5 = \"img/shoeimg2.png\";\r\n const paragraphText5 = (\r\n \r\n );\r\n\r\n const colStyle = {\r\n marginBottom: \"30px\",\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {step === 1 && (\r\n
\r\n
\r\n

\r\n \r\n

\r\n \r\n

\r\n \r\n {/* En el siguiente Tour te mostramos\r\n como usar ReadySize para que\r\n mejore la experiencia de compra de tus clientes y tus ventas. */}\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n {step === 2 && (\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n {/* Talles */}\r\n

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

\r\n \r\n {/* Contorno de Buso */}\r\n

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

\r\n \r\n {/* Contorno de Cintura */}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n handleDotClick(2)}\r\n >\r\n handleDotClick(3)}>\r\n handleDotClick(4)}>\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {step === 3 && (\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

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

\r\n \r\n

\r\n \r\n
\r\n \"table\"\r\n
\r\n
\r\n

\r\n \r\n

\r\n \"table\"\r\n
\r\n
\r\n

\r\n \r\n

\r\n \"table\"\r\n
\r\n
\r\n {/* \"inputsimage\" */}\r\n
\r\n \r\n
\r\n handleDotClick(2)}>\r\n handleDotClick(3)}\r\n >\r\n handleDotClick(4)}>\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {step === 4 && (\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

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

\r\n {\" \"}\r\n \r\n

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

\r\n \r\n

\r\n
\r\n \r\n
\r\n handleDotClick(2)}>\r\n handleDotClick(3)}>\r\n handleDotClick(4)}\r\n >\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ModalIntro;\r\n","// ModalLimitReached.tsx\r\n\r\nimport React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\ninterface ModalLimitReachedProps {\r\n show: boolean;\r\n onHide: () => void;\r\n}\r\n\r\nconst ModalLimitReached: React.FC = ({\r\n show,\r\n onHide,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ModalLimitReached;\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState } from \"react\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport \"./ToolTip.css\";\r\n\r\nexport interface TooltipProps {\r\n headingId: string;\r\n paragraphIds: string[];\r\n firstParagraphBackgroundColor?: string;\r\n tooltipRight?: string; // new prop for right positioning\r\n tooltipWidth?: string; // new prop for width\r\n tooltipTop?: string; // new prop for top positioning\r\n}\r\n\r\nfunction Tooltip({\r\n headingId,\r\n paragraphIds,\r\n firstParagraphBackgroundColor,\r\n tooltipRight = \"50px\", // default value\r\n tooltipWidth = \"300px\", // default value\r\n tooltipTop = \"-50px\", // default value\r\n}: TooltipProps) {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleTooltip = () => {\r\n setIsVisible(!isVisible);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n {isVisible && (\r\n \r\n
\r\n

\r\n \r\n

\r\n {/* Apply background color style to the first paragraph if provided */}\r\n \r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Tooltip;\r\n","import React, { useState } from \"react\";\r\nimport \"./ModalIntroMs.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport GuideTemplate from \"./GuideTemplate\";\r\nimport CustomButton from \"./PushButtonFilterMercadoShops\";\r\nimport { Button } from \"primereact/button\";\r\nimport ButtonCommon from \"./ButtonCommon\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport ColumnSelectFitType from \"../components-forms/ColumnSelectFitType\";\r\n\r\ninterface ModalProps {\r\n closeModal: () => void;\r\n selectedLanguage: \"es\" | \"en\" | \"pt\";\r\n user: any;\r\n}\r\n\r\nconst ModalIntroMs: React.FC = ({\r\n closeModal,\r\n selectedLanguage,\r\n user,\r\n}) => {\r\n const [step, setStep] = useState(1);\r\n\r\n const languageImages = {\r\n es: \"img/modalwelcome.png\",\r\n en: \"img/modalintrohello.png\",\r\n pt: \"img/modalintroola.png\",\r\n };\r\n\r\n const handleNext = () => {\r\n setStep((prevStep) => prevStep + 1);\r\n };\r\n\r\n const handleExit = () => {\r\n closeModal();\r\n };\r\n\r\n const handleBegin = () => {\r\n closeModal();\r\n };\r\n\r\n const handleDotClick = (newStep: number) => {\r\n setStep(newStep);\r\n };\r\n\r\n const colStyle = {\r\n marginBottom: \"30px\",\r\n };\r\n\r\n const handleNothing = () => {};\r\n\r\n const intl = useIntl();\r\n\r\n const FitBodyTemplate = (product: any) => {\r\n return (\r\n \r\n }\r\n />\r\n );\r\n };\r\n\r\n const productData = [\r\n {\r\n id: 1,\r\n image: \"img/msshirtdemo.jpg\",\r\n code: \"ABC123\",\r\n fit: \"Regular\",\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n
\r\n {step === 1 && (\r\n
\r\n
\r\n

\r\n <>\r\n \r\n {user && user.Name ? ` ${user.Name}` : \"\"}\r\n \r\n

\r\n \r\n

\r\n \r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n {step === 2 && (\r\n
\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n

\r\n
\r\n \r\n \r\n {/* \r\n */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n setGlobalFilter(e.target.value)}\r\n placeholder={intl.formatMessage({\r\n id: \"ms-table-column-search\",\r\n defaultMessage: \"Buscar producto...\",\r\n })}\r\n className=\"p-inputtext p-component\"\r\n />\r\n
\r\n
\r\n

\r\n \r\n

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

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/* \r\n }\r\n isOutline={false}\r\n // eventClick={() => onClickSave()}\r\n /> */}\r\n
\r\n
\r\n \r\n }\r\n isOutline={false}\r\n // onClick={() => onClickRefresh()}\r\n />\r\n \r\n }\r\n isOutline={false}\r\n // eventClick={() => onClickSave()}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n {/*
\r\n handleDotClick(2)}\r\n >\r\n handleDotClick(3)}>\r\n handleDotClick(4)}>\r\n
*/}\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n {step === 3 && (\r\n
\r\n

\r\n \r\n

\r\n\r\n {/* \"inputsimage\" */}\r\n\r\n
\r\n \r\n \r\n }\r\n body={(rowData: any) => (\r\n \r\n )}\r\n />\r\n \r\n }\r\n sortable\r\n />\r\n \r\n }\r\n body={FitBodyTemplate}\r\n />\r\n \r\n {/* {\" \"} */}\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n

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

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n {/*

Tene en cuenta que:

*/}\r\n\r\n

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

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

\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n {/* \r\n
\r\n handleDotClick(2)}>\r\n handleDotClick(3)}\r\n >\r\n handleDotClick(4)}>\r\n
*/}\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ModalIntroMs;\r\n","import React from \"react\";\r\nimport \"./PriceCard.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { faCheck } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst PricingCard = ({\r\n icon = null,\r\n titleId,\r\n subtitleId,\r\n definitionId,\r\n items,\r\n isActive = false,\r\n}: any) => {\r\n return (\r\n
\r\n
\r\n {icon && (\r\n \r\n )}\r\n
\r\n
\r\n

\r\n \r\n

\r\n {/*

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

*/}\r\n

\r\n \r\n

\r\n
\r\n
\r\n
    \r\n {items.map((itemId: any, index: any) => (\r\n
  • \r\n \r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PricingCard;\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState } from \"react\";\r\nimport \"./TooltipAlias.css\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faArrowDown } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { faApple, faWindows } from \"@fortawesome/free-brands-svg-icons\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nfunction Tooltip() {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleTooltip = () => {\r\n setIsVisible(!isVisible);\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n {isVisible && (\r\n \r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default Tooltip;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { SizeGuideServices } from \"../../../services\";\r\nimport { IBaseItem } from \"../types\";\r\n\r\nconst SelectSizeGuideType = (props: any) => {\r\n const [sizeGuideTypes, setSizeGuideTypes] = useState([]);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [selectedType, setSelectedType] = useState(0);\r\n\r\n // console.log('SELECT SIZE GUIDE TYPE', props);\r\n\r\n useEffect(() => {\r\n (async () => {\r\n const TypesSizeGuide = await SizeGuideServices.GetTypesSizeGuide();\r\n\r\n setSizeGuideTypes(TypesSizeGuide);\r\n setIsLoading(false);\r\n })();\r\n }, []);\r\n\r\n const onControlChange = (e: any) => {\r\n setSelectedType(parseInt(e.target.value));\r\n\r\n if (props.SuscribedChange) props.SuscribedChange(parseInt(e.target.value));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {props.Label || \"\"}\r\n {isLoading ? (\r\n <>\r\n ) : (\r\n onControlChange(e)}\r\n key={\"select-type-sizeguide\"}\r\n defaultValue={\r\n props.DefaultValue && sizeGuideTypes.length > 0\r\n ? props.DefaultValue\r\n : undefined\r\n }\r\n >\r\n {sizeGuideTypes?.map((element: IBaseItem, index: number) => {\r\n return (\r\n \r\n {element.Name}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SelectSizeGuideType;\r\n","import { Card } from \"react-bootstrap\";\r\nimport \"./BarChart.css\";\r\n\r\nimport { DashboardModal } from \"../../common\";\r\nimport {\r\n Chart as ChartJS,\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n} from \"chart.js\";\r\n\r\nimport { Bar } from \"react-chartjs-2\";\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend\r\n);\r\n\r\nexport const options = {\r\n responsive: true,\r\n plugins: {\r\n legend: {\r\n position: \"top\" as const,\r\n display: false,\r\n labels: {\r\n font: {\r\n size: 10,\r\n family: \"Poppins\",\r\n weight: \"500\",\r\n lineHeight: 21,\r\n },\r\n },\r\n },\r\n title: {\r\n display: false,\r\n text: \"Chart.js Bar Chart\",\r\n },\r\n },\r\n layout: {\r\n padding: 20,\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n color: \"#ffffff\",\r\n },\r\n beginAtZero: false,\r\n ticks: {\r\n color: \"#ffffff\",\r\n backdropColor: \"#ffffff\",\r\n },\r\n },\r\n y: {\r\n grid: {\r\n display: false,\r\n color: \"#ffffff\",\r\n },\r\n beginAtZero: true,\r\n ticks: {\r\n color: \"#ffffff\",\r\n backdropColor: \"#ffffff\",\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst plugins = [\r\n {\r\n id: \"\",\r\n beforeDraw: function (chart: any) {\r\n if (chart.chartArea) {\r\n // console.log(\"CTX\", chart.ctx);\r\n // console.log(\"AREA\", chart.chartArea);\r\n // console.log(\"BAR ARRAY\", chart.getDatasetMeta(0).data);\r\n let barArray: any = chart.getDatasetMeta(0).data;\r\n\r\n for (let i = 0; i < barArray.length; i++) {\r\n // console.log(\"BAR Element\", barArray[i]);\r\n // console.log(\"BAR Element Options\", barArray[i].options);\r\n\r\n barArray[i].width = 15;\r\n barArray[i].options.borderRadius = 20;\r\n barArray[i].options.borderWidth = 1;\r\n }\r\n }\r\n },\r\n },\r\n];\r\n\r\nconst labels = [\"XS\", \"S\", \"M\", \"L\", \"XL\", \"2XL\", \"3XL\", \"4XL\"];\r\n\r\nexport const data = {\r\n labels,\r\n datasets: [\r\n {\r\n label: \"\",\r\n data: labels.map(() => Math.floor(Math.random() * 50)),\r\n backgroundColor: \"#ffffff\",\r\n },\r\n ],\r\n};\r\n\r\nconst BarChart = (props: any) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n 0))\r\n ? {\r\n labels: Array.prototype.map.call(props.DataValue, ((value: any) => value.Name.toString())) || [],\r\n datasets: [\r\n {\r\n label: '',\r\n data: Array.prototype.map.call(props.DataValue, ((value: any) => parseInt(value.Value))) || [],\r\n backgroundColor: \"#ffffff\",\r\n },\r\n ],\r\n } : {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: '',\r\n data: [],\r\n backgroundColor: \"#ffffff\",\r\n },\r\n ],\r\n }\r\n )} plugins={plugins} />\r\n \r\n \r\n \r\n {/*
WebSite Views
*/}\r\n

{props.title || \"\"}

\r\n {/*
\r\n\r\n
\r\n \r\n

campaign sent 2 days ago

\r\n
*/}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BarChart;\r\n","import { Card } from \"react-bootstrap\";\r\nimport \"./LineChart.css\";\r\n\r\nimport {\r\n Chart as ChartJS,\r\n CategoryScale,\r\n LinearScale,\r\n PointElement,\r\n LineElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n} from \"chart.js\";\r\n\r\nimport { Line } from \"react-chartjs-2\";\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n PointElement,\r\n LineElement,\r\n Title,\r\n Tooltip,\r\n Legend\r\n);\r\n\r\nexport const options = {\r\n responsive: true,\r\n plugins: {\r\n legend: {\r\n position: \"top\" as const,\r\n display: false,\r\n labels: {\r\n font: {\r\n size: 10,\r\n family: \"Poppins\",\r\n weight: \"500\",\r\n lineHeight: 21,\r\n },\r\n },\r\n },\r\n title: {\r\n display: false,\r\n text: \"Chart.js Bar Chart\",\r\n },\r\n },\r\n layout: {\r\n padding: 20,\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n color: \"#ffffff\",\r\n },\r\n beginAtZero: true,\r\n ticks: {\r\n color: \"#ffffff\",\r\n backdropColor: \"#ffffff\",\r\n },\r\n },\r\n y: {\r\n grid: {\r\n display: false,\r\n color: \"#ffffff\",\r\n },\r\n beginAtZero: true,\r\n ticks: {\r\n color: \"#ffffff\",\r\n backdropColor: \"#ffffff\",\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst plugins = [\r\n {\r\n id: \"\",\r\n beforeDraw: function (chart: any) {\r\n if (chart.chartArea) {\r\n // console.log(\"CTX\", chart.ctx);\r\n // console.log(\"AREA\", chart.chartArea);\r\n // console.log(\"BAR ARRAY\", chart.getDatasetMeta(0).data);\r\n let barArray: any = chart.getDatasetMeta(0).data;\r\n\r\n for (let i = 0; i < barArray.length; i++) {\r\n // console.log(\"BAR Element\", barArray[i]);\r\n // console.log(\"BAR Element Options\", barArray[i].options);\r\n\r\n barArray[i].width = 15;\r\n barArray[i].options.borderRadius = 20;\r\n barArray[i].options.borderWidth = 1;\r\n }\r\n }\r\n },\r\n },\r\n];\r\n\r\nconst labels = [\"Lu\", \"Ma\", \"Mie\", \"Jue\", \"Vi\", \"Sa\", \"Do\"];\r\n\r\nexport const data = {\r\n labels,\r\n datasets: [\r\n {\r\n label: \"\",\r\n data: labels.map(() => Math.floor(Math.random() * 500)),\r\n borderColor: \"#ffffff\",\r\n fill: false,\r\n },\r\n ],\r\n};\r\n\r\nconst LineChart = (props: any) => {\r\n\r\n //console.log('props', props);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n 0))\r\n ? {\r\n labels: Array.prototype.map.call(props.DataValue, ((value: any) => value.Name.toString())) || [],\r\n datasets: [\r\n {\r\n label: '',\r\n data: Array.prototype.map.call(props.DataValue, ((value: any) => parseInt(value.Value))) || [],\r\n backgroundColor: \"#ffffff\",\r\n fill: false,\r\n },\r\n ],\r\n } : {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: '',\r\n data: [],\r\n backgroundColor: \"#ffffff\",\r\n fill: false,\r\n },\r\n ],\r\n }\r\n )} />\r\n \r\n \r\n \r\n

{props.title || \"\"}

\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default LineChart;\r\n","import { Card } from \"react-bootstrap\";\r\nimport \"./BarChartSizes.css\";\r\n\r\nimport { DashboardModal } from \"../../common\";\r\nimport {\r\n Chart as ChartJS,\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n} from \"chart.js\";\r\n\r\nimport { Bar } from \"react-chartjs-2\";\r\n//import { useState } from \"react\";\r\n\r\nChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n BarElement,\r\n Title,\r\n Tooltip,\r\n Legend\r\n);\r\n\r\nexport const options = {\r\n responsive: true,\r\n plugins: {\r\n legend: {\r\n position: \"top\" as const,\r\n display: false,\r\n labels: {\r\n font: {\r\n size: 10,\r\n family: \"Poppins\",\r\n weight: \"500\",\r\n lineHeight: 21,\r\n },\r\n },\r\n },\r\n title: {\r\n display: false,\r\n text: \"Chart.js Bar Chart\",\r\n },\r\n },\r\n layout: {\r\n padding: 20,\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n color: \"#ffffff\",\r\n },\r\n beginAtZero: false,\r\n ticks: {\r\n color: \"#ffffff\",\r\n backdropColor: \"#ffffff\",\r\n },\r\n },\r\n y: {\r\n grid: {\r\n display: false,\r\n color: \"#ffffff\",\r\n },\r\n beginAtZero: true,\r\n ticks: {\r\n color: \"#ffffff\",\r\n backdropColor: \"#ffffff\",\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst plugins = [\r\n {\r\n id: \"\",\r\n beforeDraw: function (chart: any) {\r\n if (chart.chartArea) {\r\n // console.log(\"CTX\", chart.ctx);\r\n // console.log(\"AREA\", chart.chartArea);\r\n // console.log(\"BAR ARRAY\", chart.getDatasetMeta(0).data);\r\n let barArray: any = chart.getDatasetMeta(0).data;\r\n\r\n for (let i = 0; i < barArray.length; i++) {\r\n // console.log(\"BAR Element\", barArray[i]);\r\n // console.log(\"BAR Element Options\", barArray[i].options);\r\n\r\n barArray[i].width = 15;\r\n barArray[i].options.borderRadius = 20;\r\n barArray[i].options.borderWidth = 1;\r\n }\r\n }\r\n },\r\n },\r\n];\r\n\r\n//const labels = [\"XS\", \"S\", \"M\", \"L\", \"XL\", \"2XL\", \"3XL\", \"4XL\"];\r\n\r\n//export const data = {\r\n// labels,\r\n// datasets: [\r\n// {\r\n// label: \"\",\r\n// data: labels.map(() => Math.floor(Math.random() * 50)),\r\n// backgroundColor: \"#ffffff\",\r\n// },\r\n// ],\r\n//};\r\n\r\nconst BarChartSizes = (props: any) => {\r\n\r\n const onChangeSizeGuide = (value: any) => {\r\n if (props.SuscribedChange) props.SuscribedChange(value);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n value.Name.toString())) || [],\r\n datasets: [\r\n {\r\n label: '',\r\n data: Array.prototype.map.call(props.DataValue.Data, ((value: any) => parseInt(value.Value))) || [],\r\n backgroundColor: \"#ffffff\",\r\n },\r\n ],\r\n } : {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: '',\r\n data: [],\r\n backgroundColor: \"#ffffff\",\r\n },\r\n ],\r\n }\r\n )} plugins={plugins} />\r\n \r\n \r\n \r\n {/*
WebSite Views
*/}\r\n

{props.title || \"\"}

\r\n {/*
\r\n\r\n
\r\n \r\n

campaign sent 2 days ago

\r\n
*/}\r\n
\r\n onChangeSizeGuide(value) } />\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BarChartSizes;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { IBaseItem } from \"../types\";\r\nimport { SizeGuideServices } from \"../../../services\";\r\n\r\nconst ColumnSelectSizeGuide = (\r\n {\r\n placeholder\r\n , value\r\n , onChange\r\n , ByCode = false\r\n }: any) => {\r\n\r\n const [options, setOptions] = useState();\r\n const [isLoading, setIsLoading] = useState(true);\r\n\r\n const onSelectChange = (e: any) => {\r\n\r\n if (onChange) onChange(e.value);\r\n }\r\n\r\n useEffect(() => {\r\n (async () => {\r\n\r\n if (ByCode) {\r\n try {\r\n\r\n setIsLoading(true);\r\n\r\n const getResponse = await SizeGuideServices.GetSizesGuidesRelatedCode();\r\n\r\n if (getResponse.Status === 200) {\r\n if (getResponse.Content.length) {\r\n\r\n const optionsResponse = getResponse.Content.map((element: IBaseItem) => {\r\n return {\r\n value: element.Id.toString(),\r\n name: element.Name\r\n };\r\n });\r\n\r\n setOptions(optionsResponse);\r\n }\r\n else {\r\n setOptions([]);\r\n }\r\n }\r\n else {\r\n setOptions([]);\r\n }\r\n\r\n setIsLoading(false);\r\n\r\n } catch (eByCode) {\r\n console.log('ColumnSelectSizeGuide ERROR', eByCode);\r\n\r\n setIsLoading(false);\r\n }\r\n\r\n\r\n }\r\n else {\r\n\r\n try {\r\n\r\n setIsLoading(true);\r\n\r\n const getResponse = await SizeGuideServices.GetSizesGuides();\r\n\r\n if (getResponse.Status === 200) {\r\n if (getResponse.Content.length) {\r\n const optionsResponse = getResponse.Content.map((element: IBaseItem) => {\r\n return {\r\n value: element.Id.toString(),\r\n name: element.Name\r\n };\r\n });\r\n\r\n setOptions(optionsResponse);\r\n }\r\n else {\r\n setOptions([]);\r\n }\r\n }\r\n else {\r\n setOptions([]);\r\n }\r\n\r\n setIsLoading(false);\r\n\r\n } catch (eByName) {\r\n console.log('ColumnSelectSizeGuide ERROR', eByName);\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n })();\r\n\r\n }, []);\r\n\r\n return (\r\n
\r\n {(!(isLoading)) && ( onSelectChange(e)}\r\n options={options}\r\n optionLabel=\"name\"\r\n placeholder={placeholder}\r\n className=\"w-full md:w-14rem\"\r\n style={{minWidth: \"100%\"}}\r\n />)\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default ColumnSelectSizeGuide;\r\n","import React, { useEffect } from \"react\";\r\n\r\nconst CrispChat = () => {\r\n useEffect(() => {\r\n // Create script element\r\n const script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.innerHTML = `window.$crisp=[];window.CRISP_WEBSITE_ID=\"62f30a33-35ac-4f8b-aae2-a9e7f9fa7930\";(function(){d=document;s=d.createElement(\"script\");s.src=\"https://client.crisp.chat/l.js\";s.async=1;d.getElementsByTagName(\"head\")[0].appendChild(s);})();`;\r\n // Append script to head\r\n document.head.appendChild(script);\r\n\r\n // Cleanup script when component unmounts\r\n return () => {\r\n document.head.removeChild(script);\r\n };\r\n }, []);\r\n\r\n return null; // This component doesn't render anything\r\n};\r\n\r\nexport default CrispChat;\r\n","import React from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { Health, StorageServices, UserServices } from \"../../../services\";\r\nimport {\r\n AlertWidget,\r\n MainBoxTool,\r\n SectionTitle,\r\n StatisticWidget,\r\n ModalIntro,\r\n} from \"../../common\";\r\nimport {\r\n StatisticTypeWidget,\r\n StatisticWidgetVariantValue,\r\n AlertWidgetType,\r\n E_ContractType,\r\n} from \"../../common/types\";\r\nimport \"./MainHome.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { es, en, pt } from \"../../../../lang\";\r\n\r\nexport default class MainHome extends React.Component {\r\n prevLanguage: string;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n currentUser: StorageServices.GetCookieUser(),\r\n warningsHealth: null,\r\n showModal: StorageServices.GetCookieUser().ShowOnBoard,\r\n selectedLanguage: localStorage.getItem(\"locale\") || \"en\",\r\n };\r\n\r\n this.prevLanguage = this.state.selectedLanguage;\r\n }\r\n\r\n openModal = (event: any) => {\r\n const selectedLanguage = event.currentTarget.getAttribute(\r\n \"data-selected-language\"\r\n );\r\n this.setState({ showModal: true, selectedLanguage });\r\n };\r\n\r\n closeModal = () => {\r\n let user = StorageServices.GetCookieUser();\r\n\r\n user.ShowOnBoard = false;\r\n\r\n // Save the updated user back to the cookie\r\n StorageServices.SetCookieUser(user);\r\n\r\n // Update the state\r\n this.setState({ showModal: false });\r\n };\r\n\r\n componentDidMount(): void {\r\n const locale = localStorage.getItem(\"locale\") || \"en\";\r\n const user = StorageServices.GetCookieUser();\r\n\r\n this.setState({\r\n selectedLanguage: locale,\r\n currentUser: user,\r\n warningsHealth: null,\r\n showModal: user.ShowOnBoard,\r\n contractType:\r\n user.Contract && user.Contract.Name === \"Free\"\r\n ? E_ContractType.FREE\r\n : E_ContractType.NONE,\r\n });\r\n\r\n try {\r\n Health.GetWarningsHealth().then((response: any) => {\r\n if (response.Status === 200) {\r\n this.setState({ warningsHealth: response.Content });\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n this.prevLanguage = this.state.selectedLanguage;\r\n }\r\n\r\n componentDidUpdate(): void {\r\n if (this.state.selectedLanguage !== this.prevLanguage) {\r\n this.forceUpdate();\r\n this.prevLanguage = this.state.selectedLanguage;\r\n }\r\n }\r\n\r\n handleLanguageChange = (locale: any) => {\r\n let messages;\r\n if (locale === \"es\") {\r\n messages = es;\r\n } else if (locale === \"en\") {\r\n messages = en;\r\n } else if (locale === \"pt\") {\r\n messages = pt;\r\n }\r\n localStorage.setItem(\"locale\", locale);\r\n this.props.changeLanguage(locale, messages);\r\n };\r\n\r\n contentInternalActionTools() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n // console.log('CURRENT STATE', this.state);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Access */}\r\n \r\n \r\n \r\n \r\n {this.state.currentUser.Name\r\n ? ` ${this.state.currentUser.Name}`\r\n : ` ${this.state.currentUser.split(\"@\")[0]}`}\r\n !\r\n \r\n }\r\n subtitle=\"home-subtitle\"\r\n children={this.contentInternalActionTools()}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Alerts*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* statistics */}\r\n \r\n \r\n \r\n \r\n \r\n {this.state.warningsHealth?.TotalPredictions || \"0\"}\r\n {this.state.contractType === E_ContractType.FREE && (\r\n / 500\r\n )}\r\n \r\n }\r\n valueVariant={StatisticWidgetVariantValue.REGULAR}\r\n typeWidget={StatisticTypeWidget.SUNGLASSES}\r\n helper=\"home-widget-recommended-helper\"\r\n contractType={this.state.contractType}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n Modal Intro\r\n \r\n */}\r\n {this.state.showModal && (\r\n \r\n )}\r\n \r\n {/*
*/}\r\n \r\n );\r\n }\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./Tools.css\";\r\nimport { PricingCard, TooltipDomAuth } from \"../../common\";\r\nimport { faCheckCircle } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Tag } from \"primereact/tag\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { StorageServices, ToolServices } from \"../../../services\";\r\n\r\ninterface CompanyDomains {\r\n CompanyId?: number;\r\n Domains?: any[];\r\n}\r\n\r\nconst plans = [\r\n {\r\n planId: 1,\r\n titleId: \"card1.title\",\r\n subtitleId: \"card1.subtitle\",\r\n definitionId: \"card1.definition\",\r\n items: [\r\n \"card1.item1\",\r\n \"card1.item2\",\r\n \"card1.item3\",\r\n \"card1.item4\",\r\n \"card1.item5\",\r\n ],\r\n },\r\n {\r\n planId: 2,\r\n titleId: \"card2.title\",\r\n subtitleId: \"card2.subtitle\",\r\n definitionId: \"card2.definition\",\r\n items: [\r\n \"card2.item1\",\r\n \"card2.item2\",\r\n \"card2.item3\",\r\n \"card2.item4\",\r\n \"card2.item5\",\r\n ],\r\n },\r\n {\r\n planId: 3,\r\n titleId: \"card3.title\",\r\n subtitleId: \"card3.subtitle\",\r\n definitionId: \"card3.definition\",\r\n items: [\r\n \"card3.item1\",\r\n \"card3.item2\",\r\n \"card3.item3\",\r\n \"card3.item4\",\r\n \"card3.item5\",\r\n ],\r\n },\r\n];\r\n\r\nconst Tools: React.FC = () => {\r\n const companyPlanId = StorageServices.GetCookieUser().Contract.Id || 3;\r\n const platformId = StorageServices.GetCookieUser().PlatformId;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tags, setTags] = useState([]);\r\n const [visible, setVisible] = useState(false);\r\n const [selectedTagIndex, setSelectedTagIndex] = useState(null);\r\n const [newTagIndex, setNewTagIndex] = useState(null);\r\n const [companyDomains, setCompanyDomains] = useState();\r\n\r\n const GetDomains = async () => {\r\n try {\r\n const response = await ToolServices.GetCompanyDomains();\r\n\r\n if (response && response.Status === 200) {\r\n return response.Content || {};\r\n } else {\r\n return {};\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR GetDomains\", error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n GetDomains().then((data) => {\r\n setCompanyDomains(data);\r\n\r\n if (data && data.Domains) {\r\n setTags(\r\n data.Domains.map((element: any, index: number) => {\r\n return element.Name;\r\n })\r\n );\r\n }\r\n\r\n setNewTagIndex(tags.length);\r\n });\r\n }, []);\r\n\r\n const addTag = () => {\r\n try {\r\n if (inputValue.trim() !== \"\") {\r\n const newTags = [...tags];\r\n const newCompany = { ...companyDomains };\r\n\r\n if (!newCompany.Domains) newCompany.Domains = new Array();\r\n\r\n const baseItem = {\r\n Id: 0,\r\n Name: inputValue\r\n .trim()\r\n .replace(\"http://\", \"\")\r\n .replace(\"https://\", \"\"),\r\n };\r\n\r\n newCompany.Domains.push(baseItem); // = newDomains;\r\n\r\n newTags.push(\r\n inputValue.trim().replace(\"http://\", \"\").replace(\"https://\", \"\")\r\n );\r\n\r\n setCompanyDomains(newCompany);\r\n setTags(newTags);\r\n setNewTagIndex(tags.length); // Set the index of the new tag\r\n setInputValue(\"\");\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR addTag\", error);\r\n }\r\n };\r\n\r\n const removeTag = (index: number) => {\r\n try {\r\n const newTags = tags.filter((_, i) => i !== index);\r\n const newCompany = { ...companyDomains };\r\n let newDomains: any[] =\r\n companyDomains && companyDomains.Domains\r\n ? companyDomains.Domains.filter((_, i) => i !== index)\r\n : new Array();\r\n\r\n if (!newDomains) newDomains = new Array();\r\n\r\n newCompany.Domains = newDomains;\r\n\r\n setCompanyDomains(newCompany);\r\n setTags(newTags);\r\n } catch (error) {\r\n console.log(\"ERROR removeTag\", error);\r\n }\r\n };\r\n\r\n const handleRemoveClick = (index: number) => {\r\n setSelectedTagIndex(index);\r\n setVisible(true);\r\n };\r\n\r\n const confirmRemoveTag = () => {\r\n if (selectedTagIndex !== null) {\r\n removeTag(selectedTagIndex);\r\n setSelectedTagIndex(null);\r\n }\r\n setVisible(false);\r\n };\r\n\r\n const footerContent = (\r\n
\r\n setVisible(false)}\r\n className=\"p-button-text\"\r\n />\r\n \r\n
\r\n );\r\n\r\n const onClickSaveDomains = async () => {\r\n try {\r\n const saveDomains =\r\n companyDomains && companyDomains.Domains\r\n ? companyDomains.Domains\r\n : new Array();\r\n\r\n if (saveDomains && saveDomains.length > 0) {\r\n const response = await ToolServices.UpdateCompanyDomains(saveDomains);\r\n\r\n if (response && response.Status === 200) {\r\n GetDomains().then((data) => {\r\n setCompanyDomains(data);\r\n\r\n if (data && data.Domains) {\r\n setTags(\r\n data.Domains.map((element: any, index: number) => {\r\n return element.Name;\r\n })\r\n );\r\n }\r\n\r\n setNewTagIndex(tags.length);\r\n });\r\n } else {\r\n console.log(\"ERROR onClickSaveDomains Response\", response);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR onClickSaveDomains\", error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {(platformId === 200 || platformId === 2) && (\r\n
\r\n

Nuestros Planes

\r\n
\r\n {plans.map((plan) => (\r\n \r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n

Dominios Autorizados

\r\n
\r\n

\r\n Puedes agregar otros sitios autorizados a tu cuenta.\r\n

\r\n \r\n
\r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n placeholder=\"Agregar Dominio\"\r\n className=\"tools-domain-input\"\r\n />\r\n \r\n \r\n
\r\n
\r\n {tags.map((tag, index) => (\r\n \r\n
\r\n {tag}\r\n handleRemoveClick(index)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n setVisible(false)}\r\n footer={footerContent}\r\n >\r\n

Estas seguro que queres borrar este dominio?

\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Tools;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport { useParams, useNavigate } from 'react-router-dom';\r\nimport { ProductServices } from \"../../../../services\";\r\nimport { ButtonCommon, DataTableProducts } from \"../../../common\";\r\n\r\nconst ListProducts = (props: any) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [products, setProducts] = useState([{}]);\r\n const [productSelection, setProductsSelection] = useState([]);\r\n\r\n const navigate = useNavigate();\r\n const params = useParams();\r\n\r\n // console.log('LIST PARAMS', params);\r\n\r\n async function getProductos() {\r\n\r\n try {\r\n setIsLoading(true);\r\n\r\n const getProductResponse = await ProductServices.GetProducts();\r\n\r\n if ((getProductResponse) && (getProductResponse.Status === 200)) {\r\n setProducts(getProductResponse.Content);\r\n } else {\r\n setProducts([]);\r\n }\r\n\r\n setIsLoading(false);\r\n\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n\r\n getProductos();\r\n \r\n if (props.onListProductChange) props.onListProductChange(products.length);\r\n\r\n }, [products.length, props.onListProductChange]);\r\n\r\n const onSuscribeProductsSelectionChange = (value: any) => {\r\n\r\n setProductsSelection(value);\r\n\r\n }\r\n\r\n const onSuscribeDelete = (data: any) => {\r\n try {\r\n // if ((productSelection) && (productSelection.length > 0)) {\r\n // console.log('Click Borrar', productSelection);\r\n // }\r\n // else {\r\n console.log('Click Borrar', data);\r\n // }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const onSuscribeDeleteGroup = (data: any) => {\r\n try {\r\n // if ((productSelection) && (productSelection.length > 0)) {\r\n // console.log('Click Borrar', productSelection);\r\n // }\r\n // else {\r\n console.log('Click Borrar List', data);\r\n // }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const onSuscribeEdit = (data: any) => {\r\n try {\r\n // if ((productSelection) && (productSelection.length > 0)) {\r\n // console.log('Click Editar', productSelection);\r\n // }\r\n // else {\r\n console.log('Click Editar', data);\r\n // }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n const onSuscribeAddSizeGuide = (data: any) => {\r\n console.log('Click Asociar Guía', data);\r\n }\r\n\r\n const onSuscribeDownloadData = (data: any) => {\r\n console.log('Click Download', data);\r\n }\r\n\r\n const onClickGoBack = () => {\r\n console.log('GO BACK');\r\n\r\n navigate(-1);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n onClickGoBack()} />\r\n \r\n \r\n onClickGoBack()} />\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default ListProducts;","import { useEffect, useState } from \"react\";\r\n\r\nimport { createSearchParams, useNavigate } from \"react-router-dom\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { ExcelModule } from \"../../../../misc\";\r\nimport { Health, ProductServices } from \"../../../../services\";\r\nimport { AlertWidget, DataTableProducts, MainBoxTool } from \"../../../common\";\r\nimport { AlertWidgetType } from \"../../../common/types\";\r\nimport \"./Dashboard-Products.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst DashboardProducts = (props: any) => {\r\n const [productsHealth, setProductsHealth] = useState({});\r\n const [products, setProducts] = useState([{}]);\r\n const [isLoadingProducts, setIsLoadingProducts] = useState(false);\r\n const [productSelection, setProductsSelection] = useState([]);\r\n\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n const response = await Health.GetProductsHealth();\r\n\r\n if (response.Status === 200) {\r\n setProductsHealth(response.Content);\r\n\r\n // console.log(\"RESPONSE HEALTH\", response);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n })();\r\n\r\n (async () => {\r\n try {\r\n setIsLoadingProducts(true);\r\n\r\n const response = await ProductServices.GetProducts();\r\n\r\n if (response.Status === 200) {\r\n // console.log(\"RESPONSE PRODUCTS\", response);\r\n setProducts(response.Content);\r\n }\r\n\r\n setIsLoadingProducts(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingProducts(false);\r\n }\r\n })();\r\n }, [setProducts]);\r\n\r\n const onSuscribeProductsSelectionChange = (value: any) => {\r\n // console.log('Dashboard-Products onSuscribeProductsSelectionChange', value);\r\n\r\n setProductsSelection(value);\r\n };\r\n\r\n const onSuscribeDelete = (data: any) => {\r\n try {\r\n // if ((productSelection) && (productSelection.length > 0)) {\r\n // console.log('Click Borrar', productSelection);\r\n // }\r\n // else {\r\n console.log(\"Click Borrar\", data);\r\n // }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSuscribeDeleteGroup = (data: any) => {\r\n try {\r\n // if ((productSelection) && (productSelection.length > 0)) {\r\n // console.log('Click Borrar', productSelection);\r\n // }\r\n // else {\r\n console.log(\"Click Borrar List\", data);\r\n // }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSuscribeEdit = (data: any) => {\r\n try {\r\n navigate(\r\n {\r\n pathname: `edit/${data.Id}`,\r\n // search: createSearchParams({\r\n // clothesType: clothesTypeSelect.toString(),\r\n // gender: genderSelect.toString(),\r\n // isUnique: uniqueSelect.toString(),\r\n // }).toString(),\r\n },\r\n { state: data }\r\n );\r\n // if ((productSelection) && (productSelection.length > 0)) {\r\n // console.log('Click Editar', productSelection);\r\n // }\r\n // else {\r\n\r\n console.log(\"Click Editar\", data);\r\n // }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSuscribeAddSizeGuide = (data: any) => {\r\n console.log(\"Click Asociar Guía\", data);\r\n };\r\n\r\n const onSuscribeDownloadData = (data: any) => {\r\n const exportData: any[] = data && data.length > 0 ? data : products;\r\n\r\n try {\r\n // console.log('Click Download', exportData);\r\n\r\n if (exportData) {\r\n let ExportElements: any[] = new Array();\r\n\r\n [].forEach.call(exportData, (elemento: any, indice: number) => {\r\n ExportElements.push({\r\n Modelo: elemento.Code,\r\n SKUs: elemento.VariantsId ? elemento.VariantsId.join(\", \") : \"\",\r\n Descripcion: elemento.Description,\r\n Posicion: elemento.BodyArea ? elemento.BodyArea.Name : \"\",\r\n Genero: elemento.Gender ? elemento.Gender.Name : \"\",\r\n Fit: elemento.FitType ? elemento.FitType.Name : \"\",\r\n Talles: elemento.Sizes\r\n ? elemento.Sizes.map((element: any) => element.Name).join(\", \")\r\n : \"\",\r\n Categorias: elemento.PlatformCategory\r\n ? elemento.PlatformCategory.map(\r\n (element: any) => element.Name\r\n ).join(\", \")\r\n : \"\",\r\n Guia: elemento.SizeGuide ? elemento.SizeGuide.Name : \"\",\r\n });\r\n });\r\n\r\n if (ExportElements && ExportElements.length > 0) {\r\n ExcelModule.ExportTo(\r\n ExportElements,\r\n \"Productos\",\r\n \"Fitprenda_Productos\"\r\n );\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n // console.log('Click Download', data);\r\n };\r\n\r\n const contentInternalMainBox = () => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n

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

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

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

\r\n \r\n

\r\n

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

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

\r\n \r\n

\r\n

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

\r\n \r\n
\r\n \r\n \r\n );\r\n };\r\n\r\n /* DIVS DEL MEDIO DE PRODUCTOS */\r\n\r\n return (\r\n <>\r\n {/* Access */}\r\n \r\n \r\n \r\n }\r\n subtitle=\"dashboard-mainboxtool-subtitle\"\r\n children={contentInternalMainBox()}\r\n />\r\n \r\n \r\n\r\n {/* Alerts */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Products */}\r\n {/*handlerSelectionRow={onSuscribeProductsSelectionChange}*/}\r\n {/*handlerDelete={onSuscribeDelete}*/}\r\n {/*handlerEdit={onSuscribeEdit}*/}\r\n {/*handlerDeleteGroup={onSuscribeDeleteGroup}*/}\r\n {/*handlerAddSizeGuideGroup={onSuscribeAddSizeGuide}*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

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

\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DashboardProducts;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { useParams, useNavigate } from \"react-router-dom\";\r\nimport { ProductServices } from \"../../../../services\";\r\nimport { ButtonCommon, DataTableProducts } from \"../../../common\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst ListProductsWithOutSizeGuide = (props: any) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [products, setProducts] = useState([{}]);\r\n const [productSelection, setProductsSelection] = useState([]);\r\n\r\n const navigate = useNavigate();\r\n const params = useParams();\r\n\r\n // console.log('LIST WSG PARAMS', params);\r\n\r\n async function getProductos() {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getProductResponse =\r\n await ProductServices.GetProductsWithoutSizeGuide();\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n setProducts(getProductResponse.Content);\r\n } else {\r\n setProducts([]);\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getProductos();\r\n\r\n if (props.onListProductChange) props.onListProductChange(products.length);\r\n }, []);\r\n\r\n const onSuscribeProductsSelectionChange = (value: any) => {\r\n setProductsSelection(value);\r\n };\r\n\r\n const onSuscribeEdit = (data: any) => {\r\n try {\r\n if (productSelection && productSelection.length > 0) {\r\n console.log(\"Click Editar\", productSelection);\r\n } else {\r\n console.log(\"Click Editar\", data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSuscribeAddSizeGuide = (data: any) => {\r\n console.log(\"Click Asociar Guía\", data);\r\n };\r\n\r\n const onSuscribeDownloadData = (data: any) => {\r\n console.log(\"Click Download\", data);\r\n };\r\n\r\n const onClickGoBack = () => {\r\n navigate(-1);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickGoBack()}\r\n />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ListProductsWithOutSizeGuide;\r\n","import { useState, useEffect } from \"react\";\r\nimport { useParams, useNavigate } from \"react-router-dom\";\r\nimport { Col, Form, Row, Button } from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport {\r\n ButtonCommon,\r\n DataTableProducts,\r\n SuggestionWidget,\r\n InputSearch,\r\n NotFoundTable,\r\n DropdownButton,\r\n BadgeFitprenda,\r\n ModalCommon,\r\n} from \"../../../common\";\r\nimport \"./List-ProdcutsNotFound.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst ListProductsNotFound = (props: any) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [products, setProducts] = useState([{}]);\r\n const [productSelection, setProductsSelection] = useState([]);\r\n const [showModal, setShowModal] = useState(false);\r\n const [genderSelect, setGenderSelect] = useState(0);\r\n const [uniqueSelect, setUniqueSelect] = useState(false);\r\n const [clothesType, setClothesType] = useState(0);\r\n const [clothesTypeSelect, setClothesTypeSelect] = useState(0);\r\n const [hiddenTitle, setHiddenaTitle] = useState(false);\r\n const [hiddenActions, setHiddenaActions] = useState(false);\r\n const [modalStep, setModalStep] = useState(1);\r\n\r\n const navigate = useNavigate();\r\n const params = useParams();\r\n\r\n console.log(\"LIST NOT FOUND PARAMS\", params);\r\n\r\n async function getProductos() {\r\n try {\r\n setIsLoading(true);\r\n\r\n // const getProductResponse = await ProductServices.GetProducts();\r\n\r\n // if ((getProductResponse) && (getProductResponse.Status === 200)) {\r\n // setProducts(getProductResponse.Content);\r\n // } else {\r\n // setProducts([]);\r\n // }\r\n\r\n //setProducts([\r\n // {\r\n // Code: (\r\n //

\r\n // AAA11254 \r\n //

\r\n // ),\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11255\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11256\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11257\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11258\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11259\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11260\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11261\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11262\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11263\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11264\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11265\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11266\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11267\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11268\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11269\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11270\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n // {\r\n // Code: \"AAA11257\",\r\n // Alias: ,\r\n // Description: \"\",\r\n // Position: \"\",\r\n // Genre: \"\",\r\n // Fit: \"\",\r\n // Sizes: \"\",\r\n // Category: \"\",\r\n // SizeGuide: \"\",\r\n // },\r\n //]);\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n // const refreshCountProducts = () => {\r\n // if (props.onListProductChange) props.onListProductChange(products.length);\r\n // }\r\n\r\n useEffect(() => {\r\n getProductos();\r\n\r\n if (props.onListProductChange) props.onListProductChange(products.length);\r\n }, [products.length]);\r\n\r\n const onSuscribeProductsSelectionChange = (value: any) => {\r\n setProductsSelection(value);\r\n };\r\n\r\n const onClickGoBack = () => {\r\n navigate(-1);\r\n };\r\n\r\n const ModalContent = () => {\r\n return (\r\n
\r\n {/* : mostrar estado 2 (modal parte 2) */}\r\n {modalStep === 1 ? (\r\n <>\r\n
\r\n

\r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n \r\n {\" \"}\r\n \r\n

\r\n

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

\r\n

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

\r\n

\r\n \r\n \r\n {\" \"}\r\n \r\n

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

\r\n \r\n

\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const onHideModal = () => {\r\n setShowModal(false);\r\n };\r\n\r\n const onOkModal = () => {\r\n setHiddenaTitle(true);\r\n setHiddenaActions(true);\r\n setModalStep(2);\r\n };\r\n\r\n const onInitSizeGuideTemplate = (idType: number) => {\r\n setClothesType(idType);\r\n setClothesTypeSelect(idType);\r\n setGenderSelect(2);\r\n setUniqueSelect(false);\r\n setShowModal(true);\r\n };\r\n\r\n const onShowModal = () => {\r\n setModalStep(1);\r\n setShowModal(true);\r\n setHiddenaTitle(false);\r\n setHiddenaActions(false);\r\n };\r\n\r\n const contentInternalMainBox = () => {\r\n return (\r\n onInitSizeGuideTemplate(1)}\r\n >\r\n Asociar Sugerencia\r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n title={\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n }\r\n title={\r\n \r\n }\r\n\r\n // title=\"Otra forma de resolverlo\"\r\n // description=\"Desde tu página de ecommerce, debes ocultar el botón de ReadySize en los productos No reconocidos.\r\n\r\n // Te explicamos cómo hacerlo en la documentación (link).\"\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n }\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n {/* Size Guides */}\r\n {/* Modal Template */}\r\n \r\n
\r\n\r\n {/* \r\n \r\n */}\r\n\r\n {/* \r\n \r\n onClickGoBack()}\r\n />\r\n */}\r\n {/* \r\n \r\n */}\r\n {/* */}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ListProductsNotFound;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { useParams, useNavigate } from \"react-router-dom\";\r\nimport { ProductServices } from \"../../../../services\";\r\nimport { ButtonCommon, DataTableProducts } from \"../../../common\";\r\nimport \"./List-ProductsWithoutActivity.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst ListProductsWithoutActivity = (props: any) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [products, setProducts] = useState([{}]);\r\n const [productSelection, setProductsSelection] = useState([]);\r\n\r\n const navigate = useNavigate();\r\n const params = useParams();\r\n\r\n // console.log('LIST PARAMS', params);\r\n\r\n async function getProductos() {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getProductResponse =\r\n await ProductServices.GetProductsWithoutActivity();\r\n\r\n // if (getProductResponse && getProductResponse.Status === 200) {\r\n // setProducts(getProductResponse.Content);\r\n // } else {\r\n // setProducts([]);\r\n // }\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n setProducts(getProductResponse.Content);\r\n\r\n if (props.onListProductChange)\r\n props.onListProductChange(getProductResponse.Content.length);\r\n } else {\r\n setProducts([]);\r\n\r\n if (props.onListProductChange) props.onListProductChange(0);\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getProductos();\r\n\r\n // if (props.onListProductChange) props.onListProductChange(products.length);\r\n }, []);\r\n\r\n const onSuscribeProductsSelectionChange = (value: any) => {\r\n setProductsSelection(value);\r\n };\r\n\r\n const onSuscribeDelete = (data: any) => {\r\n console.log(\"Click Borrar\", data);\r\n };\r\n\r\n const onSuscribeDeleteGroup = (data: any) => {\r\n console.log(\"Click Borrar List\", data);\r\n };\r\n\r\n const onSuscribeDownloadData = (data: any) => {\r\n console.log(\"Click Download\", data);\r\n };\r\n\r\n const onClickGoBack = () => {\r\n navigate(-1);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickGoBack()}\r\n />\r\n \r\n {/* \r\n \r\n */}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ListProductsWithoutActivity;\r\n","// import React from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport { useState, ReactNode } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\n// import SuggestionWidget from \"../../../common/components/SuggestionWidget\";\r\n// import BlockContentControls from \"../components/BlockContentControls\";\r\n// import ButtonCommon from \"../../../common/components/ButtonCommon\";\r\n// import ProductsForm from \"../../../common/components/ProductsForm\";\r\nimport {\r\n SuggestionWidget,\r\n BlockContentControls,\r\n ModalCommon,\r\n ButtonCommon,\r\n ProductsForm,\r\n} from \"../../../common\";\r\nimport { IProduct } from \"../../../common/types\";\r\nimport \"./ProductRegistration.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst ProductRegistration = (props: any) => {\r\n const [hiddenTitle, setHiddenaTitle] = useState(true);\r\n const [hiddenActions, setHiddenaActions] = useState(true);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalStep, setModalStep] = useState(1);\r\n\r\n const navigate = useNavigate();\r\n\r\n const [formProducts, setFormProducts] = useState([]);\r\n\r\n const onShowModal = () => {\r\n setShowModal(true);\r\n };\r\n\r\n const onHideModal = () => {\r\n setShowModal(false);\r\n };\r\n\r\n const onOkModal = () => {\r\n setModalStep(2);\r\n };\r\n\r\n const ModalContent = () => {\r\n return (\r\n
\r\n
\r\n \r\n

\r\n \r\n

\r\n
\r\n
\r\n );\r\n };\r\n\r\n const onClickCancelar = () => {\r\n // console.log('CANCELAR PRODUCTOS');\r\n navigate(-1);\r\n };\r\n\r\n const handlerChangeForm = (Elements: IProduct[]) => {\r\n // FormSize = Elements;\r\n\r\n console.log(\"HANDLER CHANGE FORM\", Elements);\r\n\r\n setFormProducts(Elements);\r\n\r\n // setCounterChangeSize(counterChangeSizes + 1);\r\n };\r\n\r\n const getProducts = (FormProducts: IProduct[] | []) => {\r\n let aProducts: IProduct[] = new Array();\r\n let newProduct: IProduct;\r\n\r\n try {\r\n if (FormProducts && FormProducts.length > 0) {\r\n aProducts = [...formProducts];\r\n } else {\r\n newProduct = {\r\n Id: 1,\r\n Name: \"\",\r\n Code: \"\",\r\n Variants: new Array(),\r\n BodyArea: { Id: 4, Name: \"\" },\r\n Gender: { Id: 3, Name: \"\" },\r\n Fit: { Id: 1, Name: \"\" },\r\n Categories: new Array(),\r\n SizeGuide: null,\r\n Sizes: null,\r\n PositionRow: 0,\r\n };\r\n\r\n aProducts.push(newProduct);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n return aProducts;\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n description={\r\n Modelo es obligatorio y debe coincidir con el que utilizan en la página de e-commerce. \\n\\n Si no cuentas con códigos de modelo, debes crearlo.\"\r\n values={{\r\n b: (...chunks: ReactNode[]) => {chunks},\r\n br:
,\r\n }}\r\n />\r\n }\r\n />\r\n \r\n \r\n \r\n }\r\n description={\r\n primeras cifras de los SKUs (como se muestra en el ejemplo.) Luego, cuando asocies una guía de talle al Modelo, se asignará a todos los SKUS automáticamente\"\r\n values={{\r\n b: (...chunks: ReactNode[]) => {chunks},\r\n br:
,\r\n }}\r\n />\r\n }\r\n />\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n handlerChangeForm(e)}\r\n />\r\n }\r\n />\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={onClickCancelar}\r\n />\r\n \r\n \r\n \r\n }\r\n isOutline={false}\r\n eventClick={onShowModal}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ProductRegistration;\r\n","import React, { useEffect, useState, ReactNode, useRef } from \"react\";\r\nimport { useLocation, useNavigate } from \"react-router-dom\";\r\nimport SuggestionWidget from \"../../../common/components/SuggestionWidget\";\r\nimport ButtonCommon from \"../../../common/components/ButtonCommon\";\r\nimport InputTextForm from \"../../../common/components-forms/InputTextForm\";\r\nimport SelectGenders from \"../../../common/components-forms/SelectGenders\";\r\nimport SelectBodyArea from \"../../../common/components-forms/SelectBodyArea\";\r\nimport SelectFitType from \"../../../common/components-forms/SelectFitType\";\r\nimport SelectDropdownForm from \"../../../common/components-forms/SelectDropdownForm\";\r\nimport MultiselectDropdownForm from \"../../../common/components-forms/MultiselectDropdownForm\";\r\nimport ChipsControl from \"../../../common/components/ChipsControl\";\r\nimport { SizeGuideServices } from \"../../../../services\";\r\n\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./ProductEdit.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport TooltipAlias from \"../../../common/components/TooltipAlias\";\r\nimport BlockContentControls from \"../../../common/components/BlockContentControls\";\r\nimport { Tag } from \"primereact/tag\";\r\n\r\nconst ProductEdit = (props: any) => {\r\n const { state } = useLocation();\r\n const [editedData, setEditedData] = useState(state);\r\n const [editedSizeGuideName, setEditedSizeGuideName] = useState(\r\n state.SizeGuide.Name || \"\"\r\n );\r\n const [editedPlatformCategoryName, setEditedPlatformCategoryName] =\r\n useState(\"\");\r\n // state.PlatformCategory[0].Name || \"\"\r\n const [editedVariantsId, setEditedVariantsId] = useState(\r\n state.VariantsId ? state.VariantsId[0] : null\r\n );\r\n const [SizeGuides, setSizeGuides] = useState();\r\n const [isLoadingSizeGuides, setIsLoadingSizeGuides] = useState(true);\r\n const [selectedSizes, setSelectedSizes] = useState([]);\r\n const [SizesGuideSelect, setSizesGuideSelect] = useState([]);\r\n const [selectedSizesNames, setSelectedSizesNames] = useState([]);\r\n const [selectedChips, setSelectedChips] = useState([]); // Lift the state to the parent component\r\n const [SizeGuideSelected, setSizeGuideSelected] = useState(null);\r\n const [productReferenceCode, setProductReferenceCode] = useState(\r\n state.ProductReference ? state.ProductReference : \"\"\r\n );\r\n const [otherReference, setOtherReference] = useState(\r\n state.OtherReference && state.OtherReference.length > 0\r\n ? state.OtherReference\r\n : new Array()\r\n );\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [isClicked, setIsClicked] = useState(false);\r\n const divRef = useRef(null);\r\n\r\n const handleClick = () => {\r\n setIsClicked(true);\r\n };\r\n\r\n const handleDocumentClick = (event: MouseEvent) => {\r\n if (divRef.current && !divRef.current.contains(event.target as Node)) {\r\n setIsClicked(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleDocumentClick);\r\n return () => {\r\n document.removeEventListener(\"click\", handleDocumentClick);\r\n };\r\n }, []);\r\n\r\n const handleInputsChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n setInputValue(value);\r\n };\r\n\r\n const handlePaste = (event: React.ClipboardEvent) => {\r\n const clipboardData = event.clipboardData;\r\n if (clipboardData) {\r\n const aliasReference = [...otherReference];\r\n\r\n const pastedText = clipboardData.getData(\"text/plain\");\r\n\r\n let updatedData = pastedText; // Concatenate new data with existing data\r\n\r\n let elementsCopied = updatedData.split(\"\\r\\n\");\r\n\r\n // Remove the last element if it's empty\r\n if (\r\n elementsCopied.length > 0 &&\r\n elementsCopied[elementsCopied.length - 1] === \"\"\r\n ) {\r\n elementsCopied.pop();\r\n }\r\n\r\n elementsCopied = elementsCopied.filter(Boolean); // Remove any empty elements\r\n\r\n elementsCopied.forEach((element) => {\r\n if (element.split(\"\\t\").length) {\r\n element.split(\"\\t\").forEach((item) => {\r\n if (item.split(\",\").length) {\r\n item.split(\",\").forEach((itemComma) => {\r\n if (itemComma) aliasReference.push(itemComma);\r\n });\r\n } else {\r\n if (item) aliasReference.push(item);\r\n }\r\n });\r\n } else {\r\n if (element) aliasReference.push(element);\r\n }\r\n });\r\n\r\n setOtherReference(aliasReference);\r\n\r\n // Reset the input after pasting\r\n setInputValue(\"\"); // Set the input value to blank\r\n }\r\n };\r\n\r\n const renderInputs = () => {\r\n if (!otherReference) return null;\r\n\r\n // Split the pasted data into individual items\r\n let items = otherReference;\r\n\r\n // Filter items based on the inputValue\r\n let filteredItems = items.filter((item) =>\r\n item.toLowerCase().includes(inputValue.toLowerCase())\r\n );\r\n\r\n // Render a Tag for each filtered item\r\n return (\r\n
\r\n {filteredItems.map((item, index) => (\r\n
\r\n \r\n
\r\n {item}\r\n handleTagDelete(index)}\r\n >\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const handleTagDelete = (indexToDelete: any) => {\r\n // Get a copy of the current items array\r\n let newItems = [...otherReference];\r\n\r\n // Remove the item at the specified index\r\n newItems.splice(indexToDelete, 1);\r\n\r\n // Update the state with the new data\r\n setOtherReference(newItems);\r\n };\r\n\r\n const intl = useIntl();\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n setIsLoadingSizeGuides(true);\r\n\r\n const getSizeGuides = await SizeGuideServices.GetSizesGuides();\r\n\r\n if (getSizeGuides && getSizeGuides.Status === 200) {\r\n setSizeGuides(getSizeGuides.Content);\r\n } else {\r\n setSizeGuides([]);\r\n }\r\n\r\n setIsLoadingSizeGuides(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingSizeGuides(false);\r\n }\r\n })();\r\n }, []);\r\n\r\n const navigate = useNavigate();\r\n\r\n // async function getSizeGuides() {\r\n // try {\r\n // setIsLoadingSizeGuides(true);\r\n\r\n // const getSizeGuides = await SizeGuideServices.GetSizesGuides();\r\n\r\n // if (getSizeGuides && getSizeGuides.Status === 200) {\r\n // setSizeGuides(getSizeGuides.Content);\r\n // } else {\r\n // setSizeGuides([]);\r\n // }\r\n\r\n // setIsLoadingSizeGuides(false);\r\n // } catch (error) {\r\n // console.log(error);\r\n\r\n // setIsLoadingSizeGuides(false);\r\n // }\r\n // }\r\n\r\n const onSizesChange = (value: any) => {\r\n try {\r\n setSelectedChips(value ? value : []);\r\n const selectedOptions = value\r\n ? [].map.call(value, (elemento: any) => {\r\n return { Id: elemento.code, Name: elemento.name };\r\n })\r\n : [];\r\n setSelectedSizes(selectedOptions);\r\n setSelectedSizesNames(\r\n selectedOptions.map((elemento: any) => elemento.Name)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSizeGuideChange = (value: any) => {\r\n try {\r\n const guideSelect = SizeGuides?.find((guide: any) => {\r\n return guide.Id === parseInt(value);\r\n });\r\n\r\n if (guideSelect) {\r\n // setSizeGuideSelected(guideSelect);\r\n // setSizeGuideType(guideSelect.TypeSizeGuide);\r\n // setSizeGuideGender(guideSelect.Gender);\r\n\r\n setSizesGuideSelect(\r\n guideSelect.Sizes.map((element: any) => {\r\n return {\r\n name: element.Name,\r\n code: element.Id,\r\n };\r\n })\r\n );\r\n } else {\r\n // setSizeGuideSelected(null);\r\n // setSizeGuideType(null);\r\n // setSizeGuideGender(null);\r\n setSizesGuideSelect([]);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handlePlatformCategoryNameChange = (\r\n e: React.ChangeEvent\r\n ) => {\r\n if (e && e.target) {\r\n setEditedPlatformCategoryName(e.target.value);\r\n } else {\r\n console.log(\"Event or target is undefined\");\r\n }\r\n };\r\n\r\n const handleSizeGuideNameChange = (e: any) => {\r\n setEditedSizeGuideName(e.target.value);\r\n };\r\n\r\n const handleInputChange = (e: any) => {\r\n console.log(\"error\", e);\r\n const { name, value } = e;\r\n setEditedData({\r\n ...editedData,\r\n [name]: value,\r\n });\r\n };\r\n\r\n const onClickCancelar = () => {\r\n navigate(-1);\r\n };\r\n\r\n const handleVariantsIdChange = (e: any) => {\r\n setEditedVariantsId(e.target.value);\r\n };\r\n\r\n const renderCodeInput = () => {\r\n return (\r\n
\r\n \r\n handleInputChange({ value: value, name: \"Code\" })\r\n }\r\n />\r\n\r\n {/* \r\n */}\r\n
\r\n );\r\n };\r\n\r\n const contentAlias = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n {renderInputs()}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderVariantsIdInput = () => {\r\n return (\r\n
\r\n {/* */}\r\n {/* */}\r\n {/* \r\n */}\r\n
\r\n );\r\n };\r\n\r\n const renderDescriptionInput = () => {\r\n return (\r\n
\r\n handleInputChange(value)}\r\n />\r\n {/* \r\n */}\r\n
\r\n );\r\n };\r\n\r\n const renderBodyAreaInputs = () => {\r\n return (\r\n
\r\n \r\n // onProductBodyAreaChange(indice, e, elemento)\r\n // }\r\n />\r\n {/* \r\n \r\n \r\n \r\n */}\r\n
\r\n );\r\n };\r\n\r\n const renderGenderInputs = () => {\r\n return (\r\n
\r\n \r\n // onProductGenderChange(indice, e, elemento)\r\n // }\r\n />\r\n {/* \r\n \r\n \r\n \r\n */}\r\n
\r\n );\r\n };\r\n\r\n const renderTalles = () => {\r\n return (\r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n );\r\n };\r\n\r\n const renderFitTypeInput = () => {\r\n return (\r\n
\r\n onProductFitChange(indice, e, elemento)}\r\n />\r\n {/* \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n );\r\n };\r\n\r\n // const renderPlatformCategoryNameInput = () => {\r\n // return (\r\n //
\r\n // \r\n //
\r\n // );\r\n // };\r\n\r\n const renderSizeGuideNameInput = () => {\r\n return (\r\n
\r\n \r\n {/* */}\r\n {/* \r\n */}\r\n
\r\n );\r\n };\r\n\r\n // Render more functions for other nested properties as needed\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n }\r\n description={\r\n Modelo es obligatorio y debe coincidir con el que utilizan en la página de e-commerce. \\n\\n Si no cuentas con códigos de modelo, debes crearlo.\"\r\n values={{\r\n b: (...chunks: ReactNode[]) => {chunks},\r\n br:
,\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n
\r\n \r\n }\r\n description={\r\n primeras cifras de los SKUs (como se muestra en el ejemplo.) Luego, cuando asocies una guía de talle al Modelo, se asignará a todos los SKUS automáticamente\"\r\n values={{\r\n b: (...chunks: ReactNode[]) => {chunks},\r\n br:
,\r\n }}\r\n />\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {renderCodeInput()}\r\n
\r\n
\r\n {renderDescriptionInput()}\r\n
\r\n
\r\n {renderGenderInputs()}\r\n {renderBodyAreaInputs()}\r\n
\r\n
\r\n {renderSizeGuideNameInput()}\r\n {renderTalles()}\r\n
\r\n
{renderFitTypeInput()}
\r\n {/* {renderVariantsIdInput()} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n \r\n

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

\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n

\r\n \r\n {/* */}\r\n \r\n
\r\n \r\n {/* Componente de Talles Contornos y alto total */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickCancelar()}\r\n className=\"edit-size-guide-button\"\r\n />\r\n \r\n \r\n \r\n }\r\n isOutline={false}\r\n // eventClick={() => onClickSave()}\r\n />\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProductEdit;\r\n","import { useState } from \"react\";\r\n// import { Row, Col } from \"react-bootstrap\";\r\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Outlet, Routes, Route, useParams } from \"react-router-dom\";\r\nimport ListProducts from \"../components/List/List-Products\";\r\nimport DashboardProducts from \"../components/dashboard/Dashboard-Products\";\r\nimport { MainSectionTitle } from \"../../common\";\r\nimport ListProductsWithOutSizeGuide from \"../components/List/ListProductWithoutSizeGuide\";\r\nimport ListProductsNotFound from \"../components/List/List-ProdcutsNotFound\";\r\nimport ListProductsWithoutActivity from \"../components/List/List-ProductsWithoutActivity\";\r\nimport ProductRegistration from \"../components/crud/ProductRegistration\";\r\nimport ProductEdit from \"../components/crud/ProductEdit\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst MainProducts = (props: any) => {\r\n // const [showMenu, SetShowMenu] = useState(false);\r\n const [productsLength, setProductsLength] = useState(0);\r\n // const location = useLocation();\r\n // const navigate = useNavigate();\r\n const params = useParams();\r\n\r\n // console.log('Location', location);\r\n // console.log('Params', params);\r\n // console.log('Params[\"*\"]', params['*']);\r\n // console.log('Navigate', navigate);\r\n\r\n const mainSectionContent = () => {\r\n const title =\r\n params[\"*\"] === \"\" ? (\r\n \r\n ) : params[\"*\"] === \"list\" ? (\r\n \r\n ) : params[\"*\"] === \"list-wsg\" ? (\r\n \r\n ) : params[\"*\"] === \"list-nf\" ? (\r\n \r\n ) : params[\"*\"] === \"list-inactive\" ? (\r\n \r\n ) : params[\"*\"] === \"create\" ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n // const mainSectionContent = () => {\r\n // const title =\r\n // params[\"*\"] === \"\"\r\n // ? \"Productos\"\r\n // : params[\"*\"] === \"list\"\r\n // ? \"Productos\"\r\n // : params[\"*\"] === \"list-wsg\"\r\n // ? \"Productos activos sin guía\"\r\n // : params[\"*\"] === \"list-nf\"\r\n // ? \"Productos no reconocidos\"\r\n // : params[\"*\"] === \"list-inactive\"\r\n // ? \"Productos sin actividad\"\r\n // : params[\"*\"] === \"create\"\r\n // ? \"Alta de productos\"\r\n // : \"Editar Productos\";\r\n\r\n const subtitle =\r\n params[\"*\"] === \"list-wsg\" ? (\r\n \r\n ) : params[\"*\"] === \"list-nf\" ? (\r\n \r\n ) : params[\"*\"] === \"list-inactive\" ? (\r\n \r\n ) : params[\"*\"] === \"create\" ? (\r\n \r\n ) : params[\"*\"] === \"edit\" ? (\r\n Sugerencia: conviene tener la guía de talles generada antes de editar los productos.\"\r\n />\r\n ) : (\r\n \"\"\r\n );\r\n\r\n // const subtitle =\r\n // params[\"*\"] === \"list-wsg\"\r\n // ? \"Revisa el siguiente listado y corrige los datos faltantes. ReadySize no puede hacer recomendaciones de talles en productos sin una guía asociada.\"\r\n // : params[\"*\"] === \"list-nf\"\r\n // ? \"Revisa el siguiente listado y corrige los datos faltantes. ReadySize no puede hacer recomendaciones de codificaciones no registradas.\"\r\n // : /* Son los productos que tienes cargados en tu página web, pero no están dados de alta en Fitprenda.\r\n // Suelen ser productos accesorios, por ejemplo: guantes, sombreros, cinturones, etc. que no son compatibles con Fitprenda. */\r\n // params[\"*\"] === \"list-inactive\"\r\n // ? \"Los siguientes productos no fueron vistos en tu tienda online por más de 2 meses. ReadySize eliminará automáticamente los datos de productos sin uso luego de 3 meses.\"\r\n // : params[\"*\"] === \"create\"\r\n // ? \"Los siguientes productos no fueron vistos en tu tienda online por más de 2 meses. ReadySize eliminará automáticamente los datos de productos sin uso luego de 3 meses.\"\r\n // : \"En Esta sección vas a poder editar tus productos. Sugerencia: conviene tener la guías de talles generada antes de editar los productos\"; /* En Esta sección vas a poder cargar y actualizar tus productos. Sugerencia: conviene tener la guías de talles generada antes de cargar los productos. */\r\n\r\n const variantBadge =\r\n params[\"*\"] === \"list-wsg\"\r\n ? \"danger\"\r\n : params[\"*\"] === \"list-nf\"\r\n ? \"danger\"\r\n : params[\"*\"] === \"list-inactive\"\r\n ? \"danger\"\r\n : params[\"*\"] === \"list\"\r\n ? \"success\"\r\n : \"\";\r\n\r\n return {\r\n title: title,\r\n subtitle: subtitle,\r\n badgeValue: productsLength,\r\n badgeVariant: variantBadge,\r\n };\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n } />\r\n setProductsLength(value)}\r\n />\r\n }\r\n />\r\n setProductsLength(value)}\r\n />\r\n }\r\n />\r\n setProductsLength(value)}\r\n />\r\n }\r\n />\r\n setProductsLength(value)}\r\n />\r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n } />\r\n {/* } />\r\n } />\r\n } />\r\n } /> */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MainProducts;\r\n","import { useNavigate, useLocation } from \"react-router-dom\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Row, Form } from \"react-bootstrap\";\r\nimport {\r\n BlockContentControls,\r\n ButtonCommon,\r\n ChipsControl,\r\n InputText,\r\n InputTextForm,\r\n ModalActionMessage,\r\n SelectGender,\r\n SelectSizeGuideType,\r\n SizesForm,\r\n SuggestionWidget,\r\n} from \"../../../common\";\r\nimport {\r\n ISizeModel,\r\n IBodyPart,\r\n ISizeModelMeasure,\r\n ISizeGuide,\r\n E_ClothesType,\r\n E_GenderType,\r\n E_BodyPart,\r\n ISizeGuideCup,\r\n} from \"../../../common/types\";\r\nimport { SizeGuideServices } from \"../../../../services\";\r\nimport \"./EditSizeGuide.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport { Tag } from \"primereact/tag\";\r\nimport { Tools } from \"../../../../misc\";\r\n// import Tooltip from \"../../../common/components/ToolTip\";\r\nimport TooltipAlias from \"../../../common/components/TooltipAlias\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\n\r\nconst EditSizeGuide = (props: any) => {\r\n // const [searchParams, setSearchParams] = useSearchParams();\r\n const navigate = useNavigate();\r\n const { state } = useLocation();\r\n const [showModal, setShowModal] = useState(false);\r\n \r\n const intl = useIntl();\r\n\r\n if (Tools.IsDevelopment()) console.log(\"STATE HOOK\", state);\r\n\r\n const clothesType = parseInt(state.TypeSizeGuide.Id);\r\n const [clothesTypeSelect, setClothesTypeSelect] = useState(\r\n parseInt(state.TypeSizeGuide.Id)\r\n );\r\n\r\n const gender = parseInt(state.Gender.Id);\r\n const [genreSelect, setGenreSelect] = useState(parseInt(state.Gender.Id));\r\n\r\n const unique = state.IsUnique;\r\n const [uniqueSelect, setUniqueSelect] = useState(state.IsUnique);\r\n\r\n const [cupSelect, setCupSelect] = useState(\r\n state.Cups\r\n ? state.Cups.map((value: any) => {\r\n return value.Name;\r\n })\r\n : []\r\n );\r\n\r\n const [sizeGuideName, setSizeGuideName] = useState(state.Name);\r\n const [enabledChecked, setEnabledChecked] = useState(state.Enabled || true);\r\n\r\n const [formSizes, setFormSizes] = useState(state.Sizes);\r\n const [cupsSizes, setCupsSize] = useState(\r\n state.Cups ? state.Cups : new Array()\r\n );\r\n\r\n const [createProductGuideSelected, setCreateProductGuide] = useState(\r\n state.ProductReference ? true : false\r\n );\r\n const [\r\n productReferenceCodeDefaultValue,\r\n setProductReferenceCodeDefaultValue,\r\n ] = useState(state.ProductReference ? state.ProductReference : \"\");\r\n const [productReferenceCode, setProductReferenceCode] = useState(\r\n state.ProductReference ? state.ProductReference : \"\"\r\n );\r\n const [otherReference, setOtherReference] = useState(\r\n state.OtherReference && state.OtherReference.length > 0\r\n ? state.OtherReference\r\n : new Array()\r\n );\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [isClicked, setIsClicked] = useState(false);\r\n const divRef = useRef(null);\r\n\r\n const handleClick = () => {\r\n setIsClicked(true);\r\n };\r\n\r\n const handleDocumentClick = (event: MouseEvent) => {\r\n if (divRef.current && !divRef.current.contains(event.target as Node)) {\r\n setIsClicked(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleDocumentClick);\r\n return () => {\r\n document.removeEventListener(\"click\", handleDocumentClick);\r\n };\r\n }, []);\r\n\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n setInputValue(value);\r\n };\r\n\r\n const handleEnabledChange = (e: any) => {\r\n if ((Tools.CanCreateSizeGuide()) || (state.Enabled)) setEnabledChecked(e.value);\r\n };\r\n\r\n const handlePaste = (event: React.ClipboardEvent) => {\r\n const clipboardData = event.clipboardData;\r\n if (clipboardData) {\r\n const aliasReference = [...otherReference];\r\n\r\n const pastedText = clipboardData.getData(\"text/plain\");\r\n\r\n let updatedData = pastedText; // Concatenate new data with existing data\r\n\r\n let elementsCopied = updatedData.split(\"\\r\\n\");\r\n\r\n // Remove the last element if it's empty\r\n if (\r\n elementsCopied.length > 0 &&\r\n elementsCopied[elementsCopied.length - 1] === \"\"\r\n ) {\r\n elementsCopied.pop();\r\n }\r\n\r\n elementsCopied = elementsCopied.filter(Boolean); // Remove any empty elements\r\n\r\n elementsCopied.forEach((element) => {\r\n if (element.split(\"\\t\").length) {\r\n element.split(\"\\t\").forEach((item) => {\r\n if (item.split(\",\").length) {\r\n item.split(\",\").forEach((itemComma) => {\r\n if (itemComma) aliasReference.push(itemComma);\r\n });\r\n } else {\r\n if (item) aliasReference.push(item);\r\n }\r\n });\r\n } else {\r\n if (element) aliasReference.push(element);\r\n }\r\n });\r\n\r\n setOtherReference(aliasReference);\r\n\r\n // Reset the input after pasting\r\n setInputValue(\"\"); // Set the input value to blank\r\n }\r\n };\r\n\r\n const renderInputs = () => {\r\n if (!otherReference) return null;\r\n\r\n // Split the pasted data into individual items\r\n let items = otherReference;\r\n\r\n // Filter items based on the inputValue\r\n let filteredItems = items.filter((item) =>\r\n item.toLowerCase().includes(inputValue.toLowerCase())\r\n );\r\n\r\n // Render a Tag for each filtered item\r\n return (\r\n
\r\n {filteredItems.map((item, index) => (\r\n
\r\n \r\n
\r\n {item}\r\n handleTagDelete(index)}\r\n >\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const handleTagDelete = (indexToDelete: any) => {\r\n // Get a copy of the current items array\r\n let newItems = [...otherReference];\r\n\r\n // Remove the item at the specified index\r\n newItems.splice(indexToDelete, 1);\r\n\r\n // Update the state with the new data\r\n setOtherReference(newItems);\r\n };\r\n\r\n const getBodyParts = (type: number) => {\r\n let bodyParts: Array = new Array();\r\n\r\n try {\r\n if (type === E_ClothesType.TOP) {\r\n bodyParts.push({\r\n Id: E_BodyPart.CHEST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBusto\",\r\n // defaultMessage: \"Contorno de busto\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.WAIST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCintura\",\r\n // defaultMessage: \"Contorno de cintura\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.HIP,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCadera\",\r\n // defaultMessage: \"Contorno de cadera\",\r\n }),\r\n });\r\n } else {\r\n if (type === E_ClothesType.BOTTOM) {\r\n bodyParts.push({\r\n Id: E_BodyPart.WAIST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCintura\",\r\n // defaultMessage: \"Contorno de cintura\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.HIP,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCadera\",\r\n // defaultMessage: \"Contorno de cadera\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.LEG,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-altoTotal\",\r\n // defaultMessage: \"Alto total\",\r\n }),\r\n });\r\n } else {\r\n if (type === E_ClothesType.ENTIRE) {\r\n bodyParts.push({\r\n Id: E_BodyPart.CHEST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBusto\",\r\n // defaultMessage: \"Contorno de busto\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.WAIST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCintura\",\r\n // defaultMessage: \"Contorno de cintura\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.HIP,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCadera\",\r\n // defaultMessage: \"Contorno de cadera\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.LEG,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-altoTotal\",\r\n // defaultMessage: \"Alto total\",\r\n }),\r\n });\r\n } else if (type === E_ClothesType.SHOES) {\r\n // For shoes\r\n bodyParts.push({\r\n Id: E_BodyPart.FOOT,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-pieIzquierdo\",\r\n defaultMessage: \"Largo de Pie\",\r\n }),\r\n });\r\n } else {\r\n bodyParts.push({\r\n Id: E_BodyPart.CHEST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBusto\",\r\n // defaultMessage: \"Contorno de busto\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.UNDERBUST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBajoBusto\",\r\n // defaultMessage: \"Contorno de bajo busto\",\r\n }),\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"GetBodyParts\", error);\r\n }\r\n\r\n return bodyParts;\r\n };\r\n\r\n const getSizes = (partsBody: IBodyPart[], FormSizes: ISizeModel[] | []) => {\r\n let aSizes: Array = new Array();\r\n let newSize: ISizeModel;\r\n\r\n try {\r\n // console.log(\"GET SIZES COUNTER CHANGE\", counterChangeSizes);\r\n // console.log(\"GET SIZES FORM SIZE\", FormSizes);\r\n\r\n if (FormSizes && FormSizes.length > 0) {\r\n aSizes = [...FormSizes];\r\n } else {\r\n newSize = {\r\n Id: 0,\r\n Order: 1,\r\n Name: \"\",\r\n Measures: new Array(),\r\n };\r\n\r\n partsBody.forEach((item: IBodyPart, indexBodyPart: number) => {\r\n let RowMeasure: ISizeModelMeasure = {\r\n Id: item.Id,\r\n From: 0,\r\n ErrorFrom: false,\r\n To: 0,\r\n ErrorTo: false,\r\n IsSuccess: false,\r\n BodyPart: item,\r\n };\r\n\r\n newSize.Measures.push(RowMeasure);\r\n });\r\n\r\n aSizes.push(newSize);\r\n\r\n setFormSizes(aSizes);\r\n }\r\n } catch (error) {\r\n console.log(\"GET SIZES\", error);\r\n }\r\n\r\n // console.log(\"GET SIZES\", aSizes);\r\n\r\n return aSizes;\r\n };\r\n\r\n const onCheckProductGuideCreate = (value: any) => {\r\n try {\r\n setCreateProductGuide(value);\r\n\r\n if (value) {\r\n setProductReferenceCodeDefaultValue(\r\n `${sizeGuideName?.substr(0, 33).split(\" \").join(\"-\")}-rs-${Number(\r\n new Date()\r\n )}`\r\n );\r\n setProductReferenceCode(\r\n `${sizeGuideName?.substr(0, 33).split(\" \").join(\"-\")}-rs-${Number(\r\n new Date()\r\n )}`\r\n );\r\n } else {\r\n setProductReferenceCodeDefaultValue(\"\");\r\n setProductReferenceCode(\"\");\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR \", error);\r\n }\r\n };\r\n\r\n const contentAttibrutes = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n setSizeGuideName(value)}\r\n />\r\n \r\n }\r\n ClassGroup={\"mt-3\"}\r\n DefaultValue={clothesType}\r\n SuscribedChange={(value: number) => setClothesTypeSelect(value)}\r\n />\r\n setGenreSelect(value)}\r\n />\r\n \r\n \r\n }\r\n Values={cupSelect}\r\n onChipChange={(e: any) => handlerCupChange(e)}\r\n />\r\n \r\n \r\n \r\n }\r\n onChange={(e) => setUniqueSelect(e.target.checked)}\r\n defaultChecked={unique}\r\n disabled={clothesTypeSelect === E_ClothesType.BRASSIERE}\r\n />\r\n \r\n \r\n \r\n onCheckProductGuideCreate(e.target.checked)}\r\n disabled={Tools.UserMustCreateRelatedCode()}\r\n />\r\n \r\n \r\n \r\n setProductReferenceCode(value)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const contentSizes = () => {\r\n return (\r\n <>\r\n handlerChangeForm(e)}\r\n />\r\n \r\n );\r\n };\r\n\r\n const contentAlias = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n {renderInputs()}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const handlerChangeForm = (Elements: ISizeModel[]) => {\r\n // FormSize = Elements;\r\n\r\n // console.log('HANDLER CHANGE FORM', Elements);\r\n\r\n setFormSizes(Elements);\r\n\r\n // setCounterChangeSize(counterChangeSizes + 1);\r\n };\r\n\r\n const handlerCupChange = (e: any) => {\r\n let aSizes: Array = new Array();\r\n let aCups: Array = new Array();\r\n let newCups: Array = new Array();\r\n let newSizes: Array = new Array();\r\n let newCup: ISizeGuideCup;\r\n\r\n try {\r\n // console.log(\"GET SIZES COUNTER CHANGE\", counterChangeSizes);\r\n // console.log(\"GET SIZES FORM SIZE\", FormSizes);\r\n\r\n // console.log(\"COPAS CHANGE\", e);\r\n\r\n if (e) {\r\n if (cupsSizes && cupsSizes.length > 0) {\r\n aCups = [...cupsSizes];\r\n }\r\n\r\n if (aCups && aCups.length > e.length) {\r\n newCups = aCups.filter((value: ISizeGuideCup) => {\r\n return e.find((cup: string) => {\r\n return value.Name === cup;\r\n });\r\n });\r\n\r\n if (formSizes && formSizes.length > 0) {\r\n aSizes = [...formSizes];\r\n\r\n newSizes = aSizes.filter((value: ISizeModel) => {\r\n return e.find((cup: string) => {\r\n return value.Name.indexOf(cup) > -1;\r\n });\r\n });\r\n }\r\n\r\n // console.log('aCups CUPS CHANGE', aCups);\r\n // console.log('aSizes CUPS CHANGE', aSizes);\r\n\r\n // console.log('newCups CUPS CHANGE', newCups);\r\n // console.log('newSizes CUPS CHANGE', newSizes);\r\n\r\n if (newCups) setCupsSize(aCups);\r\n if (newSizes) setFormSizes(newSizes);\r\n } else {\r\n newCup = {\r\n Id: 0,\r\n Order: aCups[aCups.length - 1].Order + 1,\r\n Name: e[e.length - 1],\r\n };\r\n\r\n aCups.push(newCup);\r\n\r\n // console.log('aCups CUPS CHANGE', aCups);\r\n\r\n setCupsSize(aCups);\r\n\r\n // console.log('CUPS CHANGE ADD CUP');\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR CUPS CHANGE\", error);\r\n } finally {\r\n setCupSelect(e);\r\n }\r\n };\r\n\r\n const onClickCancelar = () => {\r\n navigate(-1);\r\n };\r\n\r\n const onClickSave = async () => {\r\n let SizeGuide: ISizeGuide;\r\n\r\n try {\r\n SizeGuide = {\r\n Id: state.Id,\r\n Name: sizeGuideName,\r\n UnfixedLimits: state.UnfixedLimits,\r\n Cups: cupsSizes,\r\n TypeSizeGuide: { Id: clothesTypeSelect, Name: \"\" },\r\n Gender: { Id: genreSelect, Name: \"\" },\r\n IsUnique: uniqueSelect,\r\n Sizes: formSizes,\r\n ProductReference: createProductGuideSelected\r\n ? productReferenceCode\r\n : \"\",\r\n OtherReference: otherReference,\r\n Enabled: enabledChecked,\r\n };\r\n\r\n if (Tools.IsDevelopment()) console.log(\"SAVE SIZE GUIDE ITEM\", SizeGuide);\r\n\r\n const sizeGuideResponse = await SizeGuideServices.PutSizeGuide(\r\n state.Id,\r\n SizeGuide\r\n );\r\n\r\n if (sizeGuideResponse && sizeGuideResponse.Status === 200) {\r\n if (sizeGuideResponse.Content) {\r\n setShowModal(true);\r\n } else {\r\n console.log(\"SAVE SIZE GUIDE RESPONSE ERROR\", sizeGuideResponse);\r\n }\r\n } else {\r\n console.log(\"SAVE SIZE GUIDE RESPONSE ERROR\", sizeGuideResponse);\r\n }\r\n } catch (error) {\r\n console.log(\"SAVE SIZE GUIDE ERROR\", error);\r\n }\r\n };\r\n\r\n const onHideModal = () => {\r\n setShowModal(false);\r\n navigate(-1);\r\n };\r\n\r\n const clothesImages: { [key: string]: any } = {\r\n TOP: {\r\n FEMALE: {\r\n es: \"img/topclothingfemes.png\",\r\n en: \"img/topclothingfemen.png\",\r\n pt: \"img/topclothingfempt.png\",\r\n },\r\n MALE: {\r\n es: \"img/topclothingmalees.png\",\r\n en: \"img/topclothingmaleen.png\",\r\n pt: \"img/topclothingmalept.png\",\r\n },\r\n },\r\n BOTTOM: {\r\n FEMALE: {\r\n es: \"img/bottomclothingfemes.png\",\r\n en: \"img/bottomclothingfemen.png\",\r\n pt: \"img/bottomclothingfempt.png\",\r\n },\r\n MALE: {\r\n es: \"img/bottomclothingmalees.png\",\r\n en: \"img/bottomclothingmaleen.png\",\r\n pt: \"img/bottomclothingmalept.png\",\r\n },\r\n },\r\n ENTIRE: {\r\n FEMALE: {\r\n es: \"img/fullclothingfemes.png\",\r\n en: \"img/fullclothingfemen.png\",\r\n pt: \"img/fullclothingfempt.png\",\r\n },\r\n MALE: {\r\n es: \"img/fullclothingmalees.png\",\r\n en: \"img/fullclothingmaleen.png\",\r\n pt: \"img/fullclothingmalept.png\",\r\n },\r\n },\r\n BRASSIERE: {\r\n FEMALE: {\r\n es: \"img/brassieres.png\",\r\n en: \"img/brassieren.png\",\r\n pt: \"img/brassierpt.png\",\r\n },\r\n MALE: {\r\n es: \"\",\r\n en: \"\",\r\n pt: \"\",\r\n },\r\n },\r\n SHOES: {\r\n FEMALE: {\r\n es: \"\",\r\n en: \"\",\r\n pt: \"\",\r\n },\r\n MALE: {\r\n es: \"\",\r\n en: \"\",\r\n pt: \"\",\r\n },\r\n },\r\n };\r\n\r\n const clothesTypeKey = E_ClothesType[clothesTypeSelect];\r\n const genderTypeKey = E_GenderType[genreSelect];\r\n\r\n return (\r\n <>\r\n \r\n \r\n

\r\n \r\n

\r\n \r\n
\r\n {/* Componente Datos Principales */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n title={}\r\n />\r\n \r\n \r\n {/* Titulo y parrafo Talles y medidas / Ingresa en cada campo.. */}\r\n \r\n \r\n

\r\n \r\n

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

\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n

\r\n \r\n
\r\n \r\n {/* Componente de Talles Contornos y alto total */}\r\n \r\n \r\n \r\n {/* Sugerencias Al lado de talles y medidas */}\r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n description={\r\n clothesTypeSelect !== E_ClothesType.BRASSIERE ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n description={\r\n clothesTypeSelect !== E_ClothesType.BRASSIERE ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n {/* Imagenes Al lado de sugerencias */}\r\n \r\n {clothesTypeSelect && genreSelect ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n {/* CODIFICACIONES */}\r\n \r\n \r\n

\r\n \r\n

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

\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n

\r\n \r\n {/* */}\r\n \r\n
\r\n \r\n {/* Componente de Talles Contornos y alto total */}\r\n \r\n \r\n \r\n \r\n\r\n {/* Aca va el componente de abajo de talles y contornos */}\r\n {/* \r\n \r\n \r\n \r\n */}\r\n {/* Botones Cancelar y Guardar */}\r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickCancelar()}\r\n className=\"edit-size-guide-button\"\r\n />\r\n \r\n \r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onClickSave()}\r\n />\r\n \r\n \r\n {/* Modal Template */}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default EditSizeGuide;\r\n","import { useState, useRef, useEffect } from \"react\";\r\nimport { Col, Row, Form } from \"react-bootstrap\";\r\nimport { useLocation, useNavigate, useSearchParams } from \"react-router-dom\";\r\nimport {\r\n BlockContentControls,\r\n ButtonCommon,\r\n ChipsControl,\r\n InputTextForm,\r\n InputText,\r\n ModalActionMessage,\r\n SelectGender,\r\n SelectSizeGuideType,\r\n SizesForm,\r\n SuggestionWidget,\r\n} from \"../../../common\";\r\nimport {\r\n ISizeModel,\r\n IBodyPart,\r\n ISizeModelMeasure,\r\n ISizeGuide,\r\n E_ClothesType,\r\n E_GenderType,\r\n E_BodyPart,\r\n} from \"../../../common/types\";\r\nimport { SizeGuideServices } from \"../../../../services\";\r\nimport \"./NewSizeGuide.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport { Tag } from \"primereact/tag\";\r\nimport TooltipAlias from \"../../../common/components/TooltipAlias\";\r\nimport { Tools } from \"../../../../misc\";\r\n\r\nconst NewSizeGuide = (props: any) => {\r\n const { state } = useLocation();\r\n\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n const navigate = useNavigate();\r\n const [showModal, setShowModal] = useState(false);\r\n const intl = useIntl();\r\n\r\n const clothesType = parseInt(\r\n searchParams.get(\"clothesType\") || E_ClothesType.TOP.toString()\r\n );\r\n const [clothesTypeSelect, setClothesTypeSelect] = useState(\r\n parseInt(searchParams.get(\"clothesType\") || E_ClothesType.TOP.toString())\r\n );\r\n const gender = parseInt(\r\n searchParams.get(\"gender\") || E_GenderType.FEMALE.toString()\r\n );\r\n const [genreSelect, setGenreSelect] = useState(\r\n parseInt(searchParams.get(\"gender\") || E_GenderType.FEMALE.toString())\r\n );\r\n const unique = searchParams.get(\"isUnique\") === \"false\" ? false : true;\r\n const [uniqueSelect, setUniqueSelect] = useState(\r\n searchParams.get(\"isUnique\") === \"false\" ? false : true\r\n );\r\n const [cupSelect, setCupSelect] = useState([]);\r\n const [sizeGuideName, setSizeGuideName] = useState(\"\");\r\n const [formSizes, setFormSizes] = useState([]);\r\n const [createProductGuideSelected, setCreateProductGuide] = useState(Tools.UserMustCreateRelatedCode());\r\n const [\r\n productReferenceCodeDefaultValue,\r\n setProductReferenceCodeDefaultValue,\r\n ] = useState(\"\");\r\n const [productReferenceCode, setProductReferenceCode] = useState(\"\");\r\n const [nameError, setNameError] = useState(\"\");\r\n const [otherReference, setOtherReference] = useState(\r\n props.state &&\r\n props.state.OtherReference &&\r\n props.state.OtherReference.length > 0\r\n ? props.state.OtherReference\r\n : []\r\n );\r\n const [showCustomWarning, setShowCustomWarning] = useState(false);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [isClicked, setIsClicked] = useState(false);\r\n const divRef = useRef(null);\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleDocumentClick);\r\n return () => {\r\n document.removeEventListener(\"click\", handleDocumentClick);\r\n };\r\n }, []);\r\n\r\n const hasEmptyMeasureName = () => {\r\n return formSizes.some(\r\n (size) => size.Name.trim().length === 0 || size.Measures.length === 0\r\n );\r\n };\r\n\r\n const getBodyParts = (type: number) => {\r\n let bodyParts: Array = new Array();\r\n\r\n try {\r\n if (type === E_ClothesType.TOP) {\r\n bodyParts.push({\r\n Id: E_BodyPart.CHEST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBusto\",\r\n defaultMessage: \"Contorno de busto\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.WAIST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCintura\",\r\n defaultMessage: \"Contorno de cintura\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.HIP,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCadera\",\r\n defaultMessage: \"Contorno de cadera\",\r\n }),\r\n });\r\n } else {\r\n if (type === E_ClothesType.BOTTOM) {\r\n bodyParts.push({\r\n Id: E_BodyPart.WAIST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCintura\",\r\n defaultMessage: \"Contorno de cintura\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.HIP,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCadera\",\r\n defaultMessage: \"Contorno de cadera\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.LEG,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-altoTotal\",\r\n defaultMessage: \"Alto total\",\r\n }),\r\n });\r\n } else {\r\n if (type === E_ClothesType.ENTIRE) {\r\n bodyParts.push({\r\n Id: E_BodyPart.CHEST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBusto\",\r\n defaultMessage: \"Contorno de busto\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.WAIST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCintura\",\r\n defaultMessage: \"Contorno de cintura\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.HIP,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoCadera\",\r\n defaultMessage: \"Contorno de cadera\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.LEG,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-altoTotal\",\r\n defaultMessage: \"Alto total\",\r\n }),\r\n });\r\n } else if (type === E_ClothesType.SHOES) {\r\n // For shoes\r\n bodyParts.push({\r\n Id: E_BodyPart.FOOT,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-pieIzquierdo\",\r\n defaultMessage: \"Largo de Pie\",\r\n }),\r\n });\r\n // bodyParts.push({\r\n // Id: E_BodyPart.FOOT,\r\n // Name: intl.formatMessage({\r\n // id: \"edit-size-guide-pieDerecho\",\r\n // defaultMessage: \"Pie Derecho\",\r\n // }),\r\n // });\r\n } else {\r\n bodyParts.push({\r\n Id: E_BodyPart.CHEST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBusto\",\r\n // defaultMessage: \"Contorno de busto\",\r\n }),\r\n });\r\n bodyParts.push({\r\n Id: E_BodyPart.UNDERBUST,\r\n Name: intl.formatMessage({\r\n id: \"edit-size-guide-contornoBajoBusto\",\r\n // defaultMessage: \"Contorno de bajo busto\",\r\n }),\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"GetBodyParts\", error);\r\n }\r\n\r\n return bodyParts;\r\n };\r\n\r\n const getSizes = (partsBody: IBodyPart[], FormSizes: ISizeModel[] | []) => {\r\n let aSizes: Array = new Array();\r\n let newSize: ISizeModel;\r\n\r\n try {\r\n if (FormSizes && FormSizes.length > 0) {\r\n aSizes = [...FormSizes];\r\n } else {\r\n newSize = {\r\n Id: 0,\r\n Order: 1,\r\n Name: \"\",\r\n Measures: new Array(),\r\n };\r\n\r\n partsBody.forEach((item: IBodyPart, indexBodyPart: number) => {\r\n let RowMeasure: ISizeModelMeasure = {\r\n Id: item.Id,\r\n From: 0,\r\n ErrorFrom: false,\r\n To: 0,\r\n ErrorTo: false,\r\n IsSuccess: false,\r\n BodyPart: item,\r\n };\r\n\r\n newSize.Measures.push(RowMeasure);\r\n });\r\n\r\n aSizes.push(newSize);\r\n\r\n setFormSizes(aSizes);\r\n }\r\n } catch (error) {\r\n console.log(\"GET SIZES\", error);\r\n }\r\n\r\n return aSizes;\r\n };\r\n\r\n const onCheckProductGuideCreate = (value: any) => {\r\n try {\r\n setCreateProductGuide(value);\r\n\r\n if (value) {\r\n setProductReferenceCodeDefaultValue(\r\n `${sizeGuideName?.substr(0, 33).split(\" \").join(\"-\")}-rs-${Number(\r\n new Date()\r\n )}`\r\n );\r\n setProductReferenceCode(\r\n `${sizeGuideName?.substr(0, 33).split(\" \").join(\"-\")}-rs-${Number(\r\n new Date()\r\n )}`\r\n );\r\n } else {\r\n setProductReferenceCodeDefaultValue(\"\");\r\n setProductReferenceCode(\"\");\r\n }\r\n } catch (error) {\r\n console.log(\"ERROR \", error);\r\n }\r\n };\r\n\r\n const contentAttibrutes = () => {\r\n return (\r\n <>\r\n
\r\n {\r\n setSizeGuideName(value);\r\n if (value.length < 5) {\r\n setNameError(\r\n intl.formatMessage({\r\n id: \"size-guide-nameError\",\r\n defaultMessage: \"Se necesitan por lo menos 5 caracteres\",\r\n })\r\n );\r\n } else {\r\n setNameError(\"\");\r\n }\r\n\r\n if (Tools.UserMustCreateRelatedCode()) {\r\n if (value) {\r\n setProductReferenceCodeDefaultValue(\r\n `${value?.trim().substr(0, 35).split(\" \").join(\"-\")}-${Number(\r\n new Date()\r\n )}`\r\n );\r\n setProductReferenceCode(\r\n `${value?.trim().substr(0, 35).split(\" \").join(\"-\")}-${Number(\r\n new Date()\r\n )}`\r\n );\r\n } else {\r\n setProductReferenceCodeDefaultValue(\"\");\r\n setProductReferenceCode(\"\");\r\n }\r\n }\r\n }}\r\n />\r\n {nameError &&

{nameError}

}\r\n setClothesTypeSelect(value)}\r\n />\r\n setGenreSelect(value)}\r\n />\r\n \r\n handlerCupChange(e)}\r\n />\r\n \r\n \r\n setUniqueSelect(e.target.checked)}\r\n defaultChecked={unique}\r\n disabled={clothesTypeSelect === E_ClothesType.BRASSIERE}\r\n />\r\n \r\n \r\n \r\n onCheckProductGuideCreate(e.target.checked)}\r\n disabled={Tools.UserMustCreateRelatedCode()}\r\n />\r\n \r\n \r\n \r\n setProductReferenceCode(value)\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const contentSizes = () => {\r\n return (\r\n <>\r\n handlerChangeForm(e)}\r\n ValidateSizes={() => hasEmptyMeasureName()}\r\n showCustomWarning={showCustomWarning}\r\n />\r\n \r\n );\r\n };\r\n\r\n const handlerChangeForm = (Elements: ISizeModel[]) => {\r\n setFormSizes(Elements);\r\n };\r\n\r\n const handlerCupChange = (e: any) => {\r\n setCupSelect(e);\r\n };\r\n\r\n const onClickCancelar = () => {\r\n navigate(-1);\r\n };\r\n\r\n const onClickSave = async () => {\r\n let SizeGuide: ISizeGuide;\r\n\r\n let qErrors: number = 0;\r\n\r\n const hasEmptyMeasures = hasEmptyMeasureName();\r\n\r\n if (hasEmptyMeasures) {\r\n console.log(\"Algunos talles tienen valores vacios\");\r\n }\r\n\r\n if (qErrors !== 0 || hasEmptyMeasures) {\r\n setShowCustomWarning(true);\r\n return;\r\n }\r\n\r\n try {\r\n if (sizeGuideName.length < 5) {\r\n qErrors++;\r\n setNameError(\"Nombre necesita por lo menos 5 caracteres\");\r\n } else {\r\n setNameError(\"\");\r\n }\r\n\r\n if (\r\n (!uniqueSelect && formSizes.length < 2) ||\r\n (uniqueSelect && (formSizes.length < 1 || formSizes[0].Name === \"\"))\r\n ) {\r\n qErrors++;\r\n console.log(\"Error: Sizes must have at least 1 letter\");\r\n }\r\n\r\n if (createProductGuideSelected && productReferenceCode.length < 10) {\r\n qErrors++;\r\n console.log(\"Error: ProductReference must have at least 10 letters\");\r\n }\r\n console.log(\"Error\", qErrors);\r\n if (qErrors !== 0) {\r\n return;\r\n }\r\n\r\n SizeGuide = {\r\n Id: 0,\r\n Name: sizeGuideName,\r\n UnfixedLimits: false,\r\n Cups: cupSelect,\r\n TypeSizeGuide: { Id: clothesTypeSelect, Name: \"\" },\r\n Gender: { Id: genreSelect, Name: \"\" },\r\n IsUnique: uniqueSelect,\r\n Sizes: formSizes,\r\n ProductReference: createProductGuideSelected\r\n ? productReferenceCode\r\n : \"\",\r\n OtherReference: [],\r\n Enabled: true,\r\n };\r\n\r\n console.log(\"SAVE SIZE GUIDE ITEM\", SizeGuide);\r\n\r\n const sizeGuideResponse = await SizeGuideServices.PostSizeGuide(\r\n SizeGuide\r\n );\r\n\r\n if (sizeGuideResponse && sizeGuideResponse.Status === 200) {\r\n if (sizeGuideResponse.Content) {\r\n setShowModal(true);\r\n } else {\r\n console.log(\"SAVE SIZE GUIDE RESPONSE ERROR\", sizeGuideResponse);\r\n }\r\n } else {\r\n console.log(\"SAVE SIZE GUIDE RESPONSE ERROR\", sizeGuideResponse);\r\n }\r\n setShowCustomWarning(false);\r\n } catch (error) {\r\n console.log(\"SAVE SIZE GUIDE\", error);\r\n }\r\n };\r\n\r\n const onHideModal = () => {\r\n setShowModal(false);\r\n navigate(-1);\r\n };\r\n\r\n const clothesImages: { [key: string]: any } = {\r\n TOP: {\r\n FEMALE: {\r\n es: \"img/topclothingfemes.png\",\r\n en: \"img/topclothingfemen.png\",\r\n pt: \"img/topclothingfempt.png\",\r\n },\r\n MALE: {\r\n es: \"img/topclothingmalees.png\",\r\n en: \"img/topclothingmaleen.png\",\r\n pt: \"img/topclothingmalept.png\",\r\n },\r\n },\r\n BOTTOM: {\r\n FEMALE: {\r\n es: \"img/bottomclothingfemes.png\",\r\n en: \"img/bottomclothingfemen.png\",\r\n pt: \"img/bottomclothingfempt.png\",\r\n },\r\n MALE: {\r\n es: \"img/bottomclothingmalees.png\",\r\n en: \"img/bottomclothingmaleen.png\",\r\n pt: \"img/bottomclothingmalept.png\",\r\n },\r\n },\r\n ENTIRE: {\r\n FEMALE: {\r\n es: \"img/fullclothingfemes.png\",\r\n en: \"img/fullclothingfemen.png\",\r\n pt: \"img/fullclothingfempt.png\",\r\n },\r\n MALE: {\r\n es: \"img/fullclothingmalees.png\",\r\n en: \"img/fullclothingmaleen.png\",\r\n pt: \"img/fullclothingmale.png\",\r\n },\r\n },\r\n BRASSIERE: {\r\n FEMALE: {\r\n es: \"img/brassieres.png\",\r\n en: \"img/brassieren.png\",\r\n pt: \"img/brassierpt.png\",\r\n },\r\n MALE: {\r\n es: \"\",\r\n en: \"\",\r\n pt: \"\",\r\n },\r\n },\r\n SHOES: {\r\n FEMALE: {\r\n es: \"\",\r\n en: \"\",\r\n pt: \"\",\r\n },\r\n MALE: {\r\n es: \"\",\r\n en: \"\",\r\n pt: \"\",\r\n },\r\n },\r\n };\r\n\r\n const clothesTypeKey = E_ClothesType[clothesTypeSelect];\r\n const genderTypeKey = E_GenderType[genreSelect];\r\n\r\n const handleInputChange = (event: React.ChangeEvent) => {\r\n const { value } = event.target;\r\n setInputValue(value);\r\n };\r\n\r\n const renderInputs = () => {\r\n if (!otherReference) return null;\r\n\r\n // Split the pasted data into individual items\r\n let items = otherReference;\r\n\r\n // Filter items based on the inputValue\r\n let filteredItems = items.filter((item: any) =>\r\n item.toLowerCase().includes(inputValue.toLowerCase())\r\n );\r\n\r\n // Render a Tag for each filtered item\r\n return (\r\n
\r\n {filteredItems.map((item: any, index: any) => (\r\n
\r\n \r\n
\r\n {item}\r\n handleTagDelete(index)}\r\n >\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const handleTagDelete = (indexToDelete: any) => {\r\n // Get a copy of the current items array\r\n let newItems = [...otherReference];\r\n\r\n // Remove the item at the specified index\r\n newItems.splice(indexToDelete, 1);\r\n\r\n // Update the state with the new data\r\n setOtherReference(newItems);\r\n };\r\n\r\n const handlePaste = (event: React.ClipboardEvent) => {\r\n const clipboardData = event.clipboardData;\r\n if (clipboardData) {\r\n const aliasReference = [...otherReference];\r\n\r\n const pastedText = clipboardData.getData(\"text/plain\");\r\n\r\n let updatedData = pastedText; // Concatenate new data with existing data\r\n\r\n let elementsCopied = updatedData.split(\"\\r\\n\");\r\n\r\n // Remove the last element if it's empty\r\n if (\r\n elementsCopied.length > 0 &&\r\n elementsCopied[elementsCopied.length - 1] === \"\"\r\n ) {\r\n elementsCopied.pop();\r\n }\r\n\r\n elementsCopied = elementsCopied.filter(Boolean); // Remove any empty elements\r\n\r\n elementsCopied.forEach((element) => {\r\n if (element.split(\"\\t\").length) {\r\n element.split(\"\\t\").forEach((item) => {\r\n if (item.split(\",\").length) {\r\n item.split(\",\").forEach((itemComma) => {\r\n if (itemComma) aliasReference.push(itemComma);\r\n });\r\n } else {\r\n if (item) aliasReference.push(item);\r\n }\r\n });\r\n } else {\r\n if (element) aliasReference.push(element);\r\n }\r\n });\r\n\r\n setOtherReference(aliasReference);\r\n\r\n // Reset the input after pasting\r\n setInputValue(\"\"); // Set the input value to blank\r\n }\r\n };\r\n\r\n const handleDocumentClick = (event: MouseEvent) => {\r\n if (divRef.current && !divRef.current.contains(event.target as Node)) {\r\n setIsClicked(false);\r\n }\r\n };\r\n\r\n const handleClick = () => {\r\n setIsClicked(true);\r\n };\r\n\r\n const contentAlias = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n {renderInputs()}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n

\r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n title={}\r\n />\r\n \r\n \r\n \r\n \r\n

\r\n {\" \"}\r\n \r\n

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

\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n

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

\r\n \r\n

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

\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n

\r\n \r\n \r\n
\r\n \r\n {/* Componente de Talles Contornos y alto total */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n description={\r\n clothesTypeSelect !== E_ClothesType.BRASSIERE ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n description={\r\n clothesTypeSelect !== E_ClothesType.BRASSIERE ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n \r\n {clothesTypeSelect && genreSelect ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickCancelar()}\r\n />\r\n \r\n \r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onClickSave()}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default NewSizeGuide;\r\n","import { useEffect, useState } from \"react\";\r\nimport { Button, Col, Form, Row } from \"react-bootstrap\";\r\nimport { createSearchParams, useNavigate } from \"react-router-dom\";\r\nimport { SizeGuideServices, StorageServices } from \"../../../../services\";\r\nimport {\r\n MainBoxTool,\r\n DataTableSizeGuides,\r\n ModalCommon,\r\n SelectSizeGuideType,\r\n SelectGender,\r\n GuideTemplate,\r\n ModalLimitReached,\r\n} from \"../../../common\";\r\nimport \"./DashboardSizeGuides.css\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faBan } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Tools } from \"../../../../misc\";\r\n\r\n//interface RowData {\r\n// StorePlan: \"Free\" | \"Pro\" | \"Enterprise\";\r\n// Status: \"Active\" | \"Inactive\";\r\n//}\r\n\r\n//interface DashboardSizeGuidesProps {\r\n// elements: RowData[];\r\n// storePlan: keyof typeof ACTIVE_GUIDE_LIMITS;\r\n//}\r\n\r\n//const ACTIVE_GUIDE_LIMITS = {\r\n// Free: 4,\r\n// Pro: 7,\r\n// Enterprise: Infinity,\r\n//};\r\n\r\nconst DashboardSizeGuides = () => {\r\n const [elements, setElements] = useState([{}]);\r\n const [isLoadingElements, setIsLoadingElements] = useState(false);\r\n const [elementSelection, setElementSelection] = useState([]);\r\n const [showModal, setShowModal] = useState(false);\r\n const [showLimitModal, setShowLimitModal] = useState(false);\r\n const [clothesType, setClothesType] = useState(0);\r\n const [clothesTypeSelect, setClothesTypeSelect] = useState(0);\r\n const [genderSelect, setGenderSelect] = useState(0);\r\n const [uniqueSelect, setUniqueSelect] = useState(false);\r\n\r\n const handleOpenModal = () => {\r\n setShowModal(true);\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setShowModal(false);\r\n };\r\n\r\n const handleOpenLimitModal = () => {\r\n setShowLimitModal(true);\r\n };\r\n\r\n const handleCloseLimitModal = () => {\r\n setShowLimitModal(false);\r\n };\r\n\r\n const getActiveSizeGuides = (items: any[] | null = null) => {\r\n let qActive: number = 0;\r\n\r\n if (Tools.IsDevelopment()) console.log('getActiveSizeGuides', items);\r\n\r\n try {\r\n if (items) {\r\n qActive = items.filter((item: any) => {\r\n return (item.Enabled);\r\n }).length || 0;\r\n } else {\r\n qActive = elements.filter((element: any) => {\r\n return (element.Enabled);\r\n }).length || 0;\r\n }\r\n } catch (e) {\r\n console.log(\"ERROR getActiveSizeGuides\", e);\r\n }\r\n return qActive || 0;\r\n }\r\n\r\n const onOkModal = () => {\r\n //const activeGuidesCount = calculateActiveGuides(props.storePlan);\r\n\r\n if (!(Tools.CanCreateSizeGuide())) {\r\n handleOpenLimitModal();\r\n } else {\r\n setShowModal(false);\r\n\r\n // console.log('TIPO SELECCIONADO', clothesTypeSelect);\r\n // console.log('GENERO SELECCIONADO', genreSelect);\r\n // console.log('UNICO SELECCIONADO', uniqueSelect);\r\n\r\n navigate({\r\n pathname: \"add\",\r\n search: createSearchParams({\r\n clothesType: clothesTypeSelect.toString(),\r\n gender: genderSelect.toString(),\r\n isUnique: uniqueSelect.toString(),\r\n }).toString(),\r\n });\r\n }\r\n };\r\n\r\n const onHideModal = () => {\r\n setShowModal(false);\r\n setShowLimitModal(false);\r\n };\r\n\r\n const ModalContent = () => {\r\n return (\r\n <>\r\n
\r\n \r\n }\r\n DefaultValue={clothesType}\r\n SuscribedChange={(value: number) => setClothesTypeSelect(value)}\r\n />\r\n setGenderSelect(value)}\r\n />\r\n \r\n \r\n }\r\n onChange={(e) => setUniqueSelect(e.target.checked)}\r\n defaultChecked={false}\r\n disabled={clothesType === 4}\r\n />\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const ModalLimitContent = () => {\r\n return (\r\n
\r\n
\r\n

\r\n Has alcanzado el límite de guías disponible para tu plan, para\r\n expandirlo contáctate con\r\n

\r\n hello@readysize.ai\r\n
\r\n
\r\n );\r\n };\r\n\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n (async () => {\r\n try {\r\n setIsLoadingElements(true);\r\n\r\n const response = await SizeGuideServices.GetSizesGuides();\r\n\r\n if (response.Status === 200) {\r\n //console.log(\"RESPONSE SIZE GUIDE\", response);\r\n Tools.SetQuantitySizeGuideActive(getActiveSizeGuides(response.Content));\r\n setElements(response.Content);\r\n }\r\n\r\n setIsLoadingElements(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoadingElements(false);\r\n }\r\n })();\r\n }, [setElements]);\r\n\r\n const onSuscribeElementSelectionChange = (value: any) => {\r\n setElementSelection(value);\r\n\r\n // console.log('Elementos Seleccionados', elementSelection);\r\n };\r\n\r\n const onSuscribeDuplicate = (data: any) => {\r\n console.log(\"Click Duplicar\", data);\r\n };\r\n\r\n const onSuscribeDelete = (data: any) => {\r\n console.log(\"Click Borrar\", data);\r\n };\r\n\r\n const onSuscribeEdit = (data: any) => {\r\n // console.log('Click Editar', data);\r\n\r\n navigate(\r\n {\r\n pathname: `edit/${data.Id}`,\r\n // search: createSearchParams({\r\n // clothesType: clothesTypeSelect.toString(),\r\n // gender: genderSelect.toString(),\r\n // isUnique: uniqueSelect.toString(),\r\n // }).toString(),\r\n },\r\n { state: data }\r\n );\r\n };\r\n\r\n const onSuscribeDeleteGroup = (data: any) => {\r\n console.log(\"Click Eliminar Guías\", data);\r\n };\r\n\r\n const onSuscribeDownloadData = (data: any) => {\r\n console.log(\"Click Download\", data);\r\n };\r\n\r\n /* IMG 1 */\r\n const imgSrc1 = \"img/upperclothingimg.png\";\r\n const paragraphText1 = (\r\n \r\n );\r\n /* IMG 2 */\r\n const imgSrc2 = \"img/bottomwear.png\";\r\n const paragraphText2 = (\r\n \r\n );\r\n /* IMG 3 */\r\n const imgSrc3 = \"img/dressimg.png\";\r\n const paragraphText3 = (\r\n \r\n );\r\n /* IMG 4 */\r\n const imgSrc4 = \"img/braimg.png\";\r\n const paragraphText4 = (\r\n \r\n );\r\n /* IMG 5 */\r\n const imgSrc5 = \"img/shoeimg2.png\";\r\n const paragraphText5 = (\r\n \r\n );\r\n\r\n const colStyle = {\r\n marginBottom: \"30px\",\r\n };\r\n\r\n const contentInternalMainBox = () => {\r\n return (\r\n <>\r\n \r\n \r\n onInitSizeGuideTemplate(1)}\r\n mainContainerClass=\"guide-template-main-container\"\r\n imageContainerClass=\"guide-template-imagecontainer\"\r\n imageClass=\"guide-temaplate-image\"\r\n textContainerClass=\"guide-template-textcontainer\"\r\n textClass=\"guide-template-text\"\r\n />\r\n \r\n\r\n \r\n onInitSizeGuideTemplate(2)}\r\n mainContainerClass=\"guide-template-main-container\"\r\n imageContainerClass=\"guide-template-imagecontainer\"\r\n imageClass=\"guide-temaplate-image\"\r\n textContainerClass=\"guide-template-textcontainer\"\r\n textClass=\"guide-template-text\"\r\n />\r\n \r\n\r\n \r\n onInitSizeGuideTemplate(3)}\r\n mainContainerClass=\"guide-template-main-container\"\r\n imageContainerClass=\"guide-template-imagecontainer\"\r\n imageClass=\"guide-temaplate-image\"\r\n textContainerClass=\"guide-template-textcontainer\"\r\n textClass=\"guide-template-text\"\r\n />\r\n \r\n\r\n \r\n onInitSizeGuideTemplate(4)}\r\n mainContainerClass=\"guide-template-main-container\"\r\n imageContainerClass=\"guide-template-imagecontainer\"\r\n imageClass=\"guide-temaplate-image\"\r\n textContainerClass=\"guide-template-textcontainer\"\r\n textClass=\"guide-template-text\"\r\n />\r\n \r\n\r\n \r\n onInitSizeGuideTemplate(5)}\r\n mainContainerClass=\"guide-template-main-container\"\r\n imageContainerClass=\"guide-template-imagecontainer\"\r\n imageClass=\"guide-temaplate-image\"\r\n textContainerClass=\"guide-template-textcontainer\"\r\n textClass=\"guide-template-text\"\r\n />\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const onInitSizeGuideTemplate = (idType: number) => {\r\n setClothesType(idType);\r\n\r\n setClothesTypeSelect(idType);\r\n setGenderSelect(2);\r\n setUniqueSelect(false);\r\n\r\n setShowModal(true);\r\n };\r\n\r\n return (\r\n <>\r\n {/* Access */}\r\n \r\n \r\n \r\n }\r\n children={contentInternalMainBox()}\r\n />\r\n \r\n \r\n\r\n {/* Size Guides */}\r\n \r\n \r\n {/*handlerDelete={onSuscribeDelete}*/}\r\n {/*handlerClone={onSuscribeDuplicate}*/}\r\n \r\n \r\n \r\n\r\n {/* Modal Template */}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DashboardSizeGuides;\r\n","import { Outlet, Route, Routes, useParams } from \"react-router\";\r\nimport { MainSectionTitle } from \"../../common\";\r\nimport EditSizeGuide from \"../components/crud/EditSizeGuide\";\r\nimport NewSizeGuide from \"../components/crud/NewSizeGuide\";\r\nimport DashboardSizeGuides from \"../components/dashboard/DashboardSizeGuides\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\n//interface RowData {\r\n// StorePlan: \"Free\" | \"Pro\" | \"Enterprise\";\r\n// Status: \"Active\" | \"Inactive\";\r\n//}\r\n\r\n//const elements: RowData[] = [\r\n// { StorePlan: \"Free\", Status: \"Active\" },\r\n// { StorePlan: \"Pro\", Status: \"Inactive\" },\r\n//];\r\n\r\n//const storePlan: \"Free\" | \"Pro\" | \"Enterprise\" = \"Free\";\r\n\r\n// SizeGuidesAvailable\r\n\r\nconst MainSizeGuides = (props: any) => {\r\n const params = useParams();\r\n\r\n const mainSectionContent = () => {\r\n const title =\r\n params[\"*\"] === \"\" ? (\r\n \r\n ) : params[\"*\"] === \"add\" ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n const subtitle =\r\n params[\"*\"] === \"\" ? (\r\n \r\n ) : params[\"*\"] === \"add\" ? (\r\n \r\n ) : (\r\n \r\n );\r\n\r\n return {\r\n title: title,\r\n subtitle: subtitle,\r\n };\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n }\r\n />\r\n }\r\n />\r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MainSizeGuides;\r\n\r\n// const MainSizeGuides = (props: any) => {\r\n// const params = useParams();\r\n\r\n// const mainSectionContent = () => {\r\n// const title =\r\n// params[\"*\"] === \"\" ? (\r\n// \r\n// ) : params[\"*\"] === \"add\" ? (\r\n// \r\n// ) : (\r\n// \r\n// );\r\n\r\n// const subtitle =\r\n// params[\"*\"] === \"\" ? (\r\n// \r\n// ) : params[\"*\"] === \"add\" ? (\r\n// \r\n// ) : (\r\n// \r\n// );\r\n\r\n// return {\r\n// title: title,\r\n// subtitle: subtitle,\r\n// };\r\n// };\r\n\r\n// // const mainSectionContent = () => {\r\n// // const title =\r\n// // params[\"*\"] === \"\"\r\n// // ? \"Guías de talles\"\r\n// // : params[\"*\"] === \"add\"\r\n// // ? \"Nueva Guía de Talles\"\r\n// // : \"Editar Guía de Talles\";\r\n\r\n// // const subtitle =\r\n// // params[\"*\"] === \"\"\r\n// // ? \"En esta sección vas a poder generar y administrar tus guías de talles. Las guías son escenciales para el funcionamiento de FitPrenda, la información de las guías la utliza la aplicación para recomendar los talles a los clientes.\"\r\n// // : params[\"*\"] === \"add\"\r\n// // ? \"Completa los datos para generar tu guía y luego podrás aplicarla a tus productos\"\r\n// // : \"Completa los datos para generar tu guía y luego podrás aplicarla a tus productos\";\r\n\r\n// // return {\r\n// // title: title,\r\n// // subtitle: subtitle,\r\n// // };\r\n// // };\r\n\r\n// return (\r\n// <>\r\n// \r\n\r\n//
\r\n// \r\n//
\r\n\r\n// \r\n// } />\r\n// }\r\n// />\r\n// }\r\n// />\r\n// \r\n// \r\n// );\r\n// };\r\n\r\n// export default MainSizeGuides;\r\n","import React from \"react\";\r\nimport { Route, Routes, Navigate } from \"react-router-dom\";\r\nimport \"./custom.css\";\r\nimport { StorageServices } from \"./core/services\";\r\nimport { ContentApp, ContentLayout, Login } from \"./core/modules/roots\";\r\n\r\nexport default class App extends React.Component {\r\n static displayName = App.name;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n isAuthenticated: StorageServices.ExistsCookieUser(),\r\n };\r\n }\r\n\r\n onUserLogin() {\r\n this.setState({ isAuthenticated: true });\r\n }\r\n\r\n render() {\r\n const { isAuthenticated } = this.state;\r\n\r\n return (\r\n \r\n }>\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n \r\n ) : (\r\n this.onUserLogin()} />\r\n )\r\n }\r\n />\r\n : \r\n }\r\n />\r\n FitLogin TiendaNube} />\r\n \r\n \r\n );\r\n }\r\n}\r\n","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"bootstrap/dist/css/bootstrap.css\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport App from \"./App\";\r\nimport registerServiceWorker from \"./registerServiceWorker\";\r\nimport \"primereact/resources/themes/saga-orange/theme.css\";\r\nimport \"primereact/resources/primereact.min.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { LanguageProvider } from \"./contexts/LanguageContext\";\r\nimport { StorageServices } from \"./core/services\";\r\n\r\nlibrary.add(fas, far);\r\n\r\nconst baseUrl = document.getElementsByTagName(\"base\")[0].getAttribute(\"href\");\r\nconst rootElement = document.getElementById(\"root\");\r\n\r\nrootElement.classList.add(\"h-100\");\r\n\r\nconst user = StorageServices.GetCookieUser();\r\nconst userCultureLocale = user ? user.CultureLocale : \"es-ES\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n rootElement\r\n);\r\n\r\nregisterServiceWorker();\r\n","import React from \"react\";\r\nimport { Container, Navbar, Nav } from \"react-bootstrap\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { StorageServices } from \"../../../services\";\r\nimport \"./navsidestyle.css\";\r\nimport Offcanvas from \"react-bootstrap/Offcanvas\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport { LanguageContext } from \"../../../../contexts/LanguageContext\";\r\n\r\nexport default class Navapp extends React.Component {\r\n static contextType = LanguageContext;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n\r\n this.state = {\r\n user: StorageServices.GetCookieUser(),\r\n showMenu: false,\r\n showOffcanvas: false,\r\n isHelpDropdownOpen: false,\r\n };\r\n }\r\n\r\n toggleHelpDropdown = () => {\r\n this.setState((prevState: any) => ({\r\n isHelpDropdownOpen: !prevState.isHelpDropdownOpen,\r\n }));\r\n };\r\n\r\n toggleDropdown = () => {\r\n this.setState((prevState: any) => ({\r\n isDropdownOpen: !prevState.isDropdownOpen,\r\n }));\r\n };\r\n\r\n toggleOffcanvas() {\r\n this.setState((prevState: any) => ({\r\n showOffcanvas: !prevState.showOffcanvas,\r\n }));\r\n }\r\n\r\n onClickMenuBars() {\r\n try {\r\n this.setState({ showMenu: !this.state.showMenu });\r\n this.props.onClickMenuAside(this.state.showMenu);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n onLogout() {\r\n try {\r\n StorageServices.FlushCookie();\r\n document.location.pathname = \"/\";\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }\r\n\r\n render() {\r\n const { locale, changeLanguage } = this.context;\r\n return (\r\n <>\r\n \r\n this.toggleOffcanvas()}\r\n >\r\n \r\n \r\n this.toggleOffcanvas()}\r\n backdrop={false}\r\n className=\"offcanvas-main-container\"\r\n >\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n Inicio\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Estadísticas\r\n \r\n \r\n \r\n
\r\n \r\n Administrar\r\n \r\n \r\n \r\n \r\n \r\n Herramientas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Guías de talles\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Productos\r\n \r\n \r\n \r\n {this.state.user.PlatformId === 200 && (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n {this.state.user.PlatformId === 2 && (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n this.onLogout()}>\r\n \r\n \r\n Salir\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {locale === \"en\" && (\r\n \r\n )}\r\n {locale === \"es\" && (\r\n \r\n )}\r\n {locale === \"pt\" && (\r\n \r\n )}\r\n
\r\n {this.state.isDropdownOpen && (\r\n
\r\n
changeLanguage(\"en\")}>English
\r\n
changeLanguage(\"es\")}>Español
\r\n
changeLanguage(\"pt\")}>Português
\r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Navapp from \"../nav-app/Navapp\";\r\nimport { Routes, Route } from \"react-router-dom\";\r\nimport { Container } from \"react-bootstrap\";\r\nimport { MainDashboard } from \"../../dashboards\";\r\nimport { MainProducts } from \"../../products\";\r\nimport { MainHome } from \"../../home\";\r\nimport { MainSizeGuides } from \"../../sizes-guides\";\r\nimport \"./ContentApp.css\";\r\nimport { useLanguage } from \"../../../../contexts/LanguageContext\";\r\nimport { MercadoShops } from \"../../mercadoshops\";\r\nimport { TiendaNube } from \"../../tiendanube\";\r\nimport { CrispChat } from \"../../common\";\r\nimport { Tools } from \"../../tools\";\r\nimport { StorageServices } from \"../../../services\";\r\nimport { Tools as ToolService } from \"../../../misc\";\r\n\r\nconst ContentApp: React.FC = () => {\r\n const { locale } = useLanguage();\r\n const [user, setUser] = useState(StorageServices.GetCookieUser());\r\n const [isMenuColapse, setIsMenuColapse] = useState(true);\r\n\r\n useEffect(() => {\r\n if (ToolService.IsDevelopment()) console.log(\"STATE CONTENT-APP\", user);\r\n }, [user]);\r\n\r\n const onEventMenuWidthChange = (menuState: boolean) => {\r\n setIsMenuColapse(menuState);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n {user.Contract.Id !== 1 && }\r\n \r\n }\r\n />\r\n } />\r\n } />\r\n } />\r\n }\r\n />\r\n } />\r\n } />\r\n } />\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ContentApp;\r\n","import React from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { FormattedMessage } from \"react-intl\";\r\nimport \"./ConfirmationModal.css\";\r\nimport { InputText } from \"primereact/inputtext\";\r\n\r\nconst ConfirmationModal = ({ show, onHide, deleteFunction, rowData }: any) => {\r\n const [modelName, setModelName] = React.useState(\"\"); // State to hold the model name\r\n\r\n // Format button labels\r\n const yesLabel = ;\r\n const noLabel = ;\r\n\r\n return (\r\n \r\n }\r\n visible={show}\r\n onHide={onHide}\r\n >\r\n
\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n

\r\n setModelName(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n if (modelName === rowData.modelName) {\r\n deleteFunction(rowData); // Call the delete function when \"Yes\" is clicked\r\n onHide(); // Close the modal\r\n } else {\r\n // Handle error or show a message indicating incorrect model name\r\n console.log(\"Model name does not match\");\r\n }\r\n }}\r\n className=\"p-button-outlined button-outline-fitprenda-common font-fitprenda-button-outline confirmation-modal-button\"\r\n />\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ConfirmationModal;\r\n","import {\r\n Row,\r\n Col,\r\n Button,\r\n OverlayTrigger,\r\n Tooltip,\r\n Popover,\r\n Overlay,\r\n} from \"react-bootstrap\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport { useState } from \"react\";\r\nimport { BadgeFitprenda, InputSearch, PushButtonFilter } from \"../index\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { faFileExcel } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { E_BodyArea, E_GenderType } from \"../types\";\r\nimport ButtomAction from \"./ButtonAction\";\r\nimport \"./ProductGrid.css\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport ConfirmationModal from \"./ConfirmationModal\";\r\n\r\nconst DataTableProducts = (props: any) => {\r\n let isHandlerActionRaised: boolean = false;\r\n const { products } = props;\r\n\r\n const [selection, setSelection] = useState([]);\r\n // const [isHandlerActionRaised, setIsHandlerActionRaised] = useState(false);\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: \"contains\" },\r\n });\r\n\r\n const intl = useIntl();\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n\r\n const [show, setShow] = useState(false);\r\n const [target, setTarget] = useState(null);\r\n const [targetDataProduct, setTargetDataProduct] = useState(0);\r\n\r\n const [isFilterTop, setIsFilterTop] = useState(false);\r\n const [isFilterBottom, setIsFilterBottom] = useState(false);\r\n\r\n const [isFilterFemale, setIsFilterFemale] = useState(false);\r\n const [isFilterMale, setIsFilterMale] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [selectedRowData, setSelectedRowData] = useState(null);\r\n\r\n // useEffect(() => {\r\n // initGlobalFilters();\r\n // }, []);\r\n\r\n // const initGlobalFilters = () => {\r\n // setFilters({\r\n // global: { value: null, matchMode: \"contains\" },\r\n // });\r\n\r\n // // {value: null, matchMode: 'contains'}\r\n // };\r\n\r\n const onClickEdit = (rowData: any) => {\r\n try {\r\n if (props.handlerEdit) props.handlerEdit(rowData);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickClone = (rowData: any) => {\r\n try {\r\n if (props.handlerClone) props.handlerClone(rowData);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickDelete = (rowData: any) => {\r\n try {\r\n setShowModal(true); // Show the modal\r\n if (props.handlerDelete) props.handlerDelete(rowData);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickDeleteGroup = (data: any) => {\r\n try {\r\n if (props.handlerDeleteGroup) props.handlerDeleteGroup(data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickAddSizeGuideGroup = (data: any) => {\r\n try {\r\n if (props.handlerAddSizeGuideGroup) props.handlerAddSizeGuideGroup(data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickDownload = (data: any) => {\r\n try {\r\n if (props.handlerDownload) props.handlerDownload(data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onSelectionChange = (row: any) => {\r\n // console.log('ProductGrid onSelectionChange', row);\r\n // console.log('ProductGrid onSelectionChange Handler', isHandlerActionRaised);\r\n\r\n if (!isHandlerActionRaised) {\r\n setSelection(row.value);\r\n\r\n if (props.handlerSelectionRow) props.handlerSelectionRow(row.value);\r\n }\r\n\r\n isHandlerActionRaised = false;\r\n };\r\n\r\n const onSearch = (value: any) => {\r\n let _filters = { ...filters };\r\n _filters[\"global\"].value = value;\r\n\r\n console.log(\"_Filters\", _filters);\r\n console.log(\"Valor\", value);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchSuperior = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterTop)\r\n value = intl.formatMessage({\r\n id: \"ready-size-superior\",\r\n defaultMessage: \"Superior\",\r\n });\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterBottom(false);\r\n setIsFilterTop(!isFilterTop);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchInferior = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterBottom) {\r\n // Use intl.formatMessage for \"Inferior\"\r\n value = intl.formatMessage({\r\n id: \"ready-size-inferior\",\r\n defaultMessage: \"Inferior\",\r\n });\r\n }\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterTop(false);\r\n setIsFilterBottom(!isFilterBottom);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchFemenino = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterFemale) {\r\n // Use intl.formatMessage for \"Femenino\"\r\n value = intl.formatMessage({\r\n id: \"ready-size-female\",\r\n defaultMessage: \"Femenino\",\r\n });\r\n }\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterMale(false);\r\n setIsFilterFemale(!isFilterFemale);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const onSearchMasculino = (state: any) => {\r\n let _filters = { ...filters };\r\n let value: string = \"\";\r\n\r\n if (!isFilterMale) {\r\n // Use intl.formatMessage for \"Masculino\"\r\n value = intl.formatMessage({\r\n id: \"ready-size-male\",\r\n defaultMessage: \"Masculino\",\r\n });\r\n }\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setIsFilterFemale(false);\r\n setIsFilterMale(!isFilterMale);\r\n\r\n setFilters(_filters);\r\n setGlobalFilterValue(value);\r\n };\r\n\r\n const renderHeader = () => {\r\n var qSuperior: number = 0;\r\n var qInferior: number = 0;\r\n var qFemenino: number = 0;\r\n var qMasculino: number = 0;\r\n\r\n if (props.products && props.products.length > 0 && !props.isLoading) {\r\n qSuperior =\r\n props.products.filter((element: any) => {\r\n return (element.BodyArea?.Id || 0) === E_BodyArea.TOP;\r\n }).length || 0;\r\n qInferior =\r\n props.products.filter((element: any) => {\r\n return (element.BodyArea?.Id || 0) === E_BodyArea.BOTTOM;\r\n }).length || 0;\r\n qFemenino =\r\n props.products.filter((element: any) => {\r\n return (element.Gender?.Id || 0) === E_GenderType.FEMALE;\r\n }).length || 0;\r\n qMasculino =\r\n props.products.filter((element: any) => {\r\n return (element.Gender?.Id || 0) === E_GenderType.MALE;\r\n }).length || 0;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n {props.showTitle ? (\r\n

\r\n {\" \"}\r\n \r\n

\r\n ) : (\r\n <>\r\n )}\r\n \r\n {/* {\r\n (props.handlerDownload) ?\r\n \r\n \r\n Exportar\r\n \r\n }>\r\n \r\n \r\n \r\n : <>\r\n } */}\r\n
\r\n {qSuperior && qInferior ? (\r\n \r\n \r\n }\r\n quantity={qSuperior}\r\n StateFilter={isFilterTop}\r\n ClickSuscribe={onSearchSuperior}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qSuperior && qInferior ? (\r\n \r\n \r\n }\r\n quantity={qInferior}\r\n StateFilter={isFilterBottom}\r\n ClickSuscribe={onSearchInferior}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qFemenino && qMasculino ? (\r\n \r\n \r\n }\r\n quantity={qFemenino}\r\n StateFilter={isFilterFemale}\r\n ClickSuscribe={onSearchFemenino}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {qFemenino && qMasculino ? (\r\n \r\n \r\n }\r\n quantity={qMasculino}\r\n StateFilter={isFilterMale}\r\n ClickSuscribe={onSearchMasculino}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {props.handlerDownload ? (\r\n // \r\n \r\n \r\n \r\n }\r\n >\r\n onClickDownload(selection)}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n // \r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n {selection && selection.length > 1 && props.handlerDeleteGroup ? (\r\n
\r\n onClickDeleteGroup(selection)}\r\n >\r\n
\r\n ) : (\r\n <>\r\n )}\r\n {selection &&\r\n selection.length > 1 &&\r\n props.handlerAddSizeGuideGroup ? (\r\n
\r\n onClickAddSizeGuideGroup(selection)}\r\n >\r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n const renderSize = (rowData: any) => {\r\n try {\r\n if (rowData && rowData.Sizes) {\r\n return rowData.Sizes.map((element: any) => element.Name).join(\", \");\r\n } else {\r\n return \"\";\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n const renderCategories = (rowData: any) => {\r\n try {\r\n /* console.log('renderCategories', rowData);*/\r\n\r\n //if (rowData && rowData.PlatformCategory) {\r\n // return rowData.PlatformCategory.map(\r\n // (element: any) => element.Name\r\n // ).join(\", \");\r\n //} else {\r\n // return \"\";\r\n //}\r\n\r\n if (rowData && rowData.ProductType) {\r\n return rowData.ProductType.Name;\r\n } else {\r\n return \"\";\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderVariants = (rowData: any) => {\r\n try {\r\n if (rowData && rowData.VariantsId) {\r\n const variants: string = rowData.VariantsId.join(\", \");\r\n\r\n return variants.length > 20\r\n ? variants.substring(0, 20).trim() + \"...\"\r\n : variants.trim();\r\n } else {\r\n return \"\";\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n const renderRowEdit = (rowData: any, event: any) => {\r\n try {\r\n return (\r\n <>\r\n
\r\n Editar}\r\n >\r\n onClickEdit(rowData)}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.log(error);\r\n\r\n return <>;\r\n }\r\n };\r\n\r\n const renderRowDuplicate = (rowData: any, event: any) => {\r\n try {\r\n return (\r\n <>\r\n
\r\n Duplicar}\r\n >\r\n onClickClone(rowData)}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.log(error);\r\n\r\n return <>;\r\n }\r\n };\r\n\r\n const renderRowDelete = (rowData: any, event: any) => {\r\n try {\r\n return (\r\n <>\r\n
\r\n Borrar}\r\n >\r\n {\r\n setShowModal(true);\r\n setSelectedRowData(rowData);\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.log(error);\r\n return <>;\r\n }\r\n };\r\n\r\n const renderActionRow = (event: any) => {\r\n // console.log('renderActionRow', event);\r\n\r\n return (\r\n <>\r\n
handleClick(e)}>\r\n \r\n \r\n \r\n \r\n {props.handlerEdit ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n onClickEdit(e)}\r\n >\r\n Editar\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {props.handlerClone ? (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n props.handlerClone(event)}\r\n >\r\n Duplicar\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {props.handlerDelete ? (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n props.handlerDelete(event)}\r\n >\r\n Eliminar\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n\r\n const handleClick = (event: any) => {\r\n // console.log('Menu handleClick', {event: event, handlerAction: isHandlerActionRaised });\r\n\r\n try {\r\n setShow(!show);\r\n\r\n if (!show && !isHandlerActionRaised) {\r\n console.log(\"Menu handleClick SetTarget\", event);\r\n console.log(\r\n \"Menu handleClick SetTarget\",\r\n event.target.parentElement.parentElement\r\n );\r\n // console.log('Menu handleClick SetTarget P0', event.target.parentElement.attributes['data-product'].nodeValue);\r\n // console.log('Menu handleClick SetTarget P1', event.target.parentElement.parentElement.attributes['data-product'].nodeValue);\r\n\r\n if (event.target.parentElement.attributes[\"data-product\"])\r\n console.log(\r\n \"Menu handleClick SetTarget P0\",\r\n event.target.parentElement.attributes[\"data-product\"].nodeValue\r\n );\r\n if (event.target.parentElement.parentElement.attributes[\"data-product\"])\r\n console.log(\r\n \"Menu handleClick SetTarget P0\",\r\n event.target.parentElement.parentElement.attributes[\"data-product\"]\r\n .nodeValue\r\n );\r\n\r\n setTarget(event.target.parentElement.parentElement);\r\n\r\n if (event.target.parentElement.attributes[\"data-product\"])\r\n setTargetDataProduct(\r\n parseInt(\r\n event.target.parentElement.attributes[\"data-product\"].nodeValue ||\r\n \"0\"\r\n )\r\n );\r\n if (event.target.parentElement.parentElement.attributes[\"data-product\"])\r\n setTargetDataProduct(\r\n parseInt(\r\n event.target.parentElement.parentElement.attributes[\r\n \"data-product\"\r\n ].nodeValue || \"0\"\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n onSelectionChange(e)}\r\n size=\"small\"\r\n filters={filters}\r\n globalFilterFields={[\r\n \"Code\",\r\n \"Description\",\r\n \"BodyArea.Name\",\r\n \"Gender.Name\",\r\n \"FitType.Name\",\r\n \"SizeGuide.Name\",\r\n ]}\r\n loading={props.isLoading || false}\r\n >\r\n {props.handlerSelectionRow ? (\r\n \r\n ) : null}\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"100px\" }}\r\n className=\"product-grid-modelo\"\r\n >\r\n \r\n }\r\n body={renderVariants}\r\n // bodyClassName={\"text-nowrap\"}\r\n style={{ minWidth: \"130px\" }}\r\n className=\"product-grid-sku\"\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"130px\" }}\r\n className=\"product-grid-descripcion\"\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"100px\" }}\r\n className=\"product-grid-bodyarea\"\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"100px\" }}\r\n className=\"product-grid-gender\"\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"60px\" }}\r\n className=\"product-grid-fit\"\r\n >\r\n \r\n }\r\n body={renderSize}\r\n style={{ minWidth: \"70px\" }}\r\n className=\"product-grid-talle\"\r\n >\r\n \r\n }\r\n body={renderCategories}\r\n style={{ minWidth: \"100px\" }}\r\n className=\"product-grid-categoria\"\r\n >\r\n \r\n }\r\n sortable\r\n style={{ minWidth: \"100px\" }}\r\n className=\"product-grid-name\"\r\n >\r\n {/* ESTE ES EL EDITAR */}\r\n {props.handlerEdit ? (\r\n renderRowEdit(rowData, event)}\r\n bodyClassName={`${\r\n !props.handlerClone && !props.handlerDelete ? \"me-3\" : \"\"\r\n }`}\r\n style={{ maxWidth: \"35px\", minWidth: \"20px\" }}\r\n >\r\n ) : null}\r\n {/* ESTE ES CLONE? */}\r\n {props.handlerClone ? (\r\n renderRowDuplicate(rowData, event)}\r\n bodyClassName={!props.handlerDelete ? \"me-3\" : \"\"}\r\n style={{ maxWidth: \"35px\", minWidth: \"20px\" }}\r\n >\r\n ) : null}\r\n {/* ESTE ES EL DELETE */}\r\n {props.handlerDelete ? (\r\n renderRowDelete(rowData, event)}\r\n bodyClassName={`me-3`}\r\n style={{ maxWidth: \"35px\", minWidth: \"20px\" }}\r\n >\r\n ) : null}\r\n {/* {props.handlerEdit ||\r\n props.handlerClone ||\r\n props.handlerDelete ? (\r\n \r\n ) : null} */}\r\n \r\n {\r\n setShowModal(false);\r\n setSelectedRowData(null);\r\n }}\r\n deleteFunction={props.handlerDelete}\r\n rowData={selectedRowData}\r\n setShowModal={setShowModal}\r\n setSelectedRowData={setSelectedRowData}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DataTableProducts;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"./MercadoShopsTable.css\";\r\nimport { Button } from \"primereact/button\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { ButtonCommon, CustomButton, ColumnSelectFitType, ColumnSelectSizeGuide, Tooltip, ModalIntroMs } from \"../../common\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport { ProductServices, StorageServices, UserServices } from \"../../../services\";\r\nimport PlatformsService from \"../../../services/platform-services/PlatformService\";\r\n\r\ninterface PlatformProduct {\r\n CompanyId: number;\r\n Id?: number;\r\n Name: string;\r\n SizeGuide: any;\r\n Sizes: string[];\r\n Status: any;\r\n FitType: any;\r\n ImageUrl: string;\r\n Classified: boolean;\r\n PlatformCode: string;\r\n PlatformProductId: number;\r\n Modified: boolean;\r\n}\r\n\r\nexport default function MercadoShopsTable() {\r\n const synchMarketplace =\r\n StorageServices.GetCookieUser().ShowOnBoardMarketplace;\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: \"contains\" },\r\n });\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [products, setProducts] = useState([]);\r\n const [selectedProducts, setSelectedProducts] = useState(\r\n []\r\n );\r\n const [first, setFirst] = useState(0);\r\n const [rows, setRows] = useState(10);\r\n const [globalFilter, setGlobalFilter] = useState(\"\");\r\n const [noClasificadoCount, setNoClasificadoCount] = useState(0);\r\n const [deshabilitadoCount, setDeshabilitadoCount] = useState(0);\r\n const [modificadosCount, setModificadosCount] = useState(0);\r\n const [filterNoClasificado, setFilterNoClasificado] =\r\n useState(false);\r\n const [filterDeshabilitado, setFilterDeshabilitado] =\r\n useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(\r\n StorageServices.GetCookieUser().ShowOnBoardMarketplace || false\r\n );\r\n const [selectedLanguage, setSelectedLanguage] = useState(\r\n localStorage.getItem(\"locale\") || \"en\"\r\n );\r\n\r\n async function getProductos() {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getProductResponse = await ProductServices.GetPlatformProducts();\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n setProducts(getProductResponse.Content);\r\n\r\n calculateStatusCounts(getProductResponse.Content);\r\n } else {\r\n setProducts([]);\r\n calculateStatusCounts([]);\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isModalOpen) {\r\n document.body.style.overflow = \"hidden\";\r\n } else {\r\n document.body.style.overflow = \"unset\";\r\n }\r\n\r\n if (!synchMarketplace) getProductos();\r\n }, [isModalOpen, products.length]);\r\n\r\n const calculateStatusCounts = (data: PlatformProduct[]) => {\r\n const noClasificadoItems = data.filter((item) => !item.Classified);\r\n\r\n setNoClasificadoCount(noClasificadoItems.length);\r\n\r\n const deshabilitadoItems = data.filter((item) => item.Status.Id !== 1);\r\n\r\n setDeshabilitadoCount(deshabilitadoItems.length);\r\n\r\n const modificadosItems = data.filter((item) => item.Modified);\r\n\r\n setModificadosCount(modificadosItems.length);\r\n };\r\n\r\n const imageBodyTemplate = (product: PlatformProduct) => {\r\n const defaultImageUrl = \"img/readysizelogo.png\";\r\n const imageUrl = product.ImageUrl || defaultImageUrl;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n const SizeGuideBodyTemplate = (product: PlatformProduct) => {\r\n return (\r\n handleSizeGuideChange(product, e)}\r\n />\r\n );\r\n };\r\n\r\n const FitBodyTemplate = (product: PlatformProduct) => {\r\n return (\r\n handleFitTypeChange(product, e)}\r\n />\r\n );\r\n };\r\n\r\n const handleStatusChange = (product: PlatformProduct, newValue: boolean) => {\r\n const newCondicion = newValue;\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? {\r\n ...p,\r\n Status: {\r\n Id: newCondicion ? 1 : 2,\r\n Name: newCondicion ? \"HABILITADO\" : \"DESHABILITADO\",\r\n },\r\n Modified: true,\r\n }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n calculateStatusCounts(updatedProducts);\r\n };\r\n\r\n const handleSizeGuideChange = (product: PlatformProduct, newValue: any) => {\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? {\r\n ...p,\r\n SizeGuide: { Id: newValue, Name: \"\" },\r\n Classified: true,\r\n Status: { Id: 1, Name: \"HABILITADO\" },\r\n Modified: true,\r\n }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n calculateStatusCounts(updatedProducts);\r\n };\r\n\r\n const handleFitTypeChange = (product: PlatformProduct, newValue: any) => {\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? { ...p, FitType: { Id: newValue, Name: \"\" }, Modified: true }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n calculateStatusCounts(updatedProducts);\r\n };\r\n\r\n const SizesBodyTemplate = (product: PlatformProduct) => {\r\n return product.Sizes?.join(\", \"); // Join the talle array with commas\r\n };\r\n\r\n const StatusBodyTemplate = (product: PlatformProduct) => {\r\n let condicionStyle = \"condicion-badge\";\r\n let condicionText = \"\";\r\n\r\n if (product.Status.Id === 1) {\r\n condicionStyle += \" habilitado\";\r\n condicionText = \"\"; //\"Habilitado\";\r\n } else {\r\n condicionStyle += \" condicion-deshabilitado\";\r\n condicionText = \"\"; // \"Deshabilitado\";\r\n }\r\n\r\n condicionStyle = \"\";\r\n\r\n return (\r\n
\r\n {condicionText}\r\n e.stopPropagation()}\r\n onClick={(e) => e.stopPropagation()}\r\n className=\"estado-switch-main-container\"\r\n >\r\n handleStatusChange(product, e.value)}\r\n />\r\n
\r\n \r\n );\r\n };\r\n\r\n //const ratingBodyTemplate = (product: Product) => {\r\n // return ;\r\n //};\r\n\r\n const ClassifiedBodyTemplate = (product: PlatformProduct) => {\r\n let statusStyle = \"estado-badge\";\r\n let statusText: React.ReactNode = \"\"; // Explicitly type statusText as React.ReactNode\r\n\r\n if (product.Classified) {\r\n statusText = (\r\n \r\n );\r\n statusStyle += \" estado-clasificado\"; // Add estado-clasificado class if product is classified\r\n } else {\r\n // Display an empty string instead of \"No Clasificado\"\r\n statusText = \"\";\r\n }\r\n\r\n return (\r\n \r\n {statusText}\r\n \r\n );\r\n };\r\n\r\n const RefreshBodyTemplate = (product: PlatformProduct) => {\r\n return (\r\n <>\r\n onClickRefreshItem(product)}\r\n className=\"ms-refresh-button\"\r\n />\r\n \r\n );\r\n };\r\n\r\n const handleNoClasificadoClick = () => {\r\n try {\r\n\r\n let _filters = { ...filters };\r\n let value: any = null;\r\n\r\n if (!(filterNoClasificado)) value = false;\r\n\r\n if ((value === null) && (filterDeshabilitado)) value = \"Deshabilitado\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setFilterNoClasificado(!filterNoClasificado);\r\n setFilters(filters);\r\n } catch (e) {\r\n console.log(\"ERROR handleNoClasificadoClick\", e);\r\n\r\n }\r\n };\r\n\r\n const handleDeshabilitadoClick = () => {\r\n try {\r\n\r\n let _filters = { ...filters };\r\n let value: any = null;\r\n\r\n if (!(filterDeshabilitado)) value = \"Deshabilitado\";\r\n\r\n if ((value === null) && (filterNoClasificado)) value = false;\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setFilterDeshabilitado(!filterDeshabilitado);\r\n setFilters(filters);\r\n\r\n } catch (e) {\r\n console.log(\"ERROR handleDeshabilitadoClick\", e);\r\n\r\n }\r\n };\r\n\r\n const onClickSave = async () => {\r\n try {\r\n const updateProducts = products.filter((p) => {\r\n return p.Modified || false;\r\n });\r\n\r\n if (updateProducts && updateProducts.length > 0) {\r\n setIsLoading(true);\r\n\r\n const getProductResponse = await ProductServices.PostPlatformProducts(\r\n updateProducts\r\n );\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n if (getProductResponse.Content) {\r\n await getProductos();\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n }\r\n\r\n //console.log('updateProducts Save', updateProducts);\r\n } catch (e) {\r\n console.log(\"ERROR SAVE\", e);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const onClickRefresh = async () => {\r\n try {\r\n await getProductos();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickRefreshItem = async (product: PlatformProduct) => {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getMarketplaceResponse =\r\n await PlatformsService.GetMercadoShopsItemDetail(product.PlatformCode);\r\n\r\n if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n const getProductResponse = await ProductServices.GetPlatformProduct(\r\n product.PlatformCode\r\n );\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n const productPlatform: PlatformProduct =\r\n getProductResponse.Content[0];\r\n\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? {\r\n ...p,\r\n Name: productPlatform.Name,\r\n ImageUrl: productPlatform.ImageUrl,\r\n Sizes: productPlatform.Sizes,\r\n }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const onClickSynchMarketPlace = async () => {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getMarketplaceResponse =\r\n await PlatformsService.GetMercadoShopsSearchItems(true);\r\n\r\n if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n await getProductos();\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const intl = useIntl();\r\n\r\n const header = (\r\n
\r\n
\r\n {/**/}\r\n {/* \r\n */}\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n */}\r\n setGlobalFilter(e.target.value)}\r\n placeholder={intl.formatMessage({\r\n id: \"ms-table-column-search\",\r\n defaultMessage: \"Buscar producto...\",\r\n })}\r\n className=\"p-inputtext p-component\"\r\n />\r\n {/**/}\r\n {/* }*/}\r\n {/* isOutline={true}*/}\r\n {/* eventClick={() => onClickSynchMarketPlace()}*/}\r\n {/*/>*/}\r\n\r\n
\r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onClickRefresh()}\r\n />\r\n {/* onClickRefresh()}\r\n // rounded\r\n // raised\r\n className=\"ms-refresh-button\"\r\n /> */}\r\n
\r\n {/* */}\r\n {/**/}\r\n {/* }*/}\r\n {/* isOutline={false}*/}\r\n {/* eventClick={() => onClickSave()}*/}\r\n {/*/>*/}\r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickSynchMarketPlace()}\r\n Styles={{ width: (modificadosCount || 0) === 0 ? \"220px\" : \"320px\" }}\r\n />\r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onClickSave()}\r\n Badge={modificadosCount}\r\n Styles={{ width: (modificadosCount || 0) === 0 ? \"100px\" : \"210px\" }}\r\n />\r\n
\r\n \r\n );\r\n\r\n const headerCondition = () => {\r\n return (\r\n
\r\n

\r\n \r\n

\r\n {/* \r\n \r\n */}\r\n \r\n
\r\n );\r\n };\r\n\r\n const headerEnabled = () => {\r\n return (\r\n
\r\n

\r\n \r\n

\r\n {/* \r\n \r\n */}\r\n \r\n
\r\n );\r\n };\r\n\r\n const footer = (\r\n <>\r\n {\" \"}\r\n {products ? products.length : 0}{\" \"}\r\n .\r\n \r\n );\r\n\r\n // const footer = `En total hay ${products ? products.length : 0} productos.`;\r\n\r\n const onPageChange = (event: any) => {\r\n setFirst(event.first);\r\n setRows(event.rows);\r\n };\r\n\r\n const onCloseModalOnBoarding = async () => {\r\n try {\r\n setIsModalOpen(false);\r\n setIsLoading(true);\r\n\r\n try {\r\n const postStatusOnBoarding = await UserServices.UpdateStatusOnBoarding(2);\r\n\r\n if (postStatusOnBoarding && postStatusOnBoarding.Status === 200) {\r\n // Get the current user\r\n let user = StorageServices.GetCookieUser();\r\n\r\n // Update the ShowOnBoardMarketplace property\r\n user.ShowOnBoardMarketplace = false;\r\n\r\n // Save the updated user back to the cookie\r\n StorageServices.SetCookieUser(user);\r\n }\r\n\r\n } catch (eOnBoarding) {\r\n console.log('ERROR Update OnBoarding', eOnBoarding);\r\n }\r\n\r\n const getMarketplaceResponse =\r\n await PlatformsService.GetMercadoShopsSearchItems(true);\r\n\r\n if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n await getProductos();\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n //const statusField = \"inventoryStatus\";\r\n\r\n return (\r\n
\r\n {isModalOpen && (\r\n onCloseModalOnBoarding()}\r\n selectedLanguage={selectedLanguage as \"en\" | \"es\" | \"pt\"} // Ensure selectedLanguage is of type \"en\" | \"es\" | \"pt\"\r\n user={StorageServices.GetCookieUser()}\r\n />\r\n )}\r\n \r\n }\r\n selectionMode=\"multiple\"\r\n selection={selectedProducts}\r\n onSelectionChange={(e) => setSelectedProducts(e.value)}\r\n loading={isLoading}\r\n >\r\n \r\n \r\n }\r\n body={imageBodyTemplate}\r\n >\r\n \r\n }\r\n sortable\r\n >\r\n \r\n }\r\n sortable\r\n >\r\n \r\n }\r\n body={SizeGuideBodyTemplate}\r\n >\r\n \r\n }\r\n body={SizesBodyTemplate}\r\n >\r\n \r\n }\r\n body={FitBodyTemplate}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./MercadoShops.css\";\r\nimport MercadoShopsTable from \"../components/MercadoShopsTable\";\r\nimport { FormattedMessage } from \"react-intl\";\r\n\r\nconst MercadoShops = () => {\r\n return (\r\n
\r\n
\r\n
\r\n

\r\n \r\n

\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MercadoShops;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"./TiendaNubeTable.css\";\r\nimport { Button } from \"primereact/button\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { ButtonCommon, CustomButton, ColumnSelectFitType, ColumnSelectSizeGuide, Tooltip, ModalIntroMs } from \"../../common\";\r\nimport { FormattedMessage, useIntl } from \"react-intl\";\r\nimport { ProductServices, StorageServices, UserServices, PlatformServices } from \"../../../services\";\r\nimport { Tools } from \"../../../misc\";\r\n\r\ninterface PlatformProduct {\r\n CompanyId: number;\r\n Id?: number;\r\n Name: string;\r\n SizeGuide: any;\r\n Sizes: string[];\r\n Status: any;\r\n FitType: any;\r\n ImageUrl: string;\r\n Classified: boolean;\r\n PlatformCode: string;\r\n PlatformProductId: number;\r\n Modified: boolean;\r\n}\r\n\r\nexport default function TiendaNubeTable() {\r\n const synchMarketplace =\r\n StorageServices.GetCookieUser().ShowOnBoardMarketplace;\r\n\r\n const [filters, setFilters] = useState({\r\n global: { value: null, matchMode: \"contains\" },\r\n });\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [products, setProducts] = useState([]);\r\n const [selectedProducts, setSelectedProducts] = useState(\r\n []\r\n );\r\n const [first, setFirst] = useState(0);\r\n const [rows, setRows] = useState(10);\r\n const [globalFilter, setGlobalFilter] = useState(\"\");\r\n const [noClasificadoCount, setNoClasificadoCount] = useState(0);\r\n const [deshabilitadoCount, setDeshabilitadoCount] = useState(0);\r\n const [modificadosCount, setModificadosCount] = useState(0);\r\n const [filterNoClasificado, setFilterNoClasificado] =\r\n useState(false);\r\n const [filterDeshabilitado, setFilterDeshabilitado] =\r\n useState(false);\r\n const [isModalOpen, setIsModalOpen] = useState(\r\n StorageServices.GetCookieUser().ShowOnBoardMarketplace || false\r\n );\r\n const [selectedLanguage, setSelectedLanguage] = useState(\r\n localStorage.getItem(\"locale\") || \"en\"\r\n );\r\n\r\n async function getProductos() {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getProductResponse = await ProductServices.GetPlatformProducts();\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n setProducts(getProductResponse.Content);\r\n\r\n calculateStatusCounts(getProductResponse.Content);\r\n } else {\r\n setProducts([]);\r\n calculateStatusCounts([]);\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (isModalOpen) {\r\n document.body.style.overflow = \"hidden\";\r\n } else {\r\n document.body.style.overflow = \"unset\";\r\n }\r\n\r\n if (!synchMarketplace) getProductos();\r\n }, [isModalOpen, products.length]);\r\n\r\n const calculateStatusCounts = (data: PlatformProduct[]) => {\r\n const noClasificadoItems = data.filter((item) => !item.Classified);\r\n\r\n setNoClasificadoCount(noClasificadoItems.length);\r\n\r\n const deshabilitadoItems = data.filter((item) => item.Status.Id !== 1);\r\n\r\n setDeshabilitadoCount(deshabilitadoItems.length);\r\n\r\n const modificadosItems = data.filter((item) => item.Modified);\r\n\r\n setModificadosCount(modificadosItems.length);\r\n };\r\n\r\n const imageBodyTemplate = (product: PlatformProduct) => {\r\n const defaultImageUrl = \"img/readysizelogo.png\";\r\n const imageUrl = product.ImageUrl || defaultImageUrl;\r\n\r\n return (\r\n \r\n );\r\n };\r\n\r\n const SizeGuideBodyTemplate = (product: PlatformProduct) => {\r\n return (\r\n handleSizeGuideChange(product, e)}\r\n />\r\n );\r\n };\r\n\r\n const FitBodyTemplate = (product: PlatformProduct) => {\r\n return (\r\n handleFitTypeChange(product, e)}\r\n />\r\n );\r\n };\r\n\r\n const handleStatusChange = (product: PlatformProduct, newValue: boolean) => {\r\n const newCondicion = newValue;\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? {\r\n ...p,\r\n Status: {\r\n Id: newCondicion ? 1 : 2,\r\n Name: newCondicion ? \"HABILITADO\" : \"DESHABILITADO\",\r\n },\r\n Modified: true,\r\n }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n calculateStatusCounts(updatedProducts);\r\n };\r\n\r\n const handleSizeGuideChange = (product: PlatformProduct, newValue: any) => {\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? {\r\n ...p,\r\n SizeGuide: { Id: newValue, Name: \"\" },\r\n Classified: true,\r\n Status: { Id: 1, Name: \"HABILITADO\" },\r\n Modified: true,\r\n }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n calculateStatusCounts(updatedProducts);\r\n };\r\n\r\n const handleFitTypeChange = (product: PlatformProduct, newValue: any) => {\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? { ...p, FitType: { Id: newValue, Name: \"\" }, Modified: true }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n calculateStatusCounts(updatedProducts);\r\n };\r\n\r\n const SizesBodyTemplate = (product: PlatformProduct) => {\r\n return product.Sizes?.join(\", \"); // Join the talle array with commas\r\n };\r\n\r\n const StatusBodyTemplate = (product: PlatformProduct) => {\r\n let condicionStyle = \"condicion-badge\";\r\n let condicionText = \"\";\r\n\r\n if (product.Status.Id === 1) {\r\n condicionStyle += \" habilitado\";\r\n condicionText = \"\"; //\"Habilitado\";\r\n } else {\r\n condicionStyle += \" condicion-deshabilitado\";\r\n condicionText = \"\"; // \"Deshabilitado\";\r\n }\r\n\r\n condicionStyle = \"\";\r\n\r\n return (\r\n
\r\n {condicionText}\r\n e.stopPropagation()}\r\n onClick={(e) => e.stopPropagation()}\r\n className=\"estado-switch-main-container\"\r\n >\r\n handleStatusChange(product, e.value)}\r\n />\r\n
\r\n \r\n );\r\n };\r\n\r\n //const ratingBodyTemplate = (product: Product) => {\r\n // return ;\r\n //};\r\n\r\n const ClassifiedBodyTemplate = (product: PlatformProduct) => {\r\n let statusStyle = \"estado-badge\";\r\n let statusText = \"\";\r\n\r\n if (product.Classified) {\r\n statusText = \"Clasificado\";\r\n statusStyle += \" estado-clasificado\"; // Add estado-clasificado class if product is classified\r\n } else {\r\n // Display an empty string instead of \"No Clasificado\"\r\n statusText = \"\";\r\n }\r\n\r\n return (\r\n \r\n {statusText}\r\n \r\n );\r\n };\r\n\r\n const RefreshBodyTemplate = (product: PlatformProduct) => {\r\n return (\r\n <>\r\n onClickRefreshItem(product)}\r\n className=\"ms-refresh-button\"\r\n />\r\n \r\n );\r\n };\r\n\r\n const handleNoClasificadoClick = () => {\r\n\r\n try {\r\n\r\n let _filters = { ...filters };\r\n let value: any = null;\r\n\r\n if (Tools.IsDevelopment()) console.log('handleNoClasificadoClick Filters', _filters);\r\n\r\n if (!(filterNoClasificado)) value = false;\r\n\r\n if ((value === null) && (filterDeshabilitado)) value = \"Deshabilitado\";\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setFilterNoClasificado(!filterNoClasificado);\r\n setFilters(filters);\r\n } catch (e) {\r\n console.log(\"ERROR handleNoClasificadoClick\", e);\r\n\r\n }\r\n\r\n };\r\n\r\n const handleDeshabilitadoClick = () => {\r\n\r\n try {\r\n\r\n let _filters = { ...filters };\r\n let value: any = null;\r\n\r\n if (Tools.IsDevelopment()) console.log('handleDeshabilitadoClick Filters', _filters);\r\n\r\n if (!(filterDeshabilitado)) value = \"Deshabilitado\";\r\n\r\n if ((value === null) && (filterNoClasificado)) value = false;\r\n\r\n _filters[\"global\"].value = value;\r\n\r\n setFilterDeshabilitado(!filterDeshabilitado);\r\n setFilters(filters);\r\n\r\n } catch (e) {\r\n console.log(\"ERROR handleDeshabilitadoClick\", e);\r\n\r\n }\r\n\r\n };\r\n\r\n //const filteredProducts = products.filter((product) => {\r\n // if (filterNoClasificado && filterDeshabilitado) {\r\n // //return (\r\n // // product.inventoryStatus.toLowerCase() === \"no clasificado\" &&\r\n // // product.condicion.toLowerCase() === \"deshabilitado\"\r\n // // );\r\n // return !product.Classified && product.Status.Id !== 1;\r\n // } else if (filterNoClasificado) {\r\n // //return product.inventoryStatus.toLowerCase() === \"no clasificado\";\r\n // return !product.Classified;\r\n // } else if (filterDeshabilitado) {\r\n // //return product.condicion.toLowerCase() === \"deshabilitado\";\r\n // return product.Status.Id !== 1;\r\n // } else {\r\n // return true;\r\n // }\r\n //});\r\n\r\n const onClickSave = async () => {\r\n try {\r\n const updateProducts = products.filter((p) => {\r\n return p.Modified || false;\r\n });\r\n\r\n if (updateProducts && updateProducts.length > 0) {\r\n setIsLoading(true);\r\n\r\n const getProductResponse = await ProductServices.PostPlatformProducts(\r\n updateProducts\r\n );\r\n\r\n if (getProductResponse && getProductResponse.Status === 200) {\r\n if (getProductResponse.Content) {\r\n await getProductos();\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n }\r\n\r\n //console.log('updateProducts Save', updateProducts);\r\n } catch (e) {\r\n console.log(\"ERROR SAVE\", e);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const onClickRefresh = async () => {\r\n try {\r\n await getProductos();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onClickRefreshItem = async (product: PlatformProduct) => {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getMarketplaceResponse = await PlatformServices.GetTiendaNubeItemDetail(product.PlatformCode);\r\n\r\n //if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n // const getProductResponse = await ProductService.GetPlatformProduct(\r\n // product.PlatformCode\r\n // );\r\n\r\n if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n const productPlatform: PlatformProduct = getMarketplaceResponse.Content;\r\n\r\n const updatedProducts = products.map((p) =>\r\n p.PlatformProductId === product.PlatformProductId\r\n ? {\r\n ...p,\r\n Name: productPlatform.Name,\r\n ImageUrl: productPlatform.ImageUrl,\r\n Sizes: productPlatform.Sizes,\r\n }\r\n : p\r\n );\r\n\r\n setProducts(updatedProducts);\r\n }\r\n //}\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const onClickSynchMarketPlace = async () => {\r\n try {\r\n setIsLoading(true);\r\n\r\n const getMarketplaceResponse =\r\n await PlatformServices.GetTiendaNubeSearchItems();\r\n\r\n if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n await getProductos();\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const intl = useIntl();\r\n\r\n const header = (\r\n
\r\n
\r\n {/**/}\r\n {/* \r\n */}\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n */}\r\n setGlobalFilter(e.target.value)}\r\n placeholder={intl.formatMessage({\r\n id: \"ms-table-column-search\",\r\n defaultMessage: \"Buscar producto...\",\r\n })}\r\n className=\"p-inputtext p-component\"\r\n />\r\n {/**/}\r\n {/* }*/}\r\n {/* isOutline={true}*/}\r\n {/* eventClick={() => onClickSynchMarketPlace()}*/}\r\n {/*/>*/}\r\n\r\n
\r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onClickRefresh()}\r\n />\r\n {/* onClickRefresh()}\r\n // rounded\r\n // raised\r\n className=\"ms-refresh-button\"\r\n /> */}\r\n
\r\n {/* */}\r\n {/**/}\r\n {/* }*/}\r\n {/* isOutline={false}*/}\r\n {/* eventClick={() => onClickSave()}*/}\r\n {/*/>*/}\r\n \r\n }\r\n isOutline={true}\r\n eventClick={() => onClickSynchMarketPlace()}\r\n Styles={{ width: (modificadosCount || 0) === 0 ? \"220px\" : \"320px\" }}\r\n />\r\n \r\n }\r\n isOutline={false}\r\n eventClick={() => onClickSave()}\r\n Badge={modificadosCount}\r\n Styles={{ width: (modificadosCount || 0) === 0 ? \"100px\" : \"210px\" }}\r\n />\r\n
\r\n \r\n );\r\n\r\n const headerCondition = () => {\r\n return (\r\n
\r\n

\r\n \r\n

\r\n {/* \r\n \r\n */}\r\n \r\n
\r\n );\r\n };\r\n\r\n const headerEnabled = () => {\r\n return (\r\n
\r\n

\r\n \r\n

\r\n {/* \r\n \r\n */}\r\n \r\n
\r\n );\r\n };\r\n\r\n const footer = (\r\n <>\r\n {\" \"}\r\n {products ? products.length : 0}{\" \"}\r\n .\r\n \r\n );\r\n\r\n const onPageChange = (event: any) => {\r\n setFirst(event.first);\r\n setRows(event.rows);\r\n };\r\n\r\n const onCloseModalOnBoarding = async () => {\r\n try {\r\n setIsModalOpen(false);\r\n setIsLoading(true);\r\n\r\n try {\r\n const postStatusOnBoarding = await UserServices.UpdateStatusOnBoarding(2);\r\n\r\n if (postStatusOnBoarding && postStatusOnBoarding.Status === 200) {\r\n // Get the current user\r\n let user = StorageServices.GetCookieUser();\r\n\r\n // Update the ShowOnBoardMarketplace property\r\n user.ShowOnBoardMarketplace = false;\r\n\r\n // Save the updated user back to the cookie\r\n StorageServices.SetCookieUser(user);\r\n }\r\n\r\n } catch (eOnBoarding) {\r\n console.log('ERROR Update OnBoarding', eOnBoarding);\r\n }\r\n\r\n const getMarketplaceResponse = await PlatformServices.GetTiendaNubeSearchItems();\r\n\r\n if (getMarketplaceResponse && getMarketplaceResponse.Status === 200) {\r\n await getProductos();\r\n }\r\n\r\n setIsLoading(false);\r\n } catch (error) {\r\n console.log(error);\r\n\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {isModalOpen && (\r\n onCloseModalOnBoarding()}\r\n selectedLanguage={selectedLanguage as \"en\" | \"es\" | \"pt\"} // Ensure selectedLanguage is of type \"en\" | \"es\" | \"pt\"\r\n user={StorageServices.GetCookieUser()}\r\n />\r\n )}\r\n \r\n }\r\n selectionMode=\"multiple\"\r\n selection={selectedProducts}\r\n onSelectionChange={(e) => setSelectedProducts(e.value)}\r\n loading={isLoading}\r\n >\r\n \r\n \r\n }\r\n body={imageBodyTemplate}\r\n >\r\n \r\n }\r\n sortable\r\n >\r\n \r\n }\r\n sortable\r\n >\r\n \r\n }\r\n body={SizeGuideBodyTemplate}\r\n >\r\n \r\n }\r\n body={SizesBodyTemplate}\r\n >\r\n \r\n }\r\n body={FitBodyTemplate}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./TiendaNube.css\";\r\nimport TiendaNubeTable from \"../components/TiendaNubeTable\";\r\n\r\nconst TiendaNube = () => {\r\n return (\r\n
\r\n
\r\n
\r\n

Productos

\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TiendaNube;\r\n"],"sourceRoot":""}