{"version":3,"sources":["config.js","redux/hor/module/selectors.js","redux/utils/createOrmSelector/index.js","redux/utils/fetchWithView.js","redux/hor/module/generator.js","utils/api/utils/formatHeaders/formatHeaders.ts","utils/api/get.ts","utils/api/post.ts","utils/api/put.ts","utils/api/delete/delete.js","utils/getKeyInfo/getKeyInfo.js","icons/support.svg","redux/selectors/getUserSupplementGroups/index.js","redux/selectors/getCatalogGroups/index.js","redux/selectors/getCatalogGroup/index.js","redux/selectors/getAbstractNorm/index.js","redux/selectors/getChartNorm/index.js","redux/selectors/getInstitutionSubscription/index.js","redux/selectors/getTariffsAll/index.js","redux/selectors/getInstitutionTariffIsTrial/index.ts","redux/selectors/getUserIsPartner/index.js","redux/selectors/getCreateAlert/index.js","redux/selectors/getDefaultIngestions/index.js","redux/selectors/getEatingTypes/index.js","redux/selectors/getPatientDiseaseIsc/index.js","redux/selectors/getDiseaseSpecificList/index.js","redux/selectors/getElementsAdditionalVisible/index.js","redux/modules/subscriptionOperations/selectors.js","redux/selectors/getInstitutionActiveCount/index.js","redux/selectors/getInstitutionSubscriptionEnd/index.ts","redux/selectors/getInstitutionSubscriptionDurationTotal/index.js","redux/selectors/getPartner/index.js","redux/selectors/getSubscriptionUrl/index.js","redux/selectors/getInstitutionBanner/index.js","redux/selectors/getInstitutionDiscount/index.js","redux/selectors/getInstitutionShowSubscription/index.js","redux/selectors/getInstitutionSubscriptionBonusDays/index.js","redux/selectors/getInstitutionSubscriptionDuration/index.ts","redux/selectors/getInstitutionSubscriptionIsExpired/index.js","redux/selectors/getInstitutionSubscriptionStart/index.js","redux/selectors/getInstitutionSubscriptionIsExtended/index.js","redux/selectors/getInstitutionTariffKey/index.js","redux/selectors/getTariff/index.js","redux/selectors/getTariffReal/index.js","redux/selectors/getInstitutionTariff/index.js","redux/selectors/getInstitutionTariffIsSpecial/index.js","redux/selectors/getInstitutionTariffName/index.js","redux/selectors/getInstitutionWorkplaceCount/index.js","redux/selectors/getJournal/index.js","redux/selectors/getLoaderByType/index.js","redux/selectors/getMealsList/index.js","redux/selectors/getMeals/index.js","redux/selectors/getMealsGrouped/index.js","redux/selectors/getMenuCatalog/index.js","redux/selectors/getPatientsList/index.ts","redux/selectors/getMenuPatient/index.js","icons/time.svg","icons/folder.svg","icons/calendar.svg","icons/user.svg","icons/location.svg","icons/personal.svg","icons/v-camera.svg","icons/link.svg","icons/export.svg","redux/selectors/getUserIsSupport/index.js","redux/selectors/getMenuUser/index.js","redux/selectors/getUserPhoneNotification/index.js","redux/selectors/getUserNpaNotification/index.js","redux/selectors/getNotification/index.js","redux/selectors/getPatientAllergenIngredientsGrouped/index.js","redux/selectors/getPatientAllergenIngredients/index.js","redux/selectors/getPatientAuthor/index.js","redux/selectors/getPatientWeight/index.js","redux/selectors/getPatientCorrectionValues/index.js","redux/selectors/getPatientIngestions/index.js","redux/selectors/getPatientIsInArchive/index.js","redux/selectors/getPatientJournal/index.js","redux/selectors/getPatientRationNewKey/index.js","redux/selectors/getPatientPhone/index.js","redux/selectors/getPatientRationNewId/index.js","redux/selectors/getPatientReceptions/index.js","redux/selectors/getPatientReceptionId/index.js","redux/selectors/getPatientReception/index.js","modules/Patient/redux/receptions/selectors.js","redux/selectors/getUserPatients/index.ts","redux/selectors/getUserPatientReceptions/index.js","redux/selectors/getSubscriptionPromocode/index.js","redux/selectors/getSupplementWithStatus/index.js","redux/selectors/getSupplementGrouped/index.js","redux/selectors/getSupportUrl/index.js","redux/selectors/getPaidFutureOneDaySubscriptionOperation/index.js","redux/selectors/getProductComposition/index.js","redux/selectors/getPromocodeDiscount/index.js","redux/selectors/getTariffDays/index.ts","redux/selectors/getTotalDiscount/index.js","redux/selectors/getUserFlags/index.js","redux/selectors/getUserEmail/index.js","redux/selectors/getPatientEmail/index.js","redux/selectors/getUserIsCanEditSystemCatalog/index.js","redux/selectors/getUserFullName/index.js","redux/selectors/getUserIsChosen/index.js","redux/selectors/getUserKey/index.js","redux/selectors/getUserJournal/index.js","redux/selectors/getUserJournalActiveDays/index.js","redux/selectors/getUserLastPatient/index.js","redux/selectors/getUserNotificationsExcluded/index.js","redux/selectors/getUserNotifications/index.js","redux/selectors/getInstitutionSubscriptionIsAuto/index.ts","redux/utils/createReducer/index.js","redux/hor/orm-module/generator.js","redux/modules/patients/selectors.js","redux/modules/patients/index.ts","modules/Dietanamnez/redux/selectors/getDietanamnez/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezWithoutSelftest/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezChemistryData/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezChemistry/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezConsumption/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezFrequency/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezIsAssigned/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezIsAssigning/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezItems/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezKindsFood/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezIsEmpty/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezLastKey/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezList/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezNew/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezNewSelf/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezPortion/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezProduct/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezType/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezTiles/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezProducts/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezProductsExcluded/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezProductsIncluded/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezProfile/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezTileMap/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezTilesVisible/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezTilesGroups/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezIdWithotNotEnded/index.js","redux/utils/dispatchAndWait/index.js","redux/selectors/getPatientKey/index.ts","utils/orm/removeRelated.js","modules/Rations/redux/modules/ration/index.js","components/Text/Text.js","redux/selectors/getUser/index.js","redux/modules/institutions/selectors.js","redux/modules/institutions/index.js","components/Field/index.js","utils/react-redux.js","components/Grid/Row.js","components/Grid/Column.js","utils/isLocalKey/isLocalKey.js","components/Barchart/helpers.js","utils/carrot/carrot.js","utils/carrot/authorizeUserInCarrot.js","utils/carrot/events/patient.js","utils/carrot/events/user.js","redux/utils/createCachedOrmSelector/index.js","redux/modules/staff/index.js","utils/validation/defaultOptions.js","redux/selectors/getUserIsLight/index.ts","modules/Rations/redux/selectors/getDayKey/index.js","components/Icon/Icon.js","components/Button/Button.js","modules/Rations/redux/modules/day/index.js","modules/Rations/redux/selectors/getRationKey/index.js","redux/modules/auth/selectors.js","redux/selectors/getApplicationUser/index.js","redux/selectors/getPatient/index.ts","redux/modules/meals/selectors.js","redux/modules/meals/index.js","redux/modules/loader/reducer.js","redux/modules/loader/selectors.js","redux/modules/loader/index.js","redux/modules/auth/reducer.js","redux/utils/runButton/index.js","components/Link/Link.js","redux/modules/ingredients/selectors.js","redux/modules/ingredients/index.js","redux/modules/productComposition/selectors.js","redux/modules/productComposition/index.js","modules/Dietanamnez/redux/modules/dietanamnez/index.js","redux/modules/journal/selectors.js","redux/modules/journal/index.js","helpers/publicLogin.js","redux/utils/getPublicToken/index.js","components/Title/Title.js","modules/Dietanamnez/redux/selectors/getDietanamnezKey/index.js","redux/modules/notification/index.js","utils/validation/simplePasswords.js","utils/validation/validators/validators.js","utils/validation/defaultConfig.js","utils/validation/getErrorText.js","utils/validation/createValidate.js","utils/validation/createFieldValidate.js","decorators/containerQuery.js","helpers/constants.js","utils/api/utils/queue/queue.js","utils/api/utils/cache/cache.js","utils/api/request.js","utils/api/utils/genericRequest/genericRequest.js","utils/api/utils/serverMaintenance/serverMaintenance.js","utils/api/utils/interceptor/interceptor.js","modules/Rations/redux/modules/ration/selectors.js","components/Modal/Modal.js","components/Select/index.js","redux/modules/supplement/selectors.js","redux/modules/supplement/index.js","redux/modules/countries/selectors.js","redux/modules/countries/index.js","redux/modules/subscriptionOperations/index.js","redux/modules/cities/selectors.js","redux/modules/cities/index.js","modules/Supplement/redux/modules/supplement/index.js","redux/selectors/getUserRole/index.js","redux/selectors/getUserRights/getUserRights.ts","utils/convertFromServerTimeZoneToCurrentTimeZone.js","redux/modules/notification/reducer.js","utils/cookie/token.js","utils/validateFromResponse/index.js","redux/utils/getErrorFromResponse/getErrorFromResponse.js","utils/roundNumber/index.js","model/entities/patientGroups/index.ts","redux/selectors/getUserType/index.js","redux/selectors/getInstitution/index.js","redux/selectors/getUserCanEditSystemTemplates/index.js","redux/modules/user/selectors.js","redux/modules/user/index.js","redux/selectors/getStaff/index.js","redux/modules/ping/reducer.js","utils/localStorage/index.js","modules/Analyses/redux/modules/patientAnalysis/index.js","modules/Dietanamnez/redux/modules/dietanamnezItem/saga.js","modules/Dietanamnez/redux/modules/dietanamnezItem/index.js","modules/User/redux/statistic/selectors.js","modules/User/redux/statistic/index.js","redux/modules/subscriptionPromocode/reducer.js","redux/selectors/getPatientId/index.js","utils/validation/presets.js","redux/modules/loading/reducer.js","redux/modules/elements/selectors.js","modules/Patient/redux/disease/selectors.js","modules/Patient/redux/disease/index.js","redux/selectors/getUserCountry/index.js","redux/selectors/getDiseaseList/index.js","redux/selectors/getPatientDisease/index.js","modules/Rations/redux/selectors/getRationDayNumber/index.js","redux/orm.js","modules/Analyses/redux/modules/analysisBlood/index.js","modules/Analyses/redux/modules/analysisGenes/index.js","modules/Analyses/redux/modules/analysisHair/index.js","modules/Analyses/redux/modules/analysisSalt/index.js","modules/Analyses/redux/modules/analysisVitamin/index.js","modules/Patient/redux/notes/selectors.js","modules/Patient/redux/notes/saga.js","modules/Patient/redux/notes/index.js","components/Info/Info.js","utils/declOfNums/declOfNums.js","components/Subscription/Subscription.js","redux/modules/productTechCard/selectors.js","redux/modules/productTechCard/index.js","redux/modules/supplementComposition/index.js","redux/selectors/getSupplementKey/index.js","modules/Rations/redux/modules/patientsElements/index.ts","redux/modules/supplementTechCard/selectors.js","redux/modules/supplementTechCard/index.js","redux/modules/registrationLinks/index.js","utils/delay/delay.js","redux/modules/products/selectors.js","redux/modules/products/index.js","redux/modules/specificEatingTypes/selectors.js","redux/modules/specificEatingTypes/index.js","utils/getFullName.js","utils/memoizeByResult.js","redux/modules/patientParams/selectors.js","redux/modules/patientParams/index.js","redux/modules/mealTypes/selectors.js","redux/modules/mealTypes/index.js","components/IconDotLoader/IconDotLoader.js","utils/ageOptions.js","redux/modules/elementNorms/selectors.js","redux/modules/elementNorms/index.js","utils/dateField/dateField.js","utils/constructFile/constructFile.js","modules/Dietanamnez/redux/selectors/getDietanamnezLastIdWithoutNotEnded/index.js","redux/selectors/getPatientNorm/index.js","redux/selectors/getMealsAll/index.js","redux/selectors/getSupplementAll/index.js","redux/selectors/getAuthUser/index.ts","redux/selectors/getPatientIllness/index.js","redux/selectors/getIllnessList/index.js","redux/selectors/getPatientSpecificConditions/index.js","redux/selectors/getElementsVisible/index.js","redux/selectors/getInstitutionKey/index.js","redux/selectors/getPatientAllergen/index.js","redux/selectors/getPatientEnergy/index.js","redux/selectors/getPatientEnergyMax/index.js","modules/Rations/redux/selectors/getRationDays/index.js","redux/modules/patientsAllergen/selectors.js","redux/modules/patientsAllergen/index.js","redux/selectors/getPatientAge/index.js","redux/selectors/getMealsWithStatus/index.js","redux/modules/institutionSubscription/index.js","redux/modules/subitems.js","redux/utils/transformVirtualCategory/transformVirtualCategory.js","redux/utils/getSubitemsEffect/getSubitemsEffect.js","modules/Rations/redux/modules/ingestion/index.js","modules/Rations/redux/modules/ingestion/selector.js","modules/Rations/redux/modules/allergen/selectors.js","modules/Rations/redux/modules/allergen/index.js","modules/Rations/redux/selectors/getDayComposition/index.js","modules/Rations/redux/selectors/getDayCompositionGrouped/index.js","modules/Rations/redux/selectors/getRation/index.js","modules/Rations/redux/selectors/getRationGrade/index.js","modules/Rations/redux/selectors/getRationNorm/index.js","modules/Rations/redux/selectors/getDayCompositionPlan/index.js","modules/Rations/redux/selectors/getDayGroupComposition/index.js","modules/Rations/redux/selectors/getDayGroupDaysWithSameTime/index.js","modules/Rations/redux/selectors/getDayGroupItems/index.js","modules/Rations/redux/selectors/getDayGroups/index.js","modules/Rations/redux/selectors/getDayHaveEmptyGroup/index.js","modules/Rations/redux/selectors/getDayIsFilled/index.js","modules/Rations/redux/selectors/getDaysFilled/index.js","modules/Rations/redux/selectors/getDaysTemplates/index.js","modules/Rations/redux/selectors/getDish/index.js","modules/Rations/redux/selectors/getDishGroupActiveItem/index.js","modules/Rations/redux/selectors/getDishGroupItems/index.js","modules/Rations/redux/selectors/getInstitutionRationTemplates/index.js","modules/Rations/redux/selectors/getPatientRationNewKey/index.js","modules/Rations/redux/selectors/getPatientRationNewId/index.js","modules/Rations/redux/selectors/getPatientRations/index.js","modules/Rations/redux/selectors/getRationTableElements/index.js","modules/Rations/redux/selectors/getRationTableElementsKey/index.js","modules/Rations/redux/selectors/getRationColumns/columns.js","modules/Rations/redux/selectors/getRationColumns/index.js","modules/Rations/redux/selectors/getRationColumnsWidth/index.js","modules/Rations/redux/selectors/getRationComposition/index.js","modules/Rations/redux/selectors/getRationCompositionGrouped/index.js","modules/Rations/redux/selectors/getRationDaysAllowEdit/index.js","modules/Rations/redux/selectors/getRationDuration/index.js","modules/Rations/redux/selectors/getRationIsAssigned/index.js","modules/Rations/redux/selectors/getRationIsAssigning/index.js","modules/Rations/redux/selectors/getRationIsFilled/index.js","modules/Rations/redux/selectors/getRationIsTemplate/index.js","modules/Rations/redux/selectors/getRationOverview/index.js","modules/Rations/redux/selectors/getRationProductDates/index.js","modules/Rations/redux/selectors/getRationsMode/index.js","modules/Rations/redux/selectors/getRationSourceTitle/index.js","modules/Rations/redux/selectors/getRationTableDishIsActive/index.js","modules/Rations/redux/selectors/getRationTableGroupIsInactive/index.js","modules/Rations/redux/selectors/getRationTableIsDisplayBzhuInRelativePercent/index.js","modules/Rations/redux/selectors/getRationTableIsFixed/index.js","modules/Rations/redux/selectors/getRationTableItemMenuActive/index.js","modules/Rations/redux/selectors/getRationTableMenuActive/index.js","modules/Rations/redux/selectors/getRationTableTotalIsInactive/index.js","modules/Rations/redux/selectors/getRationTableWidth/index.js","modules/Rations/redux/selectors/getRationSystemTemplates/index.js","modules/Rations/redux/selectors/getRationGeneratorTemplates/index.js","modules/Rations/redux/selectors/getUserRationTemplates/index.js","modules/Rations/redux/selectors/getRationTemplates/index.js","modules/Rations/redux/selectors/getRationTemplatesRecommended/index.js","modules/Rations/redux/selectors/getRationTemplatesRest/index.js","modules/Rations/redux/selectors/getRationTitle/index.js","modules/Rations/redux/selectors/getUserRationNewTemplateKey/index.js","modules/Rations/redux/selectors/getUserRationNewTemplate/index.js","components/RadioGroup/RadioGroup.js","utils/time/minutesToTime.js","utils/time/timeToMinutes.js","redux/modules/staffFlags/index.js","modules/Supplement/redux/modules/ui/index.js","redux/selectors/getItemByKey/index.js","components/Legend/Legend.js","components/Grid/Grid.module.css","utils/api/utils/localStorage/localStorage.js","decorators/withFetcher.js","components/Checkbox/CheckboxConnected.js","decorators/pagePermission.js","modules/Patient/redux/receptions/saga.js","modules/Patient/redux/receptions/index.js","components/BarchartTable/chemical/MiddleColumnHead/MiddleColumnHead.js","components/BarchartTable/BarchartTable.js","redux/modules/productGroups/selectors.js","redux/modules/productGroups/index.js","modules/Rations/redux/modules/mode/selectors.js","modules/Rations/redux/modules/mode/index.js","utils/validation/defaultText.js","redux/modules/supplementGroups/selectors.js","redux/modules/supplementGroups/index.js","redux/modules/roles/seletors.js","redux/modules/roles/index.js","modules/Patient/redux/illness/selectors.js","modules/Patient/redux/illness/index.js","modules/Supplement/redux/modules/supplementDish/index.js","components/FieldPassword/FieldPassword.js","components/FieldPassword/FieldPasswordConnected.js","redux/modules/portions/selectors.js","redux/modules/portions/index.js","redux/modules/subscriptionTariffs/index.js","model/index.ts","redux/modules/cookingTechniques/selectors.js","redux/modules/cookingTechniques/index.js","redux/modules/rights/seletors.js","redux/modules/rights/index.js","redux/modules/ping/saga.js","redux/modules/institutions/saga.js","redux/modules/notification/saga.js","redux/modules/meals/saga.js","redux/modules/ingredients/saga.js","redux/modules/patients/saga.js","redux/modules/journal/saga.js","modules/Dietanamnez/redux/selectors/getDietanamnezId/index.js","modules/Dietanamnez/redux/selectors/getDietanamnezLastKeyWithoutNotEnded/index.js","redux/selectors/getInstitutionSubscriptionIsBlocked/index.js","redux/modules/supplement/saga.js","redux/selectors/getPatientEnergyMin/index.js","redux/modules/subscriptionPromocode/saga.js","redux/selectors/getSupplementId/index.js","modules/Rations/redux/selectors/getRationId/index.js","modules/Rations/redux/selectors/getDay/index.js","api/getVariable.ts","redux/modules/subscriptionOperations/saga.js","redux/modules/subscriptionPromocode/selectors.js","modules/Rations/redux/modules/correction/selectors.js","modules/Rations/redux/modules/correction/index.js","modules/Patient/redux/notifications/selectors.js","modules/Patient/redux/notifications/index.js","modules/Patient/redux/notificationsExcluded/selectors.js","modules/Patient/redux/notificationsExcluded/index.js","components/UserForm/UserForm.js","components/RequiredNotice/RequiredNotice.js","redux/utils/parseResult.js","redux/modules/notification/selectors.js","redux/utils/waitFor/index.js","redux/modules/partner/index.js","redux/selectors/getUserProfile/index.js","components/AvatarPicker/AvatarPicker.js","components/AvatarPicker/AvatarPickerConnected.js","redux/utils/getErrorTextFromResponse/getErrorTextFromResponse.js","modules/Supplement/redux/modules/supplementAllergen/index.js","modules/Supplement/redux/modules/supplementAllergen/selectors.js","components/Error/Error.js","components/Message/Message.js","modules/Analyses/redux/selectors/getAnalysesTypes/index.js","modules/Analyses/redux/selectors/getAnalysesFilters/index.js","modules/Analyses/redux/selectors/getAnalysisId/index.js","modules/Analyses/redux/selectors/getAnalysisKey/index.js","modules/Analyses/redux/selectors/getAnalysisItem/index.js","modules/Analyses/redux/selectors/getAnalysisData/index.js","modules/Analyses/redux/selectors/getAnalysisData/getAnalysisDataBlood/index.js","modules/Analyses/redux/selectors/getAnalysisData/getAnalysisDataGenes/index.js","modules/Analyses/redux/selectors/getAnalysisData/getAnalysisDataVitamin/index.js","modules/Analyses/redux/selectors/getAnalysisData/getAnalysisDataHair/index.js","modules/Analyses/redux/selectors/getAnalysisData/getAnalysisDataSalt/index.js","modules/Analyses/redux/selectors/getAnalysis/index.js","modules/Analyses/redux/selectors/getAnalysisTitle/index.js","components/More/More.js","modules/Analyses/components/AnalysRow/AnalysRow.js","modules/Analyses/utils/formAnalysisItem.js","modules/Analyses/containers/AnalysisItemGenes/GeneticAnalysisItem.js","modules/Analyses/containers/AnalysisItemVitamin/VitaminAnalysisItem.js","modules/Analyses/components/RowsTable/RowsTable.js","modules/Analyses/components/AnalysisGenes/AnalysisGenes.js","modules/Analyses/components/AnalysisItemSalt/AnalysisItemSalt.js","modules/Analyses/containers/AnalysisItemSalt/SaltAnalysisItem.js","modules/Analyses/components/AnalysisSalt/AnalysisSalt.js","modules/Analyses/utils/bloodAndHairAnalysis/formatValue.js","modules/Analyses/containers/AnalysisItemBlood/BloodAnalysisItem.js","modules/Analyses/utils/bloodAndHairAnalysis/getValidator.js","modules/Analyses/components/AnalysisBlood/AnalysisBlood.js","modules/Analyses/containers/AnalysisItemHair/HairAnalysisItem.js","modules/Analyses/components/AnalysisHair/HairAnalysis.js","modules/Analyses/components/AnalysisVitamin/AnalysisVitamin.js","modules/Analyses/redux/selectors/getAnalysisViewComponent/index.js","modules/Analyses/redux/selectors/getAnalysisViewData/getAnalysisViewBlood/index.js","modules/Analyses/redux/selectors/getAnalysisViewData/getAnalysisViewGenes/index.js","modules/Analyses/redux/selectors/getAnalysisViewData/getAnalysisViewHair/index.js","modules/Analyses/redux/selectors/getAnalysisViewData/getAnalysisViewSalt/index.js","modules/Analyses/redux/selectors/getAnalysisViewData/getAnalysisViewVitamin/index.js","modules/Analyses/redux/selectors/getAnalysisViewData/index.js","modules/Analyses/redux/selectors/getGenotypes/index.js","modules/Analyses/redux/selectors/getAnalysisViewOptions/index.js","modules/Analyses/redux/selectors/getChemicalElements/index.js","modules/Analyses/redux/selectors/getComparision/index.js","modules/Analyses/redux/selectors/getGenes/index.js","modules/Analyses/redux/selectors/getVitamins/index.js","modules/Analyses/redux/selectors/getComparisionRows/index.js","modules/Analyses/redux/selectors/getPatientAnalyses/index.js","redux/modules/supplementComposition/selectors.js","modules/Supplement/redux/modules/supplement/selectors.js","modules/Patient/redux/inbody/selectors.js","modules/Patient/redux/inbody/saga.js","modules/Patient/redux/inbody/index.js","components/Checkbox/Checkbox.js","modules/Patient/redux/medass/selectors.js","modules/Patient/redux/medass/saga.js","modules/Patient/redux/medass/index.js","modules/Catalog/redux/patientInWork/saga.js","modules/Catalog/redux/patientInWork/index.js","modules/Analyses/components/AnalysRow/AnalysRow.module.css","modules/Analyses/components/RowsTable/RowsTable.module.css","modules/Public/components/RegistrationLayout/RegistrationLayout.module.css","components/AvatarPicker/AvatarPicker.module.css","components/UserForm/UserForm.module.css","components/InstituteForm/InstituteForm.module.css","components/Content/Content.js","components/ModalForm/ModalForm.js","decorators/onFormChange.js","redux/modules/windowsOpen/reducer.js","containers/Page/Page.js","modules/Rations/redux/modules/ui/index.js","components/IconLoader/IconLoader.js","redux/modules/elements/index.js","redux/modules/filterOptions/selectors.js","redux/modules/filterOptions/index.js","components/Editor/Option.js","components/Editor/Editor.js","components/Editor/EditorConnected.js","redux/modules/units/selectors.js","redux/modules/units/index.js","modules/Patient/redux/activityLife/selectors.js","modules/Patient/redux/activityLife/index.js","modules/Patient/redux/activitySport/selectors.js","modules/Patient/redux/activitySport/index.js","modules/User/redux/statisticDates/selectors.js","modules/User/redux/statisticDates/index.js","components/Page/Page.js","modules/Dietanamnez/redux/modules/dietanamnezTiles/index.js","redux/selectors/getInstitutionSubscriptionState/index.ts","components/Barchart/Gradient/Gradient.js","components/Barchart/Defs/Defs.js","components/Barchart/Tooltip/Tooltip.js","components/Barchart/default/OneRect/OneRect.js","components/Barchart/default/NormRangeLine/Triangle.js","components/Barchart/default/NormRangeLine/NormRangeLine.js","components/Barchart/default/VerticalLine/VerticalLine.js","components/Barchart/Barchart.js","components/Barchart/chemical/OneRect/OneRect.js","components/Barchart/chemical/HighertLimit/HigherLimit.js","components/Barchart/chemical/NormRangeLine/NormRangeLine.js","components/Barchart/chemical/VerticalLine/VerticalLine.js","components/Barchart/BarChartDefault.js","components/Radio/Radio.js","components/Radio/RadioConnected.js","modules/Patient/redux/activityChild/selectors.js","modules/Patient/redux/activityChild/index.js","components/IconLoaderFilled/IconLoaderFilled.js","redux/modules/subscriptionDays/index.js","modules/Analyses/redux/modules/analysisType/index.js","modules/Catalog/components/ProductFormSupplement/ProductFormIngredient.js","redux/modules/staff/selectors.js","modules/Supplement/redux/modules/supplementDish/selectors.js","components/Barchart/Barchart.module.css","components/Field/FieldDate.js","components/Field/Field.js","components/Field/FieldConnected.js","components/ImagePicker/ImagePicker.js","components/ImagePicker/ImagePickerConnected.js","components/Success/Success.js","utils/capitalize/capitalize.js","components/Select/Select.js","components/Select/SelectConnected.js","redux/modules/webinar/index.js","modules/Analyses/redux/modules/chemicalElement/index.js","modules/Analyses/redux/modules/gene/index.js","modules/Analyses/redux/modules/genotypes/index.js","modules/Analyses/redux/modules/vitamin/index.js","modules/Dietanamnez/redux/modules/dietanamnezFrequency/index.js","modules/Dietanamnez/redux/modules/dietanamnezPortion/index.js","modules/Dietanamnez/redux/modules/tileImageMap/index.js","modules/Glossary/redux/normChildren/index.js","modules/Glossary/redux/normMen/index.js","modules/Glossary/redux/normPregnant/index.js","modules/Glossary/redux/normWomen/index.js","modules/Rations/utils/timeToNumber/index.js","components/BarchartTable/utils/getNormText.js","redux/selectors/getLocalization/index.js","components/LoaderIcons/icons.js","components/LoaderIcons/LoaderIcons.js","components/FieldDate/FieldDate.js","components/FieldDate/FieldDateConnected.js","redux/modules/patientActivity/reducer.js","components/InstituteForm/InstituteForm.js","components/Barchart/default/HighertLimit/HigherLimit.js","components/BarchartTable/default/MiddleColumnHead/MiddleColumnHead.js","components/AppLoader/AppLoader.module.css","components/Icon/Icon.module.css","components/LoaderIcons/LoaderIcons.module.css","components/Field/Field.module.css","components/IconLoaderFilled/IconLoaderFilled.module.css","components/Select/Select.module.css","components/IconLoader/IconLoader.module.css","components/IconDotLoader/IconDotLoader.module.css","components/Button/Button.module.css","components/ImagePicker/ImagePicker.module.css","components/Editor/Editor.module.css","modules/Catalog/components/ProductFormSupplement/ProductFormIngredient.module.css","components/Link/Link.module.css","components/Text/Text.module.css","components/More/More.module.css","modules/Analyses/components/AnalysisItemSalt/AnalysisItemSalt.module.css","modules/Analyses/components/AnalysisSalt/AnalysisSalt.module.css","components/Info/Info.module.css","components/Barchart/Tooltip/ToolTip.module.css","components/BarchartTable/BarchartTable.module.css","components/Modal/Modal.module.css","components/ServerUnderMaintenance/ServerUnderMaintenance.module.css","components/Title/Title.module.css","components/Subscription/Subscription.module.css","components/FieldPassword/FieldPassword.module.css","components/Checkbox/Checkbox.module.css","components/Message/Message.module.css","modules/Public/components/Login/Login.module.css","modules/Public/components/LoginLayout/LoginLayout.module.css","components/Success/Success.module.css","components/Error/Error.module.css","modules/Public/components/PasswordRecovery/PasswordRecovery.module.css","components/Content/Content.module.css","components/Page/Page.module.css","components/Radio/Radio.module.css","components/RadioGroup/RadioGroup.module.css","components/Legend/Legend.module.css","components/RequiredNotice/RequiredNotice.module.css","components/ModalForm/ModalForm.module.css","components/AmwayPopup/AmwayPopup.module.css","model/dictionaries/supplementsComposition/index.ts","model/dictionaries/createDictionaryModel.ts","../ /^/.//.*/.svg$","components/Icon/icons/archive.svg","components/Icon/icons/arrow-bottom.svg","components/Icon/icons/arrow-extreme.svg","components/Icon/icons/arrow-left.svg","components/Icon/icons/arrow-login.svg","components/Icon/icons/arrow-solid-bottom.svg","components/Icon/icons/arrow.svg","components/Icon/icons/arrow_table.svg","components/Icon/icons/attention.svg","components/Icon/icons/b.svg","components/Icon/icons/back.svg","components/Icon/icons/beef.svg","components/Icon/icons/bill.svg","components/Icon/icons/biochemical.svg","components/Icon/icons/blank.svg","components/Icon/icons/calendar.svg","components/Icon/icons/carrot.svg","components/Icon/icons/check.svg","components/Icon/icons/circle.svg","components/Icon/icons/clock.svg","components/Icon/icons/cloud.svg","components/Icon/icons/copy-down.svg","components/Icon/icons/copy-up.svg","components/Icon/icons/copy.svg","components/Icon/icons/cross.svg","components/Icon/icons/dd_logo-short.svg","components/Icon/icons/dd_logo.svg","components/Icon/icons/dd_logo_small.svg","components/Icon/icons/dd_logo_white.svg","components/Icon/icons/del.svg","components/Icon/icons/double-arrow-down.svg","components/Icon/icons/edit.svg","components/Icon/icons/error.svg","components/Icon/icons/eye-crossed.svg","components/Icon/icons/eye.svg","components/Icon/icons/fish.svg","components/Icon/icons/fruit.svg","components/Icon/icons/genetic.svg","components/Icon/icons/graph.svg","components/Icon/icons/i.svg","components/Icon/icons/icon_arrow_small_l.svg","components/Icon/icons/icon_info.svg","components/Icon/icons/infinity.svg","components/Icon/icons/info.svg","components/Icon/icons/lens.svg","components/Icon/icons/list.svg","components/Icon/icons/list_o.svg","components/Icon/icons/list_u.svg","components/Icon/icons/logo-short.svg","components/Icon/icons/logo.svg","components/Icon/icons/logo_small.svg","components/Icon/icons/logo_white.svg","components/Icon/icons/logout.svg","components/Icon/icons/microelements.svg","components/Icon/icons/minus.svg","components/Icon/icons/moon.svg","components/Icon/icons/normweight.svg","components/Icon/icons/patient-card.svg","components/Icon/icons/payment_maestro.svg","components/Icon/icons/payment_mastercard.svg","components/Icon/icons/payment_mir.svg","components/Icon/icons/payment_visa.svg","components/Icon/icons/pdf.svg","components/Icon/icons/person.svg","components/Icon/icons/photo.svg","components/Icon/icons/plus.svg","components/Icon/icons/printer.svg","components/Icon/icons/qa.svg","components/Icon/icons/question.svg","components/Icon/icons/recovery.svg","components/Icon/icons/refresh.svg","components/Icon/icons/restore.svg","components/Icon/icons/revert.svg","components/Icon/icons/right_arrow.svg","components/Icon/icons/rouble.svg","components/Icon/icons/save.svg","components/Icon/icons/search.svg","components/Icon/icons/signup.svg","components/Icon/icons/soup.svg","components/Icon/icons/sun.svg","components/Icon/icons/sun_full.svg","components/Icon/icons/sun_rising.svg","components/Icon/icons/supplement.svg","components/Icon/icons/thinCross.svg","components/Icon/icons/thinTick.svg","components/Icon/icons/tick.svg","components/Icon/icons/time.svg","components/Icon/icons/trueArrow.svg","components/Icon/icons/universal.svg","components/Icon/icons/urine.svg","components/Icon/icons/v.svg","components/Icon/icons/vitamins.svg","components/Icon/icons/welcome_abort.svg","components/Icon/icons/welcome_ration.svg","components/Icon/icons/welcome_schedule.svg","components/Icon/icons/welcome_time.svg","components/Icon/icons/welcome_trust.svg","components/AppLoader/AppLoader.js","containers/AppLoader/AppLoader.js","containers/Root/Root.js","redux/middlewares/raven.js","redux/middlewares/params.js","redux/middlewares/ls-sync.js","redux/middlewares/createdUser.js","modules/Catalog/redux/index.js","modules/Glossary/redux/index.js","modules/Patient/redux/index.js","modules/Public/redux/actions/saga.js","modules/Public/redux/actions/index.js","utils/removeCustom.js","modules/Public/redux/signup/saga.js","modules/Public/redux/signup/index.js","modules/Public/redux/index.js","modules/Rations/redux/modules/day/saga.js","modules/Rations/redux/modules/ration/saga.js","helpers/rnd_generator.js","modules/Rations/redux/modules/patientsElements/saga.js","modules/Rations/redux/index.js","modules/Supplement/redux/modules/supplement/saga.js","modules/Supplement/redux/index.js","modules/User/redux/statistic/saga.js","modules/User/redux/index.js","redux/modules/activation/reducer.js","redux/utils/callFunction/index.js","redux/modules/activation/saga.js","redux/modules/routeParams/reducer.js","redux/modules/routeParams/saga.js","redux/modules/reducer.js","modules/Analyses/redux/modules/patientAnalysis/saga.js","modules/Analyses/redux/index.js","modules/Dietanamnez/redux/modules/dietanamnez/saga.js","modules/Dietanamnez/redux/index.js","redux/modules/auth/errors.js","redux/modules/auth/saga.js","redux/modules/productComposition/saga.js","redux/modules/staff/saga.js","redux/modules/staffFlags/saga.js","redux/modules/registrationLinks/saga.js","redux/modules/user/saga.js","redux/utils/getServerFields/getServerFields.js","redux/sagas/crud.js","redux/sagas/routes.js","redux/sagas/index.js","redux/create.js","components/ServerUnderMaintenance/ServerUnderMaintenance.js","containers/App/App.js","modules/Public/pages/Main/Main.js","modules/Public/components/ActivationStatus/ActivationStatus.js","modules/Public/containers/Activation/Activation.js","modules/Public/components/Login/Login.js","modules/Public/containers/Login/Login.js","modules/Public/components/LoginLayout/LoginLayout.js","modules/Public/pages/Login/Login.js","modules/Public/components/PasswordRecovery/PasswordRecovery.js","modules/Public/pages/PasswordRecovery/PasswordRecovery.js","modules/Public/components/RegistrationLayout/RegistrationLayout.js","modules/Public/pages/SignupLayout/SignupLayout.js","modules/Public/containers/RegisterUser/RegisterUser.js","modules/Public/containers/InstituteForm/InstituteForm.js","modules/Public/containers/RegisterInstitute/RegisterInstitute.js","components/AmwayPopup/AmwayPopup.jsx","components/AmwayPopup/index.js","modules/Public/pages/Signup/Signup.js","modules/Public/pages/SignupLight/SignupLight.js","modules/Public/pages/Pro/Pro.js","modules/Public/containers/InviteUserForm/InviteUserForm.js","modules/Public/pages/Invite/Invite.js","components/PageNotFound/PageNotFound.js","pages/Error/Error.js","routes/index.js","model/entities/patientGroups/init.ts","index.js"],"names":["env","apiUrl","appKey","liteApiUrl","proApiUrl","contextKey","oneDayKey","yearKey","liteMonthKey","sentry","version","process","head","titleTemplate","meta","charset","getValues","memoizee","R","getItemField","field","item","getItemWithAllFields","pickByParent","parent","key","values","length","getAllItems","getItems","val","isDeleted","isDeleting","getItemsArray","getItem","state","getItemById","id","tableKey","itemsByKey","getKeyById","getAllItemsByParent","parentField","getItemsByParent","getItemsArrayByParent","getIsButtonRunning","button","createOrmSelector","args","createSelector","orm","fetchWithView","fetch","view","paramsCommon","params","ignoreFields","getChangedData","data","prop","defaultPath","itemsLens","getCustomItemsLens","path","set","generator","config","name","tableId","parseItem","initialState","createAction","action","payload","createAct","toUpperCase","fetchSuccess","fetchFailure","create","uuid","save","saveSuccess","saveFailure","remove","removeSuccess","removeFailure","removeWithUndo","removeWithUndoSuccess","removeWithUndoFailure","undoRemove","undoRemoveSuccess","undoRemoveFailure","handleFetchNumber","handleFetchSuccess","response","parents","fromCache","items","parseResult","handleCreate","handleSave","isSaving","isShouldSaved","isLocal","handleSaveSuccess","newKey","isCreation","newState","isSaved","oldKey","undefined","handleSaveFailure","handleRemove","handleRemoveSuccess","isLocalItem","isLocalKey","markToDelete","handleRemoveFailure","handleUndoRemove","handleUndoRemoveFailure","reducer","createReducer","login","formatHeaders","filter","token","limit","filterstate","get","cache","useLS","request","headers","then","post","put","deleteRequest","getKeyInfo","split","slice","map","parseInt","company","app","table","record","_path","getUser","getUserIsLight","getUserSupplementGroups","isLight","userGroups","productGroups","supplementGroups","getSupplementGroups","getProductGroups","getCatalogGroups","props","Number","groupId","getUserCountry","getNorm","getPatientKey","getAbstractNorm","getPatientNorm","patientKey","abstractNorm","patientNorm","session","InstitutionSubscription","first","duration","option","custom_текущий_вариант_подписки","custom_стоимость","custom_стоимость_исходная","custom_количество_месяцев_подписки","ref","custom_оплачено","isCurrentSubscriptionExists","isFutureSubscriptionExists","isCurrentSubscriptionOneDay","isFutureSubscriptionOneDay","isProlonged","days","dayPrice","currentPrice","custom_стоимость_текущей_подписки","custom_количество_пользователей","futureMonths","subscription","getInstitutionSubscription","list","getTariffsAll","custom_действующий_тарифный_план","worker","custom_партнер","getInstitutionTariffIsTrial","getUserIsPartner","isTrial","isPartner","Link","inherit","color","to","href","target","custom_схема_питания","custom_время","getIngestion","getKingsFood","getPatientSpecificConditions","getPatientIllness","getIllnessList","getDiseaseList","specificConditions","patientIllness","illnessList","diseaseList","illness","disease","getSpecificConditions","baseElements","getElementsVisible","getLabel","declOfNums","getLabel1","getActiveBill","activeBill","SubscriptionOperation","exclude","custom_операция","custom_currentstatus","getBillList","orderBy","a","moment","custom_дата_операции","valueOf","toModelArray","tariff","custom_тарифный_план","operationId","textByOperation","custom_значение_операции","date","sum","custom_ordersumamount","invoiceUri","custom_счет","text","getLastProlongation","i","getInstitutionSubscriptionEnd","endDate","add","diff","startOf","Partner","error","getPartner","partner","subscriptionUrl","custom_subscribe_url","getDay","getInstitutionSubscriptionDurationTotal","getSubscriptionUrl","title","getInstitution","institution","isBefore","getInstitutionTariffKey","tariffKey","getTariff","tariffs","getTariffReal","getLoaderByType","type","getLoaderByTypeLocal","loader","getApplicationUser","getMealsWithStatus","userKey","meals","isTerritory","custom_показывать_в_рамках_учреждения","owner","___owner","getMealsList","inMenu","tooltip","getProPatientMenu","getPatientId","getPatientsList","patientId","newItem","isNew","mainPage","onlyActiveOnIndex","visible","restPage","getLightPatientMenu","getDietanamnezIdWithotNotEnded","dietanamnezId","label","proMenu","lightMenu","_excluded","_extends","Object","assign","bind","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgSupport","_ref","svgRef","titleId","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","ForwardRef","SvgTime","SvgFolder","SvgCalendar","SvgUser","SvgLocation","SvgPersonal","SvgVCamera","_metadata","_g","SvgLink","xmlnsXlink","x","y","enableBackground","xmlSpace","transform","SvgExport","style","getHour","getInstitutionTariffName","getUserIsSupport","getUserRight","tariffName","end","isSupport","canEditSubscription","daysDuration","dailyHourDuration","Math","ceil","hourDuration","daysError","disabled","subtitle","icon","Camera","Support","Time","Folder","Calendar","Export","User","Location","Personal","windowsOpen","isNeedSideBar","user","created","custom_verify_phone","isClosePhone","content","onClose","custom_номер_нпа","isCloseNpa","getCurrentNotification","getUserPhoneNotification","getUserNpaNotification","notification","phoneNotification","nbaNotification","getPatientAllergenIngredientsGrouped","getPatient","getStaff","authorKey","staff","Boolean","custom_firstname","custom_lastname","getPatientWeight","getCorrectionValuesByWeight","journal","doctor","doctorName","getPatientJournal","appUser","lastRation","Ration","___parent","custom_не_назначен","custom_удалено","last","getPatientRationNewKey","_","statePatientKey","propsPatientKey","PatientReceptions","custom_planned_patient","getPatientReceptionId","routeReceptionId","paramReceptionId","paramReceptionKey","receptionId","receptionKey","reception","withId","err","getAuthUser","patients","userAuth","patient","___createduser","getUserPatients","patientList","propsStartDate","propsEndDate","props_custom_отключено","workerKey","startDate","custom_vremya","custom_отключено","isAfter","getPromo","getSupplementAll","getPatientAllergen","productList","allergen","forbidden","getSupplementWithStatus","getInstitutionKey","institutionKey","subscriptionEnd","before","all","it","custom_дата_для_однодневной","isSameOrAfter","getItemComposition","supplementComposition","productComposition","elementNorms","compositions","userCountry","elements","Elements","toRefArray","elementField","valueField","composition","elementNormItem","element","getSubscriptionPromocode","SubscriptionDay","custom_название","promo","value","price_promo","price","replace","getInstitutionDiscount","getPromocodeDiscount","max","flags","WorkerFlags","custom_пользователь","getRealFullName","routeParams","getFormValues","getUserKey","userFormKey","doctorLastName","patientName","patientLastName","getUserJournal","getUserActiveDays","getInstitutionBanner","getUserNotificationsExcluded","institutionBanner","userNotification","excludedKey","normalizeType","typeOrActionCreator","getType","toString","handlers","opts","reduce","has","on","off","options","handler","Array","isArray","forEach","newOpts","factory","Model","ormGenerator","isParsed","itemsKey","fields","notDeclared","upsert","handleFetchFailure","console","isSilent","idExists","virtualFields","getClass","fieldKey","relatedData","relatedItem","update","relatedName","energyButton","consumptionByTimeButton","consumptionByProfessionButton","getIsEnergyCalcing","getIsConsumptionCalcing","transformKeyArray","___territory","custom_белки_1","roundNumber","custom_жиры_1","custom_углеводы_1","custom_страна","custom_город","custom_детская_жизненная_активность","custom_жизненная_активность","custom_спортивная_автивность","custom_болезни","custom_сопутствующие_заболевания","custom_специфические_виды_питания","custom_основное_заболевание","custom_sexint_save","custom_дата_рождения","format","custom_коридор_спк","родитель","элемент","fetchItem","fetchParams","fetchNorm","fetchDiagnosis","fetchAnalyses","fetchDietanamnez","fetchForRation","startVisit","switchArchive","logPrint","calcElementsNorm","calcEnergy","calcConsumptionByTime","calcConsumptionByProfession","savePatientRequest","sendInvite","assignToStaff","assignToStaffSuccess","getDietanamnezKey","Dietanamnez","custom_селфтест_до","merge","getVisibleList","dietanamnezKey","custom_профиль_потребления_веществ","find","элемент_состава","среднее_за_день","dataWithoutSupplement","среднее_за_день_без_бад","custom_наименование","sources","custom_источники","influence","custom_влияние","e","chartItems","getDietanamnezChemistryData","chartId","custom_частота_потребления_групп_продуктов","наименование","round","частота","DietanamnezFrequency","custom_частота","getDietanamnez","DietanamnezItem","getDietanamnezItems","getDietanamnezKindsFood","kindsFood","isEmptyItems","isEmptyKindsFood","custom_дата_назначения","getName","custom_специалист","fullname","start","dateStart","specialist","DietanamnezPortion","custom_мера","custom_профиль_потребления_продуктов","среднее","getDietanamnezType","getUserType","daType","userType","DietanamnezTiles","custom_формат","custom_версия_приложения","getTilesHidden","excluder","custom_специфические_исключения","excludedByGroups","excludedByTiles","getSupplement","getSelect","getMealsAll","getDietanamnezTiles","hiddenTiles","mealsArray","supplementsarray","tiles","supplements","excludedKeys","excludedTiles","dish","byKindsFood","byItem","getIsProduct","getIsSupplement","b","custom_блюдо","isProduct","isSupplement","custom_строка_поиска","custom_список_блюд","custom_добавить_исключить","getDietanamnezProducts","getElementsList","dietanamnez","createCachedOrmSelector","getPatientTiles","getProductsItems","products","supplementsList","dishes","productKey","product","custom_эталонные_блюда","custom_эталонное_блюдо_для_фронта","tile","custom_ед_изм","custom_ед_изм_наименование","custom_иконка_url","custom_картинка_url","custom_количество","custom_макс_доз_в_день","custom_лекарственная_форма","getDietanamnezTilesVisible","concat","getDietanamnezLastIdWithoutNotEnded","routeId","propsId","lastId","dispatchAndWait","waitFor","removeRelatedInner","model","Set","removeRelated","Map","custom_продолжительность","custom_степень","custom_цель","custom_тип_шаблона","custom_режим_питания","custom_прописано_при","custom_спец_виды_питания","custom_начало_диеты","convertFromServerTimeZoneToCurrentTimeZone","count","custom_текущая_длительность","_days","day","getGroupsComposition","getIsFilled","ORMModel","modelName","idAttribute","attr","custom_спк__до","custom_спк__от","custom_debuginfo","custom_степень_за_месяц","custom_рекомендации","fetchRationComposition","fetchRationCompositionSuccess","fetchRationCompositionFailure","fetchBase","fetchPrint","fetchUnassignedTemplates","fetchTemplates","lazyLoad","fetchGeneratorTemplates","fetchSystemTemplates","fetchInstitutesTemplates","createTemplate","manual","autogenerate","addDay","cleanupRelated","checkDiet","checkDietSuccess","checkDietFailure","cx","classNames","styles","Text","block","inline","component","ellipsis","size","uppercase","weight","whiteSpace","Tag","children","className","text_block","text_inline","text_uppercase","text_ellipsis","text_inherit","PureComponent","defaultProps","Worker","custom_user","custom_головное_учреждение","custom_тип","custom_схема_кастомизации","custom_текущий_рекуррент","trialInform","fetchItemSuccess","fetchItemFailure","stopAuto","stopAutoSuccess","stopAutoFailure","fetchList","fetchListSuccess","fetchListFailure","connect","mapStateToProps","mapDispatchToProps","mergeProps","connectSource","areStatesEqual","next","prev","loading","isLoading","Row","level","getLevel","cq","containerQuery","row_width_lt_720","row_width_gt_1020","withProps","align","reverseIndent","maximize","noPrint","React","Children","child","cloneElement","childContextTypes","PropTypes","number","string","Column","context","order","small","medium","big","offsetSmall","offsetMedium","offsetBig","indent","borderRight","getOrderByLevel","msFlexOrder","column","isFinite","Component","contextTypes","isUUID","CHART_PADDING_TOP","baseColors","valid","invalid","chemicalColors","groupedColors","propColorMap","sapphirine","getPercent","normWeight","getOnePercent","normMin","normMax","Infinity","hex","x16","calculatePartRgb","ratio","color2","color1","startStr","endStr","substring","getStandartChart","getGroupedChart","lastValue","meal","gradientByColor","getEnd","getAFlow","getBFlow","getCFlow","getWithTwoBoundariesOfNorm","dataArray","prevEnd","percent","getColorStatus","valueInPercent","percents","getRatio","r","g","getColorChemical","track","event","window","carrotquest","authorizeUserInCarrot","email","hash","cookie","load","auth","$email","identify","authorizeUserInCarrotByUserData","custom_login","custom_хеш_пользователя","$name","Фамилия","Отчество","custom_midname","версия","trackPatientEvent","trackArchivePatient","trackUnarchivePatient","trackAddPatient","trackRemovePatient","trackAddPatientNote","trackAddPatientAnalysis","trackAddPatientRation","trackAddPatientDietanamnez","trackAddPatientDiagnosis","trackAddPatientAntropometry","trackAddPatientConsumption","select","getItemByKey","getFullName","patient_name","shouldTrackChangesFromCheckedFields","checkedFieldsRegistry","entity","changes","checkedFields","isRegistryFieldEmpty","registry","isSomeCheckedChangedToNotEmpty","some","wasCheckedAllEmpty","every","shouldTrackAddPatientDiagnosis","custom_анамнез","shouldTrackAddPatientAntropometry","custom_масса_тела","custom_рост","custom_объем_талии","custom_объем_бедер","custom_объем_плеча","custom_жировая_масса","custom_мышечная_масса","custom_складка_грудь_подмышка","custom_складка_живот","custom_складка_бедро","custom_общая_жидкость","custom_вунутриклеточная_жидкость","custom_внеклеточная_жидкость","custom_тощая_масса_тела","custom_активная_клеточная_масса","custom_висцеральный_жир","trackAddRationTemplate","trackAddMeal","trackAddStaff","trackRenewSubscription","trackAuthorize","trackSignup","resultFunc","pop","createCachedSelector","ormCreateSelector","custom_состояние","custom_sexint","custom_role","custom_профиль","custom_производители_бад","custom_dob","___createddate","custom_is_support","custom_должность","custom_разрешен_вход_по_пользователем_до","custom_ред_сис_шаблонов","custom_редактирование_общих_блюд","custom_фото","custom_ключ_системного_пользователяold","custom_избранный","custom_мобильный_телефон","custom_inbody_user","custom_состоит_в_группе","changePassword","invite","inviteLight","saveProfile","fetchMe","allowLogin","setRole","setStatus","getMobilePhoneStatus","userInfoField","locate","min","limiter","defaultOptions","required","password","simplePass","errorText","username","surname","secondname","job","city","street","house","locateNum","casehouse","phone","agency","role","npa","logo","typeFiles","correctTypes","sizeFiles","correctSize","time","getUserProfile","getInstitutionSubscriptionIsBlocked","profile","isBlocked","actualProfile","location","pathname","toLowerCase","dayKey","Icon","iconContent","require","dangerouslySetInnerHTML","__html","Button","LinkRR","bordered","isHovered","onClick","noPadding","upper","rounded","onMouseDown","isFictive","itemRef","ComponentName","getComponent","button_loading","button_disabled","button_hover","button_block","button_no_padding","button_bordered","button_uppercase","button_rounded","button_icon","getIsIcon","renderChild","IconLoader","IconDotLoader","isDisableableLink","routing","custom_рацион_пациента","Day","custom_меню","custom_dishesjson","custom_колич","isActive","custom_ключ_активного_блюда","group","getGroupComposition","groups","группы_альтернатив","getDishComposition","dishGroup","активное","блюда","getSumComposition","custom_номер","custom_название_для_шаблона","custom_шаблон_дня","custom_записи_и_рекомендации","fk","copy","sort","fillFromTemplate","fillFromTemplateSuccess","fillFromTemplateFailure","addGroup","removeGroup","updateGroupTime","sortGroupItems","removeDishGroup","changeDishGroupActive","removeDishGroupDish","addDishGroupDish","changeDishGroupDishAmount","handleSort","from","currentDayKey","menu","newMenu","currentTime","newTime","groupKey","itemKey","index","newDish","itemIndex","номер","dishKey","baseKey","newItems","newActiveKey","amount","rationKey","firstDayNumber","getRationId","rationId","possibleRationKey","ration","getToken","getItemsList","getProductsByGroups","getIsCompositionCalcing","setKeyField","main","secondary","setKeysField","custom_группа","custom_порция","custom_способ_приготовления","custom_возрастнаягруппа","custom_ед_изм_если_единица","custom_применимость_в_схеме_питания","custom_не_применяется_в","custom_запрещено_к_употреблению_при","custom_продукт_повышает","fetchComposition","fetchSystemMeals","fetchUserMeals","fetchCatalogList","fetchCatalogListSuccess","calcComposition","copyComposition","showLoader","hideLoader","handleSetLoader","status","LOCATION_CHANGE","application","getLoader","remember","timeLastRequest","hasInvite","loginSuccess","setProfile","setInviteByToken","switchUser","switchUserSuccess","logout","resendEmail","hideModal","anonymous","domain","userAKey","profileKey","runButtonCreator","showError","runButton","currentItem","currentFields","success","api","failure","errorEffect","getErrorFromResponse","form","large","bold","hover","underline","nowrap","sidebarMenu","black","activeClassName","link_active","link_size_medium","link_underline","link_block","link_loading","link_size_large","link_size_small","link_size_inherit","link_theme_bold","link_theme_black","link_column","getTitle","getSelectData","custom_группа_ключ","custom_единица_измерения__гр_мл","custom_территория_вспомогательное","fetchSystemIngredients","fetchUserIngredients","elementValue","getIsHaveComposition","custom_элемент_рациона","custom_относится_к","custom_продукт","___modifieduser","custom_значение","custom_тип_да","продукт","группа_продуктов","custom_фио_специалиста","custom_диетанамнез_заключение","custom_заключение_недостаток","custom_заключение_избыток","fetchForm","fetchReport","calcDietanamnezReport","assignSuccess","switchType","parseJournal","visit","getJournal","isSame","custom_дата","toDate","custom_пациент","publicLogin","getPublicToken","hasStrictDomain","rememberHeader","Remember","Title","getComponentBySize","getDietanamnezId","simplePasswords","isEmpty","createNumberValidator","parsedValue","parseFloat","comparator","test","validators","isValid","minDate","minValue","maxDate","maxValue","isSameOrBefore","numeric","positiveNumber","nonRemovable","initialValue","isValidPhoneNumber","pass","timeToMinutes","timeFilled","file","mime","custom","validator","unique","formatValue","getErrorText","rules","firstError","fieldName","validatorConfig","defaultConfig","getText","defaultText","createValidate","evolve","valuesFields","realOptions","extend","initialValues","validatorList","validatorName","createFieldValidate","getError","rest","getWidth","query","calculatedQuery","acc","minWidth","match","maxWidth","applyContainerQuery","superuserRoleKey","liteTrialRoleKey","dietologRoleKey","subscriptionExpiredProfile","defaultIcon","requests","constructObject","url","getQueueKeyByConfig","prevToken","isRequested","construtCacheKey","getCacheKeyByConfig","store","genericRequest","method","instance","dispatchPing","dispatch","pingFailure","getIsShouldReject","setStore","_store","subscribe","getState","Promise","resolve","getIndex","resent","reject","handleServerMaintenance","axios","baseURL","interceptors","use","cacheKey","existItem","currentCache","isLocalCache","getItemLocalStorage","param","search","includes","isPing","isSessionOver","loadingFinish","saveTokenInfo","c","interceptor","resentRequestIndex","resentRequest","serverMaintenanceInterceptor","clearTimeout","timeout","setItemLocalStorage","setTimeout","setTimeCashWithTimeOut","fromQueue","message","attempts","interceptorError","toTemplateInfo","getTemplatesByType","getPersonalTemplate","getInstituteTemplate","right","template","isOwner","isCanEdit","getSystemTemplates","getGeneratorTemplates","getRecommendedTemplates","energy","excludedKingdsFood","editRight","getFilter","intersection","namesTemplatesByTypes","templates","result","getRestTemplates","recommended","Modal","nextProps","isOpen","onAfterClose","overlayClassName","closeTimeoutMS","shouldCloseOnOverlayClick","withClose","onRequestClose","country","custom_from_bad","custom_страны","getSetTechcard","custom_производитель","custom_пол","localization","custom_элементы_локализации","custom_ordersumrequired","custom_промокод","custom_ordernumber","custom_customernumber","custom_signaturevalue","renewal","cancel","changeFutureOneDayDate","getItemsByCountry","Supplement","custom_автогенерация","saveManual","saveAuto","autogenerateButton","rights","INSTITUTION_ADMINISTER","INSTITUTION_SUBSCRIBE","USER_CONTROL","PATIENT_RATION","PATIENT_REGISTER","PATIENT_DELETE","PATIENT_RECEPTION","PATIENT_PRINT","rightId","Error","rightKey","userRights","getUserRole","getRoleRights","roles","getUserRights","timeDifference","Date","getTimezoneOffset","setNotification","handleSetNotification","lens","handleLocationChange","isProcess","isDone","isFailed","isRemove","isNpa","getTokenInfo","opt","expires","now","apiNameMap","EmptyRequiredFieldException","Cat_ObjectName_DuplicateValueException","fieldNameMap","custom_login_save","defaultRules","validateFromResponse","exception","fieldMessage","parse","formEffect","stopSubmit","_error","isFailedNetwork","validationError","getErrorTextFromResponse","precision","accuracy","$groups","createStore","$sortedGroups","sortBy","createGroupFx","createEffect","parameters","Function","updateGroupFx","group_id","removeGroupFx","removePatientFromGroup","attach","mapParams","effect","patient_key","addPatientToGroup","setPatientGroupFx","getProfileKey","___profile","getList","ping","pingSuccess","handlePingSuccess","serverUnderMaintenance","ignoreClear","setItem","JSON","stringify","localStorage","itemJson","clear","removeItem","custom_вид_анализа","PatientAnalysis","custom_дата_текстом","fetchAnalysis","saveFlow","saga","saveDietanamnezes","takeEvery","custom_частота_употребления","formatItem","custom_диетолог","lastname","firstname","midname","author","custom_пациенты","added","custom_пациенты_за_день","custom_приемов_всего","custom_приемов_за_день","analysis","custom_анализы_всего","custom_анализы_за_день___добавлено","custom_анализы_за_день___удалено","anamnesis","custom_диетанамнезы_всего","custom_диетанамнезы_за_день","rations","custom_рационы_всего","custom_рационы_за_день___добавлено","custom_рационы_за_день___удалено","print","custom_печать_всего","custom_печать_за_день","evolveConfig","initialGroup","getDayStatistic","memoize","custom_data","ISO_8601","getMonthStatistic","prevData","getStatisticByInstitution","endOfMonth","endOf","yesterday","mergeTotal","resultSum","tableTrValue","getStatisticTotal","getStatisticData","inviteKey","getIsUserCanSee","fetchData","fetchDataSuccess","deleteDataRow","toggleDelete","deleting","invites","me","mergeDAta","custom_емейл_приглашенного","custom_учреждение_оригинальное","checkPromo","setPromo","resetPromo","zero","userFormPreset","validation","userFormLightPreset","instituteFormPreset","custom_логотип","custom_филиал","custom_улица","custom_дом","custom_корпус","custom_эл_почта","loadingStart","custom_light","custom_used_in_pro","custom_для_сортировки","indexes","includeFieldName","useShortName","parseItems","subitems","parsedSubitems","custom_сокращенное_наименование","nameField","getMineralsAndVitamins","m","j","hint","custom_описание_влияния","custom_специфическое_состояние","getDiseaseItems","dayId","getRationDays","maxDayId","models","Gene","Vitamin","AnalysisType","Genotype","AnalysisGenes","AnalysisVitamin","ChemicalElement","AnalysisBlood","AnalysisHair","AnalysisSalt","PatientsElements","SupplementDish","TileImageMap","PatientReception","Webinar","RegistrationLink","ORM","register","custom_химический_элемент","custom_ед__изм","custom_факт","custom_ген","custom_генотип","custom_результат","custom_витамин","custom_оценка","getNotesByPatient","saveSuccessFlow","Info","handleShowTooltip","iconRect","getBoundingClientRect","top","bottom","innerHeight","setState","handleHideTooltip","toggler","alwaysTop","alwaysBottom","togglerFullSize","singleLine","maxHeight","info","info_customWidth","info_singleLine","toggler_custom","toggler_fullSize","toggler_hover","onMouseEnter","onMouseLeave","renderButton","tooltip_alwaysTop","tooltip_top","isNaN","declOfNum","titles","cases","Subscription","submitBtn","cancelBtn","onSubmit","onCancel","selectors","getTechcard","ingredientsState","multiplier","ingredients","ingredient","custom_ингредиент","ingredientAmount","amountName","custom_вес","isSystem","custom_копия_блюда","custom_тип_приготовления","custom_элемент","getSupplementId","custom_элемент_состава","updateList","updateListSuccess","parentKey","custom_тип_опроса","custom_идентификатор","custom_именной","custom_дефолтный","delay","supplement","groupFieldByType","getImage","base64Image","constructFile","imageUrl","arrayToString","capitalize","getFeatures","portionKey","portion","getPortion","portions","sexId","sexName","sexOptions","groupField","cookingTechniqueKey","cookingTechnique","getCookingTechnique","cookingTechniques","ingestion","mealTypeKey","getMealType","mealTypes","specificEatingTypes","typeKey","getEatingType","features","custom_расширенная_форма","ageOptions","join","getSource","elementKey","getDiseases","getDisease","Patient","getDescription","getRecipe","pathIsNotEmpty","BASE","PRIVATE","INSTITUTION","getCaption","itemId","hasOwner","hasTerritory","hasShowInInstitution","caption","rejectByUser","isCurrentUserItem","custom_скрытый","custom_неактивен","getProductsByGroup","age","itemAge","anyAge","getRigths","userItem","isEditableBase","isEditable","isDeletable","productOwnerKey","isRight","modules","handleAction","custom_подсказка","getFirstName","getMidName","getLastName","defaultResolver","memoizeByResult","fn","resolver","newResult","massBody","calories","caloriesActive","carbohydrates","proteins","fats","activeCellMass","skinnyWeight","muscleMass","intracellularFluid","extracellularFluid","generalLiquid","fatMass","growth","sizeShoulder","sizeThigh","sizeWaist","pleatsStomach","pleatsHips","pleatsChest","pleatsChestWoman","harris","visceralFat","units","getDateToChart","unit","left","custom_показатель","iconDotLoader","iconDotLoader_inline","custom_значение_от","custom_значение_до","norm","dateFieldMap","custom_число_калорий","custom_окисление_белка","custom_окисление_жиров","custom_окисление_углеводов","custom_число_калорий_при_физической_активности","addDateField","base64","getDietanamnezLastKeyWithoutNotEnded","emptyArray","getIllnessItems","settings","getPatientEnergyMin","getPatientEnergyMax","getRationKey","custom_текст_поиска","custom_ингредиенты_аллергены","getPatientDisease","getDietanamnezProductsIncluded","getDietanamnezProductsExcluded","getPatientAge","patientDisease","include","excludedKindsFood","goodAgeOptions","getDish","allowedItems","forbiddenItems","itWithoutStatus","dishAges","dietanamnezGroups","allowed","kindsFoodForbidden","kindsFoodInter","dietanamnezInter","warning","diagnosesForbidden","diagnosesInter","custom_дата_начала_подписки","custom_время_окончания_подписки","custom_активных_пользователей","custom_оплачено_пользователей","custom_оплачено_дней","custom_остаток_бонусных_дней","subitemsMap","notes","patientParams","analyses","analysisGenes","analysisVitamin","analysisBlood","analysisHair","analysisSalt","techCard","dietanamnezItem","allergenMeals","institutionSubscription","supplementRation","supplementRationDish","supplementTechCard","supplementAllergen","links","parsers","custom_количество_план","custom_ссылка_на_активное_блюдо","custom_рецепт","custom_ключ_ингредиента","custom_значение_на_порцию","transformVirtualCategory","groupParsers","parser","transformedList","tableIdByLabel","getSubitemsEffect","transformedGroup","getDayKey","getComposition","initial","getUserCanEditSystemTemplates","canEditSystemTemplates","isAdmin","isCurrentUserCanEdit","withEdit","withDelete","getRation","getValue","grade","deviationMin","deviationMax","getProtein","getFats","getCarbohydrate","getRationGrade","normEnergy","getEnergy","log","getDayComposition","getRationNorm","timeToNumber","isPatch","activeKey","withView","getRationTableElements","columns","isEnergy","isBzhu","k","getRationTableElementsKey","selected","getRationColumns","getRationDayNumber","sections","currentDay","dishList","flat","getSelectValues","getSourceRation","sourceRation","isChosen","activeGroup","activeItem","isActiveByGroup","isActiveByItem","isInactiveByGroup","isInactiveByItem","getInstitutionRationTemplates","getRationSystemTemplates","getUserRationTemplates","getRationGeneratorTemplates","institutionTemplates","commonTemplates","personalTemplates","generatorTemplates","common","personal","getPatientEnergy","getRationIsAssigned","getRationIsTemplate","isAssigned","isTemplate","getRationTitle","getUserRationNewTemplateKey","RadioGroup","item_mobile","mobileVersion","Radio","onChange","checked","radioGroup_mobile","renderRadio","minutesToTime","delimiter","hour","floor","padStart","minutes","custom_показана_подсказка_по_списку","custom_показана_подсказка_по_диаграмме","saveFlag","setHoveredSupplement","showErrorModal","hideErrorModal","modal","getOrmItem","ormItem","Legend","module","exports","appKeyVersion","initLocalStorage","appVersionLS","withFetcher","fetcher","CheckboxConnected","renderField","handleChange","input","fieldValue","onFormChange","newValue","Checkbox","reduxForm","_reduxForm","Field","func","withReduxForm","pagePermissions","pagePermission","nextReceptionNotificationFlow","hasNotification","getUserPatientReceptions","toISOString","receptionList","isNextReception","reset","push","custom_время_удаления","fetchWithActiveView","MiddleColumnHead","noInfo","createStructuredSelector","getLocalization","tooltip_header_ind_norm","BarchartTable","active","toolTipField","toolTipX","toolTipY","handleResize","debounce","handleMiddleColumn","middleColumn","node","nodeRect","widthMiddleColumn","heightMiddleColumn","handlePositionMouse","handleMouseMove","clientX","clientY","handleMouseLeave","handleMouseEnter","handleActiveHiddenRow","addEventListener","removeEventListener","infoNorm","chemical","MiddleColumnHeadChemical","MiddleColumnHeadDefault","noFact","valueName","noNorm","zeroedLength","isCanBeHidden","isHidden","isShouldRenderToggler","renderGroup","renderToggler","renderRow","onToggle","arrow","arrow_up","TooltipElement","fontColor","sumValue","row","row_hidden","row_empty","row_bright","isBright","onMouseMove","renderElementCell","value_disabled","renderValueCell","Barchart","metrick","Tooltip","renderNormCell","withChildren","isActiveChild","element_active","fieldRenderer","formattedValue","toFixed","noNormHint","getNormText","renderHead","renderBody","image","visibleRoles","getAllRoles","getRoles","getRolesSelect","custom_роль","diseaseMap","custom_полное_наименование","custom_заболевание","custom_заболевание_ключ","custom_бад","custom_порций","custom_курс","FieldPassword","handleTypeChange","FieldPasswordConnected","handleFocus","onFocus","handleBlur","onBlur","eventOrValue","isFieldArray","getPortions","custom_количество_дней_базового_периода","custom_состав_тарифа","$reduxStore","updateStore","createEvent","fromReduxState","selector","getRightsList","pingFlow","takeLatest","fetchItemFlow","stopAutoFlow","fetchListFlow","userAkey","учреждение","effects","inst_key","cancellation_reason","custom_информирован_о_триальной_подписке","setNotificationFlow","current","nextTime","calcCompositionFlow","fetchCatalogListFlow","isCalcComposition","fetchCompositionSuccess","productTechCard","techcard","techcardEffect","saveTechcard","compositionEffect","saveComposition","switchArchiveFlow","calcEnergyFlow","removeWithUndoSuccessFlow","calcConsumptionByProfessionFlow","removeWithUndoFlow","savePatientSuccessFlow","sendInviteFlow","assignToStaffFlow","isInArchive","buttonPatientToArchive","buttonPatientFromArchive","custom_в_архив_1","changed","paramsMap","loggedChanged","createParams","dateFields","note","saveNote","startSubmit","co2","o2","urea","urine","u","z","currentLocation","pathPrefix","withNotification","fullFieldName","prevDate","subtract","equalAllowed","fieldToSend","PHONE","EMAIL","disableNotification","custom_аккаунт_для_пациента","custom_самостоятельная_регистрация","startVisitFlow","logPrintFlow","saveDietanamnezesFlow","assignRationFlow","custom_действие","assignRation","checkPromoFlow","resetPromoFlow","promocode","exec","скидка","getInstitutionSubscriptionIsExpired","reload","saveSubscription","значение_промокода","institutionDiscount","discount","supplementId","getVariable","custom_json_value","getOperationParams","getFormYoomoney","getFormRobokassa","cancelFlow","checkOperation","renewalFlow","changeFutureOneDayDateFlow","nameById","tariffId","quantity","getInstitutionWorkplaceCount","workplaces","getUserEmail","document","createElement","setAttribute","shopId","scid","customerNumber","orderNumber","ym_merchant_receipt","customerContact","taxSystem","tax","paymentMethodType","paymentSubjectType","appendChild","body","submit","merchantLogin","isTest","MerchantLogin","OutSum","Description","InvoiceID","Receipt","encodeURIComponent","Culture","Encoding","SignatureValue","IsTest","script","src","Robokassa","StartPayment","Recurring","custom_recurring","fetchInstitution","getInstitutionTariffIsSpecial","isSpecial","getInstitutionSubscriptionState","isNewSubscriptionOneDay","actionId","payments","itemWeight","custom_заголовок","custom_содержимое","withIgnore","radioGroupSex","UserForm","handlerOnFocusLinkRegistry","isAccessOpen","onAddAccess","step","inviteName","isInvite","isProfile","isRegistration","isRequired","mediumOrder","bigOrder","AvatarPicker","fileTitle","registration","RequiredNotice","FieldDate","placeholder","mask","isConfirmed","phoneValue","isConfirmedPhone","phoneIsValid","onConfirm","Select","countries","cities","extraOptions","emptyCities","alwaysShowExtra","onBlurResetsInput","minLengthForResult","searchable","marginTop","onExitGroup","renderSupportButton","dirty","onReset","submitting","sizeCheck","theme","renderForm","renderButtons","object","statistic","array","isChanged","parsedItem","types","successType","failureType","race","take","isSameKey","isSameView","custom_ссылка_на_логотип","custom_ссылка_на_логитип_в_печати","authProfileKey","reader","FileReader","files","onload","readAsDataURL","square","withFile","styleImg","backgroundImage","avatarPicker","avatarPicker_square","avatarPicker_type_value","accept","htmlFor","alt","FilePickerConnected","code","statusText","Message","inlineBlock","message_inline","icon_inline","typeOrder","getAnalysesTypes","analysisId","stateId","getAnalysisId","getAnalysisKey","analysisKey","typeId","getAnalysisItem","getAnalysisData","shouldShowButton","self","textNode","scrollHeight","offsetHeight","More","open","showButton","handleClick","setShowButton","setShowButtonDelayed","setNode","buttonText","backgroundColor","lines","lineHeight","hasBackground","text_open","button_open","AnalysRow","focused","disabledInitially","handleFocusSelect","handleBlurSelect","handleSelectChange","handleClose","selectList","selectName","container","container_focused","container_disabled","column_type_1","column_type_2","column_type_3","formAnalysisItem","saveParameterCreator","WrappedComponent","saveAnalysis","FormedContainer","handleSubmit","originalValue","updateKey","getInitialValues","enableReinitialize","GeneticAnalysisItemContainer","getDefaultRows","getNotDefaultRows","showShortListByDefault","RowsTable","showShortList","rows","handleToggleList","vitaminsAnalys","notDefault","VitaminRow","GenesRow","rowsList","tableHeader","titleColumn","tableTitles","itemSelectDictionary","AnalysisItemSalt","AnalysisItemSaltContainer","renderItem","String","BloodAnalysisItemContainer","BloodAnalysis","validate","getValidator","HairAnalysisItemContainer","HairAnalysis","VitaminsAnalys","getAnalysisViewComponent","custom_анализ_волос","existedItem","commonProps","chemicalElement","custom_норма_анализа_крови_от__мг","custom_норма_анализа_крови__мг","custom_норма_анализа_крови_до__мг","gene","custom_описание","showByDefault","custom_видно_по_умолчанию","custom_генотипы","custom_анализ_крови","custom_норма_анализа_волос_от__мг","custom_норма_анализа_волос__мг","custom_норма_анализа_волос_до__мг","custom_анализ_мочи","getAnalysisViewData","transformData","getAnalysisViewBlood","getAnalysisViewGenes","getAnalysisViewVitamin","getAnalysisViewHair","getAnalysisViewSalt","analysisTypeToStateMap","getGenotypes","getAnalysisViewOptions","getAnalysis","getChemicalList","getChemicalElements","getGenes","getVitamins","icons","iconProps","realValue","getSupplementKey","getLastSupplementRation","getLastSupplementRationId","getSupplementItems","supplementKey","loadInbodyReportFlow","loadIdFlow","inbodyid","loadInbodyReportFailure","loadInbodyReportSuccess","loadIdSuccess","loadIdFailure","loadId","loadInbodyReport","noWrap","checkbox","check","loadMedassReportFlow","loadFilesFlow","imageFile","custom_медасс_csv","csvFile","custom_медасс_jpg","loadMedassReportFailure","loadMedassReportSuccess","loadFilesSuccess","loadFilesFailure","loadFiles","loadMedassReport","setParamsFlow","setPatientSuccess","setPatient","handleGetPatient","Content","content_borderTop","borderTop","content_indentTop","indentTop","content_indentBottom","indentBottom","content_paddingXOff","paddingXOff","content_maximize","ModalForm","renderAdditionalSubmitBtn","additionSubmitBtn","changeType","renderSubmitBtn","submitInvalidTooltip","renderDeleteBnt","deleteBtn","validDelete","deleteTooltip","onDelete","modalForm","modalForm_empty","body_no_padding","IS_SOME_FIELD_ACTIVE_PROP_NAME","submitName","loggingName","submitOnUnmount","Target","onLogging","getChildContext","OnFormChange","handleTargetRef","el","targetRef","getOrigin","openedWindows","opener","checkOrigin","openWindow","closeWindows","handleOpenWindow","screen","newWindow","handleCloseWindows","oneWindow","close","Page","setWidth","setFixed","setActiveItem","setActiveGroup","setMenuItem","toggleDisplayBzhuInRelativePercents","mergeState","handleSetWidth","handleSetFixed","handleSetActiveItem","handleSetActiveGroup","activeMenu","isFixed","isDisplayBzhuInRelativePercents","inner","getFilterOptions","Option","Editor","handleEditorStateChange","editorState","contentState","getCurrentContent","oldContent","maxLength","getPlainText","getLastChangeType","removeInlineStyles","stateToHTML","handleBeforeInput","chars","isFocused","retainInlineStyles","blocks","getBlocksAsArray","singleBlock","getCharacterList","charMetaData","getEntity","getStyle","newStyle","intersect","CharacterMetadata","EditorState","createWithContent","ContentState","createFromBlockArray","stateFromHTML","currentState","iconMap","italic","unordered","ordered","titleLength","withNumber","onEditorStateChange","toolbar","renderOptions","handlePastedText","border_focused","scrollable","EditorConnected","getUnits","getStatisticDates","custom_учреждение","fetchStatisticDates","bgColor","page","categoryName","custom_картинка_с_порциями_url","SubscriptionState","ERROR","Gradient","light","dark","patternUnits","patternContentUnits","Defs","gradientColor","extraWidth","redGradientDarkColor","toolTipColor","toolTipText","OneRect","isGrouped","rectEnd","rectStart","dataInCenter","colorMap","getIsValid","Triangle","triangles","stroke","NormRangeLine","normMaxValue","getNorms","y1","x1","x2","y2","strokeWidth","VerticalLine","getX","scaleLinear","scaleLinearImport","toolTipOnChart","toolTipShow","handleDebounceMouseMove","rect","total","dataChart","range","HighertLimit","preserveAspectRatio","clipPath","renderMainChart","addHandler","renderBarChart","OneRectDefault","HighertLimitDefault","NormRangeLineDefault","VerticalLineDefault","TooltipDefault","withAnimation","getSum","getColor","transition","onePercent","isRendered","getIsRender","getTriangles","propsByType","BarChartDefault","getChemicalDataCenterChart","getDataCenterChart","getData","radio_mobile","input_mobile","label_mobile","RadioConnected","IconLoaderFilled","medicineOptions","ProductFormIngredient","renderSelect","getBold","getItemsByStatus","getActiveItems","getInactiveItems","getInvitedItems","getSelectList","getSupplementDish","phoneHandleChange","trueEvent","Event","bubbles","truePhone","dispatchEvent","autoFocus","touched","symbol","interval","tooltipError","center","mimicSelect","noOverflow","readOnly","submitFailed","noBorder","withError","InputElement","InputMask","Input","field_mobile","field_state_error","field_state_isText","field_type_noOverflow","field_type_placeholder","field_type_interval","field_type_center","field_type_free","field_indent","field_mimicSelect","padding","border","display","onInput","numberInputProps","input_no_border","autoComplete","onKeyPress","label_type_hint","note_type_error_mobile","note_type_error","note_state_tooltip_error","FieldConnected","isСhanging","handleKeyPress","which","isEquals","isLoggingEqualValues","disableSubmit","ImagePicker","fileRef","isWebUri","ImagePickerConnected","Success","success_no_paddings","SELECT_HEIGHT","emptyOptions","extra","extraOnTop","selectFilterOptions","fuzzyFilterOptions","Fuse","distance","threshold","maxPatternLength","openUp","openLeft","hideTemporarily","handleOpen","selectParent","selectGrandParent","htmlTag","getElementsByTagName","parentNode","overflow","selectParentHeight","selectOffsetTop","offsetTop","html","documentElement","canScroll","clientHeight","scrollY","isPageBottom","handleOpenLeft","handleInput","mimicEvent","multi","resetOnChange","setOptions","handleChangeMulti","handleChangeSingle","setLabel","handleMenuWheel","deltaY","currentTarget","scrollTop","preventDefault","handleClickOutside","setContainer","ReactDOM","findDOMNode","setInput","setRef","setOptionsState","filterOptions","arrowRenderer","smallArrow","renderOption","inputValue","possibleOpenLeft","menuContainer","menuOuter","selectParentWidth","offsetWidth","menuRect","onOpen","labelsList","searchPlaceholder","notFoundText","grouped","withoutDefaultSelected","getIsWithError","withoutSelected","getOptions","noResultsText","getNoResultText","onClickOutside","select_resetable","select_block","select_disabled","select_noWrap","select_empty","select_searchable","select_noBorder","select_small","select_normal","normal","autosize","hideValue","clearable","onChangeResetsInput","closeOnSelect","autofocus","openOnFocus","onCloseResetsInput","onSelectResetsInput","optionRenderer","menuRenderer","valueRenderer","onInputChange","onMenuWheel","loader_visible","static","SelectConnected","custom_ссылка_на_запись","custom_ссылка_на_онлайн","custom_координаты","custom_возрастные_группы","custom_группа_физической_активности","custom_период","getRoundedValue","getCountries","userCountryKey","defaultCountry","baseIcons","LoaderIcons","handleAnimation","getRandomIndex","loadIcons","loadIcon","iconList","random","onAnimationIteration","renderIcon","getFormattedValue","toggleActivity","radioGroupFilial","radioGroupType","InstituteForm","isReg","showInstitutions","filePicker","filePicker_registration","field_hidden","institutions","propColor","pointerEvents","fetchFx","resetEvent","$store","restore","doneData","currentData","createDictionaryModel","$supplementsCompositionAll","fetchSupplementsComposition","$supplementsCompositionByParent","webpackContext","req","webpackContextResolve","__webpack_require__","o","AppLoader","appLoader_hidden","AppLoaderContainer","AppContainer","history","routes","render","applyRouterMiddleware","scrollMiddleware","actionBlackList","exceptionBlackList","sentryIgnore","formatActionType","getIsError","getIsSuccess","ravenMiddleware","actionType","isError","isFilteredByAction","setUser","setUserContext","isFiltered","addBreadcrumb","category","setBreadcrumb","isLogout","captureMessage","paramsMiddleware","applicationUser","resolvePromise","res","supportedModules","supportedActions","actionIsSyncable","getActionSpec","isSupportedModule","isSupportedAction","fromLS","lsSyncMiddleware","createdUserMiddleware","newAction","combineReducers","patientInWork","patientInWorkSaga","normChildren","normMen","normPregnant","normWomen","activityLife","activitySport","activityChild","notifications","notificationsExcluded","inbody","medass","notesSaga","inbodySaga","medassSaga","patientReceptionsSaga","resetPasswordFlow","staff_mail","resetPassword","removeCustom","flow","setUserFlow","setInstitutionFlow","setStep","setUTM","Public","signup","duplicate","setInstitution","utm","custom_название_на_печати","actionsSaga","signupSaga","fillFromTemplateFlow","copyFlow","sortFlow","triggerSave","isFilling","key_","templateKey","num","isCopying","source_day_key","day_numbers_to","dates","meal_times","fetchRation","new_number","fetchRationCompositionFlow","createFlow","manualFlow","navigateToRation","autogenerateFlow","removeFlow","createTemplateFlow","addDayFlow","assignFlow","checkDietFlow","num_","parsed","sostav","fetchProductCompositionSuccess","saveAction","автогенерация","meal_time","timeValues","ownerKey","newRationKey","urlPrefix","cancelCode","crypto","getRandomValues","Uint8Array","cancelСode","isAutogenerate","прописано_при","спец_виды_питания","template_key","fetchSuccessDay","diet_key","updateListFlow","currentItems","removed","correction","mode","ui","daysSaga","rationSaga","patientsElementsSaga","navigateToRationId","navigateToRationKey","createRation","checkAvailability","saveManualFlow","saveAutoFlow","includeSupplements","ration_key","supplementSaga","fetchDataFlow","deleteDataRowFlow","getAuth","routeParam","statisticDates","statistictSaga","isSingleStep","checkInvite","checkInviteSuccess","activate","activateInvite","activateFinish","callFunction","checkInviteFlow","activateFlow","activateInviteFlow","activation_id","lite_user","fetchInstitutions","fetchCities","fetchCountries","isLite","URLSearchParams","activation_id_control","staff_key","setParams","setParamsSuccess","activation","patientActivity","patientsAllergen","subscriptionPromocode","subscriptionTariffs","pingReducer","Catalog","Glossary","Rations","routerReducer","itemsSaveFlow","itemsMap","saveAnalysisBlood","saveAnalysisGenes","saveAnalysisHair","saveAnalysisSalt","saveAnalysisVitamin","saveItem","patientAnalysesSaga","switchTypeFlow","saveDietanamnezItem","redirect","isAssigning","removeDietanamnezItem","dietanamnezSaga","dietanamnezItemSaga","authErrors","confirmed","deactivated","unknown","setInviteByTokenFlow","requestResendEmail","loginErrorFlow","loginFlow","hideModalFlow","switchUserFlow","logoutFlow","carrotLoginTrackFlow","setProfileFlow","getModalError","deactevated","unconfirmed","authorize","Context","ContactArea","isContact","str","btoa","p1","fromCharCode","Authorization","errors","isCanLogin","roleKey","secret","modalError","initiator","notSupportMobile","getElementById","isMobile","navigator","userAgent","outerWidth","innerWidth","outerHeight","checkAccessResponse","AllowToLoginAs","allow_to_login_as","Key","кey","allowToLoginAs","AsUser","Token","s","logoutRedirect","fork","loginSuccessFlow","loginSuccessSaga","fetchWorkerSuccess","isRunning","dish_key","allowLoginFlow","setRoleFlow","changePasswordFlow","inviteLightFlow","inviteFlow","saveProfileFlow","getMobilePhoneStatusFlow","setStatusFlow","role_key","requared_password","custom_requared_password","custom_email","_key","actions","DEACTIVATE","ACTIVATE","INVITE","isModal","saveFlagFlow","getUserFlags","fetchSuccessFlow","startsWith","prefix","xs","saveData","removeData","removeWithUndoData","undoRemoveData","successAction","failureAction","updateRequest","createRequest","isAnyLocal","loadingFlow","processAction","itemLoader","storeState","ac","after","lazyLoadList","callback","waiter","modulesSaga","rootSaga","AnalysesSaga","CatalogSaga","DietanamnezSaga","RationsSaga","SupplementSaga","PublicSaga","PatientSaga","UserSaga","activationSaga","authSaga","ingredientsSaga","institutionsSaga","journalSaga","mealsSaga","notificationSaga","patientsSaga","pingSaga","productCompositionSaga","staffSaga","staffFlagsSaga","subscriptionOperationsSaga","subscriptionPromocodeSaga","routeParamsSaga","userSaga","registrationLinksSaga","captureException","crudSaga","routesSaga","sagaMiddleware","createSagaMiddleware","ServerUnderMaintenance","ariaHideApp","contentLabel","renderServerMaintenance","router","PublicLoginPage","only","rule","locationBeforeTransitions","PublicActivationStatus","activationStatus","ALREADY_ACTIVE","ACTIVATION_ERROR","IMMEDIATELY_DEACTIVATED","ACTIVATED","ACTIVATED_INVITE","ACTIVATION_INVITE_ERROR","PublicActivationContainer","handleHideAfterSignup","handleActivate","getIsActivationUrl","isActivationUrl","withRouter","PublicLogin","onHideModal","onSubmitModal","trim","recoveryLink","renderErrorModal","PublicLoginContainer","evolvedValues","handleSubmitModal","PublicLoginLayout","site","supportUrl","afterSignup","userLogged","renderModalSessionIsOver","showAfterSignup","themes","sd","themeName","Login","Activation","renderAfterSignupModal","renderWarningSessionIsOver","isMaintenance","inviteActivation","showModalError","modalButton","PublicPasswordRecovery","noValidate","renderSuccess","PublicPasswordRecoveryPage","handleRequestClose","handleAfterClose","submitSucceeded","PublicRegistrationLayout","PublicSignupLayout","RegistrationLayout","destroyOnUnmount","preset","custom_password","eula","PublicRegisterUserContainer","utm_medium","utm_source","InstituteFormContainer","change","getInstitutions","getCities","PublicRegisterInstituteContainer","classnames","AmwayPopup","isVisible","handleHide","PublicSignupPage","RegisterUser","institute","RegisterInstitute","InviteUserFormContainer","handleCloseModal","handleUserSubmit","handleInstituteSubmit","steps","USER","InviteUserForm","renderModal","__","renderStatus","buttonLink","textByStatus","ErrorPage","goBack","route","getRedirectUrl","rightOrFunc","urlOrFunc","canViewPage","getRoutes","onEnter","nextState","isLast","redirectUrl","components","createRoutes","createRoutesRR","App","activeElement","blur","PublicMain","PasswordRecovery","SignupLayout","Signup","SignupLight","SignupPro","Invite","getChildRoutes","custom_группы_пациентов","locale","Sentry","dsn","release","integrations","Integrations","BrowserTracing","tracesSampleRate","denyUrls","beforeSend","rs","isSupported","middlewares","routerMiddleware","lsSync","createdUser","raven","composeEnhancers","composeWithDevTools","trace","traceLimit","applyMiddleware","run","sagas","browserHistory","syncHistoryWithStore","Root","classList"],"mappings":"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QAAU,6J,gBCAjBD,EAAOC,QAAU,6M,gBCAjBD,EAAOC,QAAU,+J,gBCAjBD,EAAOC,QAAU,qR,gBCAjBD,EAAOC,QAAU,qc,gBCAjBD,EAAOC,QAAU,wL,gBCAjBD,EAAOC,QAAU,mgK,gBCAjBD,EAAOC,QAAU,6wB,gBCAjBD,EAAOC,QAAU,ohB,gBCAjBD,EAAOC,QAAU,6V,gBCAjBD,EAAOC,QAAU,iN,gBCAjBD,EAAOC,QAAU,6uI,gBCAjBD,EAAOC,QAAU,qM,gBCAjBD,EAAOC,QAAU,sM,gBCAjBD,EAAOC,QAAU,+iB,gBCAjBD,EAAOC,QAAU,owB,gBCAjBD,EAAOC,QAAU,iY,gBCAjBD,EAAOC,QAAU,yX,gBCAjBD,EAAOC,QAAU,oN,gBCAjBD,EAAOC,QAAU,kU,gBCAjBD,EAAOC,QAAU,swzB,gBCAjBD,EAAOC,QAAU,2kiD,gBCAjBD,EAAOC,QAAU,kgyB,gBCAjBD,EAAOC,QAAU,woiD,gBCAjBD,EAAOC,QAAU,iS,gBCAjBD,EAAOC,QAAU,wrI,gBCAjBD,EAAOC,QAAU,8N,gBCAjBD,EAAOC,QAAU,yM,gBCAjBD,EAAOC,QAAU,0oB,gBCAjBD,EAAOC,QAAU,0X,gBCAjBD,EAAOC,QAAU,k2F,gBCAjBD,EAAOC,QAAU,21H,gBCAjBD,EAAOC,QAAU,ipD,gBCAjBD,EAAOC,QAAU,6O,gBCAjBD,EAAOC,QAAU,sP,gBCAjBD,EAAOC,QAAU,uW,gBCAjBD,EAAOC,QAAU,mb,gBCAjBD,EAAOC,QAAU,sjB,gBCAjBD,EAAOC,QAAU,0O,gBCAjBD,EAAOC,QAAU,gW,gBCAjBD,EAAOC,QAAU,0M,gBCAjBD,EAAOC,QAAU,+zB,gBCAjBD,EAAOC,QAAU,4M,gBCAjBD,EAAOC,QAAU,w8L,gBCAjBD,EAAOC,QAAU,sxR,gBCAjBD,EAAOC,QAAU,uhE,gBCAjBD,EAAOC,QAAU,6xJ,gBCAjBD,EAAOC,QAAU,oQ,gBCAjBD,EAAOC,QAAU,oW,gBCAjBD,EAAOC,QAAU,iJ,gBCAjBD,EAAOC,QAAU,wR,gBCAjBD,EAAOC,QAAU,uP,gBCAjBD,EAAOC,QAAU,6mB,gBCAjBD,EAAOC,QAAU,ikD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","file":"static/js/main.ffea449b.chunk.js","sourcesContent":["const environments = {\n develop: {\n apiUrl: 'https://dev.nutrilogic.ru',\n appKey: 'c105a902',\n liteApiUrl: 'https://dev.nutrilogic.ru',\n proApiUrl: 'https://dev.nutrilogic.ru',\n contextKey: 'c105ts1r902',\n oneDayKey: 'c105a902t119r10698526',\n yearKey: 'c105a902t119r5371410',\n liteMonthKey: 'c105a902t119r5370654',\n sentry: 'https://11cf05e55e96416fa7bac61d83a4f504@sentry.io/179036',\n },\n master: {\n apiUrl: 'https://master1.nutrilogic.ru',\n appKey: 'c105a902',\n liteApiUrl: 'https://master1.nutrilogic.ru',\n proApiUrl: 'https://master2.nutrilogic.ru',\n contextKey: 'c105ts1r902',\n oneDayKey: 'c105a902t119r10698526',\n yearKey: 'c105a902t119r5371410',\n liteMonthKey: 'c105a902t119r5370654',\n sentry: 'https://11cf05e55e96416fa7bac61d83a4f504@sentry.io/179036',\n },\n production: {\n apiUrl: 'https://core1.nutrilogic.ru',\n appKey: 'c105a902',\n liteApiUrl: 'https://core1.nutrilogic.ru',\n proApiUrl: 'https://core2.nutrilogic.ru',\n contextKey: 'c105ts1r902',\n oneDayKey: 'c105a902t119r10698526',\n yearKey: 'c105a902t119r5371410',\n liteMonthKey: 'c105a902t119r5370654',\n sentry: 'https://05b1206a90754cd4986f835fd8151083@sentry.io/174935',\n },\n dd: {\n apiUrl: 'https://core.xn--80adffhqmpddacw4o.xn--p1ai',\n appKey: 'c105a902',\n liteApiUrl: 'https://core.xn--80adffhqmpddacw4o.xn--p1ai',\n proApiUrl: 'https://core.xn--80adffhqmpddacw4o.xn--p1ai',\n contextKey: 'c105ts1r902',\n oneDayKey: 'c105a902t119r10698526',\n yearKey: 'c105a902t119r5371410',\n liteMonthKey: 'c105a902t119r5370654',\n sentry: 'https://05b1206a90754cd4986f835fd8151083@sentry.io/174935',\n },\n};\n\nconst env = environments[process.env.REACT_APP_API || 'develop'];\n\nexport const apiUrl = env.apiUrl;\nexport const liteApiUrl = env.liteApiUrl;\nexport const proApiUrl = env.proApiUrl;\nexport const appKey = env.appKey;\nexport const contextKey = env.contextKey;\nexport const oneDayKey = env.oneDayKey;\nexport const sentry = env.sentry;\nexport const yearKey = env.yearKey;\nexport const liteMonthKey = env.liteMonthKey;\nexport const version = process.env.REACT_APP_VERSION || 'VERSION';\nexport const head = {\n titleTemplate: process.env.REACT_APP_API === 'dd' ? '%s - Доступная Диетология' : '%s - Nutrilogic',\n meta: [\n {\n charset: 'utf-8',\n },\n ],\n}\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nconst getValues = memoizee(R.values);\n\nexport const getItemField = (field, item) => R.pathOr(null, [field], item);\n\nexport const getItemWithAllFields = R.identity;\n\nconst pickByParent = memoizee(\n (parent, key, values) => R.pickBy(item => getItemField(parent, item) === key, values),\n { length: 3 },\n);\n\nexport const getAllItems = memoizee(R.compose(\n R.defaultTo({}),\n R.prop('itemsByKey'),\n));\n\nexport const getItems = R.compose(\n memoizee(R.pickBy(val => !val.isDeleted)),\n memoizee(R.pickBy(val => !val.isDeleting)),\n getAllItems,\n);\n\nexport const getItemsArray = R.compose(\n getValues,\n getItems,\n);\n\nexport const getItem = (key, state) => {\n const item = R.pathOr(null, ['itemsByKey', key], state);\n\n if (item) {\n return item;\n }\n\n return R.compose(\n R.find(R.propEq('oldKey', key)),\n getValues,\n R.prop('itemsByKey'),\n )(state);\n};\n\nexport const getField = (field, key, state) => getItemField(field, getItem(key, state), state);\nexport const getItemById = (id, state) => {\n const key = `${state.tableKey}${id}`;\n return state.itemsByKey[key];\n};\n\nexport const getKeyById = (id, state) => {\n const { tableKey } = state;\n\n if (!id) {\n return null;\n }\n\n return tableKey + id;\n};\n\nexport const getAllItemsByParent = R.curry(memoizee((key, state) =>\n R.compose(\n values => pickByParent(state.parentField, key, values),\n getAllItems,\n )(state),\n));\nexport const getItemsByParent = R.curry(memoizee((key, state) =>\n R.compose(\n values => pickByParent(state.parentField, key, values),\n getItems,\n )(state),\n));\nexport const getItemsArrayByParent = R.curry(memoizee(R.compose(\n getValues,\n getItemsByParent,\n)));\nexport const getAllItemsArrayByParent = R.curry(memoizee(R.compose(\n getValues,\n getAllItemsByParent,\n)));\nexport const getIsButtonRunning = button => R.compose(\n R.propOr(false, button),\n getItem,\n);\n","import { createSelector } from 'redux-orm';\n\nimport orm from 'redux/orm';\n\nconst createOrmSelector = (...args) => createSelector(\n orm,\n state => state.orm,\n ...args,\n);\n\nexport default createOrmSelector;","import * as R from 'ramda';\nimport { appKey } from 'config';\n\nconst fetchWithView = R.curry((fetch, view, paramsCommon = {}) => params => fetch({\n ...paramsCommon,\n ...params,\n view: R.includes('ts5c', view) ? `${appKey}${view}` : view,\n}));\n\nexport default fetchWithView;\n","import * as R from 'ramda';\nimport uuid from 'uuid/v4';\nimport { createAction as createAct, createReducer } from 'redux-act';\n\nimport { appKey } from 'config';\nimport isLocalKey from 'utils/isLocalKey';\n\nimport { login } from 'redux/modules/auth';\n\nimport parseResult from '../../utils/parseResult';\n\nimport { getItemField, getItem } from './selectors';\n\nconst ignoreFields = ['custom_действие']; // TODO add config\n\n\nexport const getChangedData = (item = {}, data = {}) => R.pickBy(\n (val, prop) => !R.equals(item[prop], val) || R.contains(prop, ignoreFields),\n data,\n);\n\nconst defaultPath = 'itemsByKey'\nconst itemsLens = R.lensProp(defaultPath);\nconst getCustomItemsLens = (path) => R.lensPath([defaultPath, ...path])\n\nexport const set = R.curry((key, data, state) => {\n if (!data) {\n return {\n ...state,\n itemsByKey: R.omit([key], state.itemsByKey),\n };\n }\n\n return R.over(R.lensPath(['itemsByKey', key]), R.merge(R.__, data), state);\n});\n\nexport default function generator(config = {}) {\n const {\n name = 'Module__',\n tableId,\n parseItem = R.identity,\n parentField = '___parent',\n } = config;\n const tableKey = `${appKey}t${tableId}r`;\n const initialState = {\n tableKey,\n parentField,\n itemsByKey: {},\n };\n\n const createAction = (action, payload) => createAct(`${name.toUpperCase()}__${action}`, payload);\n const fetch = createAction('FETCH', args => ({\n key: tableKey,\n ...args,\n }));\n const fetchSuccess = createAction('FETCH_SUCCESS');\n const fetchFailure = createAction('FETCH_FAILURE');\n\n const create = createAction('CREATE', args => ({\n key: uuid(),\n ...args,\n }));\n\n const save = createAction('SAVE', args => ({\n ...args,\n tableKey,\n key: args.key || uuid(),\n }));\n const saveSuccess = createAction('SAVE_SUCCESS');\n const saveFailure = createAction('SAVE_FAILURE');\n\n const remove = createAction('REMOVE');\n const removeSuccess = createAction('REMOVE_SUCCESS');\n const removeFailure = createAction('REMOVE_FAILURE');\n\n const removeWithUndo = createAction('REMOVE_WITH_UNDO', args => ({\n ...args,\n tableKey,\n }));\n const removeWithUndoSuccess = createAction('REMOVE_WITH_UNDO_SUCCESS');\n const removeWithUndoFailure = createAction('REMOVE_WITH_UNDO_FAILURE');\n\n const undoRemove = createAction('UNDO_REMOVE');\n const undoRemoveSuccess = createAction('UNDO_REMOVE_SUCCESS');\n const undoRemoveFailure = createAction('UNDO_REMOVE_FAILURE');\n\n const handleFetchNumber = (state, payload) => {\n const {data, path} = payload;\n\n return R.over(getCustomItemsLens(path), () => data, state)\n // return state.itemsByKey[userAkey].___phonemobile = data;\n\n }\n\n const handleFetchSuccess = (state, { response, parents }) => {\n if (response.fromCache) {\n return state;\n }\n return R.over(itemsLens, (data) => {\n const items = parents ?\n R.pickBy(item => !R.contains(getItemField(parentField, item), parents), data) :\n data;\n return parseResult(response, items, parseItem);\n }, state);\n };\n\n const handleCreate = (state, payload) => {\n const { data, key } = payload;\n\n return set(key, {\n key,\n ...data,\n }, state);\n };\n\n const handleSave = (state, payload) => {\n const { data = {} } = payload;\n const item = R.defaultTo({}, getItem(payload.key, state));\n const key = R.defaultTo(payload.key, item.key);\n\n return set(key, {\n key,\n ...data,\n isSaving: true,\n isShouldSaved: item.isShouldSaved || (item.isSaving && !payload.isLocal),\n }, state);\n };\n\n const handleSaveSuccess = (state, { key, response }) => {\n const item = getItem(key, state);\n const newKey = R.pathOr(item.key, ['data', 'key'], response);\n const isCreation = newKey && key !== newKey;\n\n let newState = set(key, {\n isSaving: false,\n isSaved: true,\n isShouldSaved: item.isShouldSaved ? !response : item.isShouldSaved,\n }, state);\n\n if (isCreation) {\n newState = R.compose(\n set(newKey, {\n ...getItem(key, newState),\n key: newKey,\n oldKey: key,\n }),\n set(key, undefined),\n )(newState);\n }\n\n return newState;\n };\n\n const handleSaveFailure = (state, payload) => {\n const { key, data } = payload;\n\n return set(key, {\n ...data,\n isSaving: false,\n isSaved: false,\n }, state);\n };\n\n const handleRemove = (state, payload) => {\n const { key } = payload;\n\n return set(key, {\n isDeleting: true,\n }, state);\n };\n\n const handleRemoveSuccess = (state, payload) => {\n const { key } = payload;\n const item = getItem(key, state);\n const isLocalItem = isLocalKey(item.key);\n\n return set(key, {\n isDeleted: true,\n isDeleting: false,\n markToDelete: isLocalItem && item.isSaving,\n }, state);\n };\n\n const handleRemoveFailure = (state, payload) => {\n const { key } = payload;\n\n return set(key, {\n isDeleting: false,\n }, state);\n };\n\n\n const handleUndoRemove = (state, payload) => {\n const { key } = payload;\n\n return set(key, {\n isDeleted: false,\n isDeleting: false,\n markToDelete: false,\n }, state);\n };\n\n const handleUndoRemoveFailure = (state, payload) => {\n const { key } = payload;\n\n return set(key, {\n isDeleted: true,\n isDeleting: false,\n markToDelete: false,\n }, state);\n };\n\n const reducer = createReducer({\n [fetchSuccess]: handleFetchSuccess,\n [`NUMBER__PHONE_${name}`]: handleFetchNumber,\n\n [create]: handleCreate,\n\n [save]: handleSave,\n [saveSuccess]: handleSaveSuccess,\n [saveFailure]: handleSaveFailure,\n\n [remove]: handleRemove,\n [removeSuccess]: handleRemoveSuccess,\n [removeFailure]: handleRemoveFailure,\n\n [removeWithUndo]: handleRemove,\n [removeWithUndoSuccess]: handleRemoveSuccess,\n [removeWithUndoFailure]: handleRemoveFailure,\n\n [undoRemove]: handleUndoRemove,\n [undoRemoveFailure]: handleUndoRemoveFailure,\n\n [login]: () => initialState,\n }, initialState);\n\n return {\n fetch,\n fetchSuccess,\n fetchFailure,\n\n create,\n\n save,\n saveSuccess,\n saveFailure,\n\n remove,\n removeSuccess,\n removeFailure,\n\n removeWithUndo,\n removeWithUndoSuccess,\n removeWithUndoFailure,\n\n undoRemove,\n undoRemoveSuccess,\n undoRemoveFailure,\n\n reducer,\n };\n}\n","import { AxiosRequestHeaders } from \"axios\";\nimport * as R from \"ramda\";\n\ntype Params = {\n view?: any;\n filter?: any;\n token?: any;\n button?: any;\n limit?: any;\n};\n\nconst formatHeaders = ({\n view,\n filter,\n token,\n button,\n limit,\n}: Params): AxiosRequestHeaders =>\n R.pickBy(R.complement(R.isNil), {\n view,\n token,\n button,\n limit,\n filter,\n filterstate: \"remake\",\n });\n\nexport default formatHeaders;\n","import { AxiosRequestConfig } from \"axios\";\nimport request from \"./request\";\nimport formatHeaders from \"./utils/formatHeaders\";\n\ntype Params = {\n key: string;\n view?: string;\n filter?: string;\n cache?: boolean;\n token?: string;\n limit?: number;\n useLS?: boolean;\n};\n\nexport function get({\n key,\n view,\n filter,\n cache,\n token,\n limit = 100000,\n useLS = false,\n}: Params) {\n return request\n .get(`/${key}/json/v2`, {\n cache,\n useLS,\n headers: formatHeaders({\n view,\n filter,\n limit,\n token,\n }),\n } as AxiosRequestConfig)\n .then((response) => ({\n ...response.data,\n fromCache: (response as any).fromCache,\n }));\n}\n","import request from \"./request\";\n\nimport formatHeaders from \"./utils/formatHeaders\";\n\ntype Params = {\n key: string;\n data: Record;\n token?: string;\n button?: string;\n};\n\nexport function post({ key, data, token, button }: Params) {\n return request.post(\n `/${key}/json/v2`,\n { data },\n {\n headers: formatHeaders({\n button,\n token,\n }),\n }\n );\n}\n","import request from \"./request\";\nimport formatHeaders from \"./utils/formatHeaders\";\n\ntype Params = {\n key: string;\n data: Record;\n token?: string;\n};\n\nexport function put({ key, token, data }: Params) {\n return request.put(\n `/${key}/json/v2`,\n { data },\n {\n headers: formatHeaders({\n token,\n }),\n }\n );\n}\n","import request from '../request';\nimport formatHeaders from '../utils/formatHeaders';\n\nexport default function deleteRequest({ key, view }) {\n return request.delete(`/${key}/json/v2`, {\n headers: formatHeaders({\n view,\n }),\n });\n}\n","export default function getKeyInfo(key) {\n if (!key) {\n return {};\n }\n\n const [company, app, table, record] = key.split(/[catr]/).slice(1).map(item => parseInt(item, 10));\n\n return {\n company,\n app,\n table,\n record,\n };\n}\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSupport(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 14C11.3137 14 14 11.3137 14 8C14 4.68629 11.3137 2 8 2C4.68629 2 2 4.68629 2 8C2 11.3137 4.68629 14 8 14ZM8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM7 6C7 5.72386 7.22386 5.5 7.5 5.5H8.33333C8.70152 5.5 9 5.79848 9 6.16667C9 6.3765 8.9012 6.5741 8.73333 6.7L7.73333 7.45C7.27169 7.79623 7 8.33961 7 8.91667V10H9V9L9.93333 8.3C10.6048 7.79639 11 7.00602 11 6.16667C11 4.69391 9.80609 3.5 8.33333 3.5H7.5C6.11929 3.5 5 4.61929 5 6C5 6.26522 5.10536 6.51957 5.29289 6.70711C5.48043 6.89464 5.73478 7 6 7C6.26522 7 6.51957 6.89464 6.70711 6.70711C6.89464 6.51957 7 6.26522 7 6ZM7 11V13H9V11H7Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSupport);\nexport default __webpack_public_path__ + \"static/media/support.e0df240e.svg\";\nexport { ForwardRef as ReactComponent };","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr([], 'custom_производители_бад'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getCatalogGroups as getProductGroups } from 'redux/modules/productGroups';\nimport { getCatalogGroups as getSupplementGroups } from 'redux/modules/supplementGroups';\n\nimport getUserIsLight from '../getUserIsLight';\nimport getUserSupplementGroups from '../getUserSupplementGroups';\n\nexport default createSelector(\n getUserIsLight,\n getUserSupplementGroups,\n R.path(['productGroups']),\n R.path(['supplementGroups']),\n\n (isLight, userGroups, productGroups, supplementGroups) => {\n if (isLight) {\n return getSupplementGroups(supplementGroups, userGroups);\n }\n\n return getProductGroups(productGroups);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getCatalogGroups from '../getCatalogGroups';\n\nexport default createSelector(\n getCatalogGroups,\n (state, props) => Number(props.groupId),\n\n (items, groupId) => R.find(R.propEq('id', groupId), items),\n);\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport { getNorm } from \"redux/modules/elementNorms\";\n\nimport getUserCountry from \"../getUserCountry\";\n\nexport default createSelector(\n R.path([\"elementNorms\"]),\n getUserCountry,\n\n getNorm\n);\n","import { createSelector } from 'reselect';\n\nimport getPatientKey from '../getPatientKey';\nimport getAbstractNorm from '../getAbstractNorm';\nimport getPatientNorm from '../getPatientNorm';\n\nexport default createSelector(\n getPatientKey,\n getAbstractNorm,\n getPatientNorm,\n\n (patientKey, abstractNorm, patientNorm) => patientKey ? patientNorm : abstractNorm,\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport {oneDayKey} from 'config';\n\nexport default createOrmSelector(\n (session) => {\n const { InstitutionSubscription } = session;\n const item = InstitutionSubscription.first();\n\n if (!item) {\n return {};\n }\n// const bill = SubscriptionOperation\n// .filter(i => R.includes(i.custom_операция, [`${appKey}t122r5385772`, `${appKey}t122r6448820`]))\n// .orderBy(a => moment(a.custom_дата_операции).valueOf(), 'desc')\n// .first();\n\n let duration = R.pathOr(null, ['custom_оплачено', 'custom_количество_месяцев_подписки'], item);\n let option = item.custom_текущий_вариант_подписки || {\n custom_стоимость: 0,\n custom_стоимость_исходная: 0,\n custom_количество_месяцев_подписки: 1,\n };\n\n const { custom_текущий_вариант_подписки, custom_оплачено } = item.ref;\n const isCurrentSubscriptionExists = !!custom_текущий_вариант_подписки;\n const isFutureSubscriptionExists = !!custom_оплачено;\n const isCurrentSubscriptionOneDay = custom_текущий_вариант_подписки === oneDayKey;\n const isFutureSubscriptionOneDay = custom_оплачено === oneDayKey;\n const isProlonged = isCurrentSubscriptionExists && isFutureSubscriptionExists;\n\n let days = 365;\n if (isCurrentSubscriptionOneDay) {\n days = 1;\n } else if (option.custom_количество_месяцев_подписки === 1) {\n days = 31;\n }\n// const realPrice = isProlonged && bill.ref.custom_промокод ? bill.custom_ordersumamount : option.custom_стоимость;\n const dayPrice = option.custom_стоимость / days;\n const currentPrice = item.custom_стоимость_текущей_подписки / (isCurrentSubscriptionOneDay ? 1 : option.custom_количество_месяцев_подписки) / item.custom_количество_пользователей;\n\n return {\n ...item.ref,\n duration,\n currentPrice,\n dayPrice,\n futureMonths:\n isCurrentSubscriptionExists,\n isFutureSubscriptionExists,\n isCurrentSubscriptionOneDay,\n isFutureSubscriptionOneDay,\n isProlonged,\n };\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/modules/subscriptionTariffs';\n\nexport default createSelector(\n R.path(['subscriptionTariffs']),\n\n getItemsArray,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\nimport getTariffsAll from '../getTariffsAll';\n\nexport default createSelector(\n state => {\n const subscription = getInstitutionSubscription(state);\n const list = getTariffsAll(state);\n\n return R.find(R.propEq('key', subscription.custom_действующий_тарифный_план), list)\n },\n\n R.propOr(false, 'custom_триал'),\n) as () => boolean;\n","import { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n (worker) => worker && !!worker.custom_партнер,\n);\n","import React from 'react'\nimport { createSelector } from 'reselect';\n\nimport Link from 'components/Link';\n\nimport getInstitutionTariffIsTrial from '../getInstitutionTariffIsTrial'\nimport getUserIsLight from '../getUserIsLight'\nimport getUserIsPartner from '../getUserIsPartner'\n\nexport default createSelector(\n getInstitutionTariffIsTrial,\n getUserIsLight,\n getUserIsPartner,\n\n (isTrial, isLight, isPartner) => {\n if (isTrial) {\n if (isLight) {\n return (\n <>\n Вы не можете создавать клиентов во время пробного периода.\n Пожалуйста, продлите подписку здесь, чтобы создавать клиентов без ограничений.\n \n )\n }\n\n if (isPartner) {\n return (\n <>\n Вы не можете создавать пациентов во время пробного периода.\n Пожалуйста, продлите подписку здесь, чтобы снять ограничения.\n \n )\n }\n }\n\n return null\n }\n)\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray as getIngestion } from 'redux/modules/mealTypes';\n\nexport default createSelector(\n R.path(['mealTypes']),\n\n R.compose(\n R.map(item => ({\n key: item.key,\n custom_схема_питания: item.key,\n custom_время: item.custom_время,\n })),\n getIngestion,\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItems as getKingsFood } from 'redux/modules/specificEatingTypes';\nimport getUserIsLight from '../getUserIsLight';\n\nexport default createSelector(\n R.path(['specificEatingTypes']),\n getUserIsLight,\n\n getKingsFood,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatientIllness from '../getPatientIllness';\nimport getDiseaseList from '../getDiseaseList';\nimport getIllnessList from '../getIllnessList';\nimport getPatientSpecificConditions from '../getPatientSpecificConditions';\n\nexport default createSelector(\n getPatientSpecificConditions,\n getPatientIllness,\n getIllnessList,\n getDiseaseList,\n\n (specificConditions, patientIllness, illnessList, diseaseList) => {\n const illness = R.compose(\n R.pluck('label'),\n R.map(item => R.find(R.propEq('value', item), illnessList)),\n )(patientIllness);\n const disease = R.compose(\n R.pluck('label'),\n R.map(item => R.find(R.propEq('value', item), diseaseList)),\n )(specificConditions);\n\n return [...illness, ...disease];\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getSpecificConditions,\n} from 'modules/Patient/redux/disease';\n\nexport default createSelector(\n R.path(['Patient', 'disease']),\n\n getSpecificConditions,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport { appKey } from 'config';\n\nimport getElementsVisible from '../getElementsVisible';\n\nconst baseElements = [\n `${appKey}t28r219`,\n `${appKey}t28r221`,\n `${appKey}t28r222`,\n `${appKey}t28r223`,\n];\n\nexport default createSelector(\n getElementsVisible,\n\n R.reject(item => R.contains(item.key, baseElements)),\n);\n","import moment from 'moment';\nimport * as R from 'ramda';\n\nimport { appKey } from 'config';\n\nimport declOfNums from 'utils/declOfNums';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nconst getLabel = declOfNums(['аккаунт', 'аккаунта', 'аккаунтов']);\nconst getLabel1 = declOfNums(['аккаунта', 'аккаунтов', 'аккаунтов']);\n\nexport const getActiveBill = createOrmSelector(\n (session) => {\n const { SubscriptionOperation } = session;\n const activeBill = SubscriptionOperation\n .exclude({\n isSaving: true,\n })\n .exclude({\n custom_операция: `${appKey}t122r6449623`, // Перенос даты однодневной подписки\n })\n .filter({\n custom_currentstatus: 'newManualOrder',\n })\n .first();\n\n return activeBill ? activeBill.ref : undefined;\n },\n);\n\nexport const getBillList = createOrmSelector(\n (session) => {\n const { SubscriptionOperation } = session;\n\n return SubscriptionOperation\n .exclude({\n custom_currentstatus: 'cancelOrder',\n })\n .exclude({\n custom_currentstatus: 'cancelManualOrder',\n })\n .exclude({\n custom_currentstatus: 'newOrder',\n })\n .exclude({\n custom_операция: `${appKey}t122r6135158`,\n })\n .exclude({\n custom_операция: `${appKey}t122r6449623`,\n })\n .orderBy(a => moment(a.custom_дата_операции).valueOf(), 'desc')\n .toModelArray()\n .map((item) => {\n const tariff = item.custom_тарифный_план;\n\n const durationLabel = {\n 1: 'месяц',\n 12: 'год',\n };\n\n const duration = tariff ? durationLabel[tariff.custom_количество_месяцев_подписки] : undefined;\n\n const operationId = getKeyInfo(item.custom_операция).record\n const textByOperation = {\n 5370660: `${item.custom_значение_операции} ${getLabel(item.custom_значение_операции)} на ${duration}`,\n 5385772: `${item.custom_значение_операции} ${getLabel(item.custom_значение_операции)} на ${duration}`,\n 5370661: `Увеличение до ${item.custom_значение_операции} ${getLabel1(item.custom_значение_операции)}`,\n 6448820: `${item.custom_значение_операции} ${getLabel(item.custom_значение_операции)} на 1 день`,\n }\n\n return {\n key: item.key,\n date: item.custom_дата_операции,\n sum: item.custom_ordersumamount,\n invoiceUri: item.custom_счет,\n text: textByOperation[operationId],\n };\n });\n },\n);\n\nexport const getLastProlongation = createOrmSelector(\n (session) => {\n const { SubscriptionOperation } = session;\n\n const item = SubscriptionOperation\n .filter(i => R.includes(i.custom_операция, [`${appKey}t122r5385772`, `${appKey}t122r6448820`]))\n .orderBy(a => moment(a.custom_дата_операции).valueOf(), 'desc')\n .first();\n\n return item ? item.ref : null;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\n\nexport default createSelector(\n getInstitutionSubscription,\n\n R.prop('custom_активных_пользователей'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\n\nexport default createSelector(\n getInstitutionSubscription,\n\n R.prop('custom_время_окончания_подписки'),\n) as () => string;\n","import moment from 'moment';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\nimport getInstitutionSubscriptionEnd from '../getInstitutionSubscriptionEnd';\n\nexport default createSelector(\n getInstitutionSubscription,\n getInstitutionSubscriptionEnd,\n\n (tariff, endDate) => {\n return moment(endDate).add(tariff.isFutureSubscriptionOneDay ? 0 : tariff.duration, 'months').diff(moment().startOf('day'), 'days')\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { Partner } = session;\n\n try {\n return Partner\n .first()\n .ref;\n } catch (error) {\n return null\n }\n },\n);\n","import { createSelector } from 'reselect';\n\nimport getPartner from '../getPartner';\n\nexport default createSelector(\n getPartner,\n\n (partner) => {\n const subscriptionUrl = partner ? partner.custom_subscribe_url : null\n\n if (process.env.REACT_APP_API === 'dd') {\n return {\n href: 'https://xn--80adffhqmpddacw4o.xn--p1ai/',\n target: '_blank'\n };\n }\n\n return {\n to: partner ? null : '/user/subscription',\n href: partner ? subscriptionUrl : null,\n target: partner ? '_blank' : null,\n }\n },\n);\n","import { createSelector } from 'reselect';\n\nimport declOfNums from 'utils/declOfNums';\nimport getInstitutionSubscriptionDurationTotal from '../getInstitutionSubscriptionDurationTotal';\nimport getSubscriptionUrl from '../getSubscriptionUrl';\nimport getUserIsPartner from '../getUserIsPartner';\n\nconst getDay = declOfNums(['день', 'дня', 'дней']);\n\nexport default createSelector(\n getInstitutionSubscriptionDurationTotal,\n getSubscriptionUrl,\n getUserIsPartner,\n\n (duration, subscriptionUrl, isPartner) => {\n if (duration > 7 || duration <= 0 || isPartner || process.env.REACT_APP_API === 'dd') {\n return {};\n }\n\n return {\n title: 'Внимание!',\n text: `Внимание! До конца оплаченного периода подписки осталось ${duration} ${getDay(duration)}.`,\n button: 'Продлить',\n ...subscriptionUrl,\n };\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitution from '../getInstitution';\n\nexport default createSelector(\n getInstitution,\n\n R.compose(\n R.multiply(0.01),\n R.defaultTo(0),\n R.propOr(0, 'custom_постоянная_скидка'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitution from '../getInstitution';\nimport getUserIsLight from '../getUserIsLight';\n\nexport default createSelector(\n getInstitution,\n getUserIsLight,\n\n (institution, isLight) => {\n return R.compose(\n R.not,\n R.propOr(true, 'custom_информирован_о_триальной_подписке'),\n )(institution);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\n\nexport default createSelector(\n getInstitutionSubscription,\n\n R.propOr(0, 'custom_остаток_бонусных_дней'),\n);\n","import moment from 'moment';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscriptionEnd from '../getInstitutionSubscriptionEnd';\n\nexport default createSelector(\n getInstitutionSubscriptionEnd,\n\n endDate => moment(endDate).diff(moment().startOf('day'), 'days'),\n) as () => number;\n","import { createSelector } from 'reselect';\nimport moment from 'moment';\n\nimport getInstitutionSubscriptionEnd from '../getInstitutionSubscriptionEnd';\n\nexport default createSelector(\n getInstitutionSubscriptionEnd,\n\n endDate => moment(endDate).isBefore(moment()),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\n\nexport default createSelector(\n getInstitutionSubscription,\n\n R.prop('custom_дата_начала_подписки'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\n\nexport default createSelector(\n getInstitutionSubscription,\n\n R.compose(\n R.not,\n R.isNil,\n R.propOr(null, 'custom_оплачено'),\n ),\n);\n","import * as R from 'ramda';\nimport { appKey } from 'config';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\nimport getInstitutionTariffIsTrial from '../getInstitutionTariffIsTrial';\nimport getUserIsLight from '../getUserIsLight';\n\nexport default createSelector(\n getInstitutionSubscription,\n getInstitutionTariffIsTrial,\n getUserIsLight,\n\n (subscription, isTrial, isLight) => {\n if (isTrial) {\n return `${appKey}t116r${isLight ? 5370657 : 5370658}`\n }\n\n return R.propOr(null, 'custom_действующий_тарифный_план', subscription)\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUserIsLight from '../getUserIsLight';\nimport getTariffsAll from '../getTariffsAll';\n\nexport default createSelector(\n getUserIsLight,\n getTariffsAll,\n\n (isLight, list) => R.compose(\n R.head,\n R.reverse,\n R.reject(R.prop('custom_спецтариф')),\n R.reject(R.prop('custom_архивный')),\n R.reject(R.prop('custom_триал')),\n R.filter(R.propEq('custom_группа_тарифов_light', isLight)),\n )(list),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionTariffKey from '../getInstitutionTariffKey';\nimport getTariffsAll from '../getTariffsAll';\n\nexport default createSelector(\n getInstitutionTariffKey,\n getTariffsAll,\n\n (key, tariffs) => R.find(R.propEq('key', key), tariffs),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionTariffKey from '../getInstitutionTariffKey';\nimport getTariff from '../getTariff';\n\nexport default createSelector(\n R.identity,\n getInstitutionTariffKey,\n\n (state, tariffKey) => getTariff(state, { tariffKey }),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getTariffReal from '../getTariffReal';\n\nexport default createSelector(\n getTariffReal,\n\n R.prop('custom_спецтариф'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getTariffReal from '../getTariffReal';\n\nexport default createSelector(\n getTariffReal,\n\n R.propOr(null, 'custom_название'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitutionSubscription from '../getInstitutionSubscription';\n\nexport default createSelector(\n getInstitutionSubscription,\n\n R.prop('custom_количество_пользователей'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/modules/journal';\n\nexport default createSelector(\n R.path(['journal']),\n\n getItemsArray,\n);\n","import { getLoaderByType as getLoaderByTypeLocal } from 'redux/modules/loader';\n\nconst getLoaderByType = (type, state) =>\n getLoaderByTypeLocal(type, state.loader);\n\nexport default getLoaderByType","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getApplicationUser from '../getApplicationUser';\nimport getMealsWithStatus from '../getMealsWithStatus';\n\nexport default createSelector(\n getApplicationUser,\n getMealsWithStatus,\n\n (userKey, meals) => R.filter((item) => {\n const isTerritory = item.custom_показывать_в_рамках_учреждения === true;\n const owner = item.___owner; // eslint-disable-line\n const isBase = !owner;\n\n return isBase || isTerritory || owner === userKey;\n }, meals),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getMealsList from '../getMealsList';\n\nexport default createSelector(\n getMealsList,\n\n R.indexBy(R.prop('key')),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getMealsList from '../getMealsList';\n\nexport default createSelector(\n getMealsList,\n\n R.groupBy(R.prop('custom_группа')),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUserIsLight from '../getUserIsLight';\nimport getUserIsPartner from '../getUserIsPartner';\n\nexport default createSelector(\n getUserIsLight,\n getUserIsPartner,\n\n (isLight, isPartner) => {\n const items = [\n {\n to: '/catalog',\n title: isLight ? 'Справочник биологически активных добавок' : 'Справочник пищевых продуктов',\n },\n {\n to: '/glossary/rations',\n title: 'Справочник шаблонов рационов',\n inMenu: !isLight,\n },\n {\n to: '/glossary/daily-rate',\n title: 'Суточные нормы потребления',\n },\n {\n to: '/glossary/anthropometry-norm',\n title: 'Антропометрические нормы',\n },\n {\n href: \"https://help.nutrilogic.ru/\",\n target: \"_blank\",\n title: 'База знаний',\n },\n {\n href: '/files/help.pdf',\n target: '_blank',\n title: 'Помощь',\n inMenu: !isLight && !isPartner,\n },\n ];\n\n return R.reject(R.propEq('inMenu', false), items);\n },\n);\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport { getItems, Patient } from \"redux/modules/patients\";\n\nexport default createSelector(\n R.path([\"patients\"]),\n\n getItems as any\n) as unknown as () => Patient[];\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport isLocalKey from 'utils/isLocalKey';\nimport getPatientId from '../getPatientId';\nimport getPatientsList from '../getPatientsList';\nimport getUserIsLight from '../getUserIsLight';\nimport getUserIsPartner from '../getUserIsPartner';\nimport { getDietanamnezIdWithotNotEnded } from 'redux/selectors';\n\nconst tooltip = 'Введите все регистрационные данные, обязательные для заполнения.';\n\nconst getProPatientMenu = createSelector(\n getPatientId,\n getPatientsList,\n getUserIsPartner,\n\n (patientId, list, isPartner) => {\n const newItem = R.find(R.propSatisfies(isLocalKey, 'key'), list);\n const isNew = patientId === 'new';\n const mainPage = {\n to: `/patients/${patientId}`,\n title: 'Регистрационные данные',\n onlyActiveOnIndex: true,\n visible: true,\n };\n const restPage = [\n {\n to: `/patients/${patientId}/diagnosis`,\n title: 'Диагноз',\n visible: !isPartner,\n },\n {\n to: `/patients/${patientId}/anthropometry`,\n title: 'Антропометрия и состав тела',\n visible: true,\n },\n {\n to: `/patients/${patientId}/energy`,\n title: 'Энергетический обмен',\n visible: true,\n },\n {\n to: `/patients/${patientId}/analyses`,\n title: 'Анализы',\n visible: !isPartner,\n },\n {\n to: `/patients/${patientId}/dietanamnez`,\n title: 'Диетанамнез',\n visible: !isPartner,\n },\n {\n to: `/patients/${patientId}/rations`,\n title: 'Рацион',\n visible: true,\n },\n ];\n\n return R.compose(\n R.filter(item => item.visible),\n R.concat([mainPage]),\n R.map(R.set(R.lensProp('disabled'), isNew)),\n R.map(R.set(R.lensProp('tooltip'), (isNew && !newItem) ? tooltip : null)),\n R.map(R.over(R.lensProp('to'), val => isNew ? '' : val)),\n )(restPage);\n },\n);\n\nconst getLightPatientMenu = createSelector(\n getPatientId,\n getPatientsList,\n getDietanamnezIdWithotNotEnded,\n (patientId, list, dietanamnezId) => {\n const newItem = R.find(R.propSatisfies(isLocalKey, 'key'), list);\n const isNew = patientId === 'new';\n const mainPage = {\n to: `/patients/${patientId}`,\n label: 'Регистрация',\n onlyActiveOnIndex: true,\n };\n const restPage = [\n {\n to: `/patients/${patientId}/status`,\n label: 'Пищевой статус',\n },\n {\n to: `/patients/${patientId}/dietanamnez/${dietanamnezId || ''}`,\n label: 'Фактическое питание',\n },\n {\n to: `/patients/${patientId}/rations`,\n label: 'Оптимизация питания',\n },\n ];\n\n return R.compose(\n R.concat([mainPage]),\n R.map(R.set(R.lensProp('disabled'), isNew)),\n R.map(R.set(R.lensProp('tooltip'), (isNew && !newItem) ? tooltip : null)),\n R.map(R.over(R.lensProp('to'), val => isNew ? null : val)),\n )(restPage);\n },\n);\n\nexport default createSelector(\n getUserIsLight,\n getProPatientMenu,\n getLightPatientMenu,\n\n (isLight, proMenu, lightMenu) => isLight ? lightMenu : proMenu,\n);\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTime(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9.87535 10.7809C10.3066 11.1259 10.9359 11.0559 11.2809 10.6247C11.6259 10.1934 11.5559 9.56408 11.1247 9.2191L8.99972 7.51934V4.5C8.99972 3.94772 8.552 3.5 7.99972 3.5C7.44743 3.5 6.99972 3.94772 6.99972 4.5L6.99972 8V8.48066L7.37507 8.7809L9.87535 10.7809Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTime);\nexport default __webpack_public_path__ + \"static/media/time.1f9a0e1a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFolder(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 13V3H5.17157L6.29289 4.12132L7.59207 2.82214L6.29289 4.12132C6.8555 4.68393 7.61856 5 8.41421 5H14V13H2ZM0 13V3C0 1.89543 0.89543 1 2 1H5.58579C5.851 1 6.10536 1.10536 6.29289 1.29289L7.70711 2.70711C7.89464 2.89464 8.149 3 8.41421 3H14C15.1046 3 16 3.89543 16 5V13C16 14.1046 15.1046 15 14 15H2C0.895431 15 0 14.1046 0 13ZM4 10C3.44772 10 3 10.4477 3 11C3 11.5523 3.44772 12 4 12H8C8.55228 12 9 11.5523 9 11C9 10.4477 8.55228 10 8 10H4Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFolder);\nexport default __webpack_public_path__ + \"static/media/folder.7be7f454.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 0C4.55228 0 5 0.447715 5 1V2H11V1C11 0.447715 11.4477 0 12 0C12.5523 0 13 0.447715 13 1V2C14.6569 2 16 3.34315 16 5V13C16 14.6569 14.6569 16 13 16H3C1.34315 16 0 14.6569 0 13V5C0 3.34315 1.34315 2 3 2V1C3 0.447715 3.44772 0 4 0ZM11 4C11 4.55228 11.4477 5 12 5C12.5523 5 13 4.55228 13 4C13.5523 4 14 4.44772 14 5V6L2 6L2 5C2 4.44772 2.44772 4 3 4C3 4.55228 3.44772 5 4 5C4.55228 5 5 4.55228 5 4H11ZM2 8V13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V8L2 8ZM3 12C3 11.4477 3.44772 11 4 11H7C7.55228 11 8 11.4477 8 12C8 12.5523 7.55228 13 7 13H4C3.44772 13 3 12.5523 3 12Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendar);\nexport default __webpack_public_path__ + \"static/media/calendar.b393fc7c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUser(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11 5C11 6.65685 9.65686 8 8 8C6.34315 8 5 6.65685 5 5C5 3.34315 6.34315 2 8 2C9.65686 2 11 3.34315 11 5ZM13 5C13 7.76142 10.7614 10 8 10C5.23858 10 3 7.76142 3 5C3 2.23858 5.23858 0 8 0C10.7614 0 13 2.23858 13 5ZM8 10C11.0885 10 13.8475 11.3233 15.727 13.3134C16.1062 13.7149 16.0881 14.3478 15.6866 14.727C15.2851 15.1062 14.6522 15.0881 14.273 14.6866C12.7525 13.0767 10.5115 12 8 12C5.48847 12 3.24747 13.0767 1.72702 14.6866C1.3478 15.0881 0.714897 15.1062 0.313379 14.727C-0.0881392 14.3478 -0.106222 13.7149 0.272989 13.3134C2.15254 11.3233 4.91153 10 8 10ZM5 15C5 14.4477 5.44772 14 6 14H10C10.5523 14 11 14.4477 11 15C11 15.5523 10.5523 16 10 16H6C5.44772 16 5 15.5523 5 15Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUser);\nexport default __webpack_public_path__ + \"static/media/user.1015c838.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLocation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 1C2 0.447715 1.55228 0 1 0C0.447715 0 0 0.447715 0 1V15C0 15.5523 0.447716 16 1 16C1.55229 16 2 15.5523 2 15L2 1ZM10.3176 6.91848L9.62238 8L10.3176 9.08152L12.8367 13H5V3H12.8367L10.3176 6.91848ZM3 14V2C3 1.44772 3.44772 1 4 1H14.6683C15.4595 1 15.9373 1.87525 15.5095 2.54076L12 8L15.5095 13.4592C15.9373 14.1248 15.4595 15 14.6683 15H4C3.44772 15 3 14.5523 3 14Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLocation);\nexport default __webpack_public_path__ + \"static/media/location.765ca559.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPersonal(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13 2H3C2.44772 2 2 2.44772 2 3V13C2 13.5523 2.44772 14 3 14H13C13.5523 14 14 13.5523 14 13V3C14 2.44772 13.5523 2 13 2ZM3 0C1.34315 0 0 1.34315 0 3V13C0 14.6569 1.34315 16 3 16H13C14.6569 16 16 14.6569 16 13V3C16 1.34315 14.6569 0 13 0H3ZM8 7C8.55228 7 9 6.55228 9 6C9 5.44772 8.55228 5 8 5C7.44772 5 7 5.44772 7 6C7 6.55228 7.44772 7 8 7ZM8 9C9.65685 9 11 7.65685 11 6C11 4.34315 9.65685 3 8 3C6.34315 3 5 4.34315 5 6C5 7.65685 6.34315 9 8 9ZM8 9C9.76409 9 11.2654 10.082 11.919 11.6058C12.1367 12.1134 11.9018 12.7013 11.3942 12.919C10.8866 13.1367 10.2987 12.9018 10.081 12.3942C9.72467 11.5635 8.9196 11 8 11C7.0804 11 6.27533 11.5635 5.91903 12.3942C5.70133 12.9018 5.11338 13.1367 4.60581 12.919C4.09825 12.7013 3.86327 12.1134 4.08097 11.6058C4.73457 10.082 6.23591 9 8 9Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPersonal);\nexport default __webpack_public_path__ + \"static/media/personal.7d4c8498.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVCamera(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10 4H2L2 12H10V4ZM2 2C0.895431 2 0 2.89543 0 4V12C0 13.1046 0.895431 14 2 14H10C11.1046 14 12 13.1046 12 12V10.7273L14.4538 12.3276C15.1189 12.7614 16 12.2841 16 11.49V5.18207C16 4.38795 15.1189 3.91066 14.4538 4.34446L12 5.94475V4C12 2.89543 11.1046 2 10 2H2ZM12 8.33956V8.33249L14 7.02812V9.64394L12 8.33956ZM2.66663 10C2.66663 9.44772 3.11434 9 3.66663 9H6.99996C7.55224 9 7.99996 9.44772 7.99996 10C7.99996 10.5523 7.55224 11 6.99996 11H3.66663C3.11434 11 2.66663 10.5523 2.66663 10Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVCamera);\nexport default __webpack_public_path__ + \"static/media/v-camera.2c77227f.svg\";\nexport { ForwardRef as ReactComponent };","var _metadata, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLink(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 1000 1000\",\n enableBackground: \"new 0 0 1000 1000\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _metadata || (_metadata = /*#__PURE__*/React.createElement(\"metadata\", null, \" Svg Vector Icons : http://www.onlinewebfonts.com/icon \")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,511.000000) scale(0.100000,-0.100000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6792.8,4975.4c-326.6-59.8-678.5-202.4-977.4-397.9c-197.8-128.8-1189-1101.6-1258-1232.7c-36.8-71.3-43.7-121.9-36.8-234.6c11.5-177.1,87.4-301.3,236.9-388.7c126.5-75.9,328.9-85.1,450.8-23c43.7,23,296.7,255.3,561.2,515.2c266.8,262.2,535.9,510.6,600.3,549.7c289.8,181.7,650.9,271.4,998.2,250.7c269.1-18.4,411.7-55.2,653.2-172.5c556.6-269.1,894.6-816.5,894.6-1453.5c2.3-296.7-39.1-464.6-181.7-759L8628,1410.6L7692,479.2C6682.4-530.5,6638.7-567.2,6275.3-686.8c-163.3-55.2-220.8-62.1-506-62.1c-276-2.3-347.3,4.6-494.5,50.6c-241.5,75.9-446.2,188.6-630.2,349.6c-184,158.7-269.1,193.2-453.1,179.4c-255.3-18.4-434.7-213.9-434.7-476.1c0-163.3,73.6-294.4,255.3-455.4c878.5-784.2,2203.3-876.2,3201.4-223.1c195.5,126.5,1996.3,1904.3,2178,2148.1c667,894.6,678.5,2168.8,29.9,3079.5c-411.7,575-1046.4,970.6-1738.7,1083.2C7485,5019.1,6999.7,5012.2,6792.8,4975.4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4021.4,1971.8c-340.4-27.6-667-117.3-961.3-264.5c-324.3-165.6-434.7-259.9-1391.4-1214.3C1146.6-26.8,668.2-519,606.1-601.7c-662.4-890-676.2-2173.4-32.2-3074.9c503.7-706.1,1285.6-1110.8,2148.1-1110.8c545.1,0,1007.3,138,1460.4,432.4c197.8,128.8,1189,1101.6,1258,1232.7c69,135.7,50.6,347.3-41.4,478.4c-135.7,193.2-409.4,269.1-607.2,167.9c-43.7-20.7-303.6-257.6-575-526.7c-308.2-301.3-542.8-515.2-625.6-561.2c-715.2-420.9-1690.4-243.8-2168.8,391c-236.9,315.1-340.4,623.3-340.4,1007.3c-2.3,296.7,39.1,466.9,181.7,759l108.1,218.5l899.3,903.8C3193.5,642.5,3333.8,764.4,3609.8,877.1c232.3,92,374.9,119.6,641.7,117.3c397.9-2.3,733.7-119.6,1014.2-356.5c273.7-227.7,296.7-239.2,492.2-239.2c154.1,0,186.3,6.9,266.8,62.1c140.3,98.9,202.4,207,211.6,374.9c11.5,179.4-34.5,278.3-213.9,450.8c-381.8,365.7-988.9,641.7-1494.9,676.2c-101.2,6.9-209.3,16.1-241.5,20.7C4253.7,1985.6,4136.4,1981,4021.4,1971.8z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLink);\nexport default __webpack_public_path__ + \"static/media/link.e2a3a59e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgExport(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n style: {\n transform: \"rotate(180deg)\"\n },\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13 14C13.5523 14 14 13.5523 14 13L14 3C14 2.44772 13.5523 2 13 2H11V0H13C14.6569 0 16 1.34315 16 3V13C16 14.6569 14.6569 16 13 16L3 16C1.34315 16 0 14.6569 0 13V3C0 1.34315 1.34315 0 3 0H5L5 2H3C2.44771 2 2 2.44772 2 3L2 13C2 13.5523 2.44772 14 3 14L13 14ZM9 5.41421V11.9999H7L7 5.41421L5.20711 7.20711C4.81658 7.59763 4.18342 7.59763 3.79289 7.20711C3.40237 6.81658 3.40237 6.18342 3.79289 5.79289L7.29289 2.29289L8 1.58579L8.70711 2.29289L12.2071 5.79289C12.5976 6.18342 12.5976 6.81658 12.2071 7.20711C11.8166 7.59763 11.1834 7.59763 10.7929 7.20711L9 5.41421Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExport);\nexport default __webpack_public_path__ + \"static/media/export.a570235d.svg\";\nexport { ForwardRef as ReactComponent };","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.either(\n R.propOr(false, 'custom_is_support'),\n R.propOr(false, 'custom_избранный'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport moment from 'moment';\n\nimport declOfNums from 'utils/declOfNums';\n\nimport { ReactComponent as Support } from 'icons/support.svg';\nimport { ReactComponent as Time } from 'icons/time.svg';\nimport { ReactComponent as Folder } from 'icons/folder.svg';\nimport { ReactComponent as Calendar } from 'icons/calendar.svg';\nimport { ReactComponent as User } from 'icons/user.svg';\nimport { ReactComponent as Location } from 'icons/location.svg';\nimport { ReactComponent as Personal } from 'icons/personal.svg';\nimport { ReactComponent as Camera } from 'icons/v-camera.svg';\nimport { ReactComponent as Link } from 'icons/link.svg';\nimport { ReactComponent as Export } from 'icons/export.svg';\n\nimport getUserIsLight from '../getUserIsLight';\nimport getUserIsPartner from '../getUserIsPartner';\nimport getInstitutionTariffName from '../getInstitutionTariffName';\nimport getInstitutionSubscription from '../getInstitutionSubscription';\nimport getInstitutionSubscriptionEnd from '../getInstitutionSubscriptionEnd';\nimport getInstitutionSubscriptionDurationTotal from '../getInstitutionSubscriptionDurationTotal';\nimport getUserIsSupport from '../getUserIsSupport';\nimport getPartner from '../getPartner';\nimport getSubscriptionUrl from '../getSubscriptionUrl';\nimport { getUserRight } from '../getUserRights';\n\nconst getHour = declOfNums(['час', 'часа', 'часов']);\n\nexport default createSelector(\n getUserIsLight,\n getUserIsPartner,\n getInstitutionTariffName,\n getInstitutionSubscription,\n getInstitutionSubscriptionEnd,\n getInstitutionSubscriptionDurationTotal,\n getUserIsSupport,\n state => getUserRight('INSTITUTION_ADMINISTER', state),\n getPartner,\n state => process.env.REACT_APP_API === 'dd' ? {} : getSubscriptionUrl(state),\n\n (\n isLight,\n isPartner,\n tariffName,\n subscription,\n end,\n duration,\n isSupport,\n canEditSubscription,\n partner,\n subscriptionUrl,\n ) => {\n const { isCurrentSubscriptionOneDay } = subscription;\n const daysDuration = duration >= 0 ? `${tariffName}, еще ${duration} дней` : null;\n const dailyHourDuration = Math.ceil(moment(end).diff(moment(), 'hours', true));\n const hourDuration = `Осталось ${dailyHourDuration} ${getHour(dailyHourDuration)}`;\n const daysError = duration < 0 ? 'Требует продления' : null;\n\n const items = [\n {\n ...subscriptionUrl,\n disabled: partner && !subscriptionUrl,\n title: 'Подписка',\n subtitle: partner ? null : isCurrentSubscriptionOneDay ? hourDuration : daysDuration,\n error: partner ? null : isCurrentSubscriptionOneDay ? null : daysError,\n inMenu: canEditSubscription,\n },\n {\n icon: Camera,\n to: '/webinars',\n title: 'Онлайн-обучение',\n inMenu: isLight,\n },\n {\n icon: Support,\n to: '/user/support',\n title: 'Поддержка',\n inMenu: isSupport,\n },\n {\n icon: Link,\n to: '/user/links',\n title: 'Ссылка саморегистрации',\n inMenu: !isPartner,\n },\n {\n icon: Time,\n to: '/user/journal',\n title: 'Журнал действий',\n inMenu: !isLight,\n },\n {\n icon: Folder,\n to: '/statistic',\n title: 'Группа',\n inMenu: isLight,\n },\n {\n icon: Calendar,\n to: '/user/calendar',\n title: 'План приемов',\n inMenu: !isLight,\n },\n {\n icon: Export,\n to: '/user/export',\n title: 'Экспорт контактов пациентов',\n inMenu: !isLight,\n },\n {\n icon: User,\n to: '/user/profile',\n title: 'Профиль',\n },\n {\n icon: Location,\n to: '/user/institution',\n title: 'Учреждение',\n inMenu: !isLight && !isPartner,\n },\n {\n icon: Personal,\n to: '/user/staff',\n title: 'Персонал',\n inMenu: !isLight && !isPartner,\n },\n ];\n\n return R.reject(R.propEq('inMenu', false), items);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport moment from 'moment';\n\nimport { save } from 'redux/modules/staff';\n\nimport getUser from '../getUser';\nimport getUserIsPartner from '../getUserIsPartner';\n\nexport default createSelector(\n getUser,\n getUserIsPartner,\n state => state.windowsOpen.isNeedSideBar,\n\n (user, isPartner, isNeedSideBar) => {\n const created = moment(R.propOr(null, '___createddate', user));\n const diff = moment().diff(created, 'days');\n\n if (!user || user.custom_verify_phone || user.isClosePhone || isPartner ||\n diff < 2 || !isNeedSideBar || process.env.REACT_APP_API === 'dd') {\n return null;\n }\n\n return {\n type: 'isInfo',\n content: {\n onClose: save({\n key: user.key,\n data: {\n isClosePhone: true,\n },\n isLocal: true,\n }),\n },\n };\n },\n);\n","import { createSelector } from 'reselect';\n\nimport { save } from 'redux/modules/staff';\n\nimport getUser from '../getUser';\nimport getUserIsLight from '../getUserIsLight';\n\nexport default createSelector(\n getUser,\n state => state.windowsOpen.isNeedSideBar,\n getUserIsLight,\n (user, isNeedSideBar, isLight) => {\n if (!isLight) return null;\n if (!user || user.custom_номер_нпа || !isNeedSideBar || user.isCloseNpa ) {\n return null;\n }\n\n return {\n type: 'isNpa',\n content: {\n onClose: save({\n key: user.key,\n data: {\n isCloseNpa: true,\n },\n isLocal: true,\n }),\n },\n };\n },\n);\n","import { createSelector } from 'reselect';\n\nimport { getCurrentNotification } from 'redux/modules/notification/selectors';\nimport getUserPhoneNotification from 'redux/selectors/getUserPhoneNotification';\nimport getUserNpaNotification from 'redux/selectors/getUserNpaNotification';\n\nexport default createSelector(\n getCurrentNotification,\n getUserPhoneNotification,\n getUserNpaNotification,\n (\n notification,\n phoneNotification,\n nbaNotification\n ) => {\n return notification || nbaNotification || phoneNotification\n }\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItems } from 'redux/modules/patientsAllergen';\n\nimport getPatientKey from '../getPatientKey';\n\nexport default createSelector(\n getPatientKey,\n R.path(['patientsAllergen']),\n\n getItems,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatientAllergenIngredientsGrouped from '../getPatientAllergenIngredientsGrouped';\n\nexport default createSelector(\n getPatientAllergenIngredientsGrouped,\n\n R.compose(\n R.unnest,\n R.pluck('custom_ингредиенты_аллергены'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\nimport getStaff from '../getStaff';\n\nexport default createSelector(\n R.compose(\n R.propOr(null, '___createduser'),\n getPatient,\n ),\n getStaff,\n\n (authorKey, staff) => {\n if (!authorKey) {\n return null;\n }\n\n return R.compose(\n R.join(\" \"),\n R.filter(Boolean),\n ({ custom_firstname, custom_lastname }) => [custom_lastname, custom_firstname],\n R.defaultTo({}),\n R.find(R.propEq('custom_ключ_системного_пользователяold', authorKey)),\n )(staff);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.propOr(null, 'custom_масса_тела'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getCorrectionValuesByWeight } from 'modules/Rations/redux/modules/correction';\n\nimport getPatientWeight from '../getPatientWeight';\n\nexport default createSelector(\n getPatientWeight,\n R.path(['Rations', 'correction']),\n\n getCorrectionValuesByWeight,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArrayByParent as getIngestion } from 'modules/Rations/redux/modules/ingestion';\n\nimport getPatientKey from '../getPatientKey';\n\nexport default createSelector(\n getPatientKey,\n R.path(['Rations', 'ingestion']),\n\n getIngestion,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.propOr(false, 'custom_в_архив_1'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getPatientJournal } from 'redux/modules/journal';\n\nimport getStaff from '../getStaff';\nimport getPatientKey from '../getPatientKey';\n\nexport default createSelector(\n getStaff,\n getPatientKey,\n R.path(['journal']),\n\n (staff, patientKey, journal) => R.compose(\n R.map((item) => {\n const doctor = R.find(R.propEq('key', item.doctor), staff);\n\n return {\n ...item,\n doctorName: R.compose(\n R.join(' '),\n R.values,\n R.pick(['custom_firstname', 'custom_midname', 'custom_lastname']),\n R.defaultTo({}),\n )(doctor),\n };\n }),\n getPatientJournal,\n )(patientKey, journal),\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getApplicationUser from 'redux/selectors/getApplicationUser';\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nexport default createSelector(\n getApplicationUser,\n getPatientKey,\n\n (session, appUser, patientKey) => {\n const { Ration } = session;\n\n const lastRation = Ration\n .filter({\n ___parent: patientKey,\n ___owner: appUser,\n custom_не_назначен: true,\n custom_удалено: false,\n })\n .last();\n\n if (!lastRation) {\n return null;\n }\n\n return lastRation.key;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.propOr(null, 'custom_телефон'),\n);\n","import { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport getPatientRationNewKey from '../getPatientRationNewKey';\n\nexport default createSelector(\n getPatientRationNewKey,\n\n (key) => {\n if (!key) {\n return null;\n }\n\n return getKeyInfo(key).record;\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getPatientKey from '../getPatientKey';\n\nexport default createOrmSelector(\n getPatientKey,\n (_, params) => R.propOr(null, 'patientKey', params),\n\n (session, statePatientKey, propsPatientKey) => {\n const { PatientReceptions } = session;\n const patientKey = statePatientKey || propsPatientKey;\n\n return PatientReceptions\n .filter({\n custom_planned_patient: patientKey,\n })\n .exclude({\n isDeleting: true,\n })\n .exclude({\n isDeleted: true,\n })\n .orderBy('custom_vremya')\n .toModelArray()\n .map(item => ({\n ...item.ref,\n id: item.id,\n }));\n },\n);\n","import * as R from 'ramda';\n\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['routeParams', 'receptionId']),\n\n R.identity,\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { getKeyById } from 'modules/Patient/redux/receptions/selectors';\nimport getPatientReceptionId from '../getPatientReceptionId';\n\nexport default createOrmSelector(\n getPatientReceptionId,\n (_, params) => R.propOr(null, 'receptionId', params),\n (_, params) => R.propOr(null, 'receptionKey', params),\n\n /* eslint-disable complexity */\n (session, routeReceptionId, paramReceptionId, paramReceptionKey) => {\n const receptionId = paramReceptionId || routeReceptionId;\n if (paramReceptionKey || (receptionId && receptionId !== 'new')) {\n const receptionKey = paramReceptionKey || getKeyById(receptionId);\n const { PatientReceptions } = session;\n try {\n const reception = PatientReceptions.withId(receptionKey);\n return reception && !reception.isDeleting && !reception.isDeleted\n ? reception.ref : null;\n } catch (err) {\n return null;\n }\n }\n return null;\n },\n);\n","import { appKey } from 'config';\n\nexport const getKeyById = id => id ? `${appKey}t172r${id}` : null;\n","import { filter, prop } from \"remeda\";\nimport { createSelector } from \"reselect\";\n\nimport getAuthUser from \"../getAuthUser\";\nimport getPatientsList from \"../getPatientsList\";\n\nexport default createSelector(\n getPatientsList,\n getAuthUser,\n\n (patients, userAuth) => {\n return filter(patients, (patient) => patient.___createduser === userAuth);\n }\n);\n","import * as R from 'ramda';\nimport moment from 'moment';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getUser from '../getUser';\nimport getUserPatients from '../getUserPatients';\n\n// NOTE: memoize by result as we in some cases always get new startDate (like in case of 'now')?\nexport default createOrmSelector(\n getUser,\n getUserPatients,\n (_, params) => R.propOr(null, 'startDate', params),\n (_, params) => R.propOr(null, 'endDate', params),\n (_, params) => R.propOr(null, 'custom_отключено', params),\n\n (\n { PatientReceptions },\n worker,\n patientList,\n propsStartDate,\n propsEndDate,\n props_custom_отключено,\n ) => {\n const workerKey = R.propOr(null, 'key', worker);\n const startDate = propsStartDate ? moment(propsStartDate) : null;\n const endDate = propsEndDate ? moment(propsEndDate) : null;\n\n return PatientReceptions\n .filter(({ ___parent, custom_vremya, custom_отключено }) => (\n (startDate ? custom_vremya.isAfter(startDate) : true) &&\n (endDate ? custom_vremya.isBefore(endDate) : true) &&\n (props_custom_отключено !== null ? custom_отключено === props_custom_отключено : true) &&\n ___parent === workerKey\n ))\n .exclude({\n isDeleting: true,\n })\n .exclude({\n isDeleted: true,\n })\n .orderBy('custom_vremya')\n .toModelArray()\n .map(item => ({\n ...item.ref,\n id: item.id,\n patient: R.find(R.propEq('key', item.custom_planned_patient), patientList),\n }));\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getPromo,\n} from 'redux/modules/subscriptionPromocode';\n\nexport default createSelector(\n R.path(['subscriptionPromocode']),\n\n getPromo,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getSupplementAll from '../getSupplementAll';\nimport getPatientAllergen from '../getPatientAllergen';\n\nexport default createSelector(\n getSupplementAll,\n getPatientAllergen,\n\n (productList, allergen) => {\n const setAllergen = (item) => {\n if (R.contains(item.key, allergen)) {\n return {\n ...item,\n forbidden: 'allergen',\n };\n }\n\n return item;\n };\n\n return R.map(setAllergen, productList);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getSupplementWithStatus from '../getSupplementWithStatus';\n\nexport default createSelector(\n getSupplementWithStatus,\n\n R.groupBy(R.prop('custom_производитель')),\n);\n","import { createSelector } from 'reselect';\n\nimport getUserIsPartner from '../getUserIsPartner';\n\nexport default createSelector(\n getUserIsPartner,\n\n (isPartner) => {\n if (process.env.REACT_APP_API === 'dd') {\n return null;\n }\n\n if (isPartner) {\n return 'info@dietologi-russia.ru'\n }\n\n return 'support@nutrilogic.ru'\n },\n);\n","import moment from 'moment';\n\nimport { appKey } from 'config';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\nimport getInstitutionKey from '../getInstitutionKey';\nimport getInstitutionSubscriptionEnd from '../getInstitutionSubscriptionEnd';\n\nexport default createOrmSelector(\n getInstitutionKey,\n getInstitutionSubscriptionEnd,\n\n (session, institutionKey, subscriptionEnd) => {\n const before = subscriptionEnd ? moment(subscriptionEnd) : moment();\n const { SubscriptionOperation } = session;\n const item = SubscriptionOperation\n .all()\n .filter(it => (\n it.custom_currentstatus === 'PostProcessingDone' &&\n (\n it.custom_операция === `${appKey}t122r6448820` || // Покупка однодневной подписки\n it.custom_операция === `${appKey}t122r6449623` // Перенос даты однодневной подписки\n ) &&\n it.___parent === institutionKey &&\n moment(it.custom_дата_для_однодневной).isSameOrAfter(before, 'day')\n ))\n .orderBy('custom_дата_операции', 'desc')\n .first();\n return item ? item.ref : null;\n },\n);\n","import * as R from \"ramda\";\n\nimport { createSelector } from \"reselect\";\n\nimport createOrmSelector from \"redux/utils/createOrmSelector\";\n\nimport { getItemsArrayByParent } from \"redux/modules/productComposition\";\nimport { getNorm } from \"redux/modules/elementNorms\";\n\nimport getUserCountry from \"../getUserCountry\";\n\nconst getItemComposition = createSelector(\n (state, props) => props.key,\n (state, { type }) =>\n type === \"supplement\"\n ? state.supplementComposition\n : state.productComposition,\n\n getItemsArrayByParent\n);\n\nexport default createOrmSelector(\n (state, { type }) => type,\n getItemComposition,\n getUserCountry,\n (state) => state.elementNorms,\n\n (session, type, compositions, userCountry, elementNorms) => {\n const { Elements } = session;\n const elements = Elements.all().toRefArray();\n\n return R.compose(\n R.indexBy(R.prop(\"element\")),\n R.map((i) => {\n const elementField =\n type === \"supplement\" ? \"custom_элемент\" : \"custom_элемент_рациона\";\n const valueField =\n type === \"supplement\"\n ? \"custom_значение_на_порцию\"\n : \"custom_значение\";\n\n const composition = R.find(R.propEq(elementField, i.key), compositions);\n\n const norms = getNorm(elementNorms, userCountry);\n const elementNormItem = norms[i.key] || {};\n const data = R.propOr(undefined, valueField, composition);\n\n return {\n element: i.key,\n data,\n key: R.propOr(null, \"key\", composition),\n ...elementNormItem,\n };\n })\n )(elements);\n }\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getSubscriptionPromocode from '../getSubscriptionPromocode';\n\nexport default createSelector(\n getSubscriptionPromocode,\n\n R.compose(\n R.defaultTo(0),\n R.propOr(0, 'discount'),\n ),\n);\n","import * as R from 'ramda';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getTariff from '../getTariff';\n\nexport default createOrmSelector(\n R.compose(\n R.prop('key'),\n getTariff,\n ),\n\n (session, key) => {\n const { SubscriptionDay } = session;\n\n return SubscriptionDay\n .filter({\n ___parent: key,\n })\n .orderBy('custom_количество_месяцев_подписки')\n .toRefArray()\n .map(item => {\n const [name, promo] = item.custom_название.split('(')\n return ({\n value: item.key,\n content: item.custom_название,\n price_promo: item.custom_стоимость_исходная,\n price: item.custom_стоимость,\n duration: item.custom_количество_месяцев_подписки,\n name,\n promo: promo?.replace(')', ''),\n })\n });\n },\n) as () => {\n value: string,\n content: string,\n price_promo?: number,\n price: number,\n duration: 1 | 12,\n name: string;\n promo?: string;\n}[]","import { createSelector } from 'reselect';\n\nimport getInstitutionDiscount from '../getInstitutionDiscount';\nimport getPromocodeDiscount from '../getPromocodeDiscount';\n\nexport default createSelector(\n getInstitutionDiscount,\n getPromocodeDiscount,\n\n Math.max,\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getApplicationUser from '../getApplicationUser';\n\nexport default createOrmSelector(\n getApplicationUser,\n\n (session, key) => {\n const { WorkerFlags } = session;\n\n const flags = WorkerFlags\n .filter({\n custom_пользователь: key,\n })\n .first();\n\n if (flags) {\n return flags.ref;\n }\n\n return {};\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(null, 'custom_login'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.propOr(null, 'custom_login'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(null, 'custom_редактирование_общих_блюд'),\n);\n","import { createSelector } from 'reselect';\n\nimport { getRealFullName } from 'utils/getFullName';\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n getRealFullName,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(null, 'custom_избранный'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(null, 'key'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport { getFormValues } from 'redux-form';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport { getUserJournal } from 'redux/modules/journal';\n\nimport getStaff from '../getStaff';\nimport getUserKey from '../getUserKey';\nimport getPatientsList from '../getPatientsList';\n\nexport default createSelector(\n getStaff,\n getPatientsList,\n state => state.routeParams.date,\n R.compose(\n R.propOr(null, 'worker'),\n getFormValues('journal'),\n ),\n getUserKey,\n R.path(['journal']),\n\n (staff, patients, date, userFormKey, userKey, journal) => R.compose(\n R.reject(R.isNil),\n R.map((item) => {\n const patient = R.find(R.propEq('key', item.patient), patients);\n const doctor = R.find(R.propEq('key', item.doctor), staff);\n\n if (!patient || !doctor) {\n return null;\n }\n\n return {\n ...item,\n doctorName: R.propOr(null, 'custom_firstname', doctor),\n doctorLastName: R.propOr(null, 'custom_lastname', doctor),\n patientName: R.propOr(null, 'custom_firstname', patient),\n patientLastName: R.propOr(null, 'custom_lastname', patient),\n patientId: getKeyInfo(item.patient).record,\n };\n }),\n getUserJournal,\n )(date, userFormKey || userKey, journal),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport { getFormValues } from 'redux-form';\n\nimport { getUserActiveDays } from 'redux/modules/journal';\n\nexport default createSelector(\n R.compose(\n R.propOr(null, 'worker'),\n getFormValues('journal'),\n ),\n R.path(['journal']),\n\n getUserActiveDays,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUserJournal from '../getUserJournal';\nimport getUserPatients from '../getUserPatients';\n\nexport default createSelector(\n getUserJournal,\n getUserPatients,\n\n (journal, patients) =>\n R.compose(\n patientKey => R.find(R.propEq('key', patientKey), patients),\n R.propOr(null, 'patient'),\n R.head,\n )(journal),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItems } from 'modules/Patient/redux/notificationsExcluded';\nimport getApplicationUser from '../getApplicationUser';\n\nexport default createSelector(\n getApplicationUser,\n R.path(['Patient', 'notificationsExcluded']),\n\n getItems,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItems } from 'modules/Patient/redux/notifications';\nimport getInstitutionBanner from '../getInstitutionBanner';\nimport getUserNotificationsExcluded from '../getUserNotificationsExcluded';\nimport getUserIsLight from '../getUserIsLight';\n\nexport default createSelector(\n getInstitutionBanner,\n getUserNotificationsExcluded,\n getUserIsLight,\n R.path(['Patient', 'notifications']),\n\n (institutionBanner, excluded, isLight, state) => {\n const field = isLight ? 'custom_for_lite' : 'custom_for_pro'\n const userNotification = R.compose(\n R.filter(item => item[field]),\n R.map((item) => {\n const exclude = R.find(R.propEq('___parent', item.key), excluded);\n\n return {\n ...item,\n excluded: Boolean(exclude),\n excludedKey: R.propOr(null, 'key', exclude),\n };\n }),\n getItems,\n )(state);\n\n if (R.isEmpty(institutionBanner)) {\n return userNotification;\n }\n\n return [institutionBanner, ...userNotification];\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getInstitution from '../getInstitution';\n\nexport default createSelector(\n getInstitution,\n\n R.compose(\n Boolean,\n R.prop('custom_recurringinvoiceid'),\n ),\n) as () => boolean;\n","/* eslint-disable */\n\nfunction normalizeType(typeOrActionCreator) {\n if (typeOrActionCreator && typeOrActionCreator.getType) {\n return typeOrActionCreator.toString();\n }\n return typeOrActionCreator;\n}\n\nexport default function createReducer(handlers = {}) {\n const opts = {\n payload: true,\n };\n\n const reducer = Object.assign(reduce, {\n has,\n on,\n off,\n options,\n });\n\n function has(typeOrActionCreator) {\n return !!handlers[normalizeType(typeOrActionCreator)];\n }\n\n function on(typeOrActionCreator, handler) {\n if (Array.isArray(typeOrActionCreator)) {\n typeOrActionCreator.forEach(function (action) {\n on(action, handler);\n });\n } else {\n handlers[normalizeType(typeOrActionCreator)] = handler;\n }\n\n return reducer;\n }\n\n function off(typeOrActionCreator) {\n if (Array.isArray(typeOrActionCreator)) {\n typeOrActionCreator.forEach(off);\n } else {\n delete handlers[normalizeType(typeOrActionCreator)];\n }\n return reducer;\n }\n\n function options(newOpts) {\n Object.keys(newOpts).forEach(name => opts[name] = newOpts[name]);\n return reducer;\n }\n\n if (typeof handlers === 'function') {\n const factory = handlers;\n handlers = {};\n factory(on, off);\n }\n\n function reduce(action, Model, session) {\n if (action && handlers[action.type]) {\n handlers[action.type](Model, session, action.payload, action.meta);\n }\n }\n\n return reducer;\n}\n","import * as R from 'ramda';\nimport uuid from 'uuid/v4';\nimport { createAction as createAct } from 'redux-act';\n\nimport { appKey } from 'config';\nimport isLocalKey from 'utils/isLocalKey';\n\nimport { login } from 'redux/modules/auth';\n\nimport parseResult from '../../utils/parseResult';\nimport createReducer from '../../utils/createReducer';\n\nexport default function ormGenerator(config = {}) {\n const {\n name = 'Module__',\n tableId,\n parseItem = R.identity,\n parentField = '___parent',\n } = config;\n const tableKey = `${appKey}t${tableId}r`;\n const initialState = {\n tableKey,\n parentField,\n itemsByKey: {},\n };\n\n const createAction = (action, payload) => createAct(`${name.toUpperCase()}__${action}`, payload);\n const fetch = createAction('FETCH', args => ({\n key: tableKey,\n ...args,\n }));\n const fetchSuccess = createAction('FETCH_SUCCESS');\n const fetchFailure = createAction('FETCH_FAILURE');\n\n const create = createAction('CREATE', args => ({\n key: uuid(),\n ...args,\n }));\n\n const save = createAction('SAVE', args => ({\n ...args,\n tableKey,\n key: args.key || uuid(),\n }));\n const saveSuccess = createAction('SAVE_SUCCESS');\n const saveFailure = createAction('SAVE_FAILURE');\n\n const remove = createAction('REMOVE');\n const removeSuccess = createAction('REMOVE_SUCCESS');\n const removeFailure = createAction('REMOVE_FAILURE');\n\n const removeWithUndo = createAction('REMOVE_WITH_UNDO', args => ({\n ...args,\n tableKey,\n }));\n const removeWithUndoSuccess = createAction('REMOVE_WITH_UNDO_SUCCESS');\n const removeWithUndoFailure = createAction('REMOVE_WITH_UNDO_FAILURE');\n\n const undoRemove = createAction('UNDO_REMOVE');\n const undoRemoveSuccess = createAction('UNDO_REMOVE_SUCCESS');\n const undoRemoveFailure = createAction('UNDO_REMOVE_FAILURE');\n\n const handleFetchSuccess = (Model, session, payload) => {\n const { response, parents, isParsed } = payload;\n\n if (response.fromCache) {\n return;\n }\n\n const items = R.values(parseResult(response, [], isParsed ? R.identity : parseItem));\n const itemsKey = R.pluck('key', items);\n\n if (parents) {\n Model\n .all()\n .filter(item => R.contains(item[parentField], parents))\n .filter(item => !R.contains(item.key, itemsKey))\n .filter(item => !isLocalKey(item.key))\n .delete();\n }\n\n const fields = ['key', ...R.keys(Model.fields)];\n items.forEach((item) => {\n const notDeclared = R.omit(fields, item);\n\n if (!R.isEmpty(notDeclared) && process.env.NODE_ENV !== 'production') {\n // console.warn(`Not declared fiields in ${Model.modelName}(${item.key}):`, notDeclared); // eslint-disable-line no-console\n }\n\n Model.upsert(R.pick(fields, item));\n });\n };\n\n const handleFetchFailure = (Model, session, payload) => {\n console.error(payload.error);\n };\n\n const handleCreate = (Model, session, payload) => {\n const { data, key } = payload;\n\n Model.create({\n key,\n ...data,\n });\n };\n\n const handleSave = (Model, session, payload) => {\n const { key, data = {}, isLocal, isSilent } = payload;\n\n if (isSilent) {\n return;\n }\n\n if (Model.idExists(key) && isLocalKey(key) && Model.withId(key).isSaving && !isLocal) {\n Model.upsert({\n key,\n ...data,\n isShouldSaved: true,\n });\n } else {\n Model.upsert({\n key,\n ...data,\n isSaving: true,\n isShouldSaved: false,\n });\n }\n };\n\n const handleSaveSuccess = (Model, session, { key, response, isSilent }) => {\n const newKey = R.pathOr(key, ['data', 'key'], response);\n const isCreation = newKey && key !== newKey;\n\n if (!Model.idExists(key) || isSilent) {\n return;\n }\n\n if (isCreation) {\n const item = Model.withId(key);\n const data = item.ref;\n const virtualFields = item.getClass().virtualFields;\n\n R.forEachObjIndexed((val, fieldKey) => {\n const relatedData = item[fieldKey];\n\n R.forEach(relatedItem => relatedItem.update({\n [val.relatedName]: newKey,\n }), relatedData.toModelArray());\n }, virtualFields);\n\n item.delete();\n Model.create({\n ...data,\n isSaving: false,\n isSaved: true,\n oldKey: key,\n key: newKey,\n });\n } else {\n Model.withId(key).update({\n isSaving: false,\n isSaved: true,\n });\n }\n };\n\n const handleSaveFailure = (Model, session, payload) => {\n const { key } = payload;\n\n if (Model.idExists(key)) {\n Model.withId(key).update({\n isSaving: false,\n isSaved: false,\n });\n }\n };\n\n const handleRemove = (Model, session, payload) => {\n const { key } = payload;\n\n if (Model.idExists(key)) {\n Model.withId(key).update({\n isDeleting: true,\n });\n }\n };\n\n const handleRemoveSuccess = (Model, session, payload) => {\n const { key } = payload;\n const item = Model.withId(key);\n\n if (!item) {\n return;\n }\n\n const isLocalItem = isLocalKey(item.key);\n\n item.update({\n isDeleted: true,\n isDeleting: false,\n markToDelete: isLocalItem && item.isSaving,\n });\n };\n\n const handleRemoveFailure = (Model, session, payload) => {\n const { key } = payload;\n\n if (Model.idExists(key)) {\n Model.withId(key).update({\n isDeleting: false,\n });\n }\n };\n\n const handleUndoRemove = (Model, session, payload) => {\n const { key } = payload;\n\n Model.withId(key).update({\n isDeleted: false,\n isDeleting: false,\n markToDelete: false,\n });\n };\n\n const handleUndoRemoveFailure = (Model, session, payload) => {\n const { key } = payload;\n\n Model.withId(key).update({\n isDeleted: true,\n });\n };\n\n const reducer = createReducer({\n [fetchSuccess]: handleFetchSuccess,\n [fetchFailure]: handleFetchFailure,\n\n [create]: handleCreate,\n\n [save]: handleSave,\n [saveSuccess]: handleSaveSuccess,\n [saveFailure]: handleSaveFailure,\n\n [remove]: handleRemove,\n [removeSuccess]: handleRemoveSuccess,\n [removeFailure]: handleRemoveFailure,\n\n [removeWithUndo]: handleRemove,\n [removeWithUndoSuccess]: handleRemoveSuccess,\n [removeWithUndoFailure]: handleRemoveFailure,\n\n [undoRemove]: handleUndoRemove,\n [undoRemoveFailure]: handleUndoRemoveFailure,\n\n [login]: (Model) => {\n Model.all().delete();\n },\n }, initialState);\n\n return {\n fetch,\n fetchSuccess,\n fetchFailure,\n\n create,\n\n save,\n saveSuccess,\n saveFailure,\n\n remove,\n removeSuccess,\n removeFailure,\n\n removeWithUndo,\n removeWithUndoSuccess,\n removeWithUndoFailure,\n\n undoRemove,\n undoRemoveSuccess,\n undoRemoveFailure,\n\n reducer,\n };\n}\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { appKey } from 'config';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport { getItemsArray, getIsButtonRunning } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.map(item => ({\n ...item,\n id: getKeyInfo(item.key).record,\n })),\n);\n\nconst energyButton = `${appKey}ts9c5c3c1r319`;\nconst consumptionByTimeButton = `${appKey}ts9c5c3c1r166`;\nconst consumptionByProfessionButton = `${appKey}ts9c5c3c1r133`;\n\nexport const getIsEnergyCalcing = getIsButtonRunning(energyButton);\nexport const getIsConsumptionCalcing = R.either(\n getIsButtonRunning(consumptionByTimeButton),\n getIsButtonRunning(consumptionByProfessionButton),\n);\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport moment from 'moment';\n\nimport { appKey } from 'config';\n\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nimport roundNumber from 'utils/roundNumber';\n\nconst transformKeyArray = R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n);\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n removeWithUndo,\n removeWithUndoSuccess,\n} = generator({\n name: 'Patients',\n tableId: 5,\n parseItem: R.compose(\n R.omit(['custom_диагнозы']),\n R.evolve({\n ___territory: R.propOr(null, 'key'),\n custom_белки_1: roundNumber(2),\n custom_жиры_1: roundNumber(2),\n custom_углеводы_1: roundNumber(2),\n custom_страна: R.propOr(null, 'key'),\n custom_город: R.propOr(null, 'key'),\n custom_детская_жизненная_активность: R.propOr(null, 'key'),\n custom_жизненная_активность: R.propOr(null, 'key'),\n custom_спортивная_автивность: R.propOr(null, 'key'),\n custom_болезни: transformKeyArray,\n custom_сопутствующие_заболевания: transformKeyArray,\n custom_специфические_виды_питания: transformKeyArray,\n ___createduser: R.propOr(null, 'key'),\n custom_основное_заболевание: R.propOr(null, 'key'),\n custom_sexint_save: R.propOr(null, 'value'),\n custom_дата_рождения: value => R.isNil(value) ? value : moment(value).format('DD.MM.YYYY'),\n custom_коридор_спк: R.compose(\n R.map(R.evolve({\n родитель: R.replace('cXaX', appKey),\n элемент: R.replace('cXaX', appKey)\n })),\n R.defaultTo([]),\n ) as any\n })\n ),\n});\n\n\nexport const fetchList = fetchWithView(fetch, 'ts5c5cs9r193');\nexport const fetchItem = fetchWithView(fetch, 'patient_main');\nexport const fetchParams = fetchWithView(fetch, 'chart_params');\nexport const fetchNorm = fetchWithView(fetch, 'elements_norm');\nexport const fetchDiagnosis = fetchWithView(fetch, 'diagnosis');\nexport const fetchAnalyses = fetchWithView(fetch, 'analyses');\nexport const fetchDietanamnez = fetchWithView(fetch, 'dietanamnez');\nexport const fetchDietanamnezReport = fetchWithView(fetch, 'dietanamnez_report');\nexport const fetchForRation = fetchWithView(fetch, 'for_ration');\n\nexport const startVisit = createAction('PATIENTS__START_VISIT');\nexport const switchArchive = createAction<{ key: string }>('PATIENTS__SWITCH_ARCHIVE');\nexport const logPrint = createAction('PATIENTS__LOG_PRINT');\nexport const calcElementsNorm = createAction('PATIENTS__CALC_ELEMENTS_NORM');\nexport const calcEnergy = createAction('PATIENTS__CALC_ENERGY');\nexport const calcConsumptionByTime = createAction('PATIENTS__CALC_CONSUMPTION_BY_TIME');\nexport const calcConsumptionByProfession = createAction('PATIENTS__CALC_CONSUMPTION_BY_PROFESSION');\nexport const savePatientRequest = createAction('PATIENT__REQUEST_SAVE');\nexport const sendInvite = createAction('PATIENT__SEND_INVITE');\nexport const assignToStaff = createAction('PATIENT__ASIGN_TO_STAFF');\nexport const assignToStaffSuccess = createAction('PATIENT__ASIGN_TO_STAFF_SUCCESS');\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n removeWithUndo,\n removeWithUndoSuccess,\n};\n\nexport {\n getItem,\n getItemById,\n getKeyById,\n} from 'redux/hor/module/selectors';\n\nexport {\n getItems,\n getIsEnergyCalcing,\n getIsConsumptionCalcing,\n} from './selectors';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n\nexport * from './types';","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDietanamnezKey from '../getDietanamnezKey';\n\nexport default createOrmSelector(\n getDietanamnezKey,\n\n (session, key) => {\n const { Dietanamnez } = session;\n\n try {\n const result = Dietanamnez.withId(key).ref;\n\n return result;\n } catch (error) {\n return undefined;\n }\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Dietanamnez } = session;\n const list = Dietanamnez\n .exclude({\n isDeleted: true,\n })\n .filter({\n ___parent: patientKey,\n })\n .filter(item => !item.custom_селфтест_до)\n .orderBy('custom_дата_назначения')\n .toModelArray();\n\n return list\n }\n)","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getPatientNorm from 'redux/selectors/getPatientNorm';\nimport { getVisibleList } from 'redux/modules/elements/selectors';\n\nimport getDietanamnezKey from '../getDietanamnezKey';\n\nconst merge = R.mergeWith(R.merge);\n\nexport default createOrmSelector(\n getDietanamnezKey,\n getPatientNorm,\n getVisibleList,\n\n (session, dietanamnezKey, patientNorm, elements) => {\n if (!dietanamnezKey) {\n return [];\n }\n\n const { Dietanamnez } = session;\n\n const items = (Dietanamnez\n .withId(dietanamnezKey)\n .custom_профиль_потребления_веществ || [])\n .map((item) => {\n try {\n const element = elements.find(element => element.key === item.элемент_состава);\n\n return {\n key: item.key,\n element: element.key,\n data: item.среднее_за_день,\n dataWithoutSupplement: item.среднее_за_день_без_бад,\n label: element.custom_наименование,\n sources: element.custom_источники,\n influence: element.custom_влияние,\n };\n } catch (e) {\n return null;\n }\n })\n .filter(item => !!item);\n const chartItems = R.indexBy(R.prop('element'), items);\n\n return merge(chartItems, patientNorm);\n },\n);\n","import { createSelector } from 'reselect';\n\nimport { getValues } from 'redux/modules/elements/selectors';\n\nimport getDietanamnezChemistryData from '../getDietanamnezChemistryData';\n\nexport default createSelector(\n state => state,\n getDietanamnezChemistryData,\n\n (state, data) => data ? getValues(state, {\n chartId: 'dietanamnez',\n data,\n }) : [],\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDietanamnezKey from '../getDietanamnezKey';\n\nexport default createOrmSelector(\n getDietanamnezKey,\n\n (session, dietanamnezKey) => {\n const { Dietanamnez } = session;\n\n try {\n const dietamanez = Dietanamnez.withId(dietanamnezKey);\n\n return dietamanez.custom_частота_потребления_групп_продуктов.map(item => ([\n item.наименование,\n Math.round(item.частота * 100) / 100,\n ]));\n } catch (error) {\n return [];\n }\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { DietanamnezFrequency } = session;\n\n return DietanamnezFrequency\n .all()\n .toRefArray()\n .map(item => ({\n content: item.custom_частота,\n value: item.key,\n }));\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDietanamnez from '../getDietanamnez';\n\nexport default createSelector(\n getDietanamnez,\n\n R.compose(\n R.not,\n R.isNil,\n R.propOr(null, 'custom_дата_назначения'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDietanamnez from '../getDietanamnez';\n\nexport default createSelector(\n getDietanamnez,\n\n R.propOr(false, 'isAssigning'),\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDietanamnezKey from '../getDietanamnezKey';\n\nexport default createOrmSelector(\n getDietanamnezKey,\n\n (session, key) => {\n const { DietanamnezItem } = session;\n\n try {\n const items = DietanamnezItem\n .filter({\n ___parent: key,\n })\n .exclude({\n isDeleted: true,\n })\n .toRefArray();\n\n return items;\n } catch (error) {\n return [];\n }\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDietanamnez from '../getDietanamnez';\n\n\nexport default createSelector(\n getDietanamnez,\n\n R.compose(\n R.defaultTo([]),\n R.propOr([], 'custom_специфические_виды_питания'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport isLocalKey from 'utils/isLocalKey';\n\nimport getDietanamnezKey from '../getDietanamnezKey';\nimport getDietanamnezItems from '../getDietanamnezItems';\nimport getDietanamnezKindsFood from '../getDietanamnezKindsFood';\n\nexport default createSelector(\n getDietanamnezKey,\n getDietanamnezItems,\n getDietanamnezKindsFood,\n\n (key, items, kindsFood) => {\n const isLocalItem = isLocalKey(key);\n const isEmptyItems = R.isEmpty(items);\n const isEmptyKindsFood = R.isEmpty(kindsFood);\n\n return isLocalItem || (isEmptyItems && isEmptyKindsFood);\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Dietanamnez } = session;\n\n const item = Dietanamnez\n .exclude({\n isDeleted: true,\n })\n .filter({\n ___parent: patientKey,\n })\n .filter(i => i.custom_дата_назначения)\n .orderBy('custom_дата_назначения')\n .last();\n\n if (!item) {\n return null;\n }\n\n return item.key;\n },\n);\n","import moment from 'moment';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nconst getName = (item) => {\n try {\n return item.custom_специалист.fullname;\n } catch (e) {\n return null;\n }\n};\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Dietanamnez } = session;\n\n return Dietanamnez\n .exclude({\n isDeleted: true,\n })\n .filter({\n ___parent: patientKey,\n })\n .filter(item => item.custom_дата_назначения)\n .orderBy('custom_дата_назначения', 'desc')\n .toModelArray()\n .map((item) => {\n const start = moment(item.custom_дата_назначения);\n const id = getKeyInfo(item.key).record;\n\n return {\n id: id ? id.toString() : undefined,\n key: item.key,\n dateStart: start.format(\"DD.MM.YYYY HH:mm\"),\n specialist: getName(item),\n isDeleting: item.isDeleting,\n custom_селфтест_до: item.custom_селфтест_до\n };\n })\n .filter(item => item.id);\n },\n);\n","import getPatientKey from 'redux/selectors/getPatientKey';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Dietanamnez } = session;\n const item = Dietanamnez\n .exclude({\n isDeleted: true,\n })\n .filter({\n ___parent: patientKey,\n custom_дата_назначения: null,\n })\n .orderBy('custom_дата_назначения')\n .last();\n\n if (!item || item.custom_селфтест_до) {\n return null;\n }\n\n return getKeyInfo(item.key).record;\n },\n);\n","import getPatientKey from 'redux/selectors/getPatientKey';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Dietanamnez } = session;\n const item = Dietanamnez\n .exclude({\n isDeleted: true,\n custom_селфтест_до: null,\n })\n .filter({\n ___parent: patientKey,\n custom_дата_назначения: null,\n })\n .orderBy('custom_дата_назначения')\n .last();\n\n if (!item) {\n return null;\n }\n\n return getKeyInfo(item.key).record;\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { DietanamnezPortion } = session;\n const items = DietanamnezPortion.all().toRefArray();\n\n return R.compose(\n R.map(R.map(item => ({\n label: item.custom_мера,\n value: item.custom_мера,\n }))),\n R.groupBy(R.prop('___parent')),\n )(items);\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDietanamnezKey from '../getDietanamnezKey';\n\nexport default createOrmSelector(\n getDietanamnezKey,\n\n (session, dietanamnezKey) => {\n const { Dietanamnez } = session;\n\n try {\n const dietamanez = Dietanamnez.withId(dietanamnezKey);\n\n return dietamanez.custom_профиль_потребления_продуктов.map(item => ([\n item.наименование,\n Math.round(item.среднее * 100) / 100,\n ]));\n } catch (error) {\n return [];\n }\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDietanamnez from '../getDietanamnez';\n\nexport default createSelector(\n getDietanamnez,\n\n R.propOr(2, 'custom_тип_да'),\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getUserType from 'redux/selectors/getUserType';\n\nimport getDietanamnezType from '../getDietanamnezType';\n\nexport default createOrmSelector(\n getDietanamnezType,\n getUserType,\n\n (session, daType, userType) => {\n const { DietanamnezTiles } = session;\n\n return DietanamnezTiles\n .exclude({\n ___parent: null,\n })\n .filter(({ custom_формат }) => !custom_формат || custom_формат === daType)\n .filter(({ custom_версия_приложения }) => !custom_версия_приложения || custom_версия_приложения === userType)\n .toRefArray();\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getMealsAll from 'redux/selectors/getMealsAll';\nimport getUserType from 'redux/selectors/getUserType';\nimport { getSelect } from \"redux/modules/products\";\n\nimport getDietanamnezKindsFood from '../getDietanamnezKindsFood';\nimport getDietanamnezItems from '../getDietanamnezItems';\nimport getDietanamnezTiles from '../getDietanamnezTiles';\nimport getDietanamnezType from '../getDietanamnezType';\n\nconst getTilesHidden = createOrmSelector(\n getDietanamnezKindsFood,\n getDietanamnezType,\n getUserType,\n\n (session, kindsFood, daType, userType) => {\n const { DietanamnezTiles } = session;\n const excluder = (item) => {\n const { custom_специфические_исключения } = item;\n\n return R.compose(\n R.isEmpty,\n R.intersection(custom_специфические_исключения),\n )(kindsFood);\n };\n\n const excludedByGroups = DietanamnezTiles\n .filter({\n ___parent: null,\n })\n .filter(({ custom_формат }) => !custom_формат || custom_формат === daType)\n .filter(({ custom_версия_приложения }) => !custom_версия_приложения || custom_версия_приложения === userType)\n .exclude(excluder)\n .toModelArray()\n .map(item => item.items.toRefArray());\n\n const excludedByTiles = DietanamnezTiles\n .exclude({\n ___parent: null,\n })\n .filter(({ custom_формат }) => !custom_формат || custom_формат === daType)\n .filter(({ custom_версия_приложения }) => !custom_версия_приложения || custom_версия_приложения === userType)\n .exclude(excluder)\n .toRefArray();\n\n return R.compose(\n R.concat(excludedByTiles),\n R.unnest,\n )(excludedByGroups);\n },\n);\n\nconst getSupplement = createSelector(\n (state) => state,\n\n (state,) => getSelect(null, \"supplement\", state)\n);\n\nexport default createSelector(\n getDietanamnezItems,\n getTilesHidden,\n getMealsAll,\n getSupplement,\n getDietanamnezTiles,\n\n (items, hiddenTiles, mealsArray, supplementsarray, tiles) => {\n const meals = R.indexBy(R.prop('key'), mealsArray);\n const supplements = R.indexBy(R.prop('key'), supplementsarray);\n const excludedKeys = R.pluck('key', hiddenTiles);\n const excludedTiles = R.map(item => ({\n key: item.key,\n label: item.custom_наименование,\n dish: item.key,\n byKindsFood: true,\n byItem: false,\n value: 2,\n }), hiddenTiles);\n const getIsProduct = R.contains('t4r');\n const getIsSupplement = R.contains('t157r');\n\n return R.compose(\n R.sort(R.comparator((a, b) => {\n if (a.byItem === b.byItem) {\n return a.label < b.label;\n }\n\n return a.byItem < b.byItem;\n })),\n R.concat(excludedTiles),\n R.reject(item => item.value === 1 && R.contains(item.custom_блюдо, excludedKeys)),\n R.map((item) => {\n const isProduct = getIsProduct(item.custom_блюдо);\n const isSupplement = getIsSupplement(item.custom_блюдо);\n let label = item.custom_блюдо\n\n if (isProduct) {\n label = R.pathOr(null, [item.custom_блюдо, 'custom_название'], meals)\n } else if (isSupplement) {\n label = R.pathOr(null, [item.custom_блюдо, 'custom_наименование'], supplements)\n } else {\n label = R.compose(\n R.propOr(null, 'custom_наименование'),\n R.find(R.propEq('key', item.custom_блюдо)),\n )(tiles)\n }\n\n return {\n key: item.key,\n label: item.custom_строка_поиска || label || item.custom_блюдо,\n dish: R.isEmpty(item.custom_список_блюд) ? [item.custom_блюдо] : item.custom_список_блюд,\n byItem: isProduct,\n value: item.custom_добавить_исключить,\n };\n }),\n )(items);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDietanamnezProducts from '../getDietanamnezProducts';\n\nexport default createSelector(\n getDietanamnezProducts,\n\n R.filter(R.propEq('value', 2)),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDietanamnezProducts from '../getDietanamnezProducts';\n\nexport default createSelector(\n getDietanamnezProducts,\n\n R.filter(R.propEq('value', 1)),\n);\n","import * as R from 'ramda';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { getElementsList } from 'redux/modules/elements/selectors';\nimport getDietanamnezKey from '../getDietanamnezKey';\n\nconst toPercent = value => Math.round(value * 100);\n\nconst prop = R.compose(\n toPercent,\n R.defaultTo(0),\n R.prop,\n);\n\nexport default createOrmSelector(\n getDietanamnezKey,\n getElementsList,\n\n (session, dietanamnezKey, elements) => {\n const { Dietanamnez } = session;\n\n try {\n const dietanamnez = Dietanamnez.withId(dietanamnezKey);\n\n return elements\n .filter(item => item.___parent)\n .map((element) => {\n const item = dietanamnez\n .custom_профиль_потребления_веществ\n .find(item => item.элемент_состава === element.key);\n\n return [\n element.custom_наименование,\n prop('среднее_за_день', item) / 100,\n prop('мясо', item),\n prop('рыба', item),\n prop('молоко_и_яйца', item),\n prop('напитки', item),\n prop('хлеб', item),\n prop('каши_макароны', item),\n prop('картофель', item),\n prop('овощи', item),\n prop('супы', item),\n prop('фрукты', item),\n prop('орехи', item),\n prop('сладкое', item),\n prop('жиры_соусы', item),\n prop('алкоголь', item),\n prop('фастфуд', item),\n ];\n });\n } catch (error) {\n console.error(error);\n return [];\n }\n },\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nexport default createCachedOrmSelector(\n (state, props) => props.key,\n\n (session, key) => {\n const { DietanamnezTiles } = session;\n\n try {\n return DietanamnezTiles\n .withId(key)\n .map\n .toRefArray();\n } catch (error) {\n return [];\n }\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { getItemsList as getProductsItems } from 'redux/modules/meals';\nimport getUserType from 'redux/selectors/getUserType';\nimport getSupplementAll from 'redux/selectors/getSupplementAll';\n\nimport getDietanamnezItems from '../getDietanamnezItems';\nimport getDietanamnezKindsFood from '../getDietanamnezKindsFood';\nimport getDietanamnezType from '../getDietanamnezType';\n\nconst getPatientTiles = createOrmSelector(\n getDietanamnezKindsFood,\n getDietanamnezType,\n getUserType,\n\n (session, kindsFood, daType, userType) => {\n const { DietanamnezTiles } = session;\n\n return DietanamnezTiles\n .exclude({\n ___parent: null,\n })\n .filter(({ custom_формат }) => !custom_формат || custom_формат === daType)\n .filter(({ custom_версия_приложения }) => !custom_версия_приложения || custom_версия_приложения === userType)\n .filter((item) => {\n const { custom_специфические_исключения } = item;\n\n return R.compose(\n R.isEmpty,\n R.intersection(custom_специфические_исключения),\n )(kindsFood);\n })\n .toRefArray();\n },\n);\n\nexport default createSelector(\n getDietanamnezItems,\n getPatientTiles,\n state => getProductsItems(state.meals),\n getSupplementAll,\n\n (dietanamnez, tiles, products, supplementsList) => {\n const dishes = R.compose(\n R.unnest,\n R.map((item) => {\n const items = R.isEmpty(item.custom_список_блюд) ?\n [item.custom_блюдо] :\n item.custom_список_блюд;\n\n return R.compose(\n R.uniqBy(R.prop('___parent')),\n R.map((productKey) => {\n const product = R.find(R.propEq('value', productKey), products) || {};\n const key = R.head(product.custom_эталонные_блюда || []) ||\n item.custom_эталонное_блюдо_для_фронта;\n const tile = R.find(R.propEq('key', key), tiles);\n const parent = R.propOr(null, '___parent', tile);\n\n return {\n ___parent: parent || key,\n key: item.custom_блюдо,\n custom_наименование: item.custom_строка_поиска || product.custom_название,\n custom_ед_изм: product.custom_ед_изм_наименование,\n isProduct: true,\n };\n }),\n )(items);\n }),\n R.uniqBy(R.prop('custom_блюдо')),\n R.filter(item => R.contains('t4r', item.custom_блюдо)),\n R.values,\n )(dietanamnez);\n\n const supplements = supplementsList.map(item => ({\n ___parent: 'SUPPLEMENT',\n key: item.key,\n custom_иконка_url: item.custom_картинка_url,\n custom_наименование: item.custom_наименование,\n custom_количество: item.custom_макс_доз_в_день,\n custom_ед_изм: item.custom_лекарственная_форма,\n }));\n\n return R.groupBy(R.prop('___parent'), [...dishes, ...tiles, ...supplements]);\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getUserType from 'redux/selectors/getUserType';\n\nimport getDietanamnezKindsFood from '../getDietanamnezKindsFood';\nimport getDietanamnezTilesVisible from '../getDietanamnezTilesVisible';\nimport getDietanamnezType from '../getDietanamnezType';\n\nexport default createOrmSelector(\n getDietanamnezKindsFood,\n getDietanamnezTilesVisible,\n getDietanamnezType,\n getUserType,\n\n (session, kindsFood, items, daType, userType, supplements) => {\n const { DietanamnezTiles } = session;\n\n const result = DietanamnezTiles\n .filter({\n ___parent: null,\n })\n .filter(({ custom_формат }) => !custom_формат || custom_формат === daType)\n .filter(({ custom_версия_приложения }) => !custom_версия_приложения || custom_версия_приложения === userType)\n .filter((item) => {\n const { custom_специфические_исключения } = item;\n\n return R.compose(\n R.isEmpty,\n R.intersection(custom_специфические_исключения),\n )(kindsFood);\n })\n .filter((item) => {\n const groupItems = items[item.key];\n\n return !!groupItems;\n })\n .toRefArray()\n .concat(userType === 1 ? {\n key: 'SUPPLEMENT',\n custom_наименование: 'БАД',\n } : []);\n\n return result;\n },\n);\n","import * as R from 'ramda';\n\nimport { createSelector } from 'reselect';\n\nimport getDietanamnezLastIdWithoutNotEnded from '../getDietanamnezLastIdWithoutNotEnded';\n\nexport default createSelector(\n R.path(['routeParams', 'dietanamnezId']),\n (state, props) => R.pathOr(null, ['settings', 'dietanamnezId'], props),\n getDietanamnezLastIdWithoutNotEnded,\n\n (routeId, propsId, lastId) => {\n return lastId || propsId || routeId\n },\n);\n","import { put, call } from 'redux-saga/effects';\n\nimport waitFor from '../waitFor';\n\nexport default function* dispatchAndWait(action) {\n yield put(action);\n\n return yield call(waitFor, action);\n}\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport { getKeyById } from \"redux/modules/patients\";\n\nimport getPatientId from \"../getPatientId\";\n\nexport default createSelector(\n getPatientId,\n R.path([\"patients\"]),\n\n getKeyById\n) as unknown as () => string;\n","import * as R from 'ramda';\n\n/**\n * Removes from the database all data referenced using virtual fields from an input object\n * NOTE: cache is required to handle cyclic references (e.g. Dish and DishGroup)\n */\nconst removeRelatedInner = (item, cache) => {\n R.forEachObjIndexed((_, fieldKey) => {\n R.forEach((relatedItem) => {\n const model = relatedItem.getClass();\n if (!cache.has(model)) {\n cache.set(model, new Set());\n }\n const set = cache.get(model);\n if (set.has(relatedItem.key)) {\n return; // this item is already scheduled for removal or removed\n }\n set.add(relatedItem.key);\n removeRelatedInner(relatedItem, cache);\n relatedItem.delete();\n }, item[fieldKey].toModelArray());\n }, item.getClass().virtualFields);\n};\n\nconst removeRelated = item => removeRelatedInner(item, new Map());\n\nexport default removeRelated;\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport { attr, Model as ORMModel } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\nimport convertFromServerTimeZoneToCurrentTimeZone from 'utils/convertFromServerTimeZoneToCurrentTimeZone';\nimport removeRelated from 'utils/orm/removeRelated';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n removeWithUndo,\n} = generator({\n name: 'DiaryRation',\n tableId: 39,\n parseItem: R.evolve({\n custom_продолжительность: Number,\n custom_степень: R.propOr(null, 'key'),\n custom_цель: R.propOr(null, 'value'),\n custom_тип_шаблона: R.propOr(null, 'value'),\n custom_режим_питания: R.propOr(null, 'key'),\n custom_прописано_при: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_спец_виды_питания: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_начало_диеты: convertFromServerTimeZoneToCurrentTimeZone,\n ___parent: R.propOr(null, 'key'),\n ___owner: R.propOr(null, 'key'),\n ___createduser: R.propOr(null, 'key'),\n }),\n});\n\nexport default class Ration extends ORMModel {\n static modelName = 'Ration';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n custom_степень: attr(),\n custom_цель: attr(),\n custom_тип_шаблона: attr(),\n custom_режим_питания: attr(),\n custom_прописано_при: attr(),\n custom_спец_виды_питания: attr(),\n ___parent: attr(),\n ___owner: attr(),\n ___createduser: attr(),\n custom_не_назначен: attr(),\n custom_удалено: attr(),\n custom_название: attr(),\n custom_начало_диеты: attr(),\n custom_спк__до: attr(),\n custom_спк__от: attr(),\n custom_debuginfo: attr(),\n custom_степень_за_месяц: attr(),\n custom_текущая_длительность: attr(),\n custom_рекомендации: attr(),\n\n // custom_продолжительность: attr(), Write-Only\n // custom_создать_по_шаблону: attr(), Write-Only\n // custom_автогенерация: attr(), Write-Only\n }\n\n static reducer = reducer;\n\n get custom_продолжительность() {\n if (this.days.count()) {\n return this.days.count();\n }\n\n return this.custom_текущая_длительность;\n }\n\n get days() {\n return this // eslint-disable-line no-underscore-dangle\n ._days\n .exclude({\n isDeleted: true,\n })\n .exclude({\n isDeleting: true,\n })\n .orderBy('custom_номер');\n }\n\n getGroupsComposition(state) {\n const compositions = this.days.toModelArray().map(day => day.getGroupsComposition(state));\n\n return R.compose(\n R.map(R.map(R.multiply(1 / this.custom_продолжительность))),\n R.map(R.reduce(R.mergeWith(R.add), {})),\n R.transpose,\n )(compositions);\n }\n\n getComposition(state) {\n return R.reduce(R.mergeWith(R.add), {}, this.getGroupsComposition(state));\n }\n\n getIsFilled() {\n return R.all(day => day.getIsFilled(), this.days.toModelArray());\n }\n}\n\nexport const fetchRationComposition = createAction('DIARYRATION__FETCH_COMPOSITION');\nexport const fetchRationCompositionSuccess = createAction('DIARYRATION__FETCH_COMPOSITION_SUCCESS');\nexport const fetchRationCompositionFailure = createAction('DIARYRATION__FETCH_COMPOSITION_FAILURE');\nexport const fetchBase = fetchWithView(fetch, 'ts5c39cs6r434');\nexport const fetchPrint = fetchWithView(fetch, 'for_print');\nexport const fetchList = fetchWithView(fetch, 'ts5c39cs9r373');\nexport const fetchUnassigned = fetchWithView(fetch, 'ts5c39cs9r376');\nexport const fetchUnassignedTemplates = fetchWithView(fetch, '_unassigned_template');\nexport const fetchTemplates = fetchWithView(fetch, 'ts5c39cs9r374', {\n lazyLoad: true,\n});\nexport const fetchGeneratorTemplates = fetchWithView(fetch, 'ts5c39cs7r523', {\n useLS: true,\n});\nexport const fetchSystemTemplates = fetchWithView(fetch, 'ts5c39cs9r375', {\n useLS: true,\n});\nexport const fetchInstitutesTemplates = fetchWithView(fetch, 'ts5c39cs9r425', {\n lazyLoad: true,\n});\n\nexport const createTemplate = createAction('DIARYRATION__CREATE_TEMPLATE');\nexport const assign = createAction('DIARYRATION__ASSIGN');\nexport const manual = createAction('DIARYRATION__MANUAL');\nexport const autogenerate = createAction('DIARYRATION__AUTOGENERATE');\nexport const remove = createAction('DIARYRATION__REMOVE_CUSTOM');\nexport const addDay = createAction('DIARYRATION__ADD_DAY');\nexport const cleanupRelated = createAction('DIARYRATION__CLEANUP_RELATED');\nexport const checkDiet = createAction('DIARYRATION__CHECK_DIET');\nexport const checkDietSuccess = createAction('DIARYRATION__CHECK_DIET_SUCCESS');\nexport const checkDietFailure = createAction('DIARYRATION__CHECK_DIET_FAILURE');\n\nreducer.on(cleanupRelated, (Model, session, { key }) => {\n // HACK: remove related from second-level depth, because Days referenced\n // by foreign key _days are required for computing ration days length\n const item = Model.withId(key);\n R.forEachObjIndexed(\n (_, fieldKey) => R.forEach(\n relatedItem => removeRelated(relatedItem),\n item[fieldKey].toModelArray(),\n ),\n item.getClass().virtualFields,\n );\n});\n\nexport {\n fetch,\n fetchSuccess,\n\n create,\n save,\n saveSuccess,\n removeWithUndo,\n};\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Text.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Text extends PureComponent {\n static propTypes = {\n block: PropTypes.bool,\n inline: PropTypes.bool,\n children: PropTypes.node,\n color: PropTypes.oneOf([\n 'inherit',\n 'white',\n 'gray',\n 'red',\n 'red-dark',\n 'blue',\n ]),\n component: PropTypes.string,\n ellipsis: PropTypes.bool,\n size: PropTypes.oneOf([\n 'inherit',\n 'small',\n 'mini',\n 'medium',\n 'big',\n 'xbig'\n ]),\n uppercase: PropTypes.bool,\n title: PropTypes.string,\n weight: PropTypes.oneOf([\n 'bold',\n 'medium',\n ]),\n whiteSpace: PropTypes.oneOf([\n 'nowrap',\n ]),\n };\n\n static defaultProps = {\n block: false,\n inline: false,\n children: undefined,\n component: 'span',\n color: undefined,\n ellipsis: false,\n uppercase: undefined,\n title: undefined,\n size: undefined,\n weight: undefined,\n whiteSpace: undefined,\n };\n\n render() {\n const {\n block,\n inline,\n color,\n component,\n ellipsis,\n size,\n uppercase,\n weight,\n whiteSpace,\n inherit,\n } = this.props;\n const Tag = component;\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getApplicationUser from '../getApplicationUser';\n\nexport default createOrmSelector(\n getApplicationUser,\n\n (session, key) => {\n const { Worker } = session;\n\n const user = Worker\n .filter({\n custom_user: key,\n })\n .first();\n\n if (user) {\n return user.ref;\n }\n\n return undefined;\n },\n);\n","import * as R from 'ramda';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = R.compose(\n R.map(item => ({\n label: item.custom_название,\n value: item.key,\n })),\n getItemsArray,\n);\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n} = generator({\n name: 'Institutions',\n tableId: 48,\n parseItem: R.evolve({\n custom_страна: R.propOr(null, 'key'),\n custom_город: R.propOr(null, 'key'),\n custom_головное_учреждение: R.propOr(null, 'key'),\n custom_тип: R.propOr(null, 'value'),\n custom_схема_кастомизации: R.propOr(null, 'key'),\n custom_текущий_рекуррент: R.propOr(null, 'value'),\n }),\n});\n\nexport const trialInform = createAction('INSTITUTIONS__TRIAL_INFORM');\nexport const fetchItem = createAction('INSTITUTIONS__FETCH_ITEM');\nexport const fetchItemSuccess = createAction('INSTITUTIONS__FETCH_ITEM_SUCCESS');\nexport const fetchItemFailure = createAction('INSTITUTIONS__FETCH_ITEM_FAILURE');\nexport const stopAuto = createAction('INSTITUTIONS__STOP_AUTO');\nexport const stopAutoSuccess = createAction('INSTITUTIONS__STOP_AUTO_SUCCESS');\nexport const stopAutoFailure = createAction('INSTITUTIONS__STOP_AUTO_FAILURE');\nexport const fetchList = createAction('INSTITUTIONS__FETCH_LIST');\nexport const fetchListSuccess = createAction('INSTITUTIONS__FETCH_LIST_SUCCESS');\nexport const fetchListFailure = createAction('INSTITUTIONS__FETCH_LIST_FAILURE');\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n};\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getItems,\n} from './selectors';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","export { default } from './FieldConnected';\n","import { connect as connectSource } from 'react-redux';\n\nexport const connect = (mapStateToProps, mapDispatchToProps, mergeProps, options) => {\n return connectSource(mapStateToProps, mapDispatchToProps, mergeProps, {\n areStatesEqual: (next, prev) => {\n if (next.loading.isLoading && prev.loading.isLoading) {\n return true\n }\n\n return next === prev;\n },\n ...options,\n });\n}\n","import PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport containerQuery from 'decorators/containerQuery';\n\nimport styles from './Grid.module.css';\n\nconst cx = classNames.bind(styles);\n\nclass Row extends PureComponent {\n static propTypes = {\n align: PropTypes.string,\n children: PropTypes.node,\n containerQuery: PropTypes.object,\n noPrint: PropTypes.bool,\n maximize: PropTypes.bool,\n reverseIndent: PropTypes.bool,\n withProps: PropTypes.bool,\n };\n\n static defaultProps = {\n align: undefined,\n children: undefined,\n containerQuery: {},\n noPrint: false,\n reverseIndent: false,\n withProps: false,\n }\n\n static childContextTypes = {\n width: PropTypes.number,\n level: PropTypes.string,\n };\n\n getChildContext() {\n return {\n level: this.getLevel(),\n };\n }\n\n getLevel() {\n const cq = this.props.containerQuery;\n let level = 'medium';\n\n if (cq.row_width_lt_720) {\n level = 'small';\n } else if (cq.row_width_gt_1020) {\n level = 'big';\n }\n\n return level;\n }\n\n render() {\n const { withProps } = this.props;\n const level = this.getLevel();\n\n return (\n \n {withProps ?\n React.Children.map(this.props.children, child =>\n child ? React.cloneElement(child, {\n level,\n }) : child,\n ) :\n this.props.children\n }\n \n );\n }\n}\n\nexport default R.compose(\n containerQuery(styles),\n)(Row);\n","import React, { Component } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport styles from './Grid.module.css';\n\nconst cx = classNames.bind(styles);\n\nconst maxSize = {\n small: 4,\n medium: 6,\n big: 8,\n};\n\n\nexport default class Column extends Component {\n static propTypes = {\n big: PropTypes.oneOf(R.range(0, maxSize.big + 1)),\n children: PropTypes.node,\n indent: PropTypes.bool,\n borderRight: PropTypes.bool,\n medium: PropTypes.oneOf(R.range(0, maxSize.medium + 1)),\n offsetBig: PropTypes.oneOf(R.range(0, maxSize.big + 1)),\n offsetMedium: PropTypes.oneOf(R.range(0, maxSize.medium + 1)),\n offsetSmall: PropTypes.oneOf(R.range(0, maxSize.small + 1)),\n order: PropTypes.number,\n small: PropTypes.oneOf(R.range(0, maxSize.small + 1)),\n };\n\n static defaultProps = {\n big: undefined,\n children: undefined,\n indent: undefined,\n medium: undefined,\n offsetBig: undefined,\n offsetMedium: undefined,\n offsetSmall: undefined,\n order: undefined,\n small: undefined,\n };\n\n static contextTypes = {\n level: PropTypes.string,\n }\n\n getOrderByLevel() {\n const { level } = this.context;\n\n return this.props[`${level}Order`] || this.props.order;\n }\n\n render() {\n const {\n small,\n medium,\n big,\n offsetSmall,\n offsetMedium,\n offsetBig,\n indent,\n borderRight,\n } = this.props;\n const order = this.getOrderByLevel();\n const style = order ? {\n order,\n msFlexOrder: order,\n } : {};\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n","import isUUID from 'is-uuid';\n\nexport default isUUID.anyNonNil;\n","import * as R from 'ramda';\n\nconst CHART_PADDING_TOP = 5;\n\nconst baseColors = [\n {\n valid: '#4cc770',\n invalid: '#fc6b53',\n },\n];\n\nconst chemicalColors = {\n first: 'fc6b53',\n second: '801300',\n};\n\n\nconst groupedColors = [\n {\n valid: '#16b49c',\n },\n {\n valid: '#56e0bb',\n },\n {\n valid: '#97f1e8',\n },\n {\n valid: '#56bee0',\n },\n {\n valid: '#1679b4',\n },\n {\n valid: '#003b5e',\n },\n];\n\nconst propColorMap = {\n sapphirine: '#8ec5d0',\n};\n\n\nconst getPercent = (normWeight, value) => Math.round(value / (normWeight / 100));\n\n\nconst getOnePercent = (normMin, normMax) => {\n if (!normMax && !normMin) {\n return 1;\n }\n if (normMax < Infinity) {\n return (normMax / 65);\n }\n return (normMin / 35);\n};\n\nconst TYPE_NUMBER_HEX = 16;\n\nconst hex = (x) => {\n const x16 = x.toString(TYPE_NUMBER_HEX);\n return (x16.length === 1) ? `0${x16}` : x16;\n};\n\nconst calculatePartRgb = (ratio, color2, color1, startStr, endStr) => (\n Math.ceil(\n (parseInt(color1.substring(startStr, endStr), TYPE_NUMBER_HEX) * ratio) +\n (parseInt(color2.substring(startStr, endStr), TYPE_NUMBER_HEX) * (1 - ratio)),\n )\n);\n\nconst getColorChemical = (ratio, color2, color1) => {\n const r = calculatePartRgb(ratio, color2, color1, 0, 2);\n const g = calculatePartRgb(ratio, color2, color1, 2, 4);\n const b = calculatePartRgb(ratio, color2, color1, 4, 6);\n return `#${hex(r)}${hex(g)}${hex(b)}`;\n};\n\nconst getStandartChart = data => (\n [{\n start: 0,\n end: data,\n }]\n);\n\nconst getGroupedChart = R.compose(\n R.prop(1),\n R.mapAccum((lastValue, meal) => ([\n lastValue + meal, {\n start: lastValue,\n end: lastValue + meal,\n },\n ]), 0),\n);\n\nconst gradientByColor = {\n '#4cc770': id => `url(#greenGradient${id})`,\n '#fc6b53': id => `url(#redGradient${id})`,\n '#8ec5d0': id => `url(#sapphirineGradient${id})`,\n};\n\nconst getAFlow = (data, normMin, normMax) => {\n let end;\n\n if (data >= normMin && data <= normMax) {\n end = ((data - normMin) * (100 / (normMax - normMin)) * 0.3) + 35;\n } else if (data < normMin) {\n end = data * (100 / normMin) * 0.35;\n } else if (data >= normMax && (data < normMax * 2)) {\n end = ((data - normMax) * (100 / normMax) * 0.35) + 65;\n } else if (data > normMax && (data >= normMax * 2)) {\n end = 100;\n }\n\n return end;\n};\n\nconst getBFlow = (data, normMin) => {\n let end;\n\n if (data > normMin && data < normMin * 2) {\n end = ((data - normMin) * (100 / normMin) * 0.65) + 35;\n } else if (data >= normMin * 2) {\n end = 100;\n } else if (data <= normMin) {\n end = data * (100 / normMin) * 0.35;\n }\n\n return end;\n};\n\nconst getCFlow = (data, normMin, normMax) => {\n let end;\n\n if (data >= 0 && data < normMax) {\n end = data * (100 / normMax) * 0.65;\n } else if (data >= normMax && data < normMax * 2) {\n end = ((data - normMax) * (100 / normMax) * 0.35) + 65;\n } else if (data >= normMax * 2) {\n end = 100;\n }\n\n return end;\n};\n\nconst getEnd = (data, normMin, normMax) => {\n let end;\n\n if (normMin > 0 && normMax < Infinity) {\n end = getAFlow(data, normMin, normMax);\n } else if (normMin > 0 && !isFinite(normMax)) {\n end = getBFlow(data, normMin, normMax);\n } else if (normMin === 0 && isFinite(normMax)) {\n end = getCFlow(data, normMin, normMax);\n }\n\n return end;\n};\n\nconst getWithTwoBoundariesOfNorm = (data, normMin, normMax) => {\n if (R.isEmpty(data)) {\n return [];\n }\n\n if (!normMax && !normMin) {\n const dataArray = [].concat(data);\n const sum = R.sum(dataArray);\n let prevEnd = 0;\n\n const final = dataArray.map((item) => {\n const start = prevEnd;\n\n prevEnd = start + ((item / sum) * 50);\n\n return {\n start,\n end: prevEnd,\n };\n });\n\n return final;\n }\n\n if (Array.isArray(data)) {\n let prevEnd = 0;\n let sum = 0;\n\n return data.map((value) => {\n const percent = getOnePercent(normMin, normMax);\n const start = prevEnd;\n const end = getEnd(value + sum, normMin, normMax);\n\n prevEnd = end * percent;\n sum += value;\n\n return {\n start,\n end: prevEnd,\n };\n });\n }\n\n const percent = getOnePercent(normMin, normMax);\n const end = getEnd(data, normMin, normMax);\n\n return [{\n start: 0,\n end: end * percent,\n }];\n};\n\nconst getRatio = (percents) => {\n if (percents < 100) {\n return (100 - percents) / 100;\n }\n\n return (percents - 100) / 900;\n};\n\nconst getColorStatus = (valueInPercent, color) => {\n if (color) {\n return propColorMap[color];\n }\n const percents = valueInPercent <= 0 ? valueInPercent + 100 : valueInPercent;\n\n if (percents === 100) {\n return '#4cc770';\n }\n\n const ratio = getRatio(percents);\n return getColorChemical(R.clamp(0, 1, ratio), chemicalColors.first, chemicalColors.second);\n};\n\nexport {\n getStandartChart,\n getGroupedChart,\n getPercent,\n getOnePercent,\n getColorStatus,\n getWithTwoBoundariesOfNorm,\n gradientByColor,\n groupedColors,\n propColorMap,\n chemicalColors,\n baseColors,\n CHART_PADDING_TOP,\n};\n","/* eslint-disable no-undef */\n/* eslint-disable no-unused-expressions */\nimport cookie from 'react-cookie';\n\nexport const auth = (email, hash) => {\n const isSupport = cookie.load('isSupport');\n if (isSupport) {\n return;\n }\n window.carrotquest && carrotquest.auth(email, hash);\n};\n\nexport const identify = (data) => {\n const isSupport = cookie.load('isSupport');\n if (isSupport) {\n return;\n }\n window.carrotquest && carrotquest.identify(data);\n};\n\nexport const track = (event, props = null) => {\n window.carrotquest && carrotquest.track(event, props);\n};\n","import { auth, identify } from './carrot';\n\nexport const authorizeUserInCarrot = (email, hash, name) => {\n auth(email, hash);\n identify({\n $email: email,\n ...name,\n });\n};\n\nexport const authorizeUserInCarrotByUserData = (data) => {\n const email = data.custom_login;\n const hash = data.custom_хеш_пользователя;\n\n authorizeUserInCarrot(email, hash, {\n $name: data.custom_firstname,\n Фамилия: data.custom_lastname,\n Отчество: data.custom_midname,\n версия: data.custom_партнер ? 'schoold' : data.isLight ? 'lite' : 'pro',\n });\n};\n","import * as R from 'ramda';\nimport { select } from 'redux-saga/effects';\n\nimport {\n getItemByKey,\n} from 'redux/selectors';\nimport getFullName from 'utils/getFullName';\n\nimport { track } from '../carrot';\n\nfunction* trackPatientEvent(patientKey, event, props = {}) {\n const patient = yield select(getItemByKey(patientKey));\n const name = getFullName(patient);\n track(event, {\n ...props,\n patient_name: name,\n });\n}\n\nconst EVENT_ARCHIVE_PATIENT = 'archive_patient';\nexport function* trackArchivePatient(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ARCHIVE_PATIENT);\n}\n\nconst EVENT_UNARCHIVE_PATIENT = 'unarchive_patient';\nexport function* trackUnarchivePatient(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_UNARCHIVE_PATIENT);\n}\n\nconst EVENT_ADD_PATIENT = 'add_patient';\nexport function* trackAddPatient(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT);\n}\n\nconst EVENT_REMOVE_PATIENT = 'remove_patient';\nexport function* trackRemovePatient(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_REMOVE_PATIENT);\n}\n\nconst EVENT_ADD_PATIENT_NOTE = 'add_patient_note';\nexport function* trackAddPatientNote(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_NOTE);\n}\n\nconst EVENT_ADD_PATIENT_ANALYSIS = 'add_patient_analysis';\nexport function* trackAddPatientAnalysis(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_ANALYSIS);\n}\n\nconst EVENT_ADD_PATIENT_RATION = 'add_patient_ration';\nexport function* trackAddPatientRation(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_RATION);\n}\n\nconst EVENT_ADD_PATIENT_DIETANAMNEZ = 'add_patient_dietanamnez';\nexport function* trackAddPatientDietanamnez(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_DIETANAMNEZ);\n}\n\n/**\n * Returns a function of an entity and changes to that entity that checks\n * if some checked field is changed to a non-empty value and all checked fields\n * before were empty.\n * \n * Note: checkedFieldsRegistry is a registry of fields to check where values are\n * empty value checker functions (R.isEmpty, R.isNil, R.not, etc.)\n * \n * Every checked field can be undefined, so always check R.isNil; check array and\n * string fields using R.isEmpty, nullable using R.isNil, scalar using R.not\n */\nconst shouldTrackChangesFromCheckedFields = checkedFieldsRegistry =>\n (entity, changes) => {\n const checkedFields = R.keys(checkedFieldsRegistry);\n const isRegistryFieldEmpty = (registry, field) =>\n R.prop(field, checkedFieldsRegistry)(R.prop(field, registry));\n const isSomeCheckedChangedToNotEmpty = checkedFields.some(field => (\n R.has(field, changes) &&\n !isRegistryFieldEmpty(changes, field)\n ));\n const wasCheckedAllEmpty = checkedFields.every(field => (\n isRegistryFieldEmpty(entity, field)\n ));\n return isSomeCheckedChangedToNotEmpty && wasCheckedAllEmpty;\n };\n\n// For now track only if diagnosis before was empty\n// and any diagnosis field is being filled\nexport const shouldTrackAddPatientDiagnosis =\n shouldTrackChangesFromCheckedFields({\n custom_болезни: R.either(R.isEmpty, R.isNil),\n custom_сопутствующие_заболевания: R.either(R.isEmpty, R.isNil),\n custom_основное_заболевание: R.isNil,\n custom_анамнез: R.either(R.isEmpty, R.isNil),\n });\n\nconst EVENT_ADD_PATIENT_DIAGNOSIS = 'add_patient_diagnosis';\nexport function* trackAddPatientDiagnosis(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_DIAGNOSIS);\n}\n\n// Same as diagnosis\nexport const shouldTrackAddPatientAntropometry =\n shouldTrackChangesFromCheckedFields({\n // Antropometry\n custom_масса_тела: R.not,\n custom_рост: R.not,\n custom_объем_талии: R.not,\n custom_объем_бедер: R.not,\n custom_объем_плеча: R.not,\n // Composition\n custom_жировая_масса: R.not,\n custom_мышечная_масса: R.not,\n custom_складка_грудь_подмышка: R.not,\n custom_складка_живот: R.not,\n custom_складка_бедро: R.not,\n custom_общая_жидкость: R.not,\n custom_вунутриклеточная_жидкость: R.not,\n custom_внеклеточная_жидкость: R.not,\n custom_тощая_масса_тела: R.not,\n custom_активная_клеточная_масса: R.not,\n custom_висцеральный_жир: R.not,\n });\n\nconst EVENT_ADD_PATIENT_ANTROPOMETRY = 'add_patient_antropometry';\nexport function* trackAddPatientAntropometry(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_ANTROPOMETRY);\n}\n\nconst EVENT_ADD_PATIENT_CONSUMPTION = 'add_patient_consumption';\nexport function* trackAddPatientConsumption(patientKey) {\n yield trackPatientEvent(patientKey, EVENT_ADD_PATIENT_CONSUMPTION);\n}\n","/* eslint-disable require-yield */\n\nimport { track } from '../carrot';\n\nconst EVENT_ADD_RATION_TEMPLATE = 'add_ration_template';\nexport function* trackAddRationTemplate() {\n track(EVENT_ADD_RATION_TEMPLATE);\n}\n\nconst EVENT_ADD_MEAL = 'add_meal';\nexport function* trackAddMeal() {\n track(EVENT_ADD_MEAL);\n}\n\nconst EVENT_ADD_STAFF = 'add_staff';\nexport function* trackAddStaff() {\n track(EVENT_ADD_STAFF);\n}\n\nconst EVENT_RENEW_SUBSCRIPTION = 'renew_subscription';\nexport function* trackRenewSubscription() {\n track(EVENT_RENEW_SUBSCRIPTION);\n}\n\nconst EVENT_AUTHORIZE = 'authorize';\nexport function* trackAuthorize() {\n track(EVENT_AUTHORIZE);\n}\n\nconst EVENT_SIGNUP = 'signup';\nexport function* trackSignup(email, name) {\n track(EVENT_SIGNUP, {\n email,\n name,\n });\n}\n\nconst EVENT_ACTIVATE = 'activate';\nexport function* trackActivate(email, name) {\n track(EVENT_ACTIVATE, {\n email,\n name,\n });\n}\n","import createCachedSelector from 're-reselect';\nimport { createSelector as ormCreateSelector } from 'redux-orm';\n\nimport orm from 'redux/orm';\n\nconst createCachedOrmSelector = (...args) => {\n const resultFunc = args.pop();\n\n return createCachedSelector(\n state => state.orm,\n ...args,\n ormCreateSelector(orm, resultFunc),\n )(args[0]);\n};\n\nexport default createCachedOrmSelector;","import * as R from \"ramda\";\nimport { createAction } from \"redux-act\";\nimport moment from \"moment\";\nimport { attr, Model } from \"redux-orm\";\nimport fetchWithView from \"redux/utils/fetchWithView\";\n\nimport generator from \"redux/hor/orm-module\";\n\nconst { reducer, fetch, fetchSuccess, create, save, saveSuccess } = generator({\n name: \"staff\",\n tableId: 47,\n parseItem: R.evolve({\n ___territory: R.propOr(null, \"key\"),\n custom_состояние: R.propOr(null, \"value\"),\n custom_sexint: R.propOr(null, \"value\"),\n custom_role: R.propOr(null, \"key\"),\n custom_user: R.propOr(null, \"key\"),\n custom_страна: R.propOr(null, \"key\"),\n custom_город: R.propOr(null, \"key\"),\n custom_профиль: R.propOr(null, \"key\"),\n custom_партнер: R.propOr(null, \"key\"),\n custom_производители_бад: R.compose(R.pluck(\"key\"), R.defaultTo([])),\n custom_dob: (date) => (date ? moment(date) : undefined),\n }),\n});\n\nexport default class Worker extends Model {\n static modelName = \"Worker\";\n\n static options = {\n idAttribute: \"key\",\n };\n\n static fields = {\n ___createddate: attr(),\n ___territory: attr(),\n custom_состояние: attr(),\n custom_role: attr(),\n custom_user: attr(),\n custom_страна: attr(),\n custom_город: attr(),\n custom_dob: attr(),\n custom_firstname: attr(),\n custom_is_support: attr(),\n custom_lastname: attr(),\n custom_login: attr(),\n custom_midname: attr(),\n custom_sexint: attr(),\n custom_должность: attr(),\n custom_разрешен_вход_по_пользователем_до: attr(),\n custom_ред_сис_шаблонов: attr(),\n custom_редактирование_общих_блюд: attr(),\n custom_фото: attr(),\n custom_ключ_системного_пользователяold: attr(),\n custom_избранный: attr(),\n custom_хеш_пользователя: attr(),\n custom_мобильный_телефон: attr(),\n custom_verify_phone: attr(),\n custom_производители_бад: attr(),\n custom_профиль: attr(),\n custom_партнер: attr(),\n custom_inbody_user: attr(),\n custom_номер_нпа: attr(),\n custom_состоит_в_группе: attr(),\n };\n\n static reducer = reducer;\n\n get fullname() {\n return R.compose(\n R.join(\" \"),\n R.values,\n R.pick([\"custom_firstname\", \"custom_midname\", \"custom_lastname\"])\n )(this);\n }\n\n toString() {\n return `Worker: ${this.key}`;\n }\n}\n\nexport const changePassword = createAction(\"STAFF__CHANGE_PASSWORD\");\nexport const invite = createAction(\"STAFF__INVITE\");\nexport const inviteLight = createAction(\"STAFF__INVITE_GRP\");\nexport const saveProfile = createAction(\"STAFF__SAVE_PROFILE\");\nexport const fetchMe = fetchWithView(fetch, \"ts5c47cs9r173\");\nexport const allowLogin = createAction(\"STAFF__ALLOW_LOGIN\");\nexport const setRole = createAction(\"STAFF__CHANGE_ROLE\");\nexport const setStatus = createAction(\"STAFF__SET_STATUS\");\nexport const getMobilePhoneStatus = createAction(\"STAFF__GET_MOBILE_PHONE\");\n\nexport { fetch, fetchSuccess, save, saveSuccess, create };\n","const userInfoField = {\n locate: true,\n min: { limiter: 2 },\n max: { limiter: 50 },\n};\n\nconst defaultOptions = {\n /**\n * 1. Email\n */\n email: {\n required: true,\n email: true,\n },\n /**\n * 2. Pass\n */\n password: {\n required: true,\n simplePass: { errorText: 'Слишком простой пароль' },\n min: { limiter: 6, errorText: 'Пароль не может быть короче 6-ти символов' },\n },\n /**\n * 3. username\n */\n username: userInfoField,\n /**\n * 4. surname\n */\n surname: userInfoField,\n /**\n * 5. secondname\n */\n secondname: userInfoField,\n /**\n * 6. job\n */\n job: {\n max: { limiter: 200 },\n },\n /**\n * 7. city\n */\n city: {\n max: { limiter: 50 },\n },\n /**\n * 8. street\n */\n street: {\n max: { limiter: 200 },\n },\n /**\n * 9. house\n */\n house: {\n locateNum: true,\n max: { limiter: 4 },\n },\n /**\n * 10. casehouse\n */\n casehouse: {\n locateNum: true,\n max: { limiter: 4 },\n },\n /**\n * 11. phone\n */\n phone: {\n phone: true,\n },\n /**\n * 12. casehouse\n */\n agency: {\n max: { limiter: 200 },\n },\n /**\n * 13. role\n */\n role: {\n max: { limiter: 200 },\n },\n\n npa: {\n required: true,\n max: { limiter: 15 },\n },\n\n logo: {\n typeFiles: {\n correctTypes: ['image/png', 'image/jpg', 'image/jpeg'],\n errorText: 'Неверный тип файла',\n },\n sizeFiles: {\n correctSize: 2e6,\n errorText: 'Превышен размер файла',\n },\n },\n\n date: {\n date: true,\n },\n\n time: {\n time: true,\n },\n};\n\nexport default defaultOptions;\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport { appKey } from \"config\";\n\nimport getUserProfile from \"../getUserProfile\";\nimport getUser from \"../getUser\";\nimport getInstitutionSubscriptionIsBlocked from \"../getInstitutionSubscriptionIsBlocked\";\n\nexport default createSelector(\n getUserProfile,\n getUser,\n getInstitutionSubscriptionIsBlocked,\n\n (profile, worker, isBlocked) => {\n const actualProfile = isBlocked && worker ? worker.custom_профиль : profile;\n\n if (window.location.pathname.toLowerCase() === \"/l\") {\n return true;\n }\n\n return R.equals(`${appKey}ts18r17`, actualProfile);\n }\n) as unknown as () => boolean;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDay from '../getDay';\n\nexport default createSelector(\n getDay,\n (state, props) => props ? props.dayKey : undefined,\n\n (day, dayKey) => dayKey || R.propOr(null, 'key', day),\n);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Icon.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Icon extends PureComponent {\n static propTypes = {\n height: PropTypes.number,\n icon: PropTypes.string,\n iconContent: PropTypes.string,\n width: PropTypes.number,\n };\n\n static defaultProps = {\n height: undefined,\n icon: undefined,\n iconContent: undefined,\n width: undefined,\n };\n\n render() {\n const { width, height, iconContent } = this.props;\n let icon;\n if (iconContent) {\n icon = iconContent;\n } else {\n try {\n icon = require(`!raw-loader!./icons/${this.props.icon}.svg`); // eslint-disable-line global-require\n } catch (err) {\n return null;\n }\n }\n\n return (\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport { Link as LinkRR } from 'react-router';\n\nimport Icon from 'components/Icon';\nimport IconLoader from 'components/IconLoader';\nimport IconDotLoader from 'components/IconDotLoader';\n\nimport styles from './Button.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Button extends PureComponent {\n static propTypes = {\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n block: PropTypes.bool,\n bordered: PropTypes.bool,\n children: PropTypes.node.isRequired,\n color: PropTypes.oneOf([\n 'white',\n 'blue',\n \"cerulean\",\n \"cerulean-animated\",\n \"dark-animated\",\n \"dark\"\n ]),\n title: PropTypes.string,\n component: PropTypes.string,\n disabled: PropTypes.bool,\n href: PropTypes.string,\n isDisableableLink: PropTypes.bool,\n isHovered: PropTypes.bool,\n isLoading: PropTypes.bool,\n noPadding: PropTypes.bool,\n isFictive: PropTypes.bool,\n routing: PropTypes.string,\n size: PropTypes.oneOf([\n 'small',\n 'big',\n \"medium\"\n ]),\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n type: PropTypes.oneOf([\n 'button',\n 'submit',\n ]),\n upper: PropTypes.bool,\n rounded: PropTypes.bool,\n onClick: PropTypes.func,\n };\n\n static defaultProps = {\n isFictive: false,\n block: false,\n bordered: false,\n children: undefined,\n color: undefined,\n title: undefined,\n component: 'button',\n disabled: false,\n href: undefined,\n isDisableableLink: false,\n isHovered: false,\n isLoading: false,\n noPadding: false,\n routing: '',\n size: undefined,\n to: undefined,\n type: 'button',\n upper: false,\n onMouseDown: () => { }\n };\n\n getComponent() {\n const { component, to, href } = this.props;\n\n if (to) {\n return LinkRR;\n }\n\n if (href) {\n return 'a';\n }\n\n return component;\n }\n\n getIsIcon() {\n return this.props.children.type === Icon;\n }\n\n renderChild(child, key) {\n return (\n \n {child}\n \n );\n }\n\n render() {\n const {\n block,\n bordered,\n children,\n color,\n disabled,\n href,\n isHovered,\n isLoading,\n onClick,\n noPadding,\n size,\n to,\n type,\n upper,\n title,\n rounded,\n target,\n onMouseDown,\n isFictive,\n id,\n itemRef\n } = this.props;\n\n const ComponentName = this.getComponent();\n\n return (\n \n \n {React.Children.map(children, this.renderChild, this)}\n \n\n \n {this.getIsIcon() ? : }\n \n \n );\n }\n}\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport { fk, attr, Model as ORMModel } from 'redux-orm';\n\nimport { appKey } from 'config';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nimport { getSumComposition } from 'redux/modules/productComposition';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n removeWithUndo,\n undoRemove,\n} = generator({\n name: 'DAY',\n tableId: 29,\n parentField: 'custom_рацион_пациента',\n parseItem: R.evolve({\n custom_рацион_пациента: R.propOr(null, 'key'),\n }),\n});\n\nexport default class Day extends ORMModel {\n static modelName = 'Day';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n custom_номер: attr(),\n custom_название_для_шаблона: attr(),\n custom_шаблон_дня: attr(),\n custom_записи_и_рекомендации: attr(),\n custom_рацион_пациента: fk('Ration', '_days'),\n custom_меню: attr(),\n }\n\n static reducer = reducer;\n\n get dishes() {\n return [];\n }\n\n get groups() {\n return this.custom_меню || {}\n }\n\n get items() {\n return Object.keys(this.custom_dishesjson).map(key => {\n return ({\n ___parent: this,\n key,\n custom_колич: this.custom_dishesjson[key],\n custom_блюдо: key.replace('cXaX', appKey),\n isActive: key === this.custom_ключ_активного_блюда,\n })\n })\n }\n\n getComposition(state) {\n const data = R.reduce(R.mergeWith(R.add), {}, this.getGroupsComposition(state));\n\n return data;\n }\n\n getGroupsComposition(state) {\n return R.compose(\n R.values,\n R.map(group => this.getGroupComposition(group, state)),\n Object.keys,\n )(this.groups);\n }\n\n getGroupComposition(time, state) {\n const group = this.groups[time];\n const compositions = group.группы_альтернатив.map(item => this.getDishComposition(item, state));\n\n return R.reduce(R.mergeWith(R.add), {}, compositions);\n }\n\n getDishComposition(dishGroup, state) {\n const dish = dishGroup.активное.replace('cXaX', appKey);\n const count = dishGroup.блюда[dishGroup.активное];\n\n return getSumComposition(count, dish, state);\n }\n\n getIsFilled() {\n return Object.values(this.groups).some(item => !!item.группы_альтернатив && item.группы_альтернатив.length > 0);\n }\n}\n\nexport const copy = createAction('DAY__COPY');\nexport const sort = createAction('DAY__SORT');\nexport const sortSuccess = createAction('DAY__SORT_SUCCESS');\nexport const sortFailure = createAction('DAY__SORT_FAILURE');\nexport const fillFromTemplate = createAction('DAY__FILL_FROM_TEMPLATE');\nexport const fillFromTemplateSuccess = createAction('DAY__FILL_FROM_TEMPLATE_SUCCESS');\nexport const fillFromTemplateFailure = createAction('DAY__FILL_FROM_TEMPLATE_FAILURE');\nexport const addGroup = createAction('DAY__ADD_GROUP');\nexport const removeGroup = createAction('DAY__REMOVE_GROUP');\nexport const updateGroupTime = createAction('DAY__UPDATE_GROUP_TIME');\nexport const sortGroupItems = createAction('DAY__SORT_GROUP_ITEMS');\nexport const removeDishGroup = createAction('DAY__REMOVE_DISHGROUP');\nexport const changeDishGroupActive = createAction('DAY__CHANGE_DISHGROUP_ACTIVE');\nexport const removeDishGroupDish = createAction('DAY__REMOVE_DISHGROUP_DISH');\nexport const addDishGroupDish = createAction('DAY__ADD_DISHGROUP_DISH');\nexport const changeDishGroupDishAmount = createAction('DAY__CHANGE_DISHGROUP_DISH_AMOUNT');\nexport const fetchItem = fetchWithView(fetch, 'ts5c29cs6r372');\nexport const fetchTemplates = fetchWithView(fetch, 'templates', {\n useLS: true,\n});\n\nconst handleAddGroup = (Model, session, payload) => {\n const { key, time } = payload;\n\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n\n day.update({\n custom_меню: {\n ...menu,\n [time]: {\n группы_альтернатив: [],\n }\n }\n })\n}\n\nconst handleRemoveGroup = (Model, session, payload) => {\n const { key, time } = payload;\n\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const newMenu = R.omit([time], menu);\n\n day.update({\n custom_меню: newMenu,\n })\n}\n\nconst handleUpdateGroupTime = (Model, session, payload) => {\n const { key, currentTime, newTime } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n\n if (menu[currentTime]) {\n const newMenu = R.omit([currentTime], menu);\n\n if(newMenu[newTime]) {\n newMenu[newTime][\"группы_альтернатив\"] = [...newMenu[newTime][\"группы_альтернатив\"] , ...menu[currentTime][\"группы_альтернатив\"]]\n }\n else {\n newMenu[newTime] = menu[currentTime];\n }\n\n day.update({\n custom_меню: newMenu,\n })\n }\n}\n\nconst handleSortGroupItems = (Model, session, payload) => {\n const { key, groupKey, itemKey, index } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const dishes = menu[groupKey].группы_альтернатив;\n\n const newDish = R.compose(\n R.addIndex(R.map)((item, itemIndex) => ({\n ...item,\n номер: itemIndex,\n })),\n R.insert(index, dishes[itemKey]),\n R.addIndex(R.filter)((item, itemIndex) => itemIndex !== itemKey),\n )(dishes);\n\n const newMenu = R.assocPath([groupKey, 'группы_альтернатив'], newDish, menu);\n\n day.update({\n custom_меню: newMenu,\n })\n}\n\nconst handleRemoveDishGroup = (Model, session, payload) => {\n const { key, groupKey, itemKey } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const dishes = menu[groupKey].группы_альтернатив;\n\n const newDish = dishes.filter((item, index) => index !== itemKey).map((item, index) => ({\n ...item,\n номер: index,\n }));\n\n const newMenu = R.assocPath([groupKey, 'группы_альтернатив'], newDish, menu);\n\n day.update({\n custom_меню: newMenu,\n })\n}\n\nconst handleRemoveDishGroupDish = (Model, session, payload) => {\n const { key, groupKey, itemKey, dishKey } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const newMenu = R.compose(\n R.over(R.lensPath([groupKey, 'группы_альтернатив']), R.compose(\n val => val.map((item, index) => ({\n ...item,\n номер: index,\n })),\n R.reject(R.isNil),\n )),\n R.over(R.lensPath([groupKey, 'группы_альтернатив', itemKey]), (value) => {\n const baseKey = dishKey.replace(appKey, 'cXaX');\n const newItems = R.omit([baseKey], value.блюда)\n\n if (Object.keys(newItems).length === 0) {\n return null;\n }\n\n return {\n ...value,\n активное: value.активное === baseKey ? Object.keys(newItems)[0] : value.активное,\n блюда: newItems\n }\n })\n )(menu);\n\n day.update({\n custom_меню: newMenu,\n })\n}\n\nconst handleChangeDishGroupActive = (Model, session, payload) => {\n const { key, groupKey, itemKey, newActiveKey } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const newMenu = R.assocPath(\n [groupKey, 'группы_альтернатив', itemKey, 'активное'],\n newActiveKey.replace(appKey, 'cXaX'),\n menu\n );\n\n day.update({\n custom_меню: newMenu,\n })\n}\n\nconst handleAddDishGroupDish = (Model, session, payload) => {\n const { key, groupKey, itemKey, dishKey, amount } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const baseKey = dishKey.replace(appKey, 'cXaX')\n\n if (itemKey !== undefined) {\n const newMenu = R.assocPath(\n [groupKey, 'группы_альтернатив', itemKey, 'блюда', baseKey],\n amount,\n menu\n );\n\n day.update({\n custom_меню: newMenu,\n })\n } else {\n const newMenu = R.over(\n R.lensPath([groupKey, 'группы_альтернатив']),\n value => value.concat({\n номер: value.length,\n активное: baseKey,\n блюда: {\n [baseKey]: amount,\n }\n }),\n menu\n );\n\n day.update({\n custom_меню: newMenu,\n })\n }\n}\n\nconst handleChangeDishGroupDishAmount = (Model, session, payload) => {\n const { key, groupKey, itemKey, dishKey, amount } = payload;\n const day = Model.withId(key);\n\n const menu = day.custom_меню || {};\n const baseKey = dishKey.replace(appKey, 'cXaX')\n const newMenu = R.assocPath(\n [groupKey, 'группы_альтернатив', itemKey, 'блюда', baseKey],\n amount,\n menu\n );\n\n day.update({\n custom_меню: newMenu,\n })\n}\n\nconst handleSort = (Model, session, payload) => {\n const { key, from, to } = payload;\n\n const list = Model\n .filter({\n custom_рацион_пациента: key,\n })\n .exclude({\n isDeleted: true,\n })\n .exclude({\n isDeleting: true,\n })\n .orderBy('custom_номер');\n\n const currentDayKey = list\n .filter({\n custom_номер: from,\n })\n .first()\n .ref\n .key;\n\n const days = list\n .toRefArray()\n .map(item => item.key);\n\n const newDays = R.compose(\n R.insert(to - 1, currentDayKey),\n R.without([currentDayKey]),\n )(days);\n\n newDays.forEach((dayKey, i) => Model.withId(dayKey).update({\n custom_номер: i + 1,\n }));\n};\n\nreducer.on(sort, handleSort);\nreducer.on(addGroup, handleAddGroup);\nreducer.on(removeGroup, handleRemoveGroup);\nreducer.on(updateGroupTime, handleUpdateGroupTime);\nreducer.on(sortGroupItems, handleSortGroupItems);\nreducer.on(removeDishGroup, handleRemoveDishGroup);\nreducer.on(removeDishGroupDish, handleRemoveDishGroupDish);\nreducer.on(changeDishGroupActive, handleChangeDishGroupActive);\nreducer.on(changeDishGroupDishAmount, handleChangeDishGroupDishAmount);\nreducer.on(addDishGroupDish, handleAddDishGroupDish);\n\nreducer.on(removeWithUndo, (Model, session, payload) => {\n const { key } = payload;\n\n const rationKey = Model.withId(key).ref.custom_рацион_пациента;\n\n Model.withId(key).update({\n isDeleting: true,\n });\n\n const firstDayNumber = Model\n .filter({\n custom_рацион_пациента: rationKey,\n })\n .exclude({\n isDeleted: true,\n })\n .exclude({\n isDeleting: true,\n })\n .orderBy('custom_номер')\n .first()\n .ref\n .custom_номер;\n\n\n handleSort(Model, session, {\n key: rationKey,\n from: firstDayNumber,\n to: 1,\n });\n});\n\nreducer.on(undoRemove, (Model, session, payload) => {\n const { key } = payload;\n\n Model.withId(key).update({\n isDeleted: false,\n isDeleting: false,\n });\n\n const day = Model.withId(key).ref;\n\n handleSort(Model, session, {\n key: day.custom_рацион_пациента,\n from: 1,\n to: 1,\n });\n});\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n removeWithUndo,\n};\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getKeyById,\n} from 'modules/Rations/redux/modules/ration/selectors';\n\nimport getRationId from '../getRationId';\n\nexport default createSelector(\n getRationId,\n (state, props = {}) => props.rationKey,\n R.path(['Rations', 'ration']),\n\n (rationId, possibleRationKey, ration) => {\n if (possibleRationKey) {\n return possibleRationKey;\n }\n\n return getKeyById(rationId, ration);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport const getToken = R.propOr('', 'token');\n\nexport const getLoginId = createSelector(\n (state) => state,\n (state) => state.auth.id\n)\nexport const isRegistryTest = createSelector(\n (state) => state.auth,\n (val) => val.type === 'registry'\n)","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['auth', 'userAKey']),\n\n R.identity,\n);\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport { getItemById, Patient } from \"redux/modules/patients\";\n\nimport getPatientId from \"../getPatientId\";\n\nexport default createSelector(\n getPatientId,\n R.path([\"patients\"]),\n\n getItemById\n) as unknown as () => Patient;\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItem, getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItemsList = R.compose(\n memoizee(R.map(item => ({\n ...item,\n value: item.key,\n label: item.custom_название,\n }))),\n getItemsArray,\n);\n\nexport const getProductsByGroups = R.compose(\n memoizee(R.groupBy(R.prop('custom_группа'))),\n getItemsList,\n);\n\nexport const getIsCompositionCalcing = R.compose(\n R.propOr(false, 'isCalcComposition'),\n getItem,\n);\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\n\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst setKeyField = R.curry((main, secondary, item) => {\n if (item[main] || item[secondary]) {\n item[main] = item[main] || item[secondary]; // eslint-disable-line no-param-reassign\n }\n\n return item;\n});\n\nconst setKeysField = R.curry((main, secondary, item) => {\n if (item[main] || item[secondary]) {\n item[main] = item[main] || item[secondary].replace(/\"/g, '').split(','); // eslint-disable-line no-param-reassign\n }\n\n return item;\n});\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeSuccess,\n removeWithUndo,\n} = generator({\n name: 'Meals',\n tableId: 4,\n parseItem: R.compose(\n R.compose(\n setKeyField('custom_группа', 'custom_группа_ключ'),\n setKeysField('custom_эталонные_блюда', 'custom_эталонные_блюда_ключи'),\n setKeysField('custom_запрещено_к_употреблению_при', 'custom_запрещено_к_употреблению_при_ключи'),\n setKeysField('custom_не_применяется_в', 'custom_не_применяется_в_ключи'),\n ),\n R.evolve({\n ___owner: R.propOr(null, 'key'),\n ___territory: R.propOr(null, 'key'),\n custom_группа: R.propOr(null, 'key'),\n custom_ед_изм: R.propOr(null, 'key'),\n custom_порция: R.propOr(null, 'key'),\n custom_способ_приготовления: R.propOr(null, 'key'),\n custom_возрастнаягруппа: R.defaultTo([]),\n custom_эталонные_блюда: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_ед_изм_если_единица: R.propOr(null, 'key'),\n custom_применимость_в_схеме_питания: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_не_применяется_в: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_запрещено_к_употреблению_при: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_продукт_повышает: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n }),\n ),\n});\n\nexport const fetchItem = fetchWithView(fetch, 'ts5c4cs6r347');\nexport const fetchComposition = fetchWithView(fetch, 'ts5c4cs6r364', {\n cache: true,\n});\nexport const fetchSystemMeals = fetchWithView(fetch, 'ts5c4cs9r343', {\n useLS: true,\n});\nexport const fetchUserMeals = fetchWithView(fetch, 'ts5c4cs9r344');\nexport const fetchCatalogList = createAction('MEALS__FETCH_CATALOG_LIST');\nexport const fetchCatalogListSuccess = createAction('MEALS__FETCH_CATALOG_LIST_SUCCESS');\nexport const calcComposition = createAction('MEALS__CALC_COMPOSITION');\nexport const copyComposition = createAction('MEALS__COPY_COMPOSITION');\n\nexport {\n fetch,\n fetchSuccess,\n\n create,\n save,\n saveSuccess,\n remove,\n removeSuccess,\n removeWithUndo,\n};\n\nexport {\n getItemById,\n getKeyById,\n getItems,\n getItem,\n getItemsArray,\n} from 'redux/hor/module/selectors';\n\nexport {\n getItemsList,\n getProductsByGroups,\n getIsCompositionCalcing,\n} from './selectors';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","import { createAction, createReducer } from 'redux-act';\nimport { LOCATION_CHANGE } from 'react-router-redux';\n\nconst initialState = {\n application: true,\n};\n\nexport const showLoader = createAction('LOADER__SHOW');\nexport const hideLoader = createAction('LOADER__HIDE');\n\nconst handleSetLoader = status => (state, payload) => {\n if (typeof payload === 'string') {\n const currentStatus = state[payload];\n\n if (currentStatus === status) {\n return state;\n }\n\n return {\n ...state,\n [payload]: status,\n };\n }\n\n return {\n ...state,\n [payload.name]: {\n ...payload,\n status,\n },\n };\n};\n\nconst reducer = createReducer((on) => {\n on(showLoader, handleSetLoader(true));\n on(hideLoader, handleSetLoader(false));\n on(LOCATION_CHANGE, (state) => handleSetLoader(true)(state, 'global'));\n}, initialState);\n\nexport default reducer;\n","import * as R from 'ramda';\n\nconst getLoader = R.propOr(false);\n\nexport const getLoaderByType = (type, state) => {\n if (type !== 'global') {\n return getLoader(type, state);\n }\n\n return getLoader(type, state) && !getLoader('page', state);\n};\n","import reducer from './reducer';\n\nexport { showLoader, hideLoader } from './reducer';\n\nexport {\n getLoaderByType,\n} from './selectors';\n\nexport default reducer;\n","import * as R from \"ramda\";\nimport { createAction, createReducer } from \"redux-act\";\n\nconst initialState = {\n token: \"\",\n type: null,\n remember: false,\n timeLastRequest: undefined,\n hasInvite: null,\n};\n\nexport const login = createAction(\"AUTH__LOGIN\");\nexport const loginSuccess = createAction(\"AUTH__LOGIN_SUCCESS\");\nexport const loginFailure = createAction(\"AUTH__LOGIN_FAILURE\");\nexport const setProfile = createAction(\"AUTH__SET_PROFILE\");\nexport const setInviteByToken = createAction(\"INVITE__SET_BY_TOKEN\");\nexport const inviteByTokenSuccess = createAction(\"INVITE__BY_TOKEN_SUCCESS\");\nexport const inviteByTokenFailure = createAction(\"INVITE__BY_TOKEN_FAILURE\");\n\nexport const switchUser = createAction(\"AUTH__SWITCH_USER\");\nexport const switchUserSuccess = createAction(\"AUTH__SWITCH_USER_SUCCESS\");\n\nexport const logout = createAction(\"AUTH__LOGOUT\");\n\nexport const resendEmail = createAction(\"AUTH__RESEND_EMAIL\");\nexport const hideModal = createAction(\"AUTH__HIDE_MODAL\");\n\nconst handleLoginSuccess = (\n state,\n { response, remember, anonymous = false }\n) => {\n const token = R.path([\"data\", \"token\"], response);\n const domain = R.path([\"data\", \"domain\"], response);\n const userAKey = R.pathOr(null, [\"data\", \"UserAKey\"], response);\n const profileKey = R.pathOr(null, [\"data\", \"ProfileKey\"], response);\n\n return {\n ...state,\n remember,\n anonymous,\n domain: domain ? `https://${domain}` : undefined,\n token,\n userAKey,\n profileKey,\n };\n};\n\nconst handleLogout = () => initialState;\n\nconst handleSwitchUserSuccess = (state, payload) => {\n const { userAKey, token } = payload;\n\n return {\n ...state,\n userAKey,\n token,\n };\n};\n\nconst handleSetProfile = (state, profileKey) => ({\n ...state,\n profileKey,\n});\n\nexport default createReducer(\n {\n [loginSuccess]: handleLoginSuccess,\n [logout]: handleLogout,\n [switchUserSuccess]: handleSwitchUserSuccess,\n [setProfile]: handleSetProfile,\n },\n initialState\n);\n","import * as R from 'ramda';\nimport { put, call, select, all } from 'redux-saga/effects';\n\nimport {\n getItemByKey,\n} from 'redux/selectors';\n\nimport getErrorFromResponse from 'redux/utils/getErrorFromResponse';\nimport dispatchAndWait from 'redux/utils/dispatchAndWait';\nimport waitFor from 'redux/utils/waitFor';\nimport * as api from 'utils/api';\nimport isLocalKey from 'utils/isLocalKey';\n\nexport default function runButtonCreator({\n button,\n fetch,\n save,\n data = {},\n showError = true,\n}) {\n return function* runButton(action) {\n const { payload } = action;\n let { key } = payload;\n const currentItem = yield select(getItemByKey(key));\n const currentFields = R.pickAll(R.keys(data), currentItem);\n\n try {\n yield put(save({\n key,\n data: {\n ...data,\n [button]: true,\n },\n isLocal: true,\n }));\n\n if (isLocalKey(key)) {\n const success = yield waitFor(save({\n key,\n }));\n key = success.payload.response.data.key;\n }\n\n const response = yield call(api.post, {\n key,\n button,\n });\n\n const success = {\n type: `${action.type}_SUCCESS`,\n payload: {\n ...action.payload,\n response,\n },\n };\n\n const item = yield select(getItemByKey(key))\n\n if (fetch && item && !item.isDeleted) {\n yield dispatchAndWait(fetch({\n key,\n }));\n }\n\n yield put(save({\n key,\n data: {\n [button]: false,\n },\n isLocal: true,\n }));\n yield put(success);\n\n return success;\n } catch (error) {\n const status = R.pathOr(null, ['response', 'status'], error);\n const failure = {\n type: `${action.type}_FAILURE`,\n payload: {\n ...action.payload,\n error,\n },\n };\n\n if (showError) {\n const errorEffect = getErrorFromResponse(error, payload.form);\n yield all(errorEffect);\n }\n\n yield put(failure);\n yield put(save({\n key: action.payload.key,\n data: {\n ...currentFields,\n [button]: false,\n },\n isLocal: true,\n }));\n\n if (status !== 401) {\n throw error;\n }\n\n return null;\n }\n };\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport { Link as LinkRR } from 'react-router';\n\nimport IconDotLoader from 'components/IconDotLoader';\n\nimport styles from './Link.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Link extends PureComponent {\n static propTypes = {\n block: PropTypes.bool,\n bold: PropTypes.bool,\n black: PropTypes.bool,\n children: PropTypes.node.isRequired,\n color: PropTypes.oneOf([\n 'inherit',\n 'red',\n 'white',\n 'sapphirine',\n 'blue',\n ]),\n column: PropTypes.bool,\n disabled: PropTypes.bool,\n ellipsis: PropTypes.bool,\n hover: PropTypes.oneOf([\n 'white',\n 'blue',\n 'sky-blue',\n 'sapphirine',\n 'red',\n 'dark-red',\n 'custom',\n ]),\n href: PropTypes.string,\n inherit: PropTypes.bool,\n isActive: PropTypes.bool,\n isLoading: PropTypes.bool,\n large: PropTypes.bool,\n medium: PropTypes.bool,\n nowrap: PropTypes.bool,\n onlyActiveOnIndex: PropTypes.bool,\n sidebarMenu: PropTypes.bool,\n small: PropTypes.bool,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n underline: PropTypes.bool,\n onClick: PropTypes.func,\n target: PropTypes.string,\n title: PropTypes.string,\n }\n\n static defaultProps = {\n block: false,\n bold: false,\n children: undefined,\n color: undefined,\n column: false,\n disabled: false,\n ellipsis: false,\n hover: undefined,\n href: undefined,\n inherit: false,\n isActive: false,\n isLoading: false,\n large: false,\n medium: false,\n nowrap: false,\n onlyActiveOnIndex: false,\n sidebarMenu: false,\n small: false,\n to: undefined,\n underline: false,\n onClick: () => {},\n title: undefined,\n }\n\n getTitle() {\n const { title, ellipsis, children } = this.props;\n\n if (title) {\n return title;\n }\n\n if (ellipsis) {\n return children;\n }\n\n return null;\n }\n\n render() {\n const {\n href,\n to,\n onClick,\n isActive,\n color,\n children,\n medium,\n small,\n large,\n bold,\n column,\n hover,\n disabled,\n underline,\n onlyActiveOnIndex,\n isLoading,\n nowrap,\n inherit,\n block,\n sidebarMenu,\n ellipsis,\n target,\n black,\n } = this.props;\n\n const props = {\n type: 'button',\n };\n let ComponentName = 'button';\n\n if (to) {\n ComponentName = LinkRR;\n props.to = to;\n props.type = null;\n props.activeClassName = cx('link_active');\n props.onlyActiveOnIndex = onlyActiveOnIndex;\n }\n\n if (href) {\n ComponentName = 'a';\n props.type = null;\n props.href = href;\n props.target = target;\n }\n\n return (\n \n \n {children}\n \n\n \n \n \n \n );\n }\n}\n","import memoizee from 'memoizee';\nimport * as R from 'ramda';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItemsList = memoizee(R.compose(\n R.map(item => ({\n ...item,\n value: item.key,\n label: item.custom_наименование,\n })),\n getItemsArray,\n));\n\nexport const getSelectData = getItemsList;\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\n\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeSuccess,\n removeWithUndo,\n} = generator({\n name: 'Ingredients',\n tableId: 51,\n parseItem: R.compose(\n (item) => {\n /* eslint-disable no-param-reassign */\n if (item.custom_группа || item.custom_группа_ключ) {\n item.custom_группа = item.custom_группа || item.custom_группа_ключ;\n }\n /* eslint-enable no-param-reassign */\n\n return item;\n },\n R.evolve({\n ___owner: R.propOr(null, 'key'),\n ___territory: R.propOr(null, 'key'),\n custom_группа: R.propOr(null, 'key'),\n custom_единица_измерения__гр_мл: R.propOr(null, 'key'),\n custom_территория_вспомогательное: R.propOr(null, 'key'),\n custom_специфические_виды_питания: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n }),\n ),\n});\n\nexport const fetchItem = fetchWithView(fetch, 'ts5c51cs6r348');\nexport const fetchSystemIngredients = fetchWithView(fetch, 'ts5c51cs9r345', {\n useLS: true,\n});\nexport const fetchUserIngredients = fetchWithView(fetch, 'ts5c51cs9r346');\nexport const fetchCatalogList = createAction('INGREDIENTS__FETCH_CATALOG_LIST');\nexport const fetchCatalogListSuccess = createAction('INGREDIENTS__FETCH_CATALOG_LIST_SUCCESS');\nexport const copyComposition = createAction('INGREDIENTS__COPY_COMPOSITION');\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeSuccess,\n removeWithUndo,\n};\n\nexport {\n getItemById,\n getKeyById,\n getItems,\n getItem,\n getItemsArray,\n} from 'redux/hor/module/selectors';\n\nexport {\n getSelectData,\n getItemsList,\n} from './selectors';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","import * as R from 'ramda';\n\nimport { getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nexport const getSumComposition = (value, productKey, state) => {\n const composition = getItemsArrayByParent(productKey, state);\n\n if (!value) {\n return {};\n }\n\n return R.compose(\n R.map(elementValue => Math.round(elementValue * value) / 100),\n R.pluck('custom_значение'),\n R.indexBy(R.prop('custom_элемент_рациона')),\n )(composition);\n};\n\nexport const getIsHaveComposition = R.compose(\n R.not,\n R.isEmpty,\n getItemsArrayByParent,\n);\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n save,\n saveSuccess,\n remove,\n} = generator({\n name: 'ProductComposition',\n tableId: 30,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n custom_элемент_рациона: R.prop('key'),\n custom_относится_к: R.prop('key'),\n custom_продукт: R.prop('key'),\n ___createduser: R.prop('key'),\n ___modifieduser: R.prop('key'),\n custom_значение: val => Math.round(val * 10) / 10,\n }),\n});\n\nexport {\n fetch,\n fetchSuccess,\n save,\n saveSuccess,\n remove,\n};\n\nexport {\n getItems,\n getItemsByParent,\n getItemsArrayByParent,\n} from 'redux/hor/module/selectors';\n\nexport {\n getSumComposition,\n getIsHaveComposition,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport { attr, fk, Model } from 'redux-orm';\n\nimport { appKey } from 'config';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\nimport convertFromServerTimeZoneToCurrentTimeZone from 'utils/convertFromServerTimeZoneToCurrentTimeZone';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeWithUndo,\n} = generator({\n name: 'Dietanamnezes',\n tableId: 140,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_специалист: R.propOr(null, 'key'),\n custom_тип_да: R.propOr(null, 'value'),\n custom_специфические_виды_питания: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_профиль_потребления_веществ: R.compose(\n R.map(R.evolve({\n элемент_состава: R.replace('cXaX', appKey)\n })),\n R.defaultTo([]),\n ),\n custom_профиль_потребления_продуктов: R.compose(\n R.map(R.evolve({\n продукт: R.replace('cXaX', appKey)\n })),\n R.defaultTo([]),\n ),\n custom_частота_потребления_групп_продуктов: R.compose(\n R.map(R.evolve({\n группа_продуктов: R.replace('cXaX', appKey)\n })),\n R.defaultTo([]),\n ),\n custom_дата_назначения: convertFromServerTimeZoneToCurrentTimeZone,\n }),\n});\n\nexport default class Dietanamnez extends Model {\n static modelName = 'Dietanamnez';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: attr(),\n custom_специалист: fk('Worker', 'dietanamnez'),\n custom_фио_специалиста: attr(),\n custom_специфические_виды_питания: attr(),\n custom_дата_назначения: attr(),\n custom_диетанамнез_заключение: attr(),\n custom_заключение_недостаток: attr(),\n custom_заключение_избыток: attr(),\n custom_селфтест_до: attr(),\n custom_тип_да: attr(),\n custom_профиль_потребления_веществ: attr(),\n custom_профиль_потребления_продуктов: attr(),\n custom_частота_потребления_групп_продуктов: attr(),\n }\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const fetchForm = fetchWithView(fetch, 'with_staff_name');\nexport const fetchReport = fetchWithView(fetch, 'report');\nexport const calcDietanamnezReport = createAction('DIETANAMNEZ__CALC_REPORT');\nexport const assign = createAction('DIETANAMNEZ__ASSIGN');\nexport const assignSuccess = createAction('DIETANAMNEZ__ASSIGN_SUCCESS');\nexport const switchType = createAction('DIETANAMNEZ__SWITCH_TYPE');\n\nexport {\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeWithUndo,\n};\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport moment from 'moment';\n\nimport { getItemsArray, getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nconst parseJournal = R.compose(\n R.reverse,\n R.sortBy(R.prop('date')),\n R.map(visit => ({\n date: R.propOr(null, 'custom_дата', visit),\n doctor: R.propOr(null, '___parent', visit),\n patient: R.propOr(null, 'custom_пациент', visit),\n action: R.compose(\n R.defaultTo('Прием'),\n R.propOr(null, 'custom_действие'),\n )(visit),\n })),\n);\n\nconst getJournal = createSelector(\n (userKey, state) => userKey === 'all' ? getItemsArray(state) : getItemsArrayByParent(userKey, state),\n\n parseJournal,\n);\n\nexport const getUserActiveDays = createSelector(\n getJournal,\n\n R.compose(\n R.uniqBy(value => moment(value).format('DD.MM.YYYY')),\n R.pluck('date'),\n ),\n);\n\nexport const getUserJournal = createSelector(\n date => date,\n (date, userKey, state) => getJournal(userKey, state),\n\n (date, journal) =>\n R.filter(\n R.propSatisfies(d => !date || moment(d).isSame(moment(date, 'DD.MM.YYYY'), 'day'), 'date'),\n journal,\n ),\n);\n\nexport const getPatientJournal = createSelector(\n R.identity,\n (patientKey, state) => getItemsArray(state),\n\n R.uncurryN(2, patientKey => R.compose(\n R.uniqBy(({ date, action }) => moment(date).format('DD.MM.YYYY') + action),\n parseJournal,\n R.filter(R.propEq('custom_пациент', patientKey)),\n )),\n);\n","import * as R from 'ramda';\nimport moment from 'moment';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n\n fetchSuccess,\n create,\n} = generator({\n name: 'Journal',\n tableId: 57,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_дата: val => moment(val).toDate(),\n custom_пациент: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetchSuccess,\n create,\n};\n\nexport {\n getItemsArray,\n} from 'redux/hor/module/selectors';\n\nexport {\n getUserJournal,\n getUserActiveDays,\n getPatientJournal,\n} from './selectors';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","const publicLogin = {\n email: 'front@nutrilogic.com',\n password: '123456',\n remember: true,\n anonymous: true,\n};\n\nexport default publicLogin;","import * as R from 'ramda';\nimport { contextKey } from 'config';\n\nimport publicLogin from 'helpers/publicLogin';\nimport { request } from 'utils/api';\n\nexport default function getPublicToken(hasStrictDomain) {\n const { email, password, remember } = publicLogin;\n const rememberHeader = remember ? { Remember: 'true' } : {};\n\n return request.post('/authenticate/json/v2', undefined, {\n hasStrictDomain,\n auth: {\n username: email,\n password,\n },\n headers: {\n context: contextKey,\n ...rememberHeader,\n },\n }).then(R.path(['headers', 'token']));\n}\n\nfunction getPublicAuth() {\n const { email, password, remember } = publicLogin;\n const rememberHeader = remember ? { Remember: 'true' } : {};\n\n return request.post('/authenticate/json/v2', undefined, {\n auth: {\n username: email,\n password,\n },\n headers: {\n context: contextKey,\n ...rememberHeader,\n },\n }).then(res => res);\n}\n\nexport {\n getPublicAuth,\n getPublicToken\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Title.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Title extends PureComponent {\n static propTypes = {\n children: PropTypes.node.isRequired,\n color: PropTypes.oneOf([\n 'inherit',\n ]),\n component: PropTypes.string,\n ellipsis: PropTypes.bool,\n size: PropTypes.oneOf([\n 'small',\n 'medium',\n 'post-medium',\n 'big',\n ]),\n };\n\n static defaultProps = {\n children: undefined,\n color: undefined,\n component: undefined,\n ellipsis: false,\n size: undefined,\n weight: undefined,\n };\n\n getComponentBySize(size) {\n const map = {\n big: 'h1',\n medium: 'h3',\n };\n\n return map[size] || 'h2';\n }\n\n render() {\n const {\n color,\n size,\n component,\n ellipsis,\n } = this.props;\n const Tag = component || this.getComponentBySize(size);\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport isLocalKey from 'utils/isLocalKey';\n\nimport getDietanamnezId from '../getDietanamnezId';\n\nexport default createOrmSelector(\n getDietanamnezId,\n (state, props = {}) => props.dietanamnezKey,\n\n (session, id, itemKey) => {\n const { Dietanamnez } = session;\n\n try {\n const key = Dietanamnez\n .filter(item => item.key === id || item.oldKey === id || (itemKey && (item.key === itemKey || item.oldKey === itemKey)))\n .first()\n .ref\n .key;\n\n return key\n } catch (error) {\n if (!isLocalKey(id)) {\n const item = Dietanamnez\n .all()\n .toModelArray()\n .filter(i => i.id === Number(id))[0]\n\n return item ? item.key : null;\n }\n }\n },\n);\n","import reducer from './reducer';\n\nexport { setNotification } from './reducer';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","const simplePasswords = [\n 'password', '123456', '12345678', '1234', 'qwerty', '12345', 'dragon',\n 'pussy', 'baseball', 'football', 'letmein', 'monkey', '696969', 'abc123',\n 'mustang', 'michael', 'shadow', 'master', 'jennifer', '111111', '2000', 'jordan', 'superman',\n 'harley', '1234567', 'fuckme', 'hunter', 'fuckyou', 'trustno1', 'ranger', 'buster', 'thomas',\n 'tigger', 'robert', 'soccer', 'fuck', 'batman', 'test', 'pass', 'killer', 'hockey', 'george',\n 'charlie', 'andrew', 'michelle', 'love', 'sunshine', 'jessica', 'asshole', '6969', 'pepper',\n 'daniel', 'access', '123456789', '654321', 'joshua', 'maggie', 'starwars', 'silver', 'william',\n 'dallas', 'yankees', '123123', 'ashley', '666666', 'hello', 'amanda', 'orange', 'biteme',\n 'freedom', 'computer', 'sexy', 'thunder', 'nicole', 'ginger', 'heather', 'hammer', 'summer',\n 'corvette', 'taylor', 'fucker', 'austin', '1111', 'merlin', 'matthew', '121212', 'golfer',\n 'cheese', 'princess', 'martin', 'chelsea', 'patrick', 'richard', 'diamond', 'yellow',\n 'bigdog', 'secret', 'asdfgh', 'sparky', 'cowboy',\n];\n\nexport default simplePasswords;\n","import * as R from 'ramda';\nimport moment from 'moment';\nimport { isValidPhoneNumber } from \"react-phone-number-input\"\n\nimport { timeToMinutes } from 'utils/time';\n\nimport simplePasswords from '../simplePasswords';\n\nconst isEmpty = value => value === undefined || value === null || value === '';\n\nfunction email() {\n return value => isEmpty(value) || /^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,8}$/i.test(value);\n}\n\nfunction date() {\n return value => isEmpty(value) || moment(value).isValid();\n}\n\nfunction minDate(config) {\n const minValue = R.propOr(null, 'limiter', config);\n\n return value => moment(value).isSameOrAfter(minValue);\n}\nfunction maxDate(config) {\n const maxValue = R.propOr(null, 'limiter', config);\n\n return value => moment(value).isSameOrBefore(maxValue);\n}\nfunction time() {\n return value => isEmpty(value) || timeToMinutes(value) <= 1440;\n}\n\nfunction timeFilled() {\n return value => isEmpty(value) || /\\d{2}:\\d{2}/.test(value);\n}\n\nfunction locate() {\n return value => /^[A-ZА-ЯЁа-яё-]*$/i.test(R.trim(value || ''));\n}\n\nfunction locateNum() {\n return value => /^[0-9A-ZА-ЯЁа-яё]*$/i.test(R.trim(value || ''));\n}\n\nfunction createNumberValidator(type) {\n return (value) => {\n const parsedValue = typeof value === 'string' ? value.replace(',', '.') : value;\n const number = parseFloat(parsedValue);\n\n let comparator = number >= 0;\n switch (type) {\n case 'positive':\n comparator = number > 0;\n break;\n case 'natural':\n comparator = number >= 0;\n break;\n default:\n comparator = true;\n }\n\n return isEmpty(value) || (/^[0-9.]*$/i.test(parsedValue) && isFinite(number) && comparator);\n };\n}\n\nfunction numeric() {\n return createNumberValidator('natural');\n}\n\nfunction positiveNumber() {\n return createNumberValidator('positive');\n}\n\nfunction required() {\n return value => !isEmpty(R.trim(!R.isNil(value) ? value.toString() : ''));\n}\n\nfunction nonRemovable() {\n return (value, _, initialValue) => !initialValue || value;\n}\n\nfunction min(config) {\n const limiter = R.propOr(null, 'limiter', config);\n return value => isEmpty(value) || !limiter || value.length >= limiter;\n}\n\nfunction max(config) {\n const limiter = R.propOr(null, 'limiter', config);\n return value => isEmpty(value) || !limiter || value.length <= limiter;\n}\n\nfunction phone() {\n return value => {\n return isEmpty(value) || isValidPhoneNumber(value);\n };\n}\n\nfunction pass() {\n return value => /^[0-9A-Z$@$!%*#?&]+$/i.test(value);\n}\n\nfunction simplePass() {\n return value => !R.contains(value, simplePasswords);\n}\n\nfunction typeFiles(config) {\n const correctTypes = R.propOr(null, 'correctTypes', config);\n\n return (file = {}) => {\n const mime = R.propOr(null, 'mime', file);\n\n return !correctTypes || !mime || R.contains(mime, correctTypes);\n };\n}\n\nfunction sizeFiles(config) {\n const correctSize = R.propOr(null, 'correctSize', config);\n\n return file => !correctSize || correctSize > R.pathOr(0, ['base64', 'length'], file);\n}\n\nfunction custom(config) {\n return (value, values) => config.validator(value, values);\n}\n\nfunction unique(config) {\n const formatValue = R.compose(\n R.replace(/[\"«», .\\-—]/g, ''),\n R.toLower,\n R.defaultTo(''),\n );\n\n const list = R.compose(\n R.map(formatValue),\n R.propOr([], 'list'),\n )(config);\n\n return value => !R.includes(formatValue(value), list);\n}\n\nconst validators = {\n email,\n date,\n minDate,\n maxDate,\n locate,\n numeric,\n positiveNumber,\n min,\n max,\n required,\n nonRemovable,\n phone,\n locateNum,\n pass,\n time,\n timeFilled,\n simplePass,\n typeFiles,\n sizeFiles,\n custom,\n unique,\n};\n\nexport default validators","const config = {\n min: {\n limiter: 10,\n },\n max: {\n limiter: 100,\n },\n typeFiles: {\n correctTypes: ['image/png', 'image/jpg', 'image/jpeg'],\n },\n sizeFiles: {\n correctSize: 2e6,\n },\n};\n\nexport default config;\n","import * as R from 'ramda';\n\nimport defaultConfig from './defaultConfig';\nimport defaultText from './defaultText';\n\nconst getErrorText = rules =>\n R.mapObjIndexed((firstError, fieldName) => {\n const validatorConfig = {\n ...defaultConfig[firstError],\n ...R.pathOr({}, [fieldName, firstError], rules),\n };\n const getText = R.propOr(defaultText[firstError], 'errorText', validatorConfig);\n const text = typeof getText === 'function' ? getText(validatorConfig) : getText;\n\n return text || firstError || 'Неизвестная ошибка';\n });\n\nexport default getErrorText;\n","import * as R from 'ramda';\nimport extend from 'deep-extend';\nimport validators from './validators';\nimport getErrorText from './getErrorText';\nimport defaultOptions from './defaultOptions';\nimport defaultConfig from './defaultConfig';\n\nexport default function createValidate(options, evolve = R.nthArg(0)) {\n return (valuesFields, props = {}) => {\n const realOptions = typeof options === 'function' ? options(valuesFields, props) : options;\n const config = extend({}, defaultOptions, realOptions);\n const rules = R.map(R.pickBy(Boolean), config);\n\n const values = evolve(R.pickAll(props.fields, valuesFields));\n const initialValues = props.initialValues ? evolve(props.initialValues) : {};\n\n return R.compose(\n // Получаем текст ошибки\n getErrorText(rules),\n\n // Отфильтровываем поля, у которых ошибки нет\n R.pickBy(Boolean),\n\n // Получаем первую ошибку\n R.mapObjIndexed(R.compose(\n R.head,\n R.keys,\n R.pickBy(R.complement(Boolean)),\n )),\n\n // Вызываем все валидаторы для всех полей\n R.mapObjIndexed((value, fieldName) => {\n const validatorList = rules[fieldName];\n\n return R.mapObjIndexed((validatorConfig, validatorName) => {\n if (!validators[validatorName]) {\n return true;\n }\n\n const validator = validators[validatorName]({\n ...defaultConfig[validatorName],\n ...validatorConfig,\n });\n\n return validator(value, values, initialValues[value]);\n }, validatorList);\n }),\n )(values);\n };\n}\n","import * as R from 'ramda';\nimport validators from './validators';\nimport defaultText from './defaultText';\n\nconst getErrorText = rules => (error) => {\n if (!error) {\n return undefined;\n }\n\n const validatorConfig = R.pathOr({}, [error], rules);\n const getText = R.propOr(defaultText[error], 'errorText', validatorConfig);\n const text = typeof getText === 'function' ? getText(validatorConfig) : getText;\n\n return text || 'Неизвестная ошибка';\n};\n\nexport default function createFieldValidate(rules) {\n return (value) => {\n const getError = R.compose(\n getErrorText(rules),\n R.head,\n R.keys,\n R.pickBy(R.complement(Boolean)),\n );\n\n if (!rules) {\n return undefined;\n }\n\n const { required, ...rest } = rules;\n\n const isValid = validators.required(required)(value);\n\n if (!isValid) {\n if (required) {\n return getError({\n required: false,\n });\n }\n\n return getError({});\n }\n\n return R.compose(\n getError,\n R.mapObjIndexed((validatorConfig, validatorName) => {\n if (!validators[validatorName]) {\n return true;\n }\n\n const validator = validators[validatorName](validatorConfig);\n\n return validator(value);\n }),\n )(rest);\n };\n}\n","import { applyContainerQuery } from 'react-container-query'; // eslint-disable-line\nimport * as R from 'ramda';\n\nconst getWidth = R.compose(\n Number,\n R.propOr(undefined, 1),\n);\n\nconst containerQuery =(styles = {}, query = {}) => (component) => {\n const calculatedQuery = R.compose(\n R.merge(query),\n R.reduce((acc, item) => ({\n ...acc,\n [item]: {\n minWidth: (getWidth(item.match(/gt_(\\d+)/)) || -1) + 1,\n maxWidth: (getWidth(item.match(/lt_(\\d+)/)) || Infinity) - 1,\n },\n }), {}),\n R.filter(key => R.contains('width_gt', key) || R.contains('width_lt', key)),\n R.keys,\n )(styles);\n\n return applyContainerQuery(component, calculatedQuery);\n};\n\nexport default containerQuery;","import { appKey, apiUrl } from 'config';\n\nexport const superuserRoleKey = `${appKey}ts8r4`;\nexport const liteTrialRoleKey = `${appKey}ts8r26`;\nexport const dietologRoleKey = `${appKey}ts8r18`;\n\nexport const subscriptionExpiredProfile = `${appKey}ts18r12`;\n\nexport const defaultIcon = `${apiUrl}/images_nutrilogic/dieta_icons/universal.svg`;\n","import memoizee from 'memoizee';\n\nconst requests = new Map();\n\nconst constructObject = memoizee((url, view, filter) => ({\n url,\n view,\n filter,\n}));\n\nconst getQueueKeyByConfig = (config) => {\n const url = config.url;\n const { filter, view } = config.headers;\n\n return constructObject(url, view, filter);\n};\n\nexport function queueRequest(config) {\n if (config.method !== 'get') {\n return config;\n }\n\n const cacheKey = getQueueKeyByConfig(config);\n const existItem = requests.get(cacheKey);\n\n if (!existItem) {\n requests.set(cacheKey, []);\n return config;\n }\n\n return new Promise((resolve, reject) => {\n requests.set(cacheKey, existItem.concat({\n resolve,\n reject,\n config,\n }));\n });\n}\n\nexport function queueResponse(payload) {\n const { config } = payload;\n const cacheKey = getQueueKeyByConfig(config);\n const existItem = requests.get(cacheKey);\n\n if (existItem) {\n requests.delete(cacheKey);\n existItem.forEach((request) => {\n request.reject({\n fromQueue: payload,\n });\n });\n }\n\n return payload;\n}\n\nexport function queueResponseError(error) {\n if (error.fromQueue) {\n return Promise.resolve({\n ...error.fromQueue,\n fromQueue: true,\n });\n }\n\n if (error.config) {\n const cacheKey = getQueueKeyByConfig(error.config);\n const existItem = requests.get(cacheKey);\n\n if (existItem) {\n requests.delete(cacheKey);\n existItem.forEach((request) => {\n request.reject(error);\n });\n }\n }\n\n return Promise.reject(error);\n}\n","import { getToken } from 'redux/modules/auth';\nimport { getItemLocalStorage, setItemLocalStorage } from '../localStorage';\n\nlet isRequested = {};\nlet cache = new Map();\nlet prevToken;\n\nconst construtCacheKey = (url, view, filter, data) => `${url}_${view}_${filter}_${data}`;\n\nconst getCacheKeyByConfig = (config) => {\n const url = config.url;\n const { filter, view } = config.headers;\n\n return construtCacheKey(url, view, filter, config.data);\n};\n\nconst setTimeCashWithTimeOut = (cacheKey, response) => {\n cache.set(cacheKey, {\n ...response,\n timeout: setTimeout(() => cache.delete(cacheKey), 5 * 60 * 1000),\n });\n};\n\n\nexport function getIsInCache(config) {\n const cacheKey = construtCacheKey(config.url, config.view, config.filter);\n const currentCache = cache.get(cacheKey);\n\n return !!currentCache;\n}\n\nexport function resetCache(store) {\n return () => {\n const token = getToken(store.getState().auth);\n\n if ((!token && prevToken) || (token && !prevToken)) {\n cache = new Map();\n isRequested = {};\n }\n\n prevToken = token;\n };\n}\n\nexport function requestCache(config) {\n if (!config.cache && !config.useLS) {\n return config;\n }\n\n const cacheKey = getCacheKeyByConfig(config);\n let currentCache = cache.get(cacheKey);\n let isLocalCache = !!currentCache;\n\n if (!currentCache && config.useLS) {\n currentCache = getItemLocalStorage({ cacheKey });\n isLocalCache = isRequested[cacheKey];\n isRequested[cacheKey] = true;\n }\n\n if (currentCache) {\n return Promise.reject({\n cache: {\n ...currentCache,\n fromCache: isLocalCache,\n },\n });\n }\n\n return config;\n}\n\nexport function responseCache(response) {\n const { config } = response;\n\n const cacheKey = getCacheKeyByConfig(config);\n const currentCache = cache.get(cacheKey);\n\n // TODO i dont know is need this cashing with timeout now\n if (currentCache) {\n clearTimeout(currentCache.timeout);\n }\n\n if (config.useLS && response.data.count !== 0) {\n setItemLocalStorage({ cacheKey, response });\n } else if (config.cache) {\n setTimeCashWithTimeOut(cacheKey, response);\n }\n\n return response;\n}\n\nexport function responseCacheError(error) {\n if (error.cache) {\n return Promise.resolve(error.cache);\n }\n\n return Promise.reject(error);\n}\n","import axios from 'axios';\nimport { apiUrl } from 'config';\n\nimport {\n queueRequest,\n queueResponse,\n queueResponseError,\n} from './utils/queue';\n\nimport interceptor, { interceptorError } from './utils/interceptor';\nimport {\n resetCache,\n requestCache,\n responseCache,\n responseCacheError,\n} from './utils/cache';\nimport {\n handleServerMaintenance,\n serverMaintenanceInterceptor,\n} from './utils/serverMaintenance';\n\nlet store;\nexport function setStore(_store) {\n store = _store;\n store.subscribe(resetCache(store));\n store.subscribe(handleServerMaintenance(store));\n}\n\nconst instance = axios.create({\n baseURL: apiUrl,\n});\n\ninstance.interceptors.request.use(queueRequest);\ninstance.interceptors.request.use(requestCache);\ninstance.interceptors.request.use(param => interceptor(store, param));\n\ninstance.interceptors.response.use(null, response => serverMaintenanceInterceptor(store, response));\ninstance.interceptors.response.use(responseCache, responseCacheError);\ninstance.interceptors.response.use(queueResponse, queueResponseError);\ninstance.interceptors.response.use(null, response => interceptorError(store, response));\n\nexport default instance;\n","import instance from '../../request';\n\nconst genericRequest = (config) => {\n switch (config.method.toUpperCase()) {\n case 'POST':\n return instance.post(config.url, config.data, config);\n case 'PUT':\n return instance.put(config.url, config.data, config);\n case 'DELETE':\n return instance.delete(config.url, config);\n default:\n return instance.get(config.url, config);\n }\n};\n\nexport default genericRequest;\n\n","import * as R from 'ramda';\nimport { pingFailure } from 'redux/modules/ping';\nimport { apiUrl } from 'config';\n\nimport genericRequest from '../genericRequest';\n\nlet requests = [];\n\nexport const handleServerMaintenance = store => () => {\n const serverUnderMaintenance = R.path(['ping', 'serverUnderMaintenance'], store.getState());\n\n if (serverUnderMaintenance || R.length(requests) === 0) {\n return Promise.resolve();\n }\n\n const getIndex = request => R.findIndex(R.equals(request), requests);\n\n return R.compose(\n val => Promise.all(val),\n R.map((request) => {\n request.resent = true; // eslint-disable-line no-param-reassign\n\n return genericRequest(request.response.config)\n .then((response) => {\n const index = getIndex(request);\n request.resolve(response);\n requests = R.remove(index, 1, requests);\n })\n .catch((response = {}) => {\n if (response.status === 503) {\n return;\n }\n\n const index = getIndex(request);\n request.reject(response);\n requests = R.remove(index, 1, requests);\n });\n }),\n R.reject(R.propEq('resent', true)),\n )(requests);\n};\n\nexport const dispatchPing = (store, payload) => store.dispatch(pingFailure(payload));\n\nconst getIsShouldReject = response =>\n response.status !== 503 || response.config.url === `${apiUrl}/ping/json/v2`;\n\nexport const serverMaintenanceInterceptor = (store, payload = {}) => {\n const { response = {} } = payload;\n\n if (getIsShouldReject(response)) {\n return Promise.reject(payload);\n }\n\n const resentRequestIndex = R.findIndex(R.pathEq(['response', 'config'], response.config), requests);\n const resentRequest = resentRequestIndex > -1 ? requests[resentRequestIndex] : null;\n const request = resentRequest ? {\n ...resentRequest,\n resent: false,\n } : {\n response,\n resent: false,\n };\n\n if (resentRequest) {\n requests = R.update(resentRequestIndex, request, requests);\n } else {\n requests = requests.concat(request);\n }\n\n dispatchPing(store, payload);\n\n return new Promise((resolve, reject) => {\n request.resolve = resolve;\n request.reject = reject;\n });\n};\n\nexport const getRequests = () => R.clone(requests);\n","import * as R from 'ramda';\nimport { apiUrl, proApiUrl } from 'config';\nimport { logout } from 'redux/modules/auth';\nimport { saveTokenInfo } from 'utils/cookie/token';\n\nimport request from '../../request';\nimport { loadingFinish } from \"../../../../redux/modules/loading\";\nimport { hideLoader } from \"../../../../redux/modules/loader\";\n\nexport default function interceptor(store, config) {\n const { auth = {} } = store.getState();\n\n let domain = apiUrl;\n\n if (!config.hasStrictDomain) {\n const pathname = window.location.pathname.toLowerCase();\n\n if (pathname === '/signup' || pathname === '/pro' || pathname === '/signup/' || pathname === '/invite' || (pathname === '/login' && window.location.search.toLowerCase().includes('lite=false'))) {\n domain = proApiUrl;\n } else if (auth.domain) {\n domain = auth.domain;\n }\n\n config.baseURL = domain;\n }\n\n\n const isPing = R.pathEq(['url'], '/ping/json/v2', config);\n const isAuth = R.pathEq(['url'], '/authenticate/json/v2', config);\n\n if (isAuth) {\n return config;\n }\n\n if (!auth.token && !R.pathOr(false, ['headers', 'token'], config) && !isPing) {\n store.dispatch(logout({ isSessionOver: true }));\n store.dispatch(loadingFinish());\n store.dispatch(hideLoader('page'));\n store.dispatch(hideLoader('application'));\n\n return Promise.reject({\n response: {\n status: 401,\n config,\n },\n });\n }\n\n saveTokenInfo(store.getState());\n\n const { token, remember } = auth;\n\n return R.compose(\n R.over(R.lensPath(['headers', 'token']), R.defaultTo(token)),\n c => remember ? R.set(R.lensPath(['headers', 'Remember']), remember, c) : config,\n )(config);\n}\n\nexport function interceptorError(store, error) {\n const { config, message, response = {} } = error;\n\n if (message === 'Network Error' && (config.attempts < 5 || !config.attempts)) {\n return request.request({\n ...config,\n attempts: (config.attempts || 0) + 1,\n });\n }\n\n if (response.status === 401 && !R.endsWith('/authenticate/json/v2', response.config.url)) {\n store.dispatch(logout({ isSessionOver: true }));\n }\n\n return Promise.reject(error);\n}\n","import * as R from 'ramda';\nimport createCachedSelector from 'redux/utils/createCachedOrmSelector';\n\nimport { appKey } from 'config';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nexport const getKeyById = id => id ? `${appKey}t39r${id}` : null;\n\nconst toTemplateInfo = item => ({\n ...item.ref,\n key: item.key,\n value: getKeyInfo(item.key).record.toString(),\n id: getKeyInfo(item.key).record.toString(),\n content: item.custom_название,\n duration: item.custom_продолжительность,\n owner: R.propOr(null, '___owner', item.ref),\n isDeleting: item['custom.custom_delete'],\n});\n\nconst getTemplatesByType = createCachedSelector(\n (state, type) => type,\n\n (session, type) => {\n const { Ration } = session;\n\n return Ration\n .filter({\n custom_тип_шаблона: type,\n })\n .exclude({\n isDeleting: true,\n })\n .exclude({\n isDeleted: true,\n })\n .orderBy(a => getKeyInfo(a.key).record)\n .toModelArray()\n .map(toTemplateInfo)\n .map(R.assoc('withView', true));\n },\n);\n\nexport const getPersonalTemplate = state => R.compose(\n R.map(R.assoc('withDelete', true)),\n R.map(R.assoc('withEdit', true)),\n R.reject(R.prop('custom_не_назначен')),\n getTemplatesByType,\n)(state, 1);\n\nexport const getInstituteTemplate = (state, right, userKey) =>\n R.compose(\n R.map((template) => {\n const isOwner = userKey === R.propOr(null, 'owner', template);\n const isCanEdit = right || isOwner;\n\n return R.compose(\n R.assoc('withDelete', isCanEdit),\n R.assoc('withEdit', isCanEdit),\n )(template);\n }),\n getTemplatesByType,\n )(state, 2);\n\nexport const getSystemTemplates = state => R.compose(\n R.sortBy(R.prop('content')),\n getTemplatesByType,\n)(state, 3);\n\nexport const getGeneratorTemplates = state => R.compose(\n R.sortBy(R.prop('content')),\n getTemplatesByType,\n)(state, 4);\n\nexport const getRecommendedTemplates = (energy, disease, excludedKingdsFood, state, editRight) => {\n const getFilter = (kindsFood, d) => R.compose(\n R.filter(R.propSatisfies((value = []) => {\n if (R.isEmpty(value) && !R.isEmpty(kindsFood)) {\n return false;\n }\n\n const intersection = R.intersection(kindsFood, value);\n\n return R.length(intersection) === R.length(value);\n }, 'custom_спец_виды_питания')),\n R.filter(R.propSatisfies((value = []) => {\n if (R.isEmpty(value) && !R.isEmpty(d)) {\n return false;\n }\n\n const intersection = R.intersection(d, value);\n\n return R.length(intersection) === R.length(value);\n }, 'custom_прописано_при')),\n );\n\n const namesTemplatesByTypes = {\n 1: 'личные',\n 2: 'учреждения',\n };\n const items = R.unnest([\n getTemplatesByType(state, 1),\n getTemplatesByType(state, 2),\n getTemplatesByType(state, 3),\n ]);\n\n const templates = R.compose(\n R.sortBy(R.prop('content')),\n R.map(R.assoc('withDelete', false)),\n R.map(R.assoc('withEdit', editRight)),\n R.filter(R.propSatisfies(prop => !prop || prop <= energy, 'custom_спк__от')),\n R.filter(R.propSatisfies(prop => !prop || prop >= energy, 'custom_спк__до')),\n R.map(item => ({\n ...item,\n label: namesTemplatesByTypes[item.custom_тип_шаблона],\n })),\n )(items);\n\n let result = getFilter(excludedKingdsFood, disease)(templates);\n\n if (R.isEmpty(result)) {\n result = getFilter([], disease)(templates);\n }\n\n if (R.isEmpty(result)) {\n result = getFilter(excludedKingdsFood, [])(templates);\n }\n\n if (R.isEmpty(result)) {\n result = getFilter([], [])(templates);\n }\n\n return result;\n};\n\nexport const getRestTemplates = (energy, disease, excludedKingdsFood, state, editRight) => {\n const recommended = R.compose(\n R.pluck('key'),\n getRecommendedTemplates,\n )(energy, disease, excludedKingdsFood, state);\n\n return R.compose(\n R.sortBy(R.prop('content')),\n R.map(R.assoc('withDelete', false)),\n R.map(R.assoc('withEdit', editRight)),\n R.reject(item => R.contains(item.key, recommended)),\n getSystemTemplates,\n )(state);\n};\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport ReactModal from 'react-modal';\n\nimport styles from './Modal.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Modal extends PureComponent {\n static propTypes = {\n children: PropTypes.node,\n isOpen: PropTypes.bool, // eslint-disable-line\n withClose: PropTypes.bool,\n onAfterClose: PropTypes.func,\n onRequestClose: PropTypes.func,\n };\n\n static defaultProps = {\n children: undefined,\n isOpen: false,\n withClose: false,\n onAfterClose: () => {},\n onRequestClose: () => {},\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.isOpen && !nextProps.isOpen) {\n setTimeout(() => {\n this.props.onAfterClose();\n }, 350);\n }\n }\n\n render() {\n const { onAfterClose, ...props } = this.props\n\n return (\n
\n \n {this.props.withClose &&\n \n }\n\n {this.props.children}\n \n
\n );\n }\n}\n","export { default } from './SelectConnected';\n","import * as R from \"ramda\";\nimport memoizee from \"memoizee\";\n\nimport { appKey } from \"config\";\n\nimport { getItem, getItemsArray } from \"redux/hor/module/selectors\";\nimport getKeyInfo from \"utils/getKeyInfo\";\n\nexport const getItemsList = (state, country) =>\n R.compose(\n memoizee(\n R.map((item) => ({\n ...item,\n value: item.key,\n label: item.custom_наименование,\n }))\n ),\n R.sortWith([\n R.descend((item) => (R.isEmpty(item.custom_from_bad) ? 0 : 1)),\n R.ascend(R.prop(\"custom_наименование\")),\n ]),\n R.filter((item) => {\n return !country || item.custom_страны.includes(country);\n }),\n getItemsArray\n )(state);\n\nexport const getProductsByGroups = R.compose(\n memoizee(R.groupBy(R.prop(\"custom_производитель\"))),\n getItemsList\n);\n\nexport const getIsCompositionCalcing = R.compose(\n R.propOr(false, `${appKey}ts9c4c3c1r8`),\n getItem\n);\n\nexport const getSetTechcard = memoizee(\n (key, state) => {\n return R.compose(\n R.map((key) => {\n const item = getItem(key, state);\n\n if (item) {\n const id = getKeyInfo(item.key).record;\n return {\n id,\n name: item.custom_наименование,\n href: `/catalog/supplement/${id}`,\n };\n }\n\n return null;\n }),\n R.propOr([], \"custom_from_bad\"),\n getItem\n )(key, state);\n },\n { length: 4 }\n);\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeWithUndo,\n} = generator({\n name: 'dietarySupplement',\n tableId: 157,\n parseItem: R.evolve({\n custom_производитель: R.propOr(null, 'key'),\n custom_лекарственная_форма: R.propOr(null, 'value'),\n custom_пол: R.propOr(0, 'value'),\n custom_from_bad: R.compose(\n R.pluck('key'),\n R.defaultTo([])\n ),\n custom_страны: R.compose(\n R.pluck('key'),\n R.defaultTo([])\n )\n }),\n});\n\nexport const fetchItem = fetch;\nexport const fetchCatalogList = fetchWithView(fetch, 'ts5c157cs9r572');\nexport const fetchList = createAction('DIETARY_SUPPLEMENT_FETCH');\nexport const fetchListSuccess = createAction('DIETARY_SUPPLEMENT_FETCH_SUCCESS');\nexport const fetchListFailure = createAction('DIETARY_SUPPLEMENT_FETCH_FAILURE');\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n removeWithUndo,\n};\n\nexport {\n getItemById,\n getKeyById,\n getItems,\n getItem,\n getItemsArray,\n} from 'redux/hor/module/selectors';\n\nexport {\n getItemsList,\n getProductsByGroups,\n getIsCompositionCalcing,\n getSetTechcard,\n} from './selectors';\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","import * as R from \"ramda\";\nimport memoizee from \"memoizee\";\n\nimport { getItemsArray } from \"redux/hor/module/selectors\";\n\nexport const getItems = memoizee(\n R.compose(\n R.map((item) => ({\n label: item.custom_название,\n value: item.key,\n localization: item.custom_элементы_локализации,\n })),\n getItemsArray\n ),\n { max: 1 }\n);\n","import generator from \"redux/hor/module\";\nimport fetchWithView from \"redux/utils/fetchWithView\";\n\nconst { reducer, fetch } = generator({\n name: \"Countries\",\n tableId: 104,\n});\n\nexport const fetchList = fetchWithView(fetch, \"ts5c104cs9r301\", {\n useLS: true,\n});\n\nexport { getItems } from \"./selectors\";\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport { attr, Model, fk } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport convertFromServerTimeZoneToCurrentTimeZone\n from 'utils/convertFromServerTimeZoneToCurrentTimeZone';\n\nconst {\n reducer,\n\n fetch,\n save,\n saveSuccess,\n} = generator({\n name: 'SubscriptionOperation',\n tableId: 123,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n custom_счет: R.propOr(null, 'url'),\n custom_операция: R.propOr(null, 'key'),\n custom_тарифный_план: R.propOr(null, 'key'),\n custom_дата_для_однодневной: convertFromServerTimeZoneToCurrentTimeZone,\n }),\n});\n\nexport default class SubscriptionOperation extends Model {\n static modelName = 'SubscriptionOperation';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: attr(),\n custom_currentstatus: attr(),\n custom_ordersumamount: attr(),\n custom_ordersumrequired: attr(),\n custom_дата_для_однодневной: attr(),\n custom_дата_операции: attr(),\n custom_значение_операции: attr(),\n custom_операция: attr(),\n custom_промокод: attr(),\n custom_счет: attr(),\n custom_ordernumber: attr(),\n custom_customernumber: attr(),\n custom_signaturevalue: attr(),\n custom_тарифный_план: fk('SubscriptionDay', 'operations'),\n }\n\n static reducer = reducer;\n}\n\nexport {\n fetch,\n save,\n saveSuccess,\n};\n\nexport const renewal = createAction('SUBSCRIPTIONOPERATIONS__RENEWAL');\nexport const cancel = createAction('SUBSCRIPTIONOPERATIONS__CANCEL');\nexport const changeFutureOneDayDate =\n createAction('SUBSCRIPTIONOPERATIONS__CHANGE_FUTURE_ONE_DAY_DATE');\nexport { default as saga } from './saga';\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItemsByCountry = memoizee(\n (city, state) => R.compose(\n R.map(item => ({\n label: item.custom_название,\n value: item.key,\n })),\n R.filter(R.propEq('custom_страна', city)),\n getItemsArray,\n )(state),\n { max: 1 },\n);\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Cities',\n tableId: 105,\n parseItem: R.evolve({\n custom_страна: R.propOr(null, 'key'),\n }),\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c105cs9r300', {\n useLS: true,\n});\n\nexport {\n getItemsByCountry,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { attr, Model } from 'redux-orm';\nimport { createAction } from 'redux-act';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\nimport convertFromServerTimeZoneToCurrentTimeZone from 'utils/convertFromServerTimeZoneToCurrentTimeZone';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n removeWithUndo,\n removeWithUndoSuccess,\n} = generator({\n name: 'Supplement',\n tableId: 158,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n ___createddate: convertFromServerTimeZoneToCurrentTimeZone,\n }),\n});\n\nexport default class Supplement extends Model {\n static modelName = 'Supplement';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___createddate: attr(),\n ___parent: attr(),\n custom_рекомендации: attr(),\n custom_автогенерация: attr(),\n }\n\n static reducer = reducer;\n\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const saveManual = createAction('SUPPLEMENT__SAVE_MANUAL');\nexport const saveAuto = createAction('SUPPLEMENT__SAVE_AUTO');\nexport const autogenerateButton = createAction('SUPPLEMENT__AUTOGENERATE_BUTTON');\nexport const fetchList = fetchWithView(fetch, 'ts5c158cs9r573');\nexport const fetchItem = fetchWithView(fetch, 'ts5c158cs6r566');\n\nexport {\n fetch,\n fetchSuccess,\n\n create,\n save,\n saveSuccess,\n\n removeWithUndo,\n removeWithUndoSuccess,\n};\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(null, 'custom_role'),\n);\n","import { getRoleRights } from \"redux/modules/roles\";\nimport { getKeyById } from \"redux/modules/rights\";\nimport getUserRole from \"../getUserRole\";\n\nconst rights = {\n INSTITUTION_ADMINISTER: 3556,\n INSTITUTION_SUBSCRIBE: 3557,\n USER_CONTROL: 3558,\n PATIENT_RATION: 3560,\n PATIENT_REGISTER: 3561,\n PATIENT_DELETE: 3562,\n PATIENT_RECEPTION: 3563,\n PATIENT_PRINT: 18705693,\n} as const;\n\ntype Right = keyof typeof rights;\n\nexport function getUserRights(state) {\n const role = getUserRole(state);\n\n return getRoleRights(role, state.roles) as { [key in Right]?: boolean };\n}\n\nexport function getUserRight(right: Right, state) {\n const rightId = rights[right];\n\n if (!rightId) {\n throw new Error(\"Right should be one of list\");\n }\n\n const rightKey = getKeyById(rightId, state.rights);\n const userRights = getUserRights(state);\n\n return userRights[rightKey] || false;\n}\n","import moment from 'moment';\n\nconst convertFromServerTimeZoneToCurrentTimeZone = value => {\n if (!value) {\n return value;\n }\n\n const timeDifference = new Date().getTimezoneOffset() + 180\n const date = moment(value).add(-timeDifference, 'minutes').format();\n\n return date;\n}\n\nexport default convertFromServerTimeZoneToCurrentTimeZone;","import { createAction, createReducer } from 'redux-act';\nimport { LOCATION_CHANGE } from 'react-router-redux';\n\nimport * as R from 'ramda';\n\nconst initialState = {};\n\nexport const setNotification = createAction('NOTIFICATION__SET_NOTIFICATION');\n\nconst handleSetNotification = (state, payload) => {\n const types = ['isProcess', 'isDone', 'isFailedNetwork', 'isFailed', 'isInvalid', 'isRemove', 'isNextReception', 'isNpa', 'isInfo'];\n\n return R.reduce((acc, status) => {\n const action = payload[status];\n\n if (action !== undefined) {\n const lens = R.lensProp(status);\n return R.set(lens, action, acc);\n }\n return acc;\n }, state, types);\n};\n\nconst handleLocationChange = state =>\n handleSetNotification(state, {\n isProcess: false,\n isDone: false,\n isFailed: false,\n isRemove: false,\n isNpa: false\n });\n\nconst reducer = createReducer((on) => {\n on(setNotification, handleSetNotification);\n on(LOCATION_CHANGE, handleLocationChange);\n}, initialState);\n\nexport default reducer;\n","import cookie from 'react-cookie';\n\nfunction getTokenInfo() {\n const token = cookie.load('token');\n const domain = cookie.load('domain');\n const remember = cookie.load('tokenRemember') === 'true';\n const userAKey = cookie.load('userAKey');\n const profileKey = cookie.load('profileKey');\n\n if (!token) {\n return undefined;\n }\n\n return {\n token,\n domain,\n remember,\n userAKey,\n profileKey,\n };\n}\n\nfunction saveTokenInfo({ auth }) {\n if (auth.anonymous) {\n return;\n }\n\n\n const halfHour = 30 * 60 * 1000;\n const timeLiveToken = 999 * 2 * halfHour;\n\n const opt = {\n expires: new Date(Date.now() + timeLiveToken),\n path: '/',\n };\n\n if (auth.token) {\n cookie.save('token', auth.token, opt);\n cookie.save('tokenRemember', auth.remember, opt);\n cookie.save('userAKey', auth.userAKey, opt);\n cookie.save('profileKey', auth.profileKey, opt);\n\n if (auth.domain) {\n cookie.save('domain', auth.domain, opt);\n }\n } else {\n cookie.remove('token', opt);\n cookie.remove('tokenRemember', opt);\n cookie.remove('userAKey', opt);\n cookie.remove('profileKey', opt);\n cookie.remove('isSupport', opt);\n cookie.remove('APP', opt);\n }\n}\n\n\nexport { getTokenInfo, saveTokenInfo };\n","import * as R from 'ramda';\n\nimport { getErrorText } from 'utils/validation';\n\nconst apiNameMap = {\n EmptyRequiredFieldException: 'required',\n Cat_ObjectName_DuplicateValueException: 'unique',\n};\n\nconst fieldNameMap = {\n custom_login_save: 'custom_login',\n};\n\nconst defaultRules = {\n custom_login: {\n unique: {\n errorText: 'Пользователь с таким логином уже зарегистрирован',\n },\n },\n};\n\nexport default function validateFromResponse(response = {}, map = fieldNameMap, rules = defaultRules) {\n const { data = {} } = response;\n let { exception = {} } = data;\n\n\n if (R.contains('Пароль подтверждения неверен', exception.message || '') || R.contains('Пароль не правильный', exception.message || '')) {\n exception = {\n fieldName: 'custom.requared_password',\n fieldMessage: 'Введен неверный пароль',\n };\n }\n\n const { type, fieldMessage = '', fieldName = '' } = exception || {};\n const field = R.compose(\n item => R.propOr(item, item, map),\n R.replace(/\\./g, '_'),\n R.defaultTo(''),\n )(fieldName);\n\n if (!field) {\n return null;\n }\n\n return getErrorText(rules)({\n [field]: apiNameMap[type] || fieldMessage,\n });\n}\n","import * as R from 'ramda';\nimport { stopSubmit } from 'redux-form';\nimport { put } from 'redux-saga/effects';\nimport { setNotification } from 'redux/modules/notification';\nimport validateFromResponse from 'utils/validateFromResponse';\n\nimport getErrorTextFromResponse from '../getErrorTextFromResponse';\n\nconst parse = R.compose(\n R.map(put),\n R.reject(R.isNil),\n)\n\nexport default function getErrorFromResponse(error, form, type = 'global') {\n const { response = {} } = error;\n const formEffect = form ? stopSubmit(form, {\n _error: true,\n }) : undefined;\n\n if (error.message === 'Network Error') {\n return parse([\n setNotification({\n type,\n isProcess: false,\n isFailedNetwork: {\n exception: 'Error',\n },\n }),\n formEffect,\n ]);\n }\n\n const validationError = validateFromResponse(response);\n\n if (form && validationError) {\n return parse([stopSubmit(form, validationError)]);\n }\n\n const exception = getErrorTextFromResponse(error);\n\n return parse([\n setNotification({\n type,\n isProcess: false,\n isFailed: {\n exception,\n },\n }),\n formEffect,\n ]);\n}\n","import * as R from 'ramda';\n\nfunction roundNumber(precision, value) {\n if (typeof value !== 'number' || typeof precision !== 'number') {\n throw new Error('Value and precision should be number');\n }\n\n const accuracy = 10 ** precision;\n return Math.round(value * accuracy) / accuracy;\n}\n\nexport default R.curry(roundNumber);\n","import { attach, createEffect, createStore } from \"effector\";\nimport { sortBy } from \"remeda\";\n\nimport { request } from \"utils/api\";\n\nexport type Group = {\n group_id: string;\n name: string;\n patients?: string[];\n};\n\nexport const $groups = createStore([]);\n\nexport const $sortedGroups = $groups.map(sortBy((group) => group.name));\n\nexport const createGroupFx = createEffect({\n handler: async (group) => {\n const response = await request.post(\n `/c105a902t212r/json/v2`,\n {\n parameters: {\n name: group,\n },\n },\n {\n headers: {\n Function: \"AddGroup\",\n },\n }\n );\n\n return response.data;\n },\n});\n\nexport const updateGroupFx = createEffect<\n { id: string; name: string },\n Group[]\n>({\n handler: async ({ id, name }) => {\n const response = await request.post(\n `/c105a902t212r/json/v2`,\n {\n parameters: {\n group_id: id,\n name,\n },\n },\n {\n headers: {\n Function: \"UpdateGroup\",\n },\n }\n );\n\n return response.data;\n },\n});\n\nexport const removeGroupFx = createEffect({\n handler: async (id) => {\n const response = await request.post(\n `/c105a902t212r/json/v2`,\n {\n parameters: {\n group_id: id,\n },\n },\n {\n headers: {\n Function: \"RemoveGroup\",\n },\n }\n );\n\n return response.data;\n },\n});\n\nexport const removePatientFromGroup = attach({\n source: $groups,\n mapParams: (patientKey: string, groups) => ({\n patientKey,\n groupId: groups.find((group) => group.patients?.includes(patientKey))\n ?.group_id!,\n }),\n effect: createEffect<\n {\n patientKey: string;\n groupId: string;\n },\n Group[]\n >({\n handler: async ({ patientKey, groupId }) => {\n const response = await request.post(\n `/c105a902t212r/json/v2`,\n {\n parameters: {\n group_id: groupId,\n patient_key: patientKey,\n },\n },\n {\n headers: {\n Function: \"RemoveFromGroup\",\n },\n }\n );\n\n return response.data;\n },\n }),\n});\n\nexport const addPatientToGroup = createEffect<\n {\n patientKey: string;\n groupId: string | null;\n },\n Group[]\n>({\n handler: async ({ patientKey, groupId }) => {\n const response = await request.post(\n `/c105a902t212r/json/v2`,\n {\n parameters: {\n group_id: groupId,\n patient_key: patientKey,\n },\n },\n {\n headers: {\n Function: \"AddToGroup\",\n },\n }\n );\n\n return response.data;\n },\n});\n\nexport const setPatientGroupFx = createEffect<\n {\n patientKey: string;\n groupId: string | null;\n },\n Group[]\n>({\n handler: async ({ patientKey, groupId }) => {\n if (groupId === null) {\n return removePatientFromGroup(patientKey);\n }\n\n return addPatientToGroup({\n patientKey,\n groupId,\n });\n },\n});\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUserIsLight from '../getUserIsLight';\n\nexport default createSelector(\n getUserIsLight,\n\n (isLight) => {\n if (isLight) {\n return 1;\n }\n\n return 2;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItem } from 'redux/modules/institutions';\n\nimport getInstitutionKey from '../getInstitutionKey';\n\nexport default createSelector(\n getInstitutionKey,\n R.path(['institutions']),\n\n getItem,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(false, 'custom_ред_сис_шаблонов'),\n);\n","import * as R from 'ramda';\n\nimport { getItem } from 'redux/hor/module/selectors';\n\nexport const getInstitutionKey = R.compose(\n R.propOr(null, '___territory'),\n getItem,\n);\n\nexport const getProfileKey = R.compose(\n R.propOr(null, '___profile'),\n getItem,\n);\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n} = generator({\n name: 'user',\n parseItem: R.evolve({\n ___territory: R.propOr(null, 'key'),\n ___profile: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetch,\n fetchSuccess,\n};\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getInstitutionKey,\n getProfileKey,\n} from './selectors';\n\nexport default reducer;\n","import { getList } from 'redux/modules/staff/selectors';\n\nexport default getList;\n","import * as R from 'ramda';\nimport { createAction, createReducer } from 'redux-act';\n\nconst initialState = {\n serverUnderMaintenance: false,\n};\n\nexport const ping = createAction('PING__PING');\nexport const pingSuccess = createAction('PING__PING_SUCCESS');\nexport const pingFailure = createAction('PING__PING_FAILURE');\n\nexport const handlePingSuccess = R.assoc('serverUnderMaintenance', false);\n\nexport const handlePingFailure = (state) => {\n if (state.serverUnderMaintenance) {\n return state;\n }\n\n return {\n ...state,\n serverUnderMaintenance: true,\n };\n};\n\nexport default createReducer({\n [pingSuccess]: handlePingSuccess,\n [pingFailure]: handlePingFailure,\n}, initialState);\n","import * as R from 'ramda';\n\nconst ignoreClear = [\n /conclusion-collapsed_.+/,\n /showChart_.+/,\n /useDietanamnez_.+/,\n];\n\nexport const setItem = (key, value) => {\n const item = JSON.stringify(value);\n try {\n localStorage.setItem(key, item);\n } catch (e) {\n // continue regardless of error\n }\n};\n\n\nexport const getItem = (key) => {\n const itemJson = localStorage.getItem(key);\n\n if (!itemJson) {\n return null;\n }\n\n return JSON.parse(itemJson);\n};\n\nexport const clear = () => {\n R.compose(\n R.forEach(key => localStorage.removeItem(key)),\n R.reject(value => R.any(R.test(R.__, value), ignoreClear)),\n R.keys,\n )(localStorage);\n};\nconst TTL = 72 * 60 * 60 * 1000; // время жизни для регистрации на селфтесте\nexport const setLSItemTTL = (key, value, ttl = TTL) => {\n\n const now = new Date();\n const item = {\n value: value,\n expiry: now.getTime() + ttl\n }\n try {\n localStorage.setItem(key, JSON.stringify(item))\n } catch (e) {\n\n }\n}\n\nexport const getLSItemTTL = (key) => {\n const itemStr = localStorage.getItem(key)\n\n if (!itemStr) {\n return null\n }\n const item = JSON.parse(itemStr)\n const now = new Date()\n\n if (now.getTime() > item.expiry) {\n\n localStorage.removeItem(key)\n return null\n }\n return item.value\n}\n","import * as R from 'ramda';\nimport { attr, fk, Model } from 'redux-orm';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n removeWithUndo,\n} = generator({\n name: 'PatientAnalysis',\n tableId: 19,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n custom_вид_анализа: R.prop('key'),\n }),\n});\n\nexport default class PatientAnalysis extends Model {\n static modelName = 'PatientAnalysis';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: attr(), // TODO: fk to patient\n custom_вид_анализа: fk('AnalysisType'),\n custom_дата: attr(),\n custom_дата_текстом: attr(),\n }\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const fetchAnalysis = fetchWithView(fetch, 'common');\n\nexport {\n fetchSuccess,\n create,\n save,\n saveSuccess,\n removeWithUndo,\n};\n","import * as R from 'ramda';\nimport { put, all, takeEvery } from 'redux-saga/effects';\n\nimport isLocalKey from 'utils/isLocalKey';\n\nimport { save } from './';\nimport { save as saveDietanamnezes } from '../dietanamnez';\n\nfunction* saveFlow(action) {\n const key = R.pathOr(null, ['data', '___parent'], action.payload);\n\n if (isLocalKey(key)) {\n yield put(saveDietanamnezes({\n key,\n }));\n }\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(save, saveFlow),\n ]);\n}\n","import * as R from 'ramda';\nimport { attr, fk, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetchSuccess,\n create,\n save,\n remove,\n} = generator({\n name: 'DietanamnezItem',\n tableId: 65,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_добавить_исключить: R.propOr(null, 'value'),\n custom_блюдо: R.propOr(null, 'key'),\n custom_частота_употребления: R.propOr(null, 'key'),\n custom_эталонное_блюдо_для_фронта: R.propOr(null, 'key'),\n custom_список_блюд: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n }),\n});\n\nexport default class DietanamnezItem extends Model {\n static modelName = 'DietanamnezItem';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('Dietanamnez', 'items'),\n custom_добавить_исключить: attr(),\n custom_блюдо: attr(),\n custom_количество: attr(),\n custom_список_блюд: attr(),\n custom_частота_употребления: attr(),\n custom_строка_поиска: attr(),\n custom_эталонное_блюдо_для_фронта: attr(),\n }\n}\n\nexport {\n fetchSuccess,\n create,\n save,\n remove,\n};\n\nexport { default as saga } from './saga.js';\n","import * as R from 'ramda';\nimport memoize from 'memoizee';\nimport moment from 'moment';\n\nconst formatItem = (item) => {\n const [lastname, firstname, midname] = item.custom_диетолог.label.split(' ');\n\n return {\n author: item.custom_диетолог.key,\n user: {\n lastname,\n firstname,\n midname,\n },\n patients: {\n all: R.defaultTo(0, item.custom_пациенты),\n added: R.defaultTo(0, item.custom_пациенты_за_день),\n },\n reception: {\n all: R.defaultTo(0, item.custom_приемов_всего),\n added: R.defaultTo(0, item.custom_приемов_за_день),\n },\n analysis: {\n all: R.defaultTo(0, item.custom_анализы_всего),\n added: item.custom_анализы_за_день___добавлено - item.custom_анализы_за_день___удалено,\n },\n anamnesis: {\n all: R.defaultTo(0, item.custom_диетанамнезы_всего),\n added: R.defaultTo(0, item.custom_диетанамнезы_за_день),\n },\n rations: {\n all: R.defaultTo(0, item.custom_рационы_всего),\n added: item.custom_рационы_за_день___добавлено - item.custom_рационы_за_день___удалено,\n },\n print: {\n all: item.custom_печать_всего,\n added: item.custom_печать_за_день,\n },\n };\n};\n\nconst dayFields = [\n 'custom_пациенты_за_день',\n 'custom_приемов_за_день',\n 'custom_анализы_за_день___добавлено',\n 'custom_анализы_за_день___удалено',\n 'custom_диетанамнезы_за_день',\n 'custom_рационы_за_день___добавлено',\n 'custom_рационы_за_день___удалено',\n 'custom_печать_за_день',\n];\nconst evolveConfig = R.reduce((acc, item) => ({\n ...acc,\n [item]: R.always(0),\n}), {}, dayFields);\nconst getPrevData = item => R.evolve({\n custom_пациенты: R.subtract(R.__, item.custom_пациенты_за_день),\n custom_приемов_всего: R.subtract(R.__, item.custom_приемов_за_день),\n custom_диетанамнезы_всего: R.subtract(R.__, item.custom_диетанамнезы_за_день),\n custom_печать_всего: R.subtract(R.__, item.custom_печать_за_день),\n custom_анализы_всего: R.subtract(\n R.__,\n item.custom_анализы_за_день___добавлено - item.custom_анализы_за_день___удалено,\n ),\n custom_рационы_всего: R.subtract(\n R.__,\n item.custom_рационы_за_день___добавлено - item.custom_рационы_за_день___удалено,\n ),\n}, item);\nconst initialGroup = {\n all: 0,\n added: 0,\n};\n\nconst getDayStatistic = memoize(\n (state, date, institution) => R.compose(\n R.map(formatItem),\n R.map((item) => {\n const isCurrent = moment(item.custom_data, moment.ISO_8601).format('DD.MM.YYYY') === date;\n\n if (isCurrent) {\n return item;\n }\n\n return R.evolve(evolveConfig, item);\n }),\n R.map(R.path(['max', 'fields'])),\n R.filter(R.pathEq(['max', 'fields', 'custom_учреждение_оригинальное', 'key'], institution)),\n R.propOr([], 'items'),\n )(state),\n { max: 1 },\n);\n\nconst mergeByUser = (start, end) =>\n R.compose(\n R.merge(end),\n R.mapObjIndexed((val, key) => ({\n all: val.all,\n added: val.all - R.pathOr(0, [key, 'all'], start),\n })),\n R.pick([\n 'patients',\n 'reception',\n 'analysis',\n 'anamnesis',\n 'rations',\n 'print',\n ]),\n )(end);\n\nconst getMonthStatistic = memoize(\n (state, institution) => R.compose(\n R.reject(R.isNil),\n R.map(({ max, min }) => {\n if (!min && !max) {\n return null;\n }\n\n const prevData = getPrevData(min ? min.fields : max.fields);\n\n return mergeByUser(formatItem(prevData), formatItem(max.fields));\n }),\n R.filter(R.pathEq(['max', 'fields', 'custom_учреждение_оригинальное', 'key'], institution)),\n R.propOr([], 'items'),\n )(state),\n { max: 1 },\n);\n\nexport const getEndDate = (date) => {\n const startOfMonth = moment(date, 'MM.YYYY');\n const endOfMonth = startOfMonth.endOf('month');\n const yesterday = moment().add(-1, 'day');\n return endOfMonth.isBefore(yesterday) ? endOfMonth : yesterday;\n};\n\nexport const getStatisticByInstitution = (state, date, institution) => {\n if (date.length !== 7) {\n return getDayStatistic(state, date, institution);\n }\n\n const startOfMonth = moment(date, 'MM.YYYY');\n const endOfMonth = startOfMonth.endOf('month');\n const yesterday = moment().add(-1, 'day');\n\n if (endOfMonth.isAfter(yesterday) && !endOfMonth.isSame(yesterday, 'month')) {\n return null;\n }\n\n return getMonthStatistic(state, institution);\n};\n\nconst mergeTotal = R.reduce((resultSum, tableTrValue) => R.mapObjIndexed((value, key) => {\n return {\n all: value.all + R.pathOr(0, [key, 'all'], tableTrValue),\n added: value.added + R.pathOr(0, [key, 'added'], tableTrValue),\n }\n}, resultSum), {\n patients: initialGroup,\n reception: initialGroup,\n analysis: initialGroup,\n anamnesis: initialGroup,\n rations: initialGroup,\n print: initialGroup,\n});\n\nexport const getStatisticTotal = memoize(\n table => R.isEmpty(table) ? {} : ({\n user: 'Всего',\n ...mergeTotal(table),\n }),\n { max: 1 },\n);\n\nexport const getStatisticData = (state, date, institution) => {\n if (institution !== 'all') {\n return getStatisticByInstitution(state, date, institution);\n }\n\n return R.compose(\n R.reject(R.isNil),\n R.map(({ key, label, inviteKey }) => {\n const data = R.compose(\n getStatisticTotal,\n getStatisticByInstitution,\n )(state, date, key);\n if (R.isEmpty(data)) {\n return null;\n }\n return {\n ...data,\n user: {\n firstname: label.replace(/Lite /g, ''), // TODO костыль пока нет бэка. По идее ничего не нужно\n inviteKey\n },\n };\n }),\n R.uniqBy(R.prop('key')),\n R.reject(R.isNil),\n R.map(R.path(['max', 'fields', 'custom_учреждение_оригинальное'])),\n R.propOr([], 'items'),\n )(state);\n};\n\nexport const getIsUserCanSee = R.compose(\n R.lt(1),\n R.length,\n R.uniqBy(R.prop('key')),\n R.reject(R.isNil),\n R.map(R.path(['max', 'fields', 'custom_учреждение_оригинальное'])),\n R.propOr([], 'items'),\n);\n","import { createAction, createReducer } from 'redux-act';\n\nexport const fetchData = createAction('STATISTIC__FETCH_DATA');\nexport const fetchDataSuccess = createAction('STATISTIC__FETCH_DATA_SUCCESS');\nexport const fetchDataFailure = createAction('STATISTIC__FETCH_DATA_FAILURE');\nexport const deleteDataRow = createAction('STATISTIC__DELETE_DATA');\nexport const toggleDelete = createAction('STATISTIC__DELETING_DATA')\n\nconst reducer = createReducer({\n [toggleDelete]: (state, payload) => {\n\n return {\n ...state,\n deleting: payload\n }\n },\n [fetchDataSuccess]: (state, payload) => {\n const { response, invites, me } = payload;\n const mergeDAta = response.data.data.map(item => {\n const { max } = item;\n invites.forEach(invite => {\n if (max.fields.custom_диетолог.label === invite.fields.custom_емейл_приглашенного && me !== invite.fields.___owner.key) {\n item.max.fields.custom_учреждение_оригинальное.inviteKey = invite.key;\n }\n })\n return item\n })\n return {\n ...state,\n items: mergeDAta,\n };\n },\n}, {\n items: [],\n deleting: null\n});\n\nexport {\n getEndDate,\n getStatisticData,\n getStatisticTotal,\n getIsUserCanSee,\n} from './selectors';\n\nexport default reducer;\n","import { createAction, createReducer } from 'redux-act';\n\nconst initialState = {};\n\nexport const checkPromo = createAction('SUBSCRIPTION_PROMOCODE_CHECK_PROMO');\nexport const setPromo = createAction('SUBSCRIPTION_PROMOCODE_SET_PROMO');\nexport const resetPromo = createAction('SUBSCRIPTION_PROMOCODE_RESET_PROMO');\n\nconst handleSetPromo = (state, payload) => ({\n ...state,\n ...payload,\n});\n\nconst handleResetPromo = () => initialState;\n\nexport default createReducer({\n [setPromo]: handleSetPromo,\n [resetPromo]: handleResetPromo,\n}, initialState);\n","import * as R from 'ramda';\n\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Dietanamnez', 'dietanamnezPublic', 'renderPrint', 'patientId']),\n R.path(['routeParams', 'patientId']),\n R.path(['Catalog', 'patientInWork', 'patientId']),\n\n (zero, main, secondary) => zero || main || secondary,\n);\n","import options from './defaultOptions';\n\nexport const userFormPreset = {\n validation: {\n custom_фото: options.logo,\n custom_firstname: {\n ...options.username,\n required: true,\n },\n custom_lastname: {\n ...options.username,\n required: true,\n },\n custom_midname: options.username,\n custom_sexint: {},\n custom_должность: options.role,\n custom_мобильный_телефон: {\n required: true,\n ...options.phone,\n },\n custom_login: {\n ...options.email,\n unique: {\n errorText: 'Пользователь с таким логином уже зарегистрирован',\n },\n },\n },\n};\n\nexport const userFormLightPreset = {\n validation: {\n custom_фото: options.logo,\n custom_firstname: {\n ...options.username,\n required: true,\n },\n custom_lastname: {\n ...options.username,\n required: true,\n },\n custom_midname: options.username,\n custom_sexint: {},\n custom_должность: options.role,\n custom_мобильный_телефон: {\n required: true,\n ...options.phone,\n },\n custom_номер_нпа: {\n required: true,\n ...options.npa,\n },\n custom_login: {\n ...options.email,\n unique: {\n errorText: 'Пользователь с таким логином уже зарегистрирован',\n },\n },\n },\n}\n\nexport const instituteFormPreset = {\n validation: {\n custom_логотип: options.logo,\n custom_название: {\n ...options.agency,\n required: true,\n },\n custom_тип: {},\n custom_филиал: {},\n custom_город: {\n required: true,\n },\n custom_улица: {\n ...options.street,\n required: true,\n },\n custom_дом: {\n ...options.house,\n required: true,\n },\n custom_корпус: options.casehouse,\n// custom_телефон: options.phone,\n custom_эл_почта: {\n ...options.email,\n required: false,\n },\n },\n};\n","import { createAction, createReducer } from 'redux-act';\n\nconst initialState = {\n isLoading: false,\n};\n\nexport const loadingStart = createAction('LOADING_START');\nexport const loadingFinish = createAction('LOADING_FINISH');\n\nexport default createReducer({\n [loadingStart]: () => ({\n isLoading: true,\n }),\n [loadingFinish]: () => ({\n isLoading: false,\n }),\n}, initialState);\n","import * as R from 'ramda';\nimport createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { appKey } from 'config';\n\nimport getUserIsLight from '../../selectors/getUserIsLight';\n\nexport const getElementsList = createOrmSelector(\n getUserIsLight,\n\n (session, isLight) => {\n const { Elements } = session;\n const filter = item => {\n return isLight ? item.custom_light : item.custom_used_in_pro\n };\n\n return Elements\n .filter(filter)\n .toRefArray()\n .concat(isLight ? {\n key: `${appKey}t28r0`,\n ___parent: null,\n custom_для_сортировки: 15,\n } : [])\n .map((item) => {\n\n if (!isLight) {\n return item;\n }\n\n if (item.key === `${appKey}t28r51554960` || item.key === `${appKey}t28r51554961`) {\n return R.compose(\n R.assoc('___parent', `${appKey}t28r3620`),\n R.assoc('custom_для_сортировки', 25),\n )(item);\n }\n\n if (item.key === `${appKey}t28r2038859`) {\n return R.compose(\n R.assoc('___parent', `${appKey}t28r3620`),\n R.assoc('custom_для_сортировки', 35),\n )(item);\n }\n\n if (item.key === `${appKey}t28r225`) {\n return R.compose(\n R.assoc('___parent', `${appKey}t28r3620`),\n R.assoc('custom_для_сортировки', 50),\n )(item);\n }\n\n if (item.key === `${appKey}t28r236`) {\n return R.compose(\n R.assoc('___parent', `${appKey}t28r3620`),\n R.assoc('custom_для_сортировки', 60),\n )(item);\n }\n\n const needChangeParent = R.propSatisfies(\n value => R.includes(value, [`${appKey}t28r221`, `${appKey}t28r222`, `${appKey}t28r223`]),\n '___parent',\n item,\n );\n\n if (needChangeParent) {\n const indexes = {\n [`${appKey}t28r12493202`]: 1,\n [`${appKey}t28r12493207`]: 2,\n [`${appKey}t28r12523083`]: 3,\n [`${appKey}t28r12497601`]: 4,\n [`${appKey}t28r12497603`]: 5,\n [`${appKey}t28r12523027`]: 6,\n [`${appKey}t28r12520074`]: 7,\n [`${appKey}t28r3582`]: 10,\n [`${appKey}t28r3583`]: 20,\n [`${appKey}t28r2038901`]: 25,\n [`${appKey}t28r228`]: 30,\n [`${appKey}t28r231`]: 40,\n [`${appKey}t28r233`]: 50,\n [`${appKey}t28r11374694`]: 60,\n };\n\n return R.compose(\n R.assoc('custom_для_сортировки', indexes[item.key]),\n R.assoc('___parent', `${appKey}t28r0`),\n )(item);\n }\n\n return item;\n });\n },\n);\n\nexport const getValues = createCachedOrmSelector(\n (state, props) => props.chartId || 'common',\n (state, props) => props.data,\n (state, props) => props.includeFieldName,\n (state, props) => props.useShortName,\n getElementsList,\n getUserIsLight,\n\n (session, chartId, data = {}, includeFieldName, useShortName, items, isLight) => {\n const groups = R.filter(R.propEq('___parent', null), items);\n\n const parseItems = (level, i) => R.compose(\n R.unnest,\n R.map((item) => {\n const subitems = R.filter(R.propEq('___parent', item.key), items);\n const parsedSubitems = parseItems(level + 1, subitems);\n const label = useShortName ?\n item.custom_сокращенное_наименование || item.custom_наименование :\n item.custom_наименование;\n\n const value = {\n ...(data || {})[item.key],\n element: item.key,\n label,\n size: R.prop('label', item.custom_ед_изм),\n nameField: includeFieldName ? item.key : undefined,\n sources: item.custom_источники,\n influence: item.custom_влияние,\n };\n\n if (level === 2 && isLight) {\n return [\n value,\n ...parsedSubitems,\n ];\n }\n\n return {\n ...value,\n subitems: parsedSubitems,\n };\n }),\n R.sortBy(R.prop('custom_для_сортировки')),\n )(i);\n\n return R.compose(\n R.reject(item => R.isEmpty(item.subitems)),\n parseItems\n )(1, groups);\n },\n);\n\nexport const getVisibleList = createOrmSelector(\n getElementsList,\n\n (session, items) => {\n const groups = R.compose(\n R.sortBy(R.prop('custom_для_сортировки')),\n R.filter(R.propEq('___parent', null)),\n )(items);\n\n const result = R.compose(\n R.unnest,\n R.unnest,\n R.map(item => {\n return R.compose(\n R.map(i => [i, ...R.filter(R.propEq('___parent', i.key), items)]),\n R.filter(R.propEq('___parent', item.key))\n )(items)\n }),\n )(groups);\n\n return result\n },\n);\n\nexport const getMineralsAndVitamins = createOrmSelector(\n (session) => {\n const { Elements } = session;\n\n const items = Elements\n .filter({\n ___parent: null,\n })\n .filter((item) => {\n const name = item.custom_наименование;\n\n return R.contains(name, ['Минералы', 'Витамины']);\n })\n .toModelArray()\n .reduce((m, i) => {\n const val = R.map(j => ({\n value: j.key,\n label: j.custom_наименование,\n }), i.items.toRefArray() || []);\n\n m[i.custom_наименование] = val; // eslint-disable-line no-param-reassign\n\n return m;\n }, {});\n\n return items;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.map(item => ({\n label: item.custom_наименование,\n value: item.key,\n hint: item.custom_описание_влияния,\n custom_специфическое_состояние: item.custom_специфическое_состояние,\n })),\n);\n\nexport const getSpecificConditions = createSelector(\n getItems,\n\n R.filter(R.prop('custom_специфическое_состояние')),\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Disease',\n tableId: 11,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c11cs9r20', {\n useLS: true,\n});\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getItems,\n getSpecificConditions,\n} from './selectors';\n\nexport default reducer;\n","import { createSelector } from \"reselect\";\nimport * as R from \"ramda\";\n\nimport getUser from \"../getUser\";\n\nexport default createSelector(\n getUser,\n\n R.propOr(\"c105a902t104r5087852\", \"custom_страна\")\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getItems as getDiseaseItems,\n} from 'modules/Patient/redux/disease';\n\nexport default createSelector(\n R.path(['Patient', 'disease']),\n\n getDiseaseItems,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatientIllness from '../getPatientIllness';\nimport getIllnessList from '../getIllnessList';\nimport getPatientSpecificConditions from '../getPatientSpecificConditions';\n\nexport default createSelector(\n getPatientSpecificConditions,\n getPatientIllness,\n getIllnessList,\n\n (specificConditions, patientIllness, illnessList) => {\n const illness = R.compose(\n R.uniq,\n R.pluck('group'),\n R.filter(R.prop('group')),\n R.filter(item => R.contains(item.value, patientIllness)),\n )(illnessList);\n\n return [...illness, ...specificConditions];\n },\n);\n","import * as R from 'ramda';\n\nimport createSelector from 'redux/utils/createOrmSelector';\nimport getRationDays from '../getRationDays';\n\n// while removing the last day from a ration state.routeParams.dayId can contain a reference\n// to the removed day; in this case return the new last day\nexport default createSelector(\n (state, props = {}) => props.dayId || R.path(['routeParams', 'dayId'], state),\n getRationDays,\n\n (session, dayId, days) => {\n if (!dayId) {\n return dayId;\n }\n\n const result = Number(dayId);\n const maxDayId = days.length;\n return result <= maxDayId ? result : maxDayId;\n },\n);\n","import { ORM } from 'redux-orm';\nimport * as R from 'ramda';\n\nimport Elements from 'redux/modules/elements';\nimport Worker from 'redux/modules/staff';\nimport WorkerFlags from 'redux/modules/staffFlags';\nimport InstitutionSubscription from 'redux/modules/institutionSubscription';\nimport SubscriptionDay from 'redux/modules/subscriptionDays';\nimport SubscriptionOperation from 'redux/modules/subscriptionOperations';\nimport Partner from 'redux/modules/partner';\nimport Webinar from 'redux/modules/webinar';\nimport RegistrationLink from 'redux/modules/registrationLinks';\n\nimport AnalysisBlood from 'modules/Analyses/redux/modules/analysisBlood';\nimport AnalysisGenes from 'modules/Analyses/redux/modules/analysisGenes';\nimport AnalysisHair from 'modules/Analyses/redux/modules/analysisHair';\nimport AnalysisSalt from 'modules/Analyses/redux/modules/analysisSalt';\nimport AnalysisType from 'modules/Analyses/redux/modules/analysisType';\nimport AnalysisVitamin from 'modules/Analyses/redux/modules/analysisVitamin';\nimport ChemicalElement from 'modules/Analyses/redux/modules/chemicalElement';\nimport Gene from 'modules/Analyses/redux/modules/gene';\nimport Genotype from 'modules/Analyses/redux/modules/genotypes';\nimport PatientAnalysis from 'modules/Analyses/redux/modules/patientAnalysis';\nimport Vitamin from 'modules/Analyses/redux/modules/vitamin';\n\nimport Dietanamnez from 'modules/Dietanamnez/redux/modules/dietanamnez';\nimport DietanamnezFrequency from 'modules/Dietanamnez/redux/modules/dietanamnezFrequency';\nimport DietanamnezItem from 'modules/Dietanamnez/redux/modules/dietanamnezItem';\nimport DietanamnezPortion from 'modules/Dietanamnez/redux/modules/dietanamnezPortion';\nimport DietanamnezTiles from 'modules/Dietanamnez/redux/modules/dietanamnezTiles';\nimport TileImageMap from 'modules/Dietanamnez/redux/modules/tileImageMap';\n\nimport Ration from 'modules/Rations/redux/modules/ration';\nimport PatientsElements from 'modules/Rations/redux/modules/patientsElements';\nimport Day from 'modules/Rations/redux/modules/day';\nimport Supplement from 'modules/Supplement/redux/modules/supplement';\nimport SupplementDish from 'modules/Supplement/redux/modules/supplementDish';\n\nimport PatientReception from 'modules/Patient/redux/receptions';\n\nconst models = {\n 3: Gene,\n 6: Vitamin,\n 8: AnalysisType,\n 10: Genotype,\n 19: PatientAnalysis,\n 21: AnalysisGenes,\n 22: AnalysisVitamin,\n 23: ChemicalElement,\n 24: AnalysisBlood,\n 25: AnalysisHair,\n 27: AnalysisSalt,\n 28: Elements,\n 29: Day,\n 39: Ration,\n 44: DietanamnezFrequency,\n 49: DietanamnezTiles,\n 47: Worker,\n 65: DietanamnezItem,\n 66: DietanamnezPortion,\n 96: PatientsElements,\n 115: InstitutionSubscription,\n 119: SubscriptionDay,\n 123: SubscriptionOperation,\n 140: Dietanamnez,\n 158: Supplement,\n 160: SupplementDish,\n 171: TileImageMap,\n 172: PatientReception,\n 188: WorkerFlags,\n 192: Partner,\n 206: Webinar,\n 212: RegistrationLink,\n};\n\nconst orm = new ORM();\norm.register(...R.values(models));\n\nwindow.orm = orm;\n\nexport default orm;\n","import * as R from 'ramda';\nimport { fk, attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n} = generator({\n name: 'bloodAnalysis',\n tableId: 24,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_химический_элемент: R.propOr(null, 'key'),\n custom_ед__изм: R.propOr(null, 'key'),\n }),\n});\n\nexport default class AnalysisBlood extends Model {\n static modelName = 'AnalysisBlood';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('PatientAnalysis'),\n custom_химический_элемент: fk('ChemicalElement'),\n custom_ед__изм: attr(),\n custom_факт: attr(),\n }\n}\n\nexport {\n fetchSuccess,\n save,\n};\n","import * as R from 'ramda';\nimport { fk, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n} = generator({\n name: 'analysisGenes',\n tableId: 21,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_ген: R.propOr(null, 'key'),\n custom_генотип: R.propOr(null, 'key'),\n }),\n});\n\nexport default class AnalysisGenes extends Model {\n static modelName = 'AnalysisGenes';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('PatientAnalysis'),\n custom_ген: fk('Gene'),\n custom_генотип: fk('Genotype'),\n }\n}\n\nexport {\n fetchSuccess,\n save,\n};\n","import * as R from 'ramda';\nimport { fk, attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n} = generator({\n name: 'analysisHair',\n tableId: 25,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_химический_элемент: R.propOr(null, 'key'),\n custom_ед__изм: R.propOr(null, 'key'),\n }),\n});\n\nexport default class AnalysisHair extends Model {\n static modelName = 'AnalysisHair';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('PatientAnalysis'),\n custom_химический_элемент: fk('ChemicalElement'),\n custom_ед__изм: attr(),\n custom_факт: attr(),\n }\n}\n\nexport {\n fetchSuccess,\n save,\n};\n","import * as R from 'ramda';\nimport { attr, fk, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n} = generator({\n name: 'analysisSalt',\n tableId: 27,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_химический_элемент: R.propOr(null, 'key'),\n }),\n});\n\nexport default class AnalysisSalt extends Model {\n static modelName = 'AnalysisSalt';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('PatientAnalysis'),\n custom_химический_элемент: fk('ChemicalElement'),\n custom_результат: attr(),\n }\n}\n\nexport {\n fetchSuccess,\n save,\n};\n","import * as R from 'ramda';\nimport { attr, fk, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n} = generator({\n name: 'analysisVitamin',\n tableId: 22,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_витамин: R.propOr(null, 'key'),\n custom_оценка: R.propOr(null, 'label'),\n }),\n});\n\nexport default class AnalysisVitamin extends Model {\n static modelName = 'AnalysisVitamin';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('PatientAnalysis'),\n custom_витамин: fk('Vitamin'),\n custom_оценка: attr(),\n }\n}\n\nexport {\n fetchSuccess,\n save,\n};\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nexport const getNotesByPatient = createSelector(\n getItemsArrayByParent,\n\n R.identity,\n);\n","import * as R from 'ramda';\nimport { all, takeEvery, select } from 'redux-saga/effects';\nimport { trackAddPatientNote } from 'utils/carrot';\n\nimport {\n getItemByKey,\n} from 'redux/selectors';\nimport {\n saveSuccess,\n} from './';\n\nfunction* saveSuccessFlow(action) {\n const patientKey = R.pathOr(null, ['payload', 'data', '___parent'], action);\n const patient = yield select(getItemByKey(patientKey));\n // User can add notes for a patient while adding a patient; track only if a patient exist\n if (patient) {\n yield trackAddPatientNote(patientKey);\n }\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(saveSuccess, saveSuccessFlow),\n ]);\n}\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n saveSuccess,\n remove,\n} = generator({\n name: 'PatientNotes',\n tableId: 9,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetchSuccess,\n save,\n saveSuccess,\n remove,\n};\n\n\nexport {\n getNotesByPatient,\n} from './selectors';\n\nexport default reducer;\n\nexport { default as saga } from './saga';\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport Icon from 'components/Icon';\n\n\nimport styles from './Info.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Info extends PureComponent {\n static propTypes = {\n alwaysTop: PropTypes.bool,\n alwaysBottom: PropTypes.bool,\n children: PropTypes.node,\n toggler: PropTypes.node,\n togglerFullSize: PropTypes.bool,\n width: PropTypes.number,\n singleLine: PropTypes.number,\n align: PropTypes.oneOf([\n 'left',\n ])\n }\n\n static defaultProps = {\n alwaysBottom: false,\n children: undefined,\n toggler: undefined,\n width: undefined,\n togglerFullSize: false,\n singleLine: undefined,\n }\n\n state = {\n hover: false,\n }\n\n handleShowTooltip = (event) => {\n if (!this.props.children) {\n return undefined;\n }\n\n const iconRect = event.target.getBoundingClientRect();\n const top = iconRect.top - 70;\n const bottom = window.innerHeight - iconRect.bottom;\n\n this.setState({\n top: top > bottom,\n height: Math.max(top, bottom),\n hover: true,\n });\n };\n\n handleHideTooltip = () => {\n this.setState({\n hover: false,\n });\n };\n\n renderButton() {\n const { toggler } = this.props;\n\n if (toggler) {\n return toggler;\n }\n\n return ;\n }\n\n render() {\n const { alwaysTop, alwaysBottom, toggler, togglerFullSize, width, singleLine, align, children } = this.props;\n const maxHeight = this.state.height - 50;\n\n return (\n \n \n {this.renderButton()}\n \n \n {children}\n \n \n );\n }\n}\n","export default function declOfNum(titles) {\n const cases = [2, 0, 1, 1, 1, 2];\n\n return (number) => {\n const indexByCase = cases[(number % 10 < 5) ? number % 10 : 5];\n const index = (number % 100 > 4 && number % 100 < 20) ? 2 : indexByCase;\n\n return titles ? titles[index] : '';\n };\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport Button from 'components/Button';\nimport Title from 'components/Title';\n\nimport styles from './Subscription.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Subscription extends PureComponent {\n static propTypes = {\n children: PropTypes.node,\n isLoading: PropTypes.bool,\n submitBtn: PropTypes.string,\n cancelBtn: PropTypes.string,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n }\n\n static defaultProps = {\n children: null,\n isLoading: false,\n submitBtn: null,\n cancelBtn: null,\n onCancel: () => { },\n onSubmit: () => { },\n }\n\n render() {\n const {\n submitBtn,\n cancelBtn,\n onSubmit,\n onCancel,\n isLoading,\n } = this.props;\n\n return (\n
\n
\n \n {this.props.children}\n \n
\n\n {(submitBtn || cancelBtn) &&\n
\n {submitBtn &&\n
\n \n {submitBtn}\n \n
\n }\n {cancelBtn &&\n
\n \n {cancelBtn}\n \n
\n }\n
\n }\n
\n );\n }\n}\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport * as selectors from 'redux/hor/module/selectors';\nimport roundNumber from 'utils/roundNumber';\n\nimport { getItemsList } from 'redux/modules/ingredients';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nconst getItemsArrayByParent = R.compose(\n // R.reject(R.prop('custom_системный_ингредиент')),\n selectors.getItemsArrayByParent,\n);\n\nconst getTechcard = memoizee((key, state, ingredientsState = {}, multiplier = 1) => {\n const ingredients = getItemsList(ingredientsState);\n\n return R.compose(\n R.map((item) => {\n const ingredient = R.find(R.propEq('key', item.custom_ингредиент), ingredients);\n const ingredientAmount = R.propOr('', 'custom_ед_изм_наименование', ingredient);\n const itemAmount = R.propOr('', 'custom_единица_измерения__гр_мл', item);\n const amountName = itemAmount || ingredientAmount;\n const count = roundNumber(2, item.custom_вес * multiplier);\n const value = item.custom_вес ? `${count} ${amountName}.` : null;\n\n return {\n id: getKeyInfo(item.custom_ингредиент).record,\n name: item.name || ingredient.custom_наименование,\n value,\n isSystem: ingredient && ingredient.custom_копия_блюда,\n };\n }),\n getItemsArrayByParent,\n )(key, state);\n}, { length: 4 });\n\nexport {\n getTechcard,\n getItemsArrayByParent,\n};\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n\n create,\n save,\n remove,\n} = generator({\n name: 'ProductTechCard',\n tableId: 54,\n parseItem: R.compose(\n R.evolve({\n ___parent: R.prop('key'),\n custom_ингредиент: R.prop('key'),\n custom_единица_измерения__гр_мл: R.prop('label'),\n custom_тип_приготовления: R.prop('key'),\n ___createduser: R.prop('key'),\n ___modifieduser: R.prop('key'),\n }),\n item => ({\n ...item,\n name: R.path(['custom_ингредиент', 'label'], item),\n }),\n ),\n});\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n remove,\n};\n\nexport {\n getTechcard,\n getItemsArrayByParent,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n save,\n remove,\n} = generator({\n name: 'SupplementComposition',\n tableId: 161,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n custom_элемент: R.prop('key'),\n }),\n});\n\nexport {\n fetch,\n fetchSuccess,\n save,\n remove,\n};\n\nexport {\n getItems,\n getItemsByParent,\n getItemsArrayByParent,\n} from 'redux/hor/module/selectors';\n\nexport {\n getSumComposition,\n getIsHaveComposition,\n} from './selectors';\n\nexport default reducer;\n","import { createSelector } from 'reselect';\n\nimport { appKey } from 'config';\n\nimport getSupplementId from '../getSupplementId';\n\nexport default createSelector(\n getSupplementId,\n\n id => id ? `${appKey}t158r${id}` : id,\n);\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport { attr, Model as ORMModel } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n\n fetchSuccess,\n save,\n remove,\n} = generator({\n name: 'patientsElements',\n tableId: 96,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n custom_элемент_состава: R.prop('key'),\n }),\n});\n\nexport default class PatientsElements extends ORMModel {\n static modelName = 'PatientsElements';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: attr(),\n custom_элемент_состава: attr(),\n }\n\n static reducer = reducer;\n}\n\nexport const updateList = createAction('PATIENTSELEMENTS__UPDATE_LIST');\nexport const updateListSuccess = createAction('PATIENTSELEMENTS__UPDATE_LIST_SUCCESS');\n\nreducer.on(updateListSuccess, (Model, session, { parentKey, items }) => {\n Model\n .filter({\n ___parent: parentKey\n })\n .delete();\n\n items.forEach(item => Model.upsert(item));\n});\n\nexport {\n fetchSuccess,\n save,\n remove,\n};","import * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport { getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nimport { getItemsList } from 'redux/modules/ingredients';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nconst getTechcard = memoizee((key, state, ingredientsState = {}) => {\n const ingredients = getItemsList(ingredientsState);\n\n return R.compose(\n R.map((item) => {\n const ingredient = R.find(R.propEq('key', item.custom_ингредиент), ingredients);\n\n\n return {\n id: getKeyInfo(item.custom_ингредиент).record,\n name: ingredient ? ingredient.custom_наименование : item.custom_ингредиент,\n };\n }),\n getItemsArrayByParent,\n )(key, state);\n}, { length: 4 });\n\nexport {\n getTechcard,\n};\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n\n create,\n save,\n remove,\n} = generator({\n name: 'SupplementTechCard',\n tableId: 164,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n custom_ингредиент: R.prop('key'),\n }),\n});\n\nexport {\n fetch,\n fetchSuccess,\n create,\n save,\n remove,\n};\n\nexport {\n getItemsArrayByParent,\n} from 'redux/hor/module/selectors';\n\nexport {\n getTechcard,\n} from './selectors';\n\nexport default reducer;\n","import * as R from \"ramda\";\nimport { attr, Model } from \"redux-orm\";\n\nimport getKeyInfo from \"utils/getKeyInfo\";\n\nimport generator from \"redux/hor/orm-module\";\nimport fetchWithView from \"redux/utils/fetchWithView\";\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n save,\n saveSuccess,\n removeWithUndo,\n} = generator({\n name: \"RegistrationLink\",\n tableId: 212,\n parseItem: R.evolve({\n ___parent: R.propOr(null, \"key\"),\n custom_тип_опроса: R.propOr(null, \"value\"),\n }),\n});\n\nexport default class RegistrationLink extends Model {\n static modelName = \"RegistrationLink\";\n\n static options = {\n idAttribute: \"key\",\n };\n\n static fields = {\n ___parent: attr(),\n custom_группа: attr(),\n custom_идентификатор: attr(),\n custom_именной: attr(),\n custom_тип_опроса: attr(),\n custom_дефолтный: attr(),\n };\n\n static reducer = reducer;\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const fetchList = fetchWithView(fetch, \"ts5c212cs9r2985\");\n\nexport { fetch, fetchSuccess, save, saveSuccess, removeWithUndo };\n","const delay = timeout => new Promise((resolve) => {\n setTimeout(() => {\n resolve();\n }, timeout);\n});\n\nexport default delay;\n","import * as R from \"ramda\";\nimport memoizee from \"memoizee\";\n\nimport { superuserRoleKey } from \"helpers/constants\";\n\nimport createOrmSelector from \"redux/utils/createOrmSelector\";\n\nimport constructFile from \"utils/constructFile\";\nimport capitalize from \"utils/capitalize\";\nimport getKeyInfo from \"utils/getKeyInfo\";\nimport ageOptions from \"utils/ageOptions\";\n\nimport {\n getUser,\n getCatalogGroups,\n getApplicationUser,\n getUserCountry,\n} from \"redux/selectors\";\nimport { getItem as getCookingTechnique } from \"redux/modules/cookingTechniques\";\nimport { getItem as getPortion } from \"redux/modules/portions\";\nimport { getItem as getMealType } from \"redux/modules/mealTypes\";\nimport { getItem as getEatingType } from \"redux/modules/specificEatingTypes\";\nimport { getItem as getDisease } from \"modules/Patient/redux/disease\";\nimport * as meals from \"redux/modules/meals\";\nimport * as ingredients from \"redux/modules/ingredients\";\nimport * as supplement from \"redux/modules/supplement\";\nimport { sexOptions } from \"modules/Catalog/components/ProductFormSupplement/ProductFormIngredient\";\n\nconst selectors = {\n meals,\n ingredients,\n supplement,\n};\n\nconst groupFieldByType = {\n meals: \"custom_группа\",\n ingredients: \"custom_группа\",\n supplement: \"custom_производитель\",\n};\n\nexport const getItemById = (type, id, state) =>\n selectors[type].getItemById(id, state[type]);\n\nexport const getKeyById = (type, id, state) =>\n selectors[type].getKeyById(id, state[type]);\n\nexport const getItem = (type, id, state) =>\n selectors[type].getItem(id, state[type]);\n\nexport const getImage = (type, key, state) => {\n const item = selectors[type].getItem(key, state[type]);\n const base64Image = constructFile(R.propOr(null, [\"custom_картинка\"], item));\n const imageUrl = R.path([\"custom_картинка\", \"url\"], item);\n const imageUrlField = R.path([\"custom_картинка_url\"], item);\n\n const image = imageUrlField || base64Image || imageUrl || null;\n return image;\n};\n\nconst arrayToString = R.compose(capitalize, R.toLower, R.join(\", \"));\n\nexport const getFeatures = (type, key, state) => {\n const item = selectors[type].getItem(key, state[type]);\n const portionKey = R.propOr(null, \"custom_порция\", item);\n const portion = R.propOr(\n null,\n \"custom_название\",\n getPortion(portionKey, state.portions)\n );\n const sexId = R.propOr(null, \"custom_пол\")(item);\n const sexName = R.compose(\n R.prop(\"label\"),\n R.head,\n R.filter(({ value }) => value === sexId)\n )(sexOptions);\n\n const groupField = groupFieldByType[type];\n const groupKey = R.propOr(null, groupField, item);\n const groups = getCatalogGroups(state);\n const group = R.find(R.propEq(\"key\", groupKey), groups);\n\n const cookingTechniqueKey = R.propOr(\n null,\n \"custom_способ_приготовления\",\n item\n );\n const cookingTechnique = R.propOr(\n null,\n \"custom_полное_наименование\",\n getCookingTechnique(cookingTechniqueKey, state.cookingTechniques)\n );\n\n const ingestion = R.compose(\n arrayToString,\n R.pluck(\"custom_наименование\"),\n R.reject(R.isNil),\n R.map((mealTypeKey) => getMealType(mealTypeKey, state.mealTypes)),\n R.propOr([], \"custom_применимость_в_схеме_питания\")\n )(item);\n\n const specificEatingTypes = R.compose(\n arrayToString,\n R.pluck(\"custom_наименование\"),\n R.reject(R.isNil),\n R.map((typeKey) => getEatingType(typeKey, state.specificEatingTypes)),\n R.defaultTo([]),\n R.propOr([], \"custom_специфические_виды_питания\")\n )(item);\n\n const features = [\n {\n name: \"Упаковка\",\n value: item.custom_расширенная_форма,\n },\n {\n name: \"Порция\",\n value: portion,\n },\n {\n name: type === \"supplement\" ? \"Производитель\" : \"Группа\",\n value: group.title,\n },\n {\n name: \"Способ приготовления\",\n value: cookingTechnique,\n },\n {\n name: \"Исключить для (виды питания)\",\n value: specificEatingTypes,\n },\n {\n name: \"Предпочтительный прием\",\n value: ingestion,\n },\n {\n name: \"Пол\",\n value: sexName,\n },\n {\n name: \"Возрастная группа\",\n value:\n ageOptions.slice(1).length ===\n (item.custom_возрастнаягруппа || []).length\n ? ageOptions[0].text\n : (item.custom_возрастнаягруппа || []).join(\", \"),\n },\n ];\n\n return R.reject(\n R.propSatisfies(R.either(R.isNil, R.isEmpty), \"value\"),\n features\n );\n};\n\nexport const getSource = createOrmSelector(\n (state, props) =>\n R.compose(\n R.propOr([], \"custom_продукт_повышает\"),\n selectors[props.type].getItem\n )(props.key, state[props.type]),\n (session, sourceKeys) => {\n const { Elements } = session;\n\n return R.map((elementKey) => {\n const element = Elements.withId(elementKey);\n\n return element.custom_наименование;\n }, sourceKeys);\n }\n);\n\nexport const getDiseases = (type, key, state) => {\n const item = selectors[type].getItem(key, state[type]);\n\n return R.compose(\n R.map((typeKey) => {\n const disease = getDisease(typeKey, state.Patient.disease);\n return disease.custom_наименование;\n }),\n R.defaultTo([]),\n R.propOr([], \"custom_запрещено_к_употреблению_при\")\n )(item);\n};\n\nexport const getDescription = (type, key, state) => {\n const item = selectors[type].getItem(key, state[type]);\n\n return R.propOr(null, \"custom_описание\", item);\n};\n\nexport const getRecipe = (type, key, state) => {\n const item = selectors[type].getItem(key, state[type]);\n\n return R.propOr(null, \"custom_рецепт\", item);\n};\n\nconst pathIsNotEmpty = R.compose(R.not, R.isNil, R.path);\n\nconst BASE = \"base\";\nconst PRIVATE = \"private\";\nconst INSTITUTION = \"institution\";\n\nexport const getCaption = (type, itemId, state) => {\n const item = selectors[type].getItemById(itemId, state[type]);\n const hasOwner = pathIsNotEmpty([\"___owner\"], item);\n const hasTerritory = pathIsNotEmpty([\"___territory\"], item);\n const hasShowInInstitution = R.pathEq(\n [\"custom_показывать_в_рамках_учреждения\"],\n true,\n item\n );\n\n if (!hasOwner && !hasTerritory) {\n return BASE;\n }\n\n return hasShowInInstitution ? INSTITUTION : PRIVATE;\n};\n\nconst getItemsArray = (userKey, type, state) => {\n const country = userKey ? getUserCountry(state) : null;\n const items = selectors[type].getItemsList(state[type], country);\n\n return R.compose(\n memoizee(\n R.map((item) => {\n const id = getKeyInfo(item.key).record;\n return {\n ...item,\n id,\n type,\n value: item.key,\n key: item.key,\n caption: getCaption(type, id, state),\n label: item.custom_наименование || item.custom_название,\n title: item.custom_наименование || item.custom_название,\n };\n })\n ),\n memoizee(R.reject(R.propOr(null, \"custom_черновик\")))\n )(items);\n};\n\nconst rejectByUser = (userKey, type, state) =>\n memoizee(\n R.reject((item) => {\n if (!userKey) {\n return false;\n }\n\n const isCurrentUserItem = R.propEq(\"___owner\", userKey, item);\n const id = getKeyInfo(item.key).record;\n const caption = getCaption(type, id, state);\n\n return caption === PRIVATE && !isCurrentUserItem;\n })\n );\n\nexport const getSelect = (userKey, type, state) => {\n if (!type) {\n return [];\n }\n\n return R.compose(\n rejectByUser(userKey, type, state),\n R.filter((item) => !userKey || !item.custom_скрытый),\n R.filter((item) => {\n if (!userKey) {\n return true;\n }\n\n if (type === \"supplement\") {\n return !item.custom_неактивен;\n }\n\n return true;\n }),\n getItemsArray\n )(userKey, type, state);\n};\n\nexport const getProductsByGroup = (userKey, type, groupKey, age, state) =>\n R.compose(\n R.filter(R.propOr(null, \"title\")),\n R.sortBy(R.propOr(null, \"title\")),\n R.map((item) => {\n const id = getKeyInfo(item.key).record;\n const caption = getCaption(type, id, state);\n\n return {\n id,\n title: item.title,\n key: item.key,\n caption,\n };\n }),\n R.filter((item) => {\n const itemAge = item.custom_возрастнаягруппа || [];\n const anyAge = R.contains(ageOptions[0].value);\n\n if (R.isEmpty(age) || anyAge(itemAge) || anyAge(age)) {\n return true;\n }\n\n return R.intersection(itemAge, age).length !== 0;\n }),\n R.filter((item) => {\n if (!userKey) {\n return true;\n }\n\n if (type === \"supplement\") {\n return !item.custom_неактивен;\n }\n\n return true;\n }),\n type === \"supplement\" ? R.identity : rejectByUser(userKey, type, state),\n R.reject(R.propOr(null, \"custom_скрытый\")),\n groupKey\n ? R.filter(R.propEq(groupFieldByType[type], groupKey))\n : R.identity,\n getItemsArray\n )(userKey, type, state);\n\nexport const getRigths = (type, itemId, state) => {\n const userItem = getUser(state);\n const userKey = getApplicationUser(state);\n const caption = getCaption(type, itemId, state);\n const isEditableBase = R.propOr(\n false,\n \"custom_редактирование_общих_блюд\",\n userItem\n );\n\n if (caption === BASE && isEditableBase) {\n return {\n isEditable: true,\n isDeletable: type === \"supplement\",\n };\n }\n\n const item = selectors[type].getItemById(itemId, state[type]);\n const productOwnerKey = R.propOr(null, \"___owner\", item);\n const isSuperUser =\n R.propOr(\"\", \"custom_role\", userItem) === superuserRoleKey;\n const isRight =\n (isSuperUser && caption === INSTITUTION) || userKey === productOwnerKey;\n\n return {\n isEditable: isRight,\n isDeletable: isRight,\n };\n};\n","import * as meals from '../meals';\nimport * as ingredients from '../ingredients';\nimport * as supplement from '../supplement';\n\nconst modules = {\n meals,\n ingredients,\n supplement,\n};\n\nconst handleAction = action => payload => modules[payload.type][action](payload);\n\nexport const fetch = handleAction('fetch');\nexport const create = handleAction('create');\nexport const save = handleAction('save');\nexport const remove = handleAction('remove');\nexport const removeWithUndo = handleAction('removeWithUndo');\nexport const copyComposition = handleAction('copyComposition');\n\nexport {\n getSelect,\n getProductsByGroup,\n getItemById,\n getKeyById,\n getItem,\n getImage,\n getFeatures,\n getSource,\n getDiseases,\n getRecipe,\n getCaption,\n getRigths,\n getDescription,\n} from './selectors';\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport memoize from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getSelectData = memoize(\n R.compose(\n R.sortBy(R.prop('label')),\n R.map(i => ({\n value: i.key,\n label: i.custom_наименование,\n })),\n getItemsArray,\n ),\n { max: 1 },\n);\n\nexport const getItems = createSelector(\n getItemsArray,\n (state, isLight) => isLight,\n\n (items, isLight) => R.compose(\n R.map(item => ({\n key: item.key,\n id: item.key,\n name: item.custom_наименование,\n text: item.custom_наименование,\n value: item.key,\n tooltip: item.custom_подсказка,\n })),\n R.filter(item => isLight ? item.custom_light : true),\n )(items),\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'specificEatingTypes',\n tableId: 18,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c18cs9r356', {\n useLS: true,\n});\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getSelectData,\n getItems,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\n\nconst getFirstName = R.compose(\n R.defaultTo(''),\n R.propOr('', 'custom_firstname'),\n);\nconst getMidName = R.compose(\n R.defaultTo(''),\n R.propOr('', 'custom_midname'),\n);\nconst getLastName = R.compose(\n R.defaultTo(''),\n R.propOr('', 'custom_lastname'),\n);\nconst getFullName = patient => `${getFirstName(patient)} ${getLastName(patient)}`;\nconst getRealFullName = R.compose(\n R.join(' '),\n R.values,\n R.pick(['custom_firstname', 'custom_midname', 'custom_lastname']),\n R.defaultTo({}),\n);\n\nexport default getFullName;\n\nexport {\n getFirstName,\n getMidName,\n getLastName,\n getRealFullName,\n};\n","import * as R from 'ramda';\n\nconst defaultResolver = () => '__default__';\n\n/**\n * Remember the previous computation result (by key - see resolver) and return\n * it (not a current one!) if it is deep equal to the current one.\n *\n * Use this if you always acquire new data from a selector, but new data is deep\n * equal to the previous selector result. (e.g. redux-orm model data when some\n * related model is changed).\n *\n * This is a hackish part of optimization strategy. Think twice before using it.\n *\n * @param {Function} fn A function which result to remember\n * @param {Function} resolver A function returning a cache key; default one always\n * returns default key\n * @returns {Function} Memoized function.\n */\nconst memoizeByResult = (fn, resolver = defaultResolver) => {\n const cache = new Map();\n return (...args) => {\n const newResult = fn(...args);\n const key = resolver(...args);\n const result = cache.get(key);\n if (newResult !== result && !R.equals(newResult, result)) {\n cache.set(key, newResult);\n return newResult;\n }\n return result;\n };\n};\n\nexport default memoizeByResult;\n","import * as R from 'ramda';\nimport moment from 'moment';\n\nimport { appKey } from 'config';\n\nimport { getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nconst ids = {\n massBody: 137,\n calories: 169,\n caloriesActive: 3201,\n carbohydrates: 3200,\n proteins: 3198,\n fats: 3199,\n activeCellMass: 153,\n skinnyWeight: 152,\n muscleMass: 147,\n intracellularFluid: 151,\n extracellularFluid: 150,\n generalLiquid: 149,\n fatMass: 146,\n growth: 140,\n sizeShoulder: 144,\n sizeThigh: 143,\n sizeWaist: 142,\n pleatsStomach: 157,\n pleatsHips: 158,\n pleatsChest: 156,\n pleatsChestWoman: 159,\n harris: 6440796,\n visceralFat: 154,\n};\n\nconst values = R.map(item => `${appKey}t12r${item}`, ids);\n\nconst units = {\n massBody: 'кг',\n calories: 'ккал',\n caloriesActive: 'г',\n carbohydrates: 'г',\n proteins: 'г',\n fats: 'г',\n activeCellMass: 'кг',\n visceralFat: '',\n skinnyWeight: 'кг',\n muscleMass: 'кг',\n intracellularFluid: 'л',\n extracellularFluid: 'л',\n generalLiquid: 'л',\n fatMass: 'кг',\n growth: 'см',\n sizeShoulder: 'см',\n sizeThigh: 'см',\n sizeWaist: 'см',\n pleatsStomach: 'мм',\n pleatsHips: 'мм',\n pleatsChest: 'мм',\n pleatsChestWoman: 'мм',\n harris: 'ккал',\n};\n\nexport const getDateToChart = R.uncurryN(3, param => R.compose(\n R.sortBy(R.prop('date')),\n R.map(item => ({\n date: new Date(item.custom_дата),\n weight: item.custom_значение,\n unit: units[param] || 'кг',\n })),\n R.uniqWith(({ custom_дата: left }, { custom_дата: right }) => moment(left).isSame(right, 'day')),\n R.reverse,\n R.filter(R.propEq('custom_показатель', values[param])),\n R.reject(R.propEq('custom_значение', 0)),\n getItemsArrayByParent,\n));\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n\n fetchSuccess,\n create,\n} = generator({\n name: 'patientParams',\n tableId: 13,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_показатель: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetchSuccess,\n create,\n};\n\nexport {\n getDateToChart,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getSelectData = memoizee(\n R.compose(\n R.map(i => ({\n id: i.key,\n text: i.custom_наименование,\n value: i.key,\n })),\n R.sortBy(R.prop('custom_сортировка')),\n getItemsArray,\n ),\n { max: 1 },\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'MealTypes',\n tableId: 36,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c36cs9r353', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getItem,\n getItemsArray,\n} from 'redux/hor/module/selectors';\n\nexport {\n getSelectData,\n} from './selectors';\n\nexport default reducer;\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './IconDotLoader.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class IconDotLoader extends PureComponent {\n static propTypes = {\n inline: PropTypes.bool,\n }\n\n static defaultProps = {\n inline: false,\n }\n\n render() {\n return (\n \n \n \n \n \n );\n }\n}\n","const ageOptions = [ // Порядок важен\n {\n value: 'Любой возраст',\n text: 'Любой возраст',\n small: 'Любой возраст',\n min: 0,\n max: 100,\n },\n {\n value: '1-3 года',\n text: '1-3 года',\n small: '1-3',\n min: 1,\n max: 3,\n },\n {\n value: '4-6 лет',\n text: '4-6 лет',\n small: '4-6',\n min: 4,\n max: 6,\n },\n {\n value: '7-10 лет',\n text: '7-10 лет',\n small: '7-10',\n min: 7,\n max: 10,\n },\n {\n value: '11-17 лет',\n text: '11-17 лет',\n small: '11-17',\n min: 11,\n max: 17,\n },\n {\n value: '18 лет и старше',\n text: '18 и старше',\n small: '18+',\n min: 18,\n max: 100,\n },\n];\n\nexport default ageOptions;","import * as R from \"ramda\";\n\nimport { getItemsArray } from \"redux/hor/module/selectors\";\n\nexport const getNorm = (state, country) =>\n R.compose(\n R.map(\n R.compose(\n R.last,\n R.sortBy(R.prop(\"custom_страна\")),\n R.filter(\n (item) => !item.custom_страна || item.custom_страна === country\n )\n )\n ),\n R.groupBy(R.prop(\"element\")),\n R.map(\n ({\n ___parent: parent,\n custom_значение_от: min,\n custom_значение_до: max,\n custom_страна,\n }) => ({\n element: parent,\n normMin: min,\n normMax: max,\n norm: isFinite(max) ? (min + max) / 2 : min,\n custom_страна,\n })\n ),\n getItemsArray\n )(state);\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'ELEMENT_NORMS',\n tableId: 64,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_страна: R.propOr(null, 'key'),\n custom_значение_от: Number,\n custom_значение_до: Number,\n }),\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c64cs9r350', {\n useLS: true,\n});\n\nexport {\n getNorm,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport moment from 'moment';\n\nexport const dateFieldMap = {\n custom_масса_тела: 'custom_масса_тела_1',\n custom_рост: 'custom_рост_1',\n custom_объем_талии: 'custom_объем_талии_1',\n custom_объем_бедер: 'custom_объем_бедер_1',\n custom_объем_плеча: 'custom_объем_плеча_1',\n custom_жировая_масса: 'custom_жировая_масса_1',\n custom_мышечная_масса: 'custom_мышечная_масса_1',\n custom_общая_жидкость: 'custom_общая_жидкость_1',\n custom_вунутриклеточная_жидкость: 'custom_внутриклеточная_жидкость',\n custom_внеклеточная_жидкость: 'custom_внеклеточная_жидкость_1',\n custom_тощая_масса_тела: 'custom_тощая_масса_тела_1',\n custom_активная_клеточная_масса: 'custom_активная_клеточная_масса_1',\n custom_висцеральный_жир: 'custom_висцеральный_жир_1',\n custom_складка_грудь_подмышка: 'custom_складка_грудь_подмышка_1',\n custom_складка_живот: 'custom_складка_живот_1',\n custom_складка_бедро: 'custom_складка_бедро_1',\n custom_дата_рождения: 'custom_дата_рождения_1',\n custom_число_калорий: 'custom_число_калорий_1',\n custom_окисление_белка: 'custom_окисление_белка_3',\n custom_окисление_жиров: 'custom_окисление_жиров_2',\n custom_окисление_углеводов: 'custom_окисление_углеводов_1',\n custom_число_калорий_при_физической_активности: 'custom_число_калорий_при_физической_активности_3',\n};\n\nexport const addDateField = (values = {}) =>\n R.compose(\n R.reduce((acc, field) => {\n\n if (!dateFieldMap[field] || !R.has(field, values)) {\n return acc;\n }\n return {\n ...acc,\n [dateFieldMap[field]]: values[field] === null ? null : moment().format('DD.MM.YYYY'),\n };\n }, {}),\n R.keys,\n )(dateFieldMap);\n","const constructFile = file => file ? `data:${file.mime};base64,${file.base64}` : undefined;\n\nexport default constructFile;","import { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport getDietanamnezLastKeyWithoutNotEnded from '../getDietanamnezLastKeyWithoutNotEnded';\n\nexport default createSelector(\n getDietanamnezLastKeyWithoutNotEnded,\n\n (key) => {\n if (!key) {\n return null;\n }\n\n return getKeyInfo(key).record;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.compose(\n R.indexBy(R.prop('element')),\n R.map((item) => {\n const norm = R.propOr(null, 'норма_среднее', item);\n let min = R.propOr(null, 'от', item);\n let max = Number(R.propOr(null, 'до', item));\n\n if (min === 0 && max === 0) {\n min = null;\n max = null;\n }\n\n return {\n element: R.prop('элемент', item),\n norm,\n normMin: min,\n normMax: max,\n };\n }),\n R.propOr([], 'custom_коридор_спк')\n )\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getSelect } from 'redux/modules/products';\n\nconst getState = createSelector(\n R.path(['meals']),\n\n meals => ({ meals }),\n);\n\nexport default createSelector(\n getState,\n\n state => getSelect(null, 'meals', state),\n);\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport { getSelect } from \"redux/modules/products\";\nimport getApplicationUser from \"../getApplicationUser\";\n\nexport default createSelector(\n (state) => state,\n getApplicationUser,\n\n (state, appUser) => getSelect(appUser, \"supplement\", state)\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getUser from '../getUser';\n\nexport default createSelector(\n getUser,\n\n R.propOr(null, 'custom_ключ_системного_пользователяold'),\n) as unknown as () => string;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nconst emptyArray = [];\n\nexport default createSelector(\n getPatient,\n\n R.compose(\n R.defaultTo(emptyArray),\n R.propOr(emptyArray, 'custom_болезни'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getItems as getIllnessItems,\n} from 'modules/Patient/redux/illness';\n\nimport getDiseaseList from '../getDiseaseList';\n\nexport default createSelector(\n getDiseaseList,\n R.path(['Patient', 'illness']),\n\n getIllnessItems,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nconst emptyArray = [];\n\nexport default createSelector(\n getPatient,\n\n R.compose(\n R.defaultTo(emptyArray),\n R.propOr(emptyArray, 'custom_сопутствующие_заболевания'),\n ),\n);\n","import { getVisibleList } from 'redux/modules/elements/selectors';\n\nexport default getVisibleList;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getInstitutionKey } from 'redux/modules/user';\nimport getApplicationUser from '../getApplicationUser';\n\nexport default createSelector(\n getApplicationUser,\n R.path(['user']),\n\n (state, props) => props?.settings?.institutionKey,\n\n (user, state, key) => key || getInstitutionKey(user, state),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getPatientAllergen } from 'modules/Rations/redux/modules/allergen';\n\nimport getPatientKey from '../getPatientKey';\n\nexport default createSelector(\n getPatientKey,\n R.path(['Rations', 'allergen']),\n\n getPatientAllergen,\n);\n","import { createSelector } from 'reselect';\n\nimport getPatientEnergyMin from '../getPatientEnergyMin';\nimport getPatientEnergyMax from '../getPatientEnergyMax';\n\nexport default createSelector(\n getPatientEnergyMin,\n getPatientEnergyMax,\n\n (min, max) => {\n if (!min || !max) {\n return null;\n }\n\n return (min + max) / 2;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.propOr(0, 'custom_спк_энергия'),\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getRationKey from '../getRationKey';\n\nexport default createSelector(\n getRationKey,\n\n (session, rationKey) => {\n const { Ration } = session;\n\n if (!Ration.idExists(rationKey)) {\n return null;\n }\n\n return Ration.withId(rationKey).days.toRefArray();\n },\n);\n","import * as R from 'ramda';\n\nimport { getItemsArrayByParent, getItemWithAllFields } from 'redux/hor/module/selectors';\n\nexport const getItems = R.compose(\n R.map(R.evolve({\n custom_текст_поиска: (value) => {\n if (!value) {\n return value;\n }\n\n const [first, ...rest] = value;\n\n\n return first.toUpperCase() + rest.join('').toLowerCase();\n },\n })),\n R.map(getItemWithAllFields),\n getItemsArrayByParent,\n);\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n\n fetchSuccess,\n save,\n remove,\n} = generator({\n name: 'patientsAllergen',\n tableId: 138,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_ингредиенты_аллергены: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n }),\n});\n\nexport {\n fetchSuccess,\n save,\n remove,\n};\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\nimport moment from 'moment';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.compose(\n val => val ? moment().diff(moment(val, 'DD.MM.YYYY'), 'years') : null,\n R.propOr(null, 'custom_дата_рождения'),\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getDietanamnezKindsFood,\n getDietanamnezProductsIncluded,\n getDietanamnezProductsExcluded,\n} from 'modules/Dietanamnez/redux/selectors';\n\nimport ageOptions from 'utils/ageOptions';\nimport { setItem, getItem } from 'utils/localStorage';\n\nimport getPatientAge from '../getPatientAge';\nimport getMealsAll from '../getMealsAll';\nimport getPatientDisease from '../getPatientDisease';\nimport getDiseaseList from '../getDiseaseList';\nimport getPatientAllergen from '../getPatientAllergen';\n\nexport default createSelector(\n getMealsAll,\n getPatientDisease,\n getDiseaseList,\n getDietanamnezProductsIncluded,\n getDietanamnezProductsExcluded,\n getPatientAllergen,\n getDietanamnezKindsFood,\n getPatientAge,\n\n (\n productList,\n patientDisease,\n diseaseList,\n include,\n exclude,\n allergen,\n excludedKindsFood,\n age,\n ) => {\n const goodAgeOptions = R.compose(\n R.pluck('value'),\n R.filter(item => item.min <= age && item.max >= age),\n )(ageOptions);\n\n const getDish = R.compose(\n R.unnest,\n R.pluck('dish'),\n );\n const disease = R.indexBy(R.prop('value'), diseaseList);\n\n const patientKey = `c105a902t5r${window.location.href.split(\"patients/\")[1]?.split(\"/\")[0]}`;\n let allowedItems = getDish(include);\n if (!allowedItems?.length) {\n allowedItems = getItem(`DietanamnezProductsIncluded_${patientKey}`) ?? [];\n }\n setItem(`DietanamnezProductsIncluded_${patientKey}`, allowedItems);\n\n const forbiddenItems = R.compose(\n getDish,\n R.reject(R.propEq('byKindsFood', true)),\n )(exclude);\n\n const itWithoutStatus = R.compose(\n R.isEmpty,\n R.pick(['allowed', 'warning', 'forbidden']),\n );\n\n const setDietanamnezAllowed = (item) => {\n const dietanamnezGroups = R.propOr([], 'custom_эталонные_блюда', item);\n\n if (\n R.intersection(dietanamnezGroups, allowedItems)?.length ||\n R.contains(item.key, allowedItems)\n ) {\n return {\n ...item,\n allowed: 'dietanamnez',\n };\n }\n\n return item;\n };\n\n const setKindsFood = (item) => {\n const dietanamnezGroups = R.propOr([], 'custom_эталонные_блюда', item);\n const kindsFoodForbidden = R.compose(\n R.defaultTo([]),\n R.propOr([], 'custom_не_применяется_в'),\n )(item);\n\n const kindsFoodInter = R.intersection(excludedKindsFood, kindsFoodForbidden);\n const dietanamnezInter = R.intersection(forbiddenItems, dietanamnezGroups);\n\n if (\n !R.isEmpty(dietanamnezInter) ||\n !R.isEmpty(kindsFoodInter)\n ) {\n return {\n ...item,\n warning: 'dietanamnez',\n };\n }\n\n return item;\n };\n\n const setDiagnoses = (item) => {\n const diagnosesForbidden = R.compose(\n R.defaultTo([]),\n R.propOr([], 'custom_запрещено_к_употреблению_при'),\n )(item);\n\n const diagnosesInter = R.intersection(patientDisease, diagnosesForbidden);\n\n if (!R.isEmpty(diagnosesInter)) {\n return {\n ...item,\n forbidden: R.compose(\n R.defaultTo('diagnoses'),\n R.propOr(null, 'label'),\n R.propOr(null, diagnosesInter[0]),\n )(disease),\n };\n }\n\n return item;\n };\n\n const setAllergen = (item) => {\n if (R.contains(item.key, allergen)) {\n return {\n ...item,\n forbidden: 'allergen',\n };\n }\n\n return item;\n };\n\n const setAge = (item) => {\n const dishAges = item.custom_возрастнаягруппа || [];\n\n if (age && !R.isEmpty(dishAges) && R.intersection(dishAges, goodAgeOptions).length === 0) {\n return {\n ...item,\n forbidden: 'age',\n };\n }\n\n return item;\n };\n\n return R.map(R.compose(\n R.ifElse(itWithoutStatus, setAge, R.identity),\n R.ifElse(itWithoutStatus, setDietanamnezAllowed, R.identity),\n R.ifElse(itWithoutStatus, setKindsFood, R.identity),\n R.ifElse(itWithoutStatus, setAllergen, R.identity),\n R.ifElse(itWithoutStatus, setDiagnoses, R.identity),\n ), productList);\n },\n);\n","import * as R from 'ramda';\nimport { fk, attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport convertFromServerTimeZoneToCurrentTimeZone\n from 'utils/convertFromServerTimeZoneToCurrentTimeZone';\n\nconst {\n reducer,\n\n fetchSuccess,\n save,\n} = generator({\n name: 'InstitutionSubscription',\n tableId: 115,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_действующий_тарифный_план: R.propOr(null, 'key'),\n custom_текущий_вариант_подписки: R.propOr(null, 'key'),\n custom_оплачено: R.propOr(null, 'key'),\n custom_дата_начала_подписки: convertFromServerTimeZoneToCurrentTimeZone,\n custom_время_окончания_подписки: convertFromServerTimeZoneToCurrentTimeZone,\n }),\n});\n\nexport default class InstitutionSubscription extends Model {\n static modelName = 'InstitutionSubscription';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n custom_активных_пользователей: attr(),\n custom_время_окончания_подписки: attr(),\n custom_дата_начала_подписки: attr(),\n custom_действующий_тарифный_план: attr(), // fk\n custom_количество_пользователей: attr(),\n custom_оплачено_пользователей: attr(),\n custom_оплачено: fk('SubscriptionDay', 'futurePayments'),\n custom_текущий_вариант_подписки: fk('SubscriptionDay', 'payments'),\n custom_оплачено_дней: attr(),\n custom_остаток_бонусных_дней: attr(),\n custom_стоимость_текущей_подписки: attr(),\n }\n\n static reducer = reducer;\n}\n\nexport {\n fetchSuccess,\n save,\n};\n","import { fetchSuccess as meals } from 'redux/modules/meals';\nimport { fetchSuccess as patients } from 'redux/modules/patients';\nimport { fetchSuccess as notes } from 'modules/Patient/redux/notes';\nimport { fetchSuccess as patientParams } from 'redux/modules/patientParams';\nimport { fetchSuccess as analysisBlood } from 'modules/Analyses/redux/modules/analysisBlood';\nimport { fetchSuccess as analysisGenes } from 'modules/Analyses/redux/modules/analysisGenes';\nimport { fetchSuccess as analysisHair } from 'modules/Analyses/redux/modules/analysisHair';\nimport { fetchSuccess as analysisSalt } from 'modules/Analyses/redux/modules/analysisSalt';\nimport { fetchSuccess as analysisVitamin } from 'modules/Analyses/redux/modules/analysisVitamin';\nimport { fetchSuccess as analyses } from 'modules/Analyses/redux/modules/patientAnalysis';\nimport { fetchSuccess as day } from 'modules/Rations/redux/modules/day';\nimport { fetchSuccess as productComposition } from 'redux/modules/productComposition';\nimport { fetchSuccess as rations } from 'modules/Rations/redux/modules/ration';\nimport { fetchSuccess as staff } from 'redux/modules/staff';\nimport { fetchSuccess as techCard } from 'redux/modules/productTechCard';\nimport { fetchSuccess as journal } from 'redux/modules/journal';\nimport { fetchSuccess as dietanamnezItem } from 'modules/Dietanamnez/redux/modules/dietanamnezItem';\nimport { fetchSuccess as ingestion } from 'modules/Rations/redux/modules/ingestion';\nimport { fetchSuccess as elements } from 'modules/Rations/redux/modules/patientsElements';\nimport { fetchSuccess as allergenMeals } from 'modules/Rations/redux/modules/allergen';\nimport { fetchSuccess as institutionSubscription } from 'redux/modules/institutionSubscription';\nimport { fetchSuccess as allergen } from 'redux/modules/patientsAllergen';\nimport { fetchSuccess as dietanamnez } from 'modules/Dietanamnez/redux/modules/dietanamnez';\nimport { fetchSuccess as supplementRation } from 'modules/Supplement/redux/modules/supplement';\nimport { fetchSuccess as supplementRationDish } from 'modules/Supplement/redux/modules/supplementDish';\nimport { fetchSuccess as supplementAllergen } from 'modules/Supplement/redux/modules/supplementAllergen';\nimport { fetchSuccess as supplementComposition } from 'redux/modules/supplementComposition';\nimport { fetchSuccess as supplementTechCard } from 'redux/modules/supplementTechCard';\nimport { fetchSuccess as partner } from 'redux/modules/partner';\nimport { fetchSuccess as links } from 'redux/modules/registrationLinks';\n\nconst subitemsMap = {\n 4: meals,\n 5: patients,\n 9: notes,\n 13: patientParams,\n 19: analyses,\n 21: analysisGenes,\n 22: analysisVitamin,\n 24: analysisBlood,\n 25: analysisHair,\n 27: analysisSalt,\n 29: day,\n 30: productComposition,\n 39: rations,\n 47: staff,\n 54: techCard,\n 57: journal,\n 65: dietanamnezItem,\n 95: ingestion,\n 96: elements,\n 99: allergenMeals,\n 115: institutionSubscription,\n 138: allergen,\n 140: dietanamnez,\n 158: supplementRation,\n 160: supplementRationDish,\n 161: supplementComposition,\n 164: supplementTechCard,\n 167: supplementAllergen,\n 192: partner,\n 212: links,\n};\n\nexport default subitemsMap;","import * as R from 'ramda';\nimport { appKey } from 'config';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nconst parsers = {\n 98: {\n fields: {\n custom_элемент_рациона: R.prop('custom_элемент_состава'),\n custom_значение: R.prop('custom_количество'),\n custom_продукт: R.prop('custom_блюдо'),\n ___parent: R.prop('custom_блюдо'),\n },\n key: R.path(['fields', 'custom_source']),\n },\n 113: {\n fields: {\n custom_элемент_рациона: R.compose(\n R.objOf('key'),\n R.prop('custom_элемент_состава'),\n ),\n custom_значение: R.compose(\n Number,\n R.replace(',', '.'),\n R.prop('custom_количество'),\n ),\n custom_продукт: R.prop('custom_блюдо'),\n ___parent: R.compose(\n R.objOf('key'),\n R.prop('custom_блюдо'),\n ),\n },\n key: R.path(['fields', 'custom_source']),\n },\n 114: {\n fields: {\n custom_блюдо: R.prop('custom_блюдо'),\n custom_время: R.prop('custom_время'),\n custom_номер: R.prop('custom_номер'),\n custom_количество_план: R.compose(\n parseInt,\n R.prop('custom_план'),\n ),\n ___parent: R.prop('custom_дневной_рацион_пациента'),\n custom_ссылка_на_активное_блюдо: R.prop('custom_ссылка_на_активное_блюдо'),\n },\n key: R.path(['fields', 'custom_блюдо_рациона', 'key']),\n },\n 134: {\n fields: {\n custom_рецепт: R.prop('custom_рецепт'),\n },\n key: R.compose(\n R.replace('cXaX', appKey),\n R.path(['fields', 'custom_ключ_блюда'])\n ),\n },\n 135: {\n fields: {\n ___parent: R.compose(\n R.objOf('key'),\n R.replace('cXaX', appKey),\n R.prop('custom_ключ_блюда'),\n ),\n custom_ингредиент: fields => ({\n key: fields.custom_ключ_ингредиента,\n label: fields.custom_ингредиент,\n }),\n custom_единица_измерения__гр_мл: R.compose(\n R.objOf('label'),\n R.prop('custom_ед__изм'),\n ),\n custom_вес: R.prop('custom_вес'),\n },\n key: R.path(['fields', 'custom_ключ_тех_карты']),\n },\n 139: {\n fields: {\n custom_элемент_рациона: R.prop('custom_элемент_состава'),\n custom_значение: R.prop('custom_количество'),\n custom_продукт: R.prop('custom_блюдо'),\n ___parent: R.prop('custom_блюдо'),\n },\n key: R.path(['fields', 'custom_source']),\n },\n 166: {\n fields: {\n ___parent: R.compose(\n R.objOf('key'),\n R.prop('custom_бад_ключ'),\n ),\n custom_элемент: R.compose(\n R.objOf('key'),\n R.prop('custom_элемент_состава_бад'),\n ),\n custom_значение_на_порцию: R.prop('custom_количество_в_бад'),\n },\n key: R.path(['fields', 'custom_источник_ключ']),\n },\n};\n\nexport default function transformVirtualCategory(group) {\n const key = R.pathOr(null, ['list', 0, 'key'], group);\n const { table } = getKeyInfo(key);\n\n if (!parsers[table]) {\n return [group];\n }\n\n const list = group.list;\n const groupParsers = [].concat(parsers[table]);\n\n return R.map((parser) => {\n const transformedList = R.map((item) => {\n if (typeof parser === 'function') {\n return parser(item);\n }\n\n return {\n fields: R.map(val => val(item.fields), parser.fields),\n key: parser.key(item),\n };\n }, list);\n\n return {\n ...group,\n list: R.reject(R.isNil, transformedList),\n };\n }, groupParsers);\n}\n","import * as R from 'ramda';\nimport { put } from 'redux-saga/effects';\n\nimport getKeyInfo from 'utils/getKeyInfo';\nimport transformVirtualCategory from '../transformVirtualCategory';\n\nconst tableIdByLabel = {\n 'Блюда-аллергены пациента': 99,\n};\n\nexport default function getSubitemsEffect(response, subitems = {}) {\n return R.compose(\n R.reject(R.isNil),\n R.values,\n R.mapObjIndexed((group, id) => {\n const action = subitems[id];\n\n if (!action) {\n return null;\n }\n\n if (typeof action !== 'function') {\n throw new Error('Subitems config should contain function');\n }\n\n const parents = R.map(R.path(['fields', '___parent', 'key']), group.list);\n\n return put(action({\n response: group,\n parents: R.compose(\n R.reject(R.isNil),\n R.uniq,\n )([...parents, response.key]),\n }));\n }),\n R.reduce((acc, group) => {\n R.forEach((transformedGroup) => {\n const key = R.pathOr(null, ['list', 0, 'key'], transformedGroup);\n const table = key ? getKeyInfo(key).table : tableIdByLabel[group.label];\n\n if (!acc[table]) {\n acc[table] = transformedGroup; // eslint-disable-line no-param-reassign\n return;\n }\n\n acc[table] = { // eslint-disable-line no-param-reassign\n ...acc[table],\n list: [\n ...acc[table].list,\n ...transformedGroup.list,\n ],\n };\n }, transformVirtualCategory(group));\n\n return acc;\n }, {}),\n R.pathOr([], ['related', 'list']),\n )(response);\n}\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetchSuccess,\n save,\n} = generator({\n name: 'Ingestion',\n tableId: 95,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_схема_питания: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetchSuccess,\n save,\n};\n\nexport {\n getItemsArrayByParent,\n} from 'redux/hor/module/selectors';\n\nexport {\n getFirstIngestionTime,\n} from './selector';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { appKey } from 'config';\n\nimport { getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nconst firstIngestionKey = `${appKey}t36r1495`;\n\nexport const getFirstIngestionTime = (key, state) => {\n const items = getItemsArrayByParent(key, state);\n\n const time = R.compose(\n R.propOr('', 'custom_время'),\n R.find(R.propEq('custom_схема_питания', firstIngestionKey)),\n )(items);\n\n return time;\n};\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getPatientAllergen = createSelector(\n R.identity,\n (_, state) => getItemsArray(state),\n\n R.uncurryN(2, key => R.compose(\n R.pluck('custom_блюдо'),\n R.filter(R.propEq('custom_пациент', key)),\n )),\n);\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetchSuccess,\n} = generator({\n name: 'Allergen',\n tableId: 99,\n parentField: 'custom_пациент',\n parseItem: R.evolve({\n custom_блюдо: R.propOr(null, 'key'),\n custom_пациент: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetchSuccess,\n};\n\nexport {\n getPatientAllergen,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDayKey from '../getDayKey';\n\nexport default createOrmSelector(\n getDayKey,\n R.path(['productComposition']),\n\n (session, key, state) => {\n const { Day } = session;\n\n return Day\n .withId(key)\n .getComposition(state);\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDayKey from '../getDayKey';\n\nexport default createOrmSelector(\n getDayKey,\n R.path(['productComposition']),\n\n (session, key, state) => {\n const { Day } = session;\n\n const compositions = Day\n .withId(key)\n .getGroupsComposition(state);\n\n const initial = R.compose(\n R.fromPairs,\n R.map(item => [item, [0]]),\n R.flatten,\n R.map(R.keys),\n )(compositions);\n\n return R.reduce(R.mergeWith((a, b) => a.concat(b || 0)), initial, compositions);\n },\n);\n","import * as R from 'ramda';\nimport createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getApplicationUser from 'redux/selectors/getApplicationUser';\nimport getStaff from 'redux/selectors/getStaff';\nimport getUserCanEditSystemTemplates from 'redux/selectors/getUserCanEditSystemTemplates';\nimport { getUserRight } from 'redux/selectors/getUserRights';\n\nimport getRationKey from '../getRationKey';\n\n// ration key is both temporary (uuid) and normal id;\n// both are accessed at the same time, so cache orm selector by a ration key\nexport default createCachedOrmSelector(\n getRationKey,\n getApplicationUser,\n getUserCanEditSystemTemplates,\n state => getUserRight('INSTITUTION_ADMINISTER', state),\n getStaff,\n\n (session, rationKey, userKey, canEditSystemTemplates, isAdmin, staff) => {\n const { Ration } = session;\n if (!Ration.idExists(rationKey)) {\n return null;\n }\n\n const ration = Ration.withId(rationKey);\n const item = ration.ref;\n const type = R.propOr(null, 'custom_тип_шаблона', item);\n const owner = R.propOr(null, '___owner', item);\n const isCurrentUserCanEdit = userKey === owner || isAdmin;\n const author = R.find(R.propEq('custom_ключ_системного_пользователяold', ration.___createduser), staff);\n\n return {\n ...item,\n specialist: R.compose(\n R.join(' '),\n R.values,\n R.pick(['custom_firstname', 'custom_midname', 'custom_lastname']),\n R.defaultTo({}),\n )(author),\n custom_продолжительность: ration.custom_продолжительность,\n withEdit: type === 3 ? canEditSystemTemplates : isCurrentUserCanEdit,\n withDelete: type === 3 ? false : isCurrentUserCanEdit,\n };\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getRation from '../getRation';\n\nexport default createSelector(\n getRation,\n\n (ration) => {\n const target = R.propOr(null, 'custom_цель', ration);\n const grade = R.propOr(null, 'custom_степень_за_месяц', ration);\n\n return target * grade;\n },\n);\n","import { appKey } from 'config';\nimport { createSelector } from 'reselect';\n\nimport getPatientEnergyMax from 'redux/selectors/getPatientEnergyMax';\nimport getRationGrade from '../getRationGrade';\n\nconst getValue = (value, grade, deviationMin, deviationMax = 2 * deviationMin) => {\n if (grade > 0) {\n return {\n norm: value,\n min: value - deviationMin,\n max: value + deviationMax,\n };\n }\n\n if (grade < 0) {\n return {\n norm: value,\n min: value - deviationMax,\n max: value + deviationMin,\n };\n }\n\n return {\n norm: value,\n };\n};\n\nconst getEnergy = (grade, energy) => {\n const diff = grade > 0 ? 133 : 128;\n const value = energy + (diff * grade);\n return getValue(value, grade, 100);\n};\n\nconst getProtein = (grade, energy) => getValue(energy * 0.0375, grade, 4);\nconst getFats = (grade, energy) => getValue(energy * 0.0333, grade, 3, 7);\nconst getCarbohydrate = (grade, energy) => getValue(energy * 0.1375, grade, 14);\n\nexport default createSelector(\n getRationGrade,\n getPatientEnergyMax,\n\n (grade, energy) => {\n const normEnergy = getEnergy(grade, energy);\n\n if (!energy) {\n return {};\n }\n\n console.log({\n [`${appKey}t28r219`]: normEnergy,\n [`${appKey}t28r221`]: getProtein(grade, normEnergy.norm),\n [`${appKey}t28r222`]: getFats(grade, normEnergy.norm),\n [`${appKey}t28r223`]: getCarbohydrate(grade, normEnergy.norm),\n });\n\n return {\n [`${appKey}t28r219`]: normEnergy,\n [`${appKey}t28r221`]: getProtein(grade, normEnergy.norm),\n [`${appKey}t28r222`]: getFats(grade, normEnergy.norm),\n [`${appKey}t28r223`]: getCarbohydrate(grade, normEnergy.norm),\n };\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getDayComposition from '../getDayComposition';\nimport getRationNorm from '../getRationNorm';\n\nexport default createSelector(\n getDayComposition,\n getRationNorm,\n\n R.merge,\n);\n","import * as R from 'ramda';\nimport createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getDayKey from '../getDayKey';\n\nexport default createCachedOrmSelector(\n getDayKey,\n (state, props) => props.groupKey,\n R.path(['productComposition']),\n\n (session, dayKey, time, state) => {\n const { Day } = session;\n\n return Day.withId(dayKey).getGroupComposition(time, state);\n },\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\nimport memoizeByResult from 'utils/memoizeByResult';\n\nimport getDayKey from '../getDayKey';\n\nexport default createCachedOrmSelector(\n getDayKey,\n (state, props) => props.groupKey,\n\n memoizeByResult(\n (session, dayKey, time) => {\n const { Day } = session;\n const ration = Day.withId(dayKey).custom_рацион_пациента;\n\n return ration\n .days\n .exclude({\n key: dayKey,\n })\n .toModelArray()\n .filter(day => day.groups[time])\n .map(day => day.custom_номер);\n },\n (session, key) => key,\n ),\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\nimport memoizeByResult from 'utils/memoizeByResult';\n\nimport getDayKey from '../getDayKey';\n\nexport default createCachedOrmSelector(\n getDayKey,\n (state, props) => props.groupKey,\n\n memoizeByResult(\n (session, dayKey, key) => {\n const { Day } = session;\n\n return Day\n .withId(dayKey)\n .groups[key]\n .группы_альтернатив\n },\n (_, dayKey, key) => `${dayKey}_${key}`,\n ),\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport timeToNumber from '../../../utils/timeToNumber';\n\nimport getDayKey from '../getDayKey';\n\nexport default createOrmSelector(\n getDayKey,\n\n (session, key) => {\n const { Day } = session;\n const day = Day.withId(key);\n\n const groups = day.groups;\n\n return R.compose(\n R.sortBy(timeToNumber),\n R.keys,\n )(groups);\n },\n);\n","import * as R from 'ramda';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDayKey from '../getDayKey';\n\nexport default createOrmSelector(\n getDayKey,\n\n (session, key) => {\n const { Day } = session;\n\n const groups = R.values(Day.withId(key).groups);\n\n return R.any(group => !group.группы_альтернатив.length, groups);\n },\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getDayKey from '../getDayKey';\n\nexport default createSelector(\n getDayKey,\n\n (session, key) => {\n const { Day } = session;\n\n return Day.withId(key).getIsFilled();\n },\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getRationKey from '../getRationKey';\n\nexport default createSelector(\n getRationKey,\n\n (session, key) => {\n const { Ration } = session;\n\n return Ration\n .withId(key)\n .days\n .toModelArray()\n .filter(item => item.getIsFilled())\n .map(item => item.custom_номер);\n },\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nexport default createSelector(\n (session) => {\n const { Day } = session;\n\n return Day\n .filter({\n custom_шаблон_дня: true,\n })\n .toRefArray()\n .map(item => ({\n label: item.custom_название_для_шаблона,\n key: item.key,\n }));\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { appKey } from 'config';\n\nimport getDayKey from '../getDayKey';\n\nconst getKey = (state, props) => props.isPatch ? props.itemKey : undefined;\n\nexport default createOrmSelector(\n getDayKey,\n (state, props) => props.groupKey,\n getKey,\n\n (session, dayKey, groupKey, itemKey) => {\n const { Day } = session;\n\n const dishGroup = Day.withId(dayKey).groups[groupKey].группы_альтернатив[itemKey];\n\n if (!dishGroup) {\n return null;\n }\n\n const activeKey = dishGroup.активное.replace('cXaX', appKey);\n\n return {\n custom_колич: dishGroup.блюда[dishGroup.активное],\n custom_блюдо: activeKey,\n }\n },\n);","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { appKey } from 'config';\n\nimport getDayKey from '../getDayKey';\n\nexport default createOrmSelector(\n getDayKey,\n (state, props) => props.groupKey,\n (state, props) => props.itemKey,\n\n (session, dayKey, groupKey, itemKey) => {\n const { Day } = session;\n\n const group = Day.withId(dayKey).groups[groupKey];\n\n if (!group) {\n return {};\n }\n\n const dishGroup = group.группы_альтернатив[itemKey];\n const activeKey = dishGroup.активное.replace('cXaX', appKey);\n\n return {\n key: activeKey,\n custom_колич: dishGroup.блюда[dishGroup.активное],\n custom_блюдо: activeKey,\n }\n },\n);\n","import * as R from 'ramda';\nimport createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\nimport { appKey } from 'config';\n\nimport getDayKey from '../getDayKey';\nimport getMealsWithStatus from 'redux/selectors/getMealsWithStatus';\n\nexport default createCachedOrmSelector(\n getDayKey,\n (state, props) => props.groupKey,\n (state, props) => props.itemKey,\n getMealsWithStatus,\n\n (session, dayKey, groupKey, itemKey, mealsArray) => {\n const { Day } = session;\n const meals = R.indexBy(R.prop('key'), mealsArray);\n\n const group = Day.withId(dayKey).groups[groupKey];\n\n if (!group) {\n return [];\n }\n\n const dishGroup = Day.withId(dayKey).groups[groupKey].группы_альтернатив[itemKey];\n\n return Object.keys(dishGroup.блюда)\n .map((baseKey) => {\n const key = baseKey.replace('cXaX', appKey)\n const amount = dishGroup.блюда[baseKey]\n const meal = meals[key] || {};\n\n return {\n ...meal,\n value: key,\n amount,\n label: meal.custom_название || baseKey,\n };\n });\n },\n);\n","import { createSelector } from 'reselect';\n\nimport { getInstituteTemplate } from 'modules/Rations/redux/modules/ration/selectors';\nimport { getUserRight } from 'redux/selectors/getUserRights';\nimport getApplicationUser from 'redux/selectors/getApplicationUser';\n\nexport default createSelector(\n state => state,\n state => getUserRight('INSTITUTION_ADMINISTER', state),\n getApplicationUser,\n\n getInstituteTemplate,\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getApplicationUser from 'redux/selectors/getApplicationUser';\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nexport default createSelector(\n getApplicationUser,\n getPatientKey,\n\n (session, appUser, patientKey) => {\n const { Ration } = session;\n\n const lastRation = Ration\n .filter({\n ___parent: patientKey,\n ___owner: appUser,\n custom_не_назначен: true,\n custom_удалено: false,\n })\n .last();\n\n if (!lastRation) {\n return null;\n }\n\n return lastRation.key;\n },\n);\n","import { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport getPatientRationNewKey from '../getPatientRationNewKey';\n\nexport default createSelector(\n getPatientRationNewKey,\n\n (key) => {\n if (!key) {\n return null;\n }\n\n return getKeyInfo(key).record;\n },\n);\n","import * as R from 'ramda';\nimport createSelector from 'redux/utils/createOrmSelector';\nimport moment from 'moment';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport getStaff from 'redux/selectors/getStaff';\nimport getPatientKey from 'redux/selectors/getPatientKey';\nimport getAuthUser from 'redux/selectors/getAuthUser';\nimport { getUserRight } from 'redux/selectors/getUserRights';\n\nexport default createSelector(\n state => getUserRight('INSTITUTION_ADMINISTER', state),\n getAuthUser,\n getPatientKey,\n getStaff,\n\n (session, isAdmin, userKey, patientKey, staff) => {\n const { Ration } = session;\n\n return Ration\n .filter({\n ___parent: patientKey,\n custom_не_назначен: false,\n })\n .exclude({\n custom_удалено: true,\n })\n .filter(item => !item.isDeleted)\n .toModelArray()\n .sort((a, b) => moment(b.custom_начало_диеты) - moment(a.custom_начало_диеты))\n .map((item) => {\n const start = moment(item.custom_начало_диеты);\n const duration = item.custom_продолжительность;\n const id = getKeyInfo(item.key).record;\n const author = R.find(R.propEq('custom_ключ_системного_пользователяold', item.___createduser), staff);\n\n return {\n withDelete: R.pathEq(['___createduser'], userKey, item) || isAdmin,\n withView: R.pathEq(['___createduser'], userKey, item) || isAdmin,\n id: id ? id.toString() : undefined,\n key: item.key,\n title: item.custom_название || start.format('DD.MM.YYYY HH:mm'),\n dateStart: start.format('DD.MM.YYYY HH:mm'),\n duration,\n specialist: R.compose(\n R.join(' '),\n R.values,\n R.pick(['custom_firstname', 'custom_midname', 'custom_lastname']),\n R.defaultTo({}),\n )(author),\n isDeleting: item.isDeleting,\n };\n });\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { PatientsElements } = session;\n\n return PatientsElements\n .filter({\n ___parent: patientKey,\n })\n .toRefArray();\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getRationTableElements from '../getRationTableElements';\n\nexport default createSelector(\n getRationTableElements,\n\n R.pluck('custom_элемент_состава'),\n);\n","import { appKey } from 'config';\n\nconst columns = [\n {\n name: 'ПП',\n width: 30,\n },\n {\n name: 'Время',\n width: 80,\n },\n {\n name: 'Продукт/Блюдо',\n width: 250,\n },\n {\n name: 'МЕРА, Г/МЛ',\n width: 100,\n },\n {\n name: 'ПОРЦИЯ',\n width: 120,\n },\n {\n name: 'ЭЦ, ККАЛ',\n width: 120,\n element: `${appKey}t28r219`,\n isEnergy: true,\n },\n {\n name: 'Б, Г',\n label: 'Белки',\n width: 80,\n element: `${appKey}t28r221`,\n isBzhu: true,\n k: 4,\n },\n {\n name: 'Ж, Г',\n label: 'Жиры',\n width: 80,\n element: `${appKey}t28r222`,\n isBzhu: true,\n k: 9,\n },\n {\n name: 'У, Г',\n label: 'Углеводы',\n width: 80,\n element: `${appKey}t28r223`,\n isBzhu: true,\n k: 4,\n },\n];\n\nexport default columns;","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getElementsVisible from 'redux/selectors/getElementsVisible';\n\nimport getRationTableElementsKey from '../getRationTableElementsKey';\n\nimport columns from './columns';\n\nexport default createSelector(\n getRationTableElementsKey,\n getElementsVisible,\n\n (selected, visible) =>\n R.compose(\n R.concat(columns),\n R.map((item) => {\n const name = item.custom_сокращенное_наименование || item.custom_наименование;\n\n return {\n name: `${name}, ${R.path(['custom_ед_изм', 'label'], item)}`,\n label: R.prop('custom_наименование', item),\n width: 80,\n element: R.prop('key', item),\n };\n }),\n R.sortBy(R.path(['custom_элемент_состава', 'key'])),\n R.uniq,\n R.filter(item => R.contains(item.key, selected)),\n )(visible),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getRationColumns from '../getRationColumns';\n\nexport default createSelector(\n getRationColumns,\n\n R.compose(\n R.sum,\n R.pluck('width'),\n ),\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getRationKey from '../getRationKey';\n\nexport default createOrmSelector(\n getRationKey,\n R.path(['productComposition']),\n\n (session, key, state) => {\n const { Ration } = session;\n\n return Ration\n .withId(key)\n .getComposition(state);\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getRationKey from '../getRationKey';\n\nexport default createOrmSelector(\n getRationKey,\n R.path(['productComposition']),\n\n (session, key, state) => {\n const { Ration } = session;\n\n const compositions = Ration\n .withId(key)\n .getGroupsComposition(state);\n\n const initial = R.compose(\n R.fromPairs,\n R.map(item => [item, [0]]),\n R.flatten,\n R.map(R.keys),\n )(compositions);\n\n return R.reduce(R.mergeWith((a, b) => a.concat(b || 0)), initial, compositions);\n },\n);\n","\nimport createSelector from 'redux/utils/createOrmSelector';\n\nimport getRationDayNumber from '../getRationDayNumber';\nimport getRationKey from '../getRationKey';\n\nexport default createSelector(\n getRationDayNumber,\n getRationKey,\n\n (session, number, rationKey) => {\n const { Ration, Day } = session;\n\n if (!Ration.idExists(rationKey)) {\n return false;\n }\n\n const removingDays = Day\n .filter({ custom_рацион_пациента: rationKey })\n .exclude(day => !day.isDeleting);\n\n return !removingDays.count();\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getRation from '../getRation';\n\nexport default createSelector(\n getRation,\n\n R.propOr(0, 'custom_продолжительность'),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getRation from '../getRation';\n\nexport default createSelector(\n getRation,\n\n R.compose(\n R.not,\n R.propOr(false, 'custom_не_назначен'),\n ),\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport { appKey } from 'config';\n\nimport getRationKey from '../getRationKey';\n\nexport default createSelector(\n getRationKey,\n\n (session, rationKey) => {\n const { Ration } = session;\n\n const ration = Ration.withId(rationKey);\n\n if (!ration) {\n return false;\n }\n\n return ration[`${appKey}ts9c39c3c1r77`];\n },\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getRationKey from '../getRationKey';\n\nexport default createSelector(\n getRationKey,\n getRationKey,\n\n (session, rationKey) => {\n const { Ration } = session;\n\n return Ration.withId(rationKey).getIsFilled();\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getRation from '../getRation';\n\nexport default createSelector(\n getRation,\n\n R.compose(\n R.not,\n R.propEq('custom_тип_шаблона', 0),\n R.defaultTo({}),\n ),\n);\n","import * as R from 'ramda';\n\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { timeToMinutes } from \"utils/time\";\n\nimport getRationKey from '../getRationKey';\n\nexport default createOrmSelector(\n getRationKey,\n\n (session, rationKey) => {\n const { Ration } = session;\n\n return Ration\n .withId(rationKey)\n .days\n .orderBy('custom_номер')\n .toModelArray()\n .map((day) => {\n const number = day.custom_номер;\n\n return {\n key: day.key,\n date: `День ${number}`,\n sections: Object.keys(day.groups)\n .sort((a, b) => timeToMinutes(a) - timeToMinutes(b))\n .map(time => {\n const group = day.groups[time]\n\n return {\n time,\n data: group.группы_альтернатив.map((group, index) => index),\n }\n })\n .filter(groups => !R.isEmpty(groups.data)),\n };\n });\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\nimport memoizeByResult from 'utils/memoizeByResult';\n\nimport { appKey } from 'config';\n\nimport getRationKey from '../getRationKey';\nimport getRationDayNumber from '../getRationDayNumber';\n\nexport default createOrmSelector(\n getRationKey,\n getRationDayNumber,\n\n memoizeByResult(\n (session, rationKey, currentDay) => {\n const { Ration } = session;\n\n const dishList = Ration\n .withId(rationKey)\n .days\n .toModelArray()\n .map(day => {\n return Object.keys(day.groups).map(time => {\n const groups = day.groups[time].группы_альтернатив;\n\n return groups.map(group => {\n const dishes = Object.keys(group.блюда);\n\n return dishes.map(item => {\n const key = item.replace('cXaX', appKey);\n\n return {\n dish: key,\n number: Number(day.custom_номер),\n isActive: item === group.активное,\n }\n }).flat()\n }).flat()\n }).flat()\n }).flat();\n\n return R.compose(\n R.pickBy(R.complement(R.isEmpty)),\n R.map(R.omit([currentDay])),\n R.map(R.map(R.any(R.prop('isActive')))),\n R.map(R.groupBy(R.prop('number'))),\n R.groupBy(R.prop('dish')),\n )(dishList);\n },\n (_, rationKey) => rationKey,\n ),\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport {\n getSelectValues,\n} from 'modules/Rations/redux/modules/mode';\n\nexport default createSelector(\n R.path(['Rations', 'mode']),\n\n getSelectValues,\n);\n","import { createSelector } from 'reselect';\nimport * as R from 'ramda';\n\nimport getUserCanEditSystemTemplates from 'redux/selectors/getUserCanEditSystemTemplates';\n\nimport getRation from '../getRation';\n\nconst getSourceRation = createSelector(\n getRation,\n state => state,\n\n (ration, state) => {\n if (!ration || !ration.custom_debuginfo) {\n return null;\n }\n\n return getRation(state, {\n rationKey: ration.custom_debuginfo,\n });\n },\n);\n\nexport default createSelector(\n getSourceRation,\n getUserCanEditSystemTemplates,\n\n (sourceRation, isChosen) => {\n if (!isChosen || !sourceRation) {\n return null;\n }\n\n return R.propOr(null, 'custom_название', sourceRation);\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'activeGroup']),\n R.path(['Rations', 'ui', 'activeItem']),\n (state, props) => props.id,\n (state, props) => props.groupKey,\n\n (activeGroup, activeItem, id, groupKey) => {\n const isActiveByGroup = activeGroup && activeGroup === id;\n const isActiveByItem = activeItem && (activeItem[0] === groupKey && activeItem[1] === id);\n\n return isActiveByGroup || isActiveByItem;\n },\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getDayKey from '../getDayKey';\n\nexport default createOrmSelector(\n getDayKey,\n R.path(['Rations', 'ui', 'activeGroup']),\n R.path(['Rations', 'ui', 'activeItem']),\n (state, props) => props.groupKey,\n (state, props) => props.itemKey,\n\n (session, dayKey, activeGroup, activeItem, groupKey, itemKey) => {\n const isInactiveByGroup = activeGroup && activeGroup !== groupKey;\n const isInactiveByItem = activeItem && (activeItem[0] !== groupKey || (itemKey && activeItem[1] !== itemKey));\n\n return isInactiveByGroup || isInactiveByItem;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'isDisplayBzhuInRelativePercents']),\n\n R.identity,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'isFixed']),\n\n R.identity,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'activeMenu']),\n (state, props) => props.itemKey,\n\n R.equals,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'activeMenu']),\n\n item => !!item,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'activeGroup']),\n R.path(['Rations', 'ui', 'activeItem']),\n (state, props) => props.groupKey,\n\n (activeGroup, activeItem, groupKey) => {\n if (groupKey) {\n const isInactiveByGroup = activeGroup && activeGroup !== groupKey;\n\n return isInactiveByGroup || activeItem;\n }\n\n return !!activeItem || !!activeGroup;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['Rations', 'ui', 'width']),\n\n R.identity,\n);\n","import { getSystemTemplates } from 'modules/Rations/redux/modules/ration/selectors';\n\nexport default getSystemTemplates;\n","import { getGeneratorTemplates } from 'modules/Rations/redux/modules/ration/selectors';\n\nexport default getGeneratorTemplates;\n","import { getPersonalTemplate } from 'modules/Rations/redux/modules/ration/selectors';\n\nexport default getPersonalTemplate;\n","import { createSelector } from 'reselect';\n\nimport getInstitutionRationTemplates from '../getInstitutionRationTemplates';\nimport getRationSystemTemplates from '../getRationSystemTemplates';\nimport getRationGeneratorTemplates from '../getRationGeneratorTemplates';\nimport getUserRationTemplates from '../getUserRationTemplates';\n\nexport default createSelector(\n (state, props) => props.type,\n getInstitutionRationTemplates,\n getRationSystemTemplates,\n getUserRationTemplates,\n getRationGeneratorTemplates,\n\n (type, institutionTemplates, commonTemplates, personalTemplates, generatorTemplates) => {\n const templatesMap = {\n common: commonTemplates,\n personal: personalTemplates,\n institution: institutionTemplates,\n generator: generatorTemplates,\n };\n\n return templatesMap[type];\n },\n);\n","import { createSelector } from 'reselect';\n\nimport { getRecommendedTemplates } from 'modules/Rations/redux/modules/ration/selectors';\nimport { getDietanamnezKindsFood } from 'modules/Dietanamnez/redux/selectors';\n\nimport getPatientEnergy from 'redux/selectors/getPatientEnergy';\nimport getPatientDisease from 'redux/selectors/getPatientDisease';\nimport getUserCanEditSystemTemplates from 'redux/selectors/getUserCanEditSystemTemplates';\n\nexport default createSelector(\n getPatientEnergy,\n getPatientDisease,\n getDietanamnezKindsFood,\n state => state,\n getUserCanEditSystemTemplates,\n\n getRecommendedTemplates,\n);\n","import { createSelector } from 'reselect';\n\nimport { getRestTemplates } from 'modules/Rations/redux/modules/ration/selectors';\nimport { getDietanamnezKindsFood } from 'modules/Dietanamnez/redux/selectors';\n\nimport getPatientEnergy from 'redux/selectors/getPatientEnergy';\nimport getPatientDisease from 'redux/selectors/getPatientDisease';\nimport getUserCanEditSystemTemplates from 'redux/selectors/getUserCanEditSystemTemplates';\n\nexport default createSelector(\n getPatientEnergy,\n getPatientDisease,\n getDietanamnezKindsFood,\n state => state,\n getUserCanEditSystemTemplates,\n\n getRestTemplates,\n);\n","import { createSelector } from \"reselect\";\nimport * as R from \"ramda\";\nimport moment from \"moment\";\n\nimport getRation from \"../getRation\";\nimport getRationIsAssigned from \"../getRationIsAssigned\";\nimport getRationIsTemplate from \"../getRationIsTemplate\";\n\nconst getRationTitle = (ration) => {\n const start = moment(R.propOr(null, \"custom_начало_диеты\", ration));\n\n return `${start.format(\"DD.MM.YYYY HH:mm\")}`;\n};\n\nexport default createSelector(\n getRation,\n getRationIsAssigned,\n getRationIsTemplate,\n\n (ration, isAssigned, isTemplate) => {\n return R.compose(\n R.defaultTo(\n isAssigned && !isTemplate ? getRationTitle(ration) : \"Новый рацион\"\n ),\n R.propOr(null, \"custom_название\")\n )(ration);\n }\n);\n","import createSelector from 'redux/utils/createOrmSelector';\n\nimport getApplicationUser from 'redux/selectors/getApplicationUser';\n\nexport default createSelector(\n getApplicationUser,\n\n (session, appUser) => {\n const { Ration } = session;\n\n const lastRation = Ration\n .filter({\n ___owner: appUser,\n custom_не_назначен: true,\n custom_удалено: false,\n })\n .exclude({\n custom_тип_шаблона: 0,\n })\n .exclude({\n isDeleting: true,\n })\n .last();\n\n if (!lastRation) {\n return null;\n }\n\n return lastRation.key;\n },\n);\n","import { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport getUserRationNewTemplateKey from '../getUserRationNewTemplateKey';\n\nexport default createSelector(\n getUserRationNewTemplateKey,\n\n (key) => {\n if (!key) {\n return null;\n }\n\n return getKeyInfo(key).record;\n },\n);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport Radio from 'components/Radio';\n\nimport styles from './RadioGroup.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class RadioGroup extends PureComponent {\n static propTypes = {\n disabled: PropTypes.bool,\n mobileVersion: PropTypes.bool,\n items: PropTypes.array.isRequired,\n name: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n }\n\n static defaultProps = {\n disabled: false,\n items: [],\n name: undefined,\n onChange: () => {},\n }\n\n renderRadio(item, index) {\n return (\n
\n \n {item.content}\n \n
\n );\n }\n\n render() {\n return (\n
\n {this.props.items.map(this.renderRadio, this)}\n
\n );\n }\n}\n","export default function minutesToTime(value, delimiter = ' : ') {\n if (!value || value === '0') {\n return null;\n }\n\n const hour = `${Math.floor(value / 60)}`.padStart(2, '0');\n const minutes = `${value - (hour * 60)}`.padStart(2, '0');\n\n return `${hour}${delimiter}${minutes}`;\n}\n","export default function timeToMinutes(value) {\n if (!value) {\n return value;\n }\n\n if (!isNaN(value)) {\n return value\n }\n\n const [hour, minutes] = value.split(':')\n .map(item => parseInt(item.replace('_', '0'), 10) || 0);\n\n return (hour * 60) + minutes;\n}\n","import * as R from 'ramda';\nimport { createAction } from 'redux-act';\nimport { attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetch,\n save,\n} = generator({\n name: 'staffFlags',\n tableId: 188,\n parseItem: R.evolve({\n custom_пользователь: R.propOr(null, 'key'),\n }),\n});\n\nexport default class WorkerFlags extends Model {\n static modelName = 'WorkerFlags';\n\n static options = {\n idAttribute: 'key',\n };\n\n static fields = {\n custom_пользователь: attr(),\n custom_показана_подсказка_по_списку: attr(),\n custom_показана_подсказка_по_диаграмме: attr(),\n }\n\n static reducer = reducer;\n\n toString() {\n return `WorkerFlags: ${this.key}`;\n }\n}\n\nexport const saveFlag = createAction('STAFFFLAGS__SAVE_FLAG')\n\nexport {\n fetch,\n save,\n};\n","import { createAction, createReducer } from 'redux-act';\n\nconst initialState = {\n supplement: null,\n};\n\nexport const setHoveredSupplement = createAction('SUPPLEMENTNUI__SET_HOVERED_SUPPLEMENT');\nexport const showErrorModal = createAction('SUPPLEMENTNUI__SHOW_ERROR_MODAL');\nexport const hideErrorModal = createAction('SUPPLEMENTNUI__HIDE_ERROR_MODAL');\n\nconst handleSetHoveredSupplement = (state, payload) => {\n if (state.supplement === payload.key) {\n return state\n }\n\n return {\n ...state,\n supplement: payload.key,\n }\n};\n\nconst handleShowErrorModal = (state, payload) => ({\n ...state,\n modal: payload,\n})\n\nconst handleHideErrorModal = (state, payload) => ({\n ...state,\n modal: null,\n})\n\nexport default createReducer({\n [setHoveredSupplement]: handleSetHoveredSupplement,\n [showErrorModal]: handleShowErrorModal,\n [hideErrorModal]: handleHideErrorModal,\n}, initialState);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { getItem } from 'redux/hor/module/selectors';\n\nimport orm from 'redux/orm';\n\nconst getOrmItem = createOrmSelector(\n (state, key) => key,\n\n (session, key) => {\n let result;\n\n const models = R.pluck('modelName', orm.registry);\n const items = R.compose(\n R.values,\n R.pick(models),\n )(session);\n\n R.forEach((Model) => {\n if (Model.idExists(key)) {\n result = Model.withId(key).ref;\n }\n }, items);\n\n return result;\n },\n);\n\nfunction getItemByKey(key, state) {\n let result;\n\n R.forEachObjIndexed((val, prop) => {\n let item;\n\n if (prop[0].toUpperCase() === prop[0]) {\n item = getItemByKey(key, val);\n } else {\n item = getItem(key, val);\n }\n\n if (item) {\n result = item;\n }\n }, state);\n\n return result;\n}\n\nexport default R.curry((key, state) => {\n const data = getItemByKey(key, state);\n const ormItem = getOrmItem(state, key);\n\n return data || ormItem;\n});\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport styles from './Legend.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Legend extends PureComponent {\n static propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n required: PropTypes.bool,\n }\n\n static defaultProps = {\n children: undefined,\n required: false,\n }\n\n render() {\n const { required } = this.props;\n\n return (\n \n {this.props.children}\n {required && *}\n \n );\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"row\":\"Edj3N\",\"column\":\"g5j8P\",\"row_reverseIndent\":\"yf1Bo\",\"row_maximize\":\"PfpMh\",\"column_medium_0\":\"URQ1k\",\"column_medium_1\":\"_2toY-\",\"column_medium_2\":\"xEgKO\",\"column_medium_3\":\"sdXl7\",\"column_medium_4\":\"UAL7e\",\"column_medium_5\":\"mXRgX\",\"column_medium_6\":\"urNAT\",\"column_offsetMedium_0\":\"v7l+W\",\"column_offsetMedium_1\":\"MmXM8\",\"column_offsetMedium_2\":\"igrty\",\"column_offsetMedium_3\":\"_28pWo\",\"column_offsetMedium_4\":\"_8hGGE\",\"column_offsetMedium_5\":\"u95RU\",\"column_offsetMedium_6\":\"M4riZ\",\"row_width_lt_720\":\"UZuS4\",\"column_small_0\":\"_1Tp5h\",\"column_indent\":\"crVlk\",\"column_small_1\":\"_1djQN\",\"column_small_2\":\"Y+mxn\",\"column_small_3\":\"oP3Y9\",\"column_small_4\":\"dV-MC\",\"column_offsetSmall_0\":\"tsNmH\",\"column_offsetSmall_1\":\"LKA4N\",\"column_offsetSmall_2\":\"IUnhR\",\"column_offsetSmall_3\":\"rg+1G\",\"column_offsetSmall_4\":\"ogB+Z\",\"row_width_gt_1020\":\"VwZ8L\",\"column_big_0\":\"nldV+\",\"column_big_1\":\"_74BGH\",\"column_big_2\":\"_9pGtD\",\"column_big_3\":\"_3-+vg\",\"column_big_4\":\"AeGbI\",\"column_big_5\":\"xPzW-\",\"column_big_6\":\"ryO6r\",\"column_big_7\":\"CgZpU\",\"column_big_8\":\"cLILP\",\"column_offsetBig_0\":\"_9GVj5\",\"column_offsetBig_1\":\"LQn1N\",\"column_offsetBig_2\":\"_3v3di\",\"column_offsetBig_3\":\"LG+xv\",\"column_offsetBig_4\":\"jdVDp\",\"column_offsetBig_5\":\"vs+WQ\",\"column_offsetBig_6\":\"iLFzi\",\"column_offsetBig_7\":\"Gbk1o\",\"column_offsetBig_8\":\"_5nBq2\",\"row_align_center\":\"b-O2s\",\"column_borderRight\":\"aR3uA\"};","import { version } from 'config';\nimport { setItem, getItem, clear } from 'utils/localStorage';\n\nconst appKeyVersion = 'version_app';\n\n\nconst setItemLocalStorage = ({ cacheKey, response }) => setItem(cacheKey, response);\nconst getItemLocalStorage = ({ cacheKey }) => getItem(cacheKey);\n\nconst initLocalStorage = () => {\n const appVersionLS = localStorage.getItem(appKeyVersion);\n\n if (!appVersionLS || appVersionLS !== version) {\n clear();\n localStorage.setItem(appKeyVersion, version);\n }\n};\n\nexport { getItemLocalStorage, setItemLocalStorage, initLocalStorage };\n","/* eslint-disable no-param-reassign */\n\nconst withFetcher = fetcher => (target) => {\n target.fetcher = fetcher;\n\n return target;\n};\n\nexport default withFetcher;","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport * as R from 'ramda';\nimport { Field } from 'redux-form';\nimport Checkbox from './Checkbox';\n\nclass CheckboxConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {\n name: undefined,\n value: undefined,\n onChange: () => {},\n };\n\n renderField = (field = {}) => {\n const handleChange = (checked) => {\n const value = field.input.value || [];\n const fieldValue = this.props.value;\n\n setTimeout(this.context.onFormChange, 0);\n\n if (!fieldValue) {\n this.props.onChange(checked);\n field.input.onChange(checked);\n return;\n }\n\n const newValue = checked ?\n R.uniq(R.concat(value, [this.props.value])) :\n R.without([this.props.value], value);\n\n this.props.onChange(checked);\n field.input.onChange(newValue);\n };\n\n const checked = this.props.value ?\n R.contains(this.props.value, field.input.value) :\n field.input.checked;\n\n return (\n \n );\n }\n\n render() {\n const { _reduxForm: reduxForm } = this.props;\n\n if (!reduxForm || !R.contains(this.props.name, reduxForm.fields)) {\n return (\n \n );\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(CheckboxConnected)","/* eslint-disable no-param-reassign */\n\nexport default function pagePermissions(param) {\n const config = [].concat(param);\n\n return (target) => {\n target.pagePermission = config;\n\n return target;\n };\n}\n","import * as R from 'ramda';\nimport moment from 'moment';\nimport { all, takeEvery, put, select } from 'redux-saga/effects';\nimport { push } from 'react-router-redux';\nimport { reset } from 'redux-form';\n\nimport {\n getPatientId,\n getUserPatientReceptions,\n} from 'redux/selectors';\nimport { setNotification } from 'redux/modules/notification';\nimport {\n saveSuccess,\n} from './index';\n\nfunction* nextReceptionNotificationFlow() {\n const hasNotification = yield select(R.pathOr('false', ['notification', 'isNextReception']));\n const receptionList = yield select(state =>\n getUserPatientReceptions(state, {\n startDate: moment().toISOString(),\n endDate: moment().add(1, 'day').toISOString(),\n custom_отключено: false,\n }));\n if (hasNotification && !receptionList.length) {\n yield put(setNotification({\n type: 'global',\n isNextReception: false,\n }));\n } else if (receptionList.length) {\n yield put(setNotification({\n type: 'global',\n isNextReception: {\n receptionKey: receptionList[0].key,\n },\n }));\n }\n}\n\nfunction* saveSuccessFlow({ payload: { form } }) {\n // There are two forms, one on patient info page and one on calendar\n // Currently only the former uses URL to open modal,\n // so redirect to \"parent\" page after save success\n yield put(reset(form));\n\n if (form === 'profile_patient_reception_form') {\n const patientId = yield select(getPatientId);\n yield put(push(`/patients/${patientId}`));\n }\n // After closing a notification next one should appear if exists\n if (form === 'patient_reception_notification_form') {\n yield nextReceptionNotificationFlow();\n }\n}\n\nexport default function* saga() {\n yield all([\n takeEvery('LOADING_FINISH', nextReceptionNotificationFlow),\n takeEvery(saveSuccess, saveSuccessFlow),\n ]);\n}\n","import * as R from 'ramda';\nimport { attr, Model, fk } from 'redux-orm';\nimport moment from 'moment';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nconst DEFAULT_VIEW = 'ts5c172cs9r616';\nconst ACTIVE_VIEW = 'active';\n\nconst {\n fetch,\n save,\n saveSuccess,\n removeWithUndo,\n\n reducer,\n} = generator({\n name: 'PatientReceptions',\n tableId: 172,\n parseItem: R.evolve({\n custom_vremya: value => R.isNil(value) ? value : moment(value),\n custom_время_удаления: value => R.isNil(value) ? value : moment(value),\n custom_planned_patient: R.propOr(null, 'key'),\n ___parent: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetch,\n save,\n saveSuccess,\n removeWithUndo,\n};\n\nexport default class PatientReceptions extends Model {\n static modelName = 'PatientReceptions';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('Worker', '_worker'),\n custom_vremya: attr(),\n custom_отключено: attr(),\n custom_planned_patient: attr(),\n custom_время_удаления: attr(),\n }\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const fetchWithDefaultView = fetchWithView(fetch, DEFAULT_VIEW);\nexport const fetchWithActiveView = fetchWithView(fetch, ACTIVE_VIEW, {\n lazyLoad: true,\n});\n\nexport { default as saga } from './saga';\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nexport default class MiddleColumnHead extends PureComponent {\n static propTypes = {\n className: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n className: undefined,\n }\n\n render() {\n return (\n
\n
-100%
\n
Норма
\n
100%
\n
\n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport debounce from 'lodash.debounce';\nimport { appKey } from 'config';\nimport { createStructuredSelector } from 'reselect';\n\nimport roundNumber from 'utils/roundNumber';\n\nimport Text from 'components/Text';\nimport Info from 'components/Info';\nimport Icon from 'components/Icon';\nimport Link from 'components/Link';\nimport Barchart from 'components/Barchart';\n\nimport getNormText from './utils/getNormText';\n\nimport MiddleColumnHeadDefault from './default/MiddleColumnHead';\nimport MiddleColumnHeadChemical from './chemical/MiddleColumnHead';\n\nimport styles from './BarchartTable.module.css';\nimport getLocalization from 'redux/selectors/getLocalization';\nimport { connect } from 'utils/react-redux';\n\nconst cx = classNames.bind(styles);\n\nconst noInfo = {\n [`${appKey}t28r219`]: (field, patientId) => (\n
\n \n \n Для норм ЭЦ и
\n БЖУ посчитайте\n
\n \n суточ. потр-ние\n \n
\n
\n ),\n};\n\nconst mapStateToProps = createStructuredSelector({\n tooltip: state => getLocalization(state).tooltip_header_ind_norm,\n});\n\nclass BarchartTable extends PureComponent {\n static propTypes = {\n type: PropTypes.oneOf(['chemical']),\n data: PropTypes.array,\n patientId: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n fieldRenderer: PropTypes.func,\n valueName: PropTypes.string,\n noNormHint: PropTypes.bool,\n disabled: PropTypes.bool,\n multiplier: PropTypes.number,\n color: PropTypes.string,\n onToggle: PropTypes.func,\n isOpen: PropTypes.bool,\n noNorm: PropTypes.bool,\n noFact: PropTypes.bool,\n size: PropTypes.string,\n Tooltip: PropTypes.func,\n TooltipElement: PropTypes.func,\n };\n\n static defaultProps = {\n type: undefined,\n data: [],\n patientId: undefined,\n fieldRenderer: undefined,\n valueName: 'Факт',\n noNormHint: false,\n disabled: false,\n multiplier: 1,\n color: undefined,\n onToggle: () => { },\n isOpen: undefined,\n };\n\n state = {\n active: [],\n toolTipField: null,\n toolTipX: 0,\n toolTipY: 0,\n }\n\n componentDidMount() {\n window.addEventListener('resize', this.handleResize);\n setTimeout(() => this.handleResize(), 0);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleResize);\n }\n\n handleResize = debounce(() => this.handleMiddleColumn(this.middleColumn), 300)\n\n handleMiddleColumn = (node) => {\n if (!node) {\n return;\n }\n\n const nodeRect = node.getBoundingClientRect();\n const widthMiddleColumn = nodeRect.width - 40;\n const heightMiddleColumn = nodeRect.height;\n\n this.setState({\n widthMiddleColumn,\n heightMiddleColumn,\n });\n\n this.middleColumn = node;\n }\n\n handlePositionMouse = ({ x, y }) => {\n if (this.state.toolTipField) {\n this.setState({\n toolTipX: x,\n toolTipY: y,\n });\n }\n };\n\n handleMouseMove = (event) => {\n const x = event.clientX;\n const y = event.clientY;\n\n this.handlePositionMouse({ x, y });\n };\n\n handleMouseLeave = () => {\n this.setState({\n toolTipField: null,\n });\n };\n\n handleMouseEnter = (field, event) => {\n this.setState({\n toolTipField: field,\n toolTipX: event.clientX,\n toolTipY: event.clientY,\n });\n };\n\n handleActiveHiddenRow = R.memoizeWith(R.identity, key => () => {\n const { active } = this.state;\n const isRemove = R.includes(key, active);\n const result = isRemove ? R.without(key, active) : R.concat(active, [key]);\n\n this.setState({\n active: result,\n });\n })\n\n renderHead() {\n const infoNorm = (\n \n Инд. норма\n \n );\n\n const { type } = this.props;\n const columnHeadByType = {\n chemical: MiddleColumnHeadChemical,\n };\n const MiddleColumnHead = columnHeadByType[type] || MiddleColumnHeadDefault;\n\n return (\n
\n
\n {this.props.noFact ||\n
\n \n {this.props.valueName}\n \n
\n }\n \n \n
\n {this.props.noNorm ||\n
\n
\n \n {this.props.tooltip}\n \n
\n
\n }\n
\n );\n }\n\n renderBody() {\n const { data, isOpen } = this.props;\n const zeroedLength = data.length - 1;\n const isCanBeHidden = isOpen !== undefined;\n\n return data.map((group, index) => {\n const isHidden = isCanBeHidden && index !== 0 && !isOpen;\n const isShouldRenderToggler = isCanBeHidden && index === 0;\n\n return (\n
\n {this.renderGroup(group, 1, isHidden)}\n {isShouldRenderToggler && this.renderToggler()}\n {!isShouldRenderToggler && !isHidden && index !== zeroedLength &&\n
\n {this.renderRow({})}\n
\n }\n
\n );\n });\n }\n\n renderToggler() {\n const { isOpen } = this.props;\n\n return (\n
\n \n
\n );\n }\n\n renderGroup(group, level, isHidden = false) {\n if (!group.subitems || !group.subitems.length) {\n return [];\n }\n\n return group.subitems.map(field => (\n 1 && !R.contains(group.element, this.state.active)),\n })}\n >\n {this.renderRow(field, level)}\n {this.renderGroup(field, level + 1)}\n \n ));\n }\n\n renderRow(field, level) {\n const { TooltipElement } = this.props;\n const fontColor = field.color || (level === 1 ? null : 'gray');\n const sumValue = !R.isNil(field.data) ? R.sum([].concat(field.data)) : null;\n\n return (\n \n this.handleMouseEnter(field, event)}\n onMouseMove={this.handleMouseMove}\n onMouseLeave={this.handleMouseLeave}\n >\n {!R.isEmpty(field) &&\n this.renderElementCell(field, fontColor)\n }\n {this.state.toolTipField === field && TooltipElement &&\n \n }\n \n {this.props.noFact ||\n
\n {!R.isEmpty(field) &&\n \n {this.renderValueCell(sumValue, fontColor, field)}\n
\n }\n \n }\n
\n \n
\n {this.props.noNorm ||\n
\n {this.renderNormCell(field, fontColor)}\n
\n }\n \n );\n }\n\n renderElementCell(field, fontColor) {\n const { active } = this.state;\n const children = field.subitems || [];\n const withChildren = children.length > 0;\n const isActiveChild = R.includes(field.element, active);\n\n const text = `${field.label} ${(this.props.noFact || !field.size) ? '' : `, ${field.size}`}`;\n\n return (\n \n \n {text}\n \n {withChildren &&\n \n }\n \n );\n }\n\n renderValueCell(value, fontColor, field) {\n const { fieldRenderer } = this.props;\n const formattedValue = typeof value === 'number' ? roundNumber(2, value) : '-';\n if (R.is(Function, fieldRenderer)) {\n return fieldRenderer({\n ...field,\n name: field.element,\n value,\n });\n }\n\n if (field.element === \"c105a902t28r219\") {\n return (\n \n {Math.round(value)}\n \n )\n }\n\n return (\n \n {typeof formattedValue === \"number\" ? formattedValue.toFixed(2) : formattedValue}\n \n );\n }\n\n renderNormCell(field, fontColor) {\n if (!field.normMin && !field.normMax && noInfo[field.element] && !this.props.noNormHint) {\n return noInfo[field.element](field, this.props.patientId);\n }\n\n return (\n \n {getNormText(field)}\n \n );\n }\n\n render() {\n const { size } = this.props;\n\n return (\n \n {this.renderHead()}\n {this.renderBody()}\n \n );\n }\n}\n\nexport default R.compose(\n connect(mapStateToProps),\n)(BarchartTable)","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\nimport { defaultIcon } from 'helpers/constants';\n\nexport const getGroups = createSelector(\n getItemsArray,\n\n R.map(item => ({\n key: item.key,\n label: item.custom_группа || item.key,\n })),\n);\n\nexport const getCatalogGroups = createSelector(\n getItemsArray,\n\n R.compose(\n R.sortBy(R.prop('title')),\n R.map(item => ({\n key: item.key,\n id: getKeyInfo(item.key).record,\n title: item.custom_группа,\n icon: item.custom_иконка_url || defaultIcon,\n })),\n ),\n);\n\nexport const getSelectData = createSelector(\n getItemsArray,\n\n R.compose(\n R.sortBy(R.prop('label')),\n R.map(i => ({\n value: i.key,\n label: i.custom_группа,\n })),\n ),\n);\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'ProductGroups',\n tableId: 52,\n parseItem: R.evolve({\n custom_производитель: R.propOr(null, 'key'),\n }),\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c52cs9r342', {\n useLS: true,\n});\n\nexport {\n getKeyById,\n getItemById,\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getGroups,\n getCatalogGroups,\n getSelectData,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getSelectValues = R.compose(\n R.sortBy(R.prop('label')),\n R.map(item => ({\n list: R.propOr([], 'custom_схема_питания', item),\n label: R.propOr(null, 'custom_наименование', item),\n value: R.propOr(null, 'key', item),\n })),\n getItemsArray,\n);\n","import generator from 'redux/hor/module';\n\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'rationMode',\n tableId: 37,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c37cs9r73', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getSelectValues,\n} from './selectors';\n\nexport default reducer;\n","const text = {\n email: 'Неверный формат почты',\n date: 'Некорректная дата',\n time: 'Некорректное время',\n locate: 'Кириллица, латиница и дефис',\n locateNum: 'Кириллица, латиница и дефис',\n positiveNumber: 'Допустимы только числа',\n numeric: 'Допустимы только числа',\n required: 'Поле обязательно для заполнения',\n nonRemovable: 'Поле обязательно для заполнения',\n minDate: 'Эта дата уже прошла',\n maxDate: 'Эта дата еще не наступила',\n min: params => `Необходимо ввести не меньше ${params.limiter} символов`,\n max: params => `Нельзя ввести больше ${params.limiter} символов`,\n phone: 'Неверный формат телефона',\n simplePass: 'Только латиница, цифры и спец.символы',\n typeFiles: 'Неверный тип файла',\n sizeFiles: 'Превышен размер файла',\n unique: 'Такое значение уже существует',\n};\n\nexport default text;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\nimport { defaultIcon } from 'helpers/constants';\n\nexport const getSelectData = createSelector(\n getItemsArray,\n (state, groups) => groups,\n\n (items, groups) => R.compose(\n R.sortBy(R.prop('label')),\n R.map(item => ({\n value: item.key,\n label: item.custom_наименование,\n })),\n R.filter(item => R.isEmpty(groups) || R.contains(item.key, groups)),\n )(items),\n);\n\nexport const getCatalogGroups = createSelector(\n getItemsArray,\n (state, groups) => groups,\n\n (items, groups) => R.compose(\n R.sortBy(R.prop('title')),\n R.map(item => ({\n key: item.key,\n id: getKeyInfo(item.key).record,\n title: item.custom_наименование,\n custom_наименование: item.custom_наименование,\n custom_картинка_url: item.custom_картинка_url,\n image: item.custom_картинка_url,\n icon: defaultIcon,\n })),\n R.filter(item => R.isEmpty(groups) || R.contains(item.key, groups)),\n )(items),\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'SupplementGroups',\n tableId: 159,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c159cs9r567');\n\nexport {\n getKeyById,\n getItemById,\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getCatalogGroups,\n getSelectData,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport { appKey } from 'config';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nconst visibleRoles = [\n `${appKey}ts8r4`,\n `${appKey}ts8r18`,\n `${appKey}ts8r19`,\n];\n\nexport const getAllRoles = memoizee(\n R.compose(\n R.map(item => ({\n key: item.key,\n label: R.pathOr(null, ['custom_роль', 'label'], item),\n role: R.pathOr(null, ['custom_роль', 'key'], item),\n rights: R.compose(\n R.map(R.always(true)),\n R.indexBy(R.prop('key')),\n R.defaultTo([]),\n R.propOr([], 'custom_права_роли'),\n )(item),\n })),\n R.sortBy(item => visibleRoles[item.key]),\n getItemsArray,\n ),\n { max: 1 },\n);\n\n\nexport const getRoles = memoizee(\n R.compose(\n R.filter(R.pathSatisfies(R.contains(R.__, visibleRoles), ['role'])),\n getAllRoles,\n ),\n { max: 1 },\n);\n\nexport const getRolesSelect = memoizee(\n R.compose(\n R.map(item => ({\n value: item.role,\n label: item.label,\n })),\n getRoles,\n ),\n { max: 1 },\n);\n\nexport const getRole = (role, state) =>\n R.compose(\n R.find(R.propEq('role', role)),\n getAllRoles,\n )(state);\n\nexport const getRoleRights = R.compose(\n R.propOr({}, 'rights'),\n getRole,\n);\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Roles',\n tableId: 102,\n parseItem: R.evolve({\n custom_роль: R.evolve({\n label: R.ifElse(R.equals('Суперпользователь'), R.always('Администратор'), R.identity),\n }),\n }),\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c102cs9r273', {\n useLS: true,\n});\n\nexport {\n getRoles,\n getRolesSelect,\n getRole,\n getRoleRights,\n} from './seletors';\n\nexport {\n fetch,\n};\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n disease => disease,\n (disease, state) => getItemsArray(state),\n\n (disease, items) => {\n const diseaseMap = R.indexBy(R.prop('value'), disease);\n\n return R.map(item => ({\n label: item.custom_полное_наименование,\n value: item.key,\n group: item.custom_заболевание,\n hint: R.pathOr(null, [item.custom_заболевание, 'hint'], diseaseMap),\n }))(items);\n },\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Illness',\n tableId: 151,\n parseItem: (item) => {\n item.custom_заболевание = item.custom_заболевание_ключ; // eslint-disable-line\n\n return item;\n },\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c151cs9r537', {\n useLS: true,\n});\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { attr, Model } from 'redux-orm';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n remove,\n} = generator({\n name: 'SupplementDish',\n tableId: 160,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_бад: R.propOr(null, 'key'),\n }),\n});\n\nexport default class SupplementDish extends Model {\n static modelName = 'SupplementDish';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: attr(),\n custom_бад: attr(),\n custom_порций: attr(),\n custom_курс: attr(),\n }\n\n static reducer = reducer;\n\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const fetchItem = fetch;\nexport const fetchList = fetchWithView(fetch, 'ts5c160cs9r574');\n\nexport {\n fetch,\n fetchSuccess,\n\n create,\n save,\n saveSuccess,\n remove,\n};\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\n\nimport Field from 'components/Field';\nimport Icon from 'components/Icon';\n\nimport styles from './FieldPassword.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class FieldPassword extends PureComponent {\n static propTypes = {\n value: PropTypes.string,\n }\n\n state = {\n type: 'password',\n }\n\n handleTypeChange = () => {\n this.setState(({ type }) => ({\n type: type === 'password' ? 'text' : 'password',\n }));\n }\n\n render() {\n return (\n
\n \n {this.props.value &&\n \n }\n
\n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport { Field as FormField } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport FieldPassword from './FieldPassword';\n\nclass FieldPasswordConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n };\n\n static defaultProps = {\n name: undefined,\n onBlur: () => {},\n onChange: () => {},\n onFocus: () => {},\n };\n\n handleFocus = onFocus => (event) => {\n this.value = event.target.value;\n onFocus(event);\n this.props.onFocus(event);\n };\n\n handleBlur = onBlur => (eventOrValue) => {\n onBlur(eventOrValue);\n\n this.props.onBlur(eventOrValue);\n\n if ('target' in eventOrValue && this.value !== eventOrValue.target.value && this.context.onFormChange) {\n this.context.onFormChange();\n }\n };\n\n handleChange = onChange => (value, event) => {\n onChange(event);\n\n this.props.onChange(value, event);\n }\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n const { _reduxForm: reduxForm } = this.props;\n const isFieldArray = R.test(/\\[\\d+\\]/, this.props.name || '');\n\n if (!reduxForm || (!R.contains(this.props.name, reduxForm.fields) && !isFieldArray)) {\n return (\n \n );\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(FieldPasswordConnected)","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getPortions = memoizee(\n R.compose(\n R.sortBy(R.prop('label')),\n R.map(i => ({\n name: i.custom_наименование,\n label: i.custom_название,\n value: i.key,\n amount: i.custom_мера,\n unit: R.pathOr(null, ['custom_ед_изм', 'label'], i),\n })),\n getItemsArray,\n ),\n { max: 1 },\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Portions',\n tableId: 62,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c62cs9r355', {\n useLS: true,\n});\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getPortions,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n\n fetch,\n} = generator({\n name: 'SubscriptionTariffs',\n tableId: 116,\n parseItem: R.evolve({\n custom_количество_дней_базового_периода: R.propOr(null, 'key'),\n custom_состав_тарифа: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n }),\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c116cs9r394', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getItemsArray,\n} from 'redux/hor/module/selectors';\n\nexport default reducer;\n","import { createEvent, createStore } from \"effector\";\n\n/* Синхронизируем стор редакса с стором эффектора до тех пора, пока всё не переедет с редакса */\n\ntype StoreType = any;\n\nexport const $reduxStore = createStore(null);\n\nexport const updateStore = createEvent(\"UPDATE_STORE\");\n\n$reduxStore.on(updateStore, (_, data) => data);\n\nexport const fromReduxState = (selector: (state: any) => T) =>\n $reduxStore.map((state) => selector(state));\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getSelectData = memoizee(\n R.compose(\n R.sortBy(R.prop('label')),\n R.map(i => ({\n value: i.key,\n label: i.custom_полное_наименование,\n })),\n getItemsArray,\n ),\n { max: 1 },\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'CookingTechniques',\n tableId: 50,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c50cs9r354', {\n useLS: true,\n});\n\nexport {\n getItem,\n} from 'redux/hor/module/selectors';\n\nexport {\n getSelectData,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getRightsList = memoizee(R.compose(\n R.map(item => ({\n key: R.prop('key', item),\n title: R.prop('custom_наименование', item),\n })),\n R.sortBy(R.prop('custom_порядок')),\n getItemsArray,\n));\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Rights',\n tableId: 58,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c58cs9r127', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getKeyById,\n} from 'redux/hor/module/selectors';\n\nexport {\n getRightsList,\n} from './seletors';\n\nexport default reducer;\n","import { takeLatest, all, put, call } from 'redux-saga/effects';\n\nimport delay from 'utils/delay';\n\nimport request from 'utils/api/request';\n\nimport {\n ping,\n pingSuccess,\n pingFailure,\n} from './index';\n\nfunction* pingFlow() {\n try {\n yield call(request.get, '/ping/json/v2');\n yield put(pingSuccess());\n } catch (error) {\n yield put(pingFailure({\n error,\n }));\n yield delay(5000);\n yield pingFlow();\n }\n}\n\nexport default function* saga() {\n yield all([\n takeLatest(ping, pingFlow),\n ]);\n}\n","import * as R from 'ramda';\nimport { takeEvery, all, call, select, put } from 'redux-saga/effects';\n\nimport { appKey } from 'config';\nimport { request } from 'utils/api';\n\nimport {\n getInstitutionKey\n} from 'redux/selectors';\n\nimport runButton from 'redux/utils/runButton';\nimport getSubitemsEffect from 'redux/utils/getSubitemsEffect';\n\nimport subitems from 'redux/modules/subitems';\n\nimport {\n getApplicationUser\n} from 'redux/selectors';\n\nimport {\n save,\n fetchItem,\n fetchSuccess,\n fetchItemSuccess,\n fetchItemFailure,\n\n stopAuto,\n stopAutoSuccess,\n stopAutoFailure,\n\n fetchList,\n fetchListSuccess,\n fetchListFailure,\n\n trialInform,\n} from './index';\n\nfunction* fetchItemFlow(action) {\n const userAkey = yield select(getApplicationUser)\n try {\n const response = yield call(() => request.post(`/${appKey}t179r/json/v2`, {\n parameters: {\n userAkey,\n },\n }, {\n headers: {\n Function: 'getFullUserInfo',\n },\n }));\n\n const data = response.data.учреждение;\n yield put(fetchSuccess({\n response: data,\n }))\n const effects = getSubitemsEffect(data, subitems);\n\n yield all(effects);\n yield put(fetchItemSuccess())\n } catch (error) {\n yield put(fetchItemFailure({\n ...action.payload,\n error,\n }))\n } finally {\n action.meta.resolve();\n }\n}\n\nfunction* stopAutoFlow(action) {\n const institution = yield select(getInstitutionKey);\n\n try {\n yield call(() => request.post(`/${appKey}t179r/json/v2`, {\n parameters: {\n inst_key: institution,\n cancellation_reason: action.payload.join(', '),\n },\n }, {\n headers: {\n Function: 'stopAutomaticRenewal',\n },\n }));\n\n yield call(fetchItemFlow);\n yield put(stopAutoSuccess())\n } catch (error) {\n yield put(stopAutoFailure({\n ...action.payload,\n error,\n }))\n } finally {\n action.meta.resolve();\n }\n}\n\nfunction* fetchListFlow(action) {\n try {\n const response = yield call(() => request.post(`/${appKey}t179r/json/v2`, {}, {\n headers: {\n token: action.payload.token,\n Function: 'getInstitutionsList',\n },\n }));\n\n yield put(fetchSuccess({\n ...action.payload,\n response: R.over(R.lensProp(['list']), (data) => {\n return Object.keys(data).map(key => ({\n key,\n fields: {\n custom_название: data[key]\n }\n }))\n }, response.data)\n }))\n yield put(fetchListSuccess())\n } catch (error) {\n yield put(fetchListFailure({\n ...action.payload,\n error,\n }))\n }\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(trialInform, runButton({\n button: 'custom.informed',\n save,\n data: {\n custom_информирован_о_триальной_подписке: true,\n },\n })),\n\n takeEvery(fetchItem, fetchItemFlow),\n takeEvery(stopAuto, stopAutoFlow),\n takeEvery(fetchList, fetchListFlow)\n ]);\n}\n","import * as R from 'ramda';\nimport { all, takeLatest, put, select } from 'redux-saga/effects';\nimport delay from 'utils/delay';\n\nimport {\n setNotification,\n} from './reducer';\n\nimport {\n getCurrentNotification,\n} from './selectors';\n\nfunction* setNotificationFlow() {\n yield delay(1000);\n\n const current = yield select(getCurrentNotification);\n\n if (!current) {\n return;\n }\n\n if (R.includes(current.type, ['isDone', 'isInvalid'])) {\n yield delay(2000);\n\n yield put(setNotification({\n [current.type]: false,\n }));\n }\n\n if (current.type === 'isRemove') {\n const time = current.content.duration;\n const nextTime = time - 1;\n\n if (nextTime > 0) {\n yield put(setNotification({\n isRemove: {\n ...current.content,\n duration: nextTime,\n },\n }));\n } else {\n yield put(setNotification({\n isRemove: false,\n }));\n }\n }\n}\n\nexport default function* saga() {\n yield all([\n takeLatest(setNotification, setNotificationFlow),\n ]);\n}\n","import * as R from 'ramda';\nimport { takeEvery, all, put, select, call } from 'redux-saga/effects';\n\nimport { appKey } from 'config';\n\nimport { request } from 'utils/api';\n\nimport dispatchAndWait from 'redux/utils/dispatchAndWait';\nimport runButton from 'redux/utils/runButton';\nimport {\n trackAddMeal,\n} from 'utils/carrot';\nimport isLocalKey from 'utils/isLocalKey';\n\nimport { getItemsArrayByParent as getTechcard, save as saveTechcard } from 'redux/modules/productTechCard';\nimport {\n getItemsArrayByParent as getComposition,\n save as saveComposition,\n fetchSuccess as fetchCompositionSuccess,\n} from 'redux/modules/productComposition';\n\nimport {\n save,\n saveSuccess,\n fetchComposition,\n fetchSystemMeals,\n fetchUserMeals,\n fetchCatalogList,\n fetchCatalogListSuccess,\n calcComposition,\n copyComposition,\n} from './index';\n\nfunction* calcCompositionFlow(action) {\n const { key } = action.payload;\n\n yield put(save({\n key,\n data: {\n isCalcComposition: true,\n },\n isLocal: true,\n }));\n\n const response = yield call(request.post, `/${appKey}t179r/json/v2`, {\n parameters: {\n dish: key,\n },\n }, {\n headers: {\n Function: 'fillCompositionDish',\n },\n });\n\n yield put(fetchCompositionSuccess({\n response: {\n list: response.data,\n },\n parents: [key],\n }));\n\n yield put(save({\n key,\n data: {\n isCalcComposition: false,\n },\n isLocal: true,\n }));\n}\n\nfunction* saveSuccessFlow(action) {\n const { meta, payload } = action;\n const { key, response } = payload;\n const newKey = R.pathOr(null, ['data', 'key'], response);\n\n if (key === newKey || !newKey) {\n return;\n }\n\n const techcard = yield select(state => getTechcard(key, state.productTechCard));\n const composition = yield select(state => getComposition(key, state.productComposition));\n\n const techcardEffect = techcard.map(item => put(saveTechcard({\n key: item.key,\n data: {\n ___parent: newKey,\n },\n })));\n const compositionEffect = composition.map(item => put(saveComposition({\n key: item.key,\n data: {\n ___parent: newKey,\n },\n })));\n\n yield all(techcardEffect);\n yield all(compositionEffect);\n\n if (isLocalKey(meta.entity.key)) {\n yield trackAddMeal();\n }\n}\n\nfunction* fetchCatalogListFlow(action) {\n try {\n yield all([\n dispatchAndWait(fetchSystemMeals(action.payload)),\n dispatchAndWait(fetchUserMeals(action.payload)),\n ])\n } catch (error) { }\n\n yield put(fetchCatalogListSuccess());\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(saveSuccess, saveSuccessFlow),\n takeEvery(fetchCatalogList, fetchCatalogListFlow),\n takeEvery(calcComposition, calcCompositionFlow),\n takeEvery(copyComposition, runButton({\n button: `${appKey}ts9c4c3c1r125`,\n fetch: fetchComposition,\n save,\n })),\n ]);\n}\n","import { takeEvery, all, put, select } from 'redux-saga/effects';\nimport * as R from 'ramda';\n\nimport { appKey } from 'config';\n\nimport dispatchAndWait from 'redux/utils/dispatchAndWait';\nimport runButton from 'redux/utils/runButton';\n\nimport { getItemsArrayByParent as getComposition, save as saveComposition } from 'redux/modules/productComposition';\n\nimport {\n save,\n saveSuccess,\n fetchItem,\n fetchSystemIngredients,\n fetchUserIngredients,\n fetchCatalogList,\n fetchCatalogListSuccess,\n copyComposition,\n} from './index';\n\nfunction* saveSuccessFlow(action) {\n const { payload } = action;\n const { key, response } = payload;\n const newKey = R.pathOr(null, ['data', 'key'], response);\n\n if (key === newKey || !newKey) {\n return;\n }\n\n const composition = yield select(state => getComposition(key, state.productComposition));\n\n const compositionEffect = composition.map(item => put(saveComposition({\n key: item.key,\n data: {\n ___parent: newKey,\n },\n })));\n\n yield all(compositionEffect);\n}\n\n\nfunction* fetchCatalogListFlow(action) {\n yield all([\n dispatchAndWait(fetchSystemIngredients(action.payload)),\n dispatchAndWait(fetchUserIngredients(action.payload)),\n ])\n yield put(fetchCatalogListSuccess());\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(saveSuccess, saveSuccessFlow),\n takeEvery(fetchCatalogList, fetchCatalogListFlow),\n takeEvery(copyComposition, runButton({\n save,\n button: `${appKey}ts9c51c3c1r53`,\n fetch: fetchItem,\n })),\n ]);\n}\n","import * as R from 'ramda';\nimport { takeEvery, all, select, put, call } from 'redux-saga/effects';\nimport { push } from 'react-router-redux';\nimport { startSubmit, stopSubmit } from 'redux-form';\nimport moment from 'moment';\n\nimport { appKey } from 'config';\n\nimport { request } from 'utils/api';\nimport getKeyInfo from 'utils/getKeyInfo';\nimport { addDateField, dateFieldMap } from 'utils/dateField';\nimport roundNumber from 'utils/roundNumber';\nimport {\n trackArchivePatient,\n trackUnarchivePatient,\n trackAddPatient,\n trackRemovePatient,\n shouldTrackAddPatientDiagnosis,\n trackAddPatientDiagnosis,\n shouldTrackAddPatientAntropometry,\n trackAddPatientAntropometry,\n trackAddPatientConsumption,\n} from 'utils/carrot';\nimport { getChangedData } from 'redux/hor/module';\nimport { getItemByKey } from 'redux/selectors';\nimport { create as createParams } from 'redux/modules/patientParams';\nimport {\n getNotesByPatient,\n save as saveNote,\n} from 'modules/Patient/redux/notes';\nimport runButton from 'redux/utils/runButton';\nimport dispatchAndWait from 'redux/utils/dispatchAndWait';\nimport { setNotification } from '../notification';\n\nimport {\n fetchItem,\n save,\n saveSuccess,\n removeWithUndoSuccess,\n removeWithUndo,\n fetchParams,\n startVisit,\n logPrint,\n calcElementsNorm,\n calcEnergy,\n calcConsumptionByTime,\n calcConsumptionByProfession,\n savePatientRequest,\n switchArchive,\n sendInvite,\n fetchDietanamnez,\n assignToStaff,\n assignToStaffSuccess,\n} from './index';\n\nfunction* switchArchiveFlow(action) {\n const patient = yield select(getItemByKey(action.payload.key));\n const isInArchive = R.propOr(false, 'custom_в_архив_1', patient);\n const buttonPatientToArchive = `${appKey}ts9c5c3c1r194`;\n const buttonPatientFromArchive = `${appKey}ts9c5c3c1r195`;\n const button = isInArchive ? buttonPatientFromArchive : buttonPatientToArchive;\n\n yield runButton({\n button,\n save,\n data: {\n custom_в_архив_1: !isInArchive,\n },\n })(action);\n}\n\nfunction* saveFlow(action) {\n const { payload, meta } = action;\n const patient = meta.entity;\n const changed = getChangedData(patient, payload.data);\n\n const paramsMap = {\n custom_масса_тела: 137,\n custom_рост: 140,\n custom_объем_талии: 142,\n custom_объем_бедер: 143,\n custom_объем_плеча: 144,\n custom_жировая_масса: 146,\n custom_мышечная_масса: 147,\n custom_общая_жидкость: 149,\n custom_вунутриклеточная_жидкость: 151,\n custom_внеклеточная_жидкость: 150,\n custom_тощая_масса_тела: 152,\n custom_активная_клеточная_масса: 153,\n custom_висцеральный_жир: 154,\n custom_складка_грудь_подмышка: patient?.custom_sexint_save === 1 ? 156 : 159,\n custom_складка_живот: 157,\n custom_складка_бедро: 158,\n custom_число_калорий: 169,\n custom_окисление_белка: 3198,\n custom_окисление_жиров: 3199,\n custom_окисление_углеводов: 3200,\n custom_число_калорий_при_физической_активности: 3201,\n };\n const loggedChanged = R.pickBy((val, key) => R.has(key, paramsMap), changed);\n\n const effects = R.compose(\n R.values,\n R.mapObjIndexed((val, key) => put(createParams({\n data: {\n ___parent: payload.key,\n custom_показатель: `${appKey}t12r${paramsMap[key]}`,\n custom_значение: roundNumber(2, typeof val === 'number' ? val : parseFloat(val)),\n custom_дата: moment().toISOString(),\n },\n }))),\n )(loggedChanged);\n\n const dateFields = addDateField(changed);\n\n if (!payload.isLocal && !R.isEmpty(dateFields)) {\n yield put(save({\n key: payload.key,\n data: dateFields,\n isLocal: true,\n }));\n }\n\n yield all(effects);\n\n // Need data before editing to find if should track\n if (shouldTrackAddPatientDiagnosis(patient, changed)) {\n yield trackAddPatientDiagnosis(action.payload.key);\n }\n if (shouldTrackAddPatientAntropometry(patient, changed)) {\n yield trackAddPatientAntropometry(action.payload.key);\n }\n}\n\n/* eslint-disable complexity */\nfunction* saveSuccessFlow(action) {\n const { key, response, data } = action.payload;\n const newKey = R.pathOr(null, ['data', 'key'], response);\n\n if (R.has('custom_в_архив_1', data)) {\n yield (\n R.prop('custom_в_архив_1', data)\n ? trackArchivePatient\n : trackUnarchivePatient\n )(key);\n }\n\n if (key === newKey || !newKey) {\n return;\n }\n\n const notes = yield select(state => getNotesByPatient(key, state.Patient.notes));\n\n const effect = notes.map(note => dispatchAndWait(saveNote({\n key: note.key,\n data: {\n ___parent: newKey,\n },\n })));\n\n const patientId = getKeyInfo(newKey).record;\n\n try {\n yield all(effect);\n yield trackAddPatient(key);\n } catch (error) {\n console.error(error);\n } finally {\n yield put(push(`/patients/${patientId}`));\n }\n}\n\nfunction* calcEnergyFlow(action) {\n const { payload } = action;\n yield put(startSubmit(payload.form));\n const response = yield call(request.post, `/${payload.key}/json/v2`, {\n parameters: R.evolve({\n co2: R.compose(parseFloat, R.replace(',', '.')),\n o2: R.compose(parseFloat, R.replace(',', '.')),\n urea: R.compose(parseFloat, R.replace(',', '.')),\n urine: R.compose(parseFloat, R.replace(',', '.')),\n }, payload.data),\n }, {\n headers: {\n Function: 'KBZU_basedOnAnalyzes',\n },\n });\n\n const { data } = response;\n yield put(save({\n key: payload.key,\n data: {\n custom_число_калорий: data.k,\n custom_белки_1: data.b,\n custom_жиры_1: data.u,\n custom_углеводы_1: data.z,\n },\n isLocal: true,\n }));\n yield put(stopSubmit(payload.form));\n}\n\nfunction* removeWithUndoSuccessFlow(action) {\n yield trackRemovePatient(action.payload.key);\n}\n\nfunction* calcConsumptionByProfessionFlow(action) {\n yield runButton({\n button: `${appKey}ts9c5c3c1r133`,\n fetch: fetchItem,\n save,\n })(action);\n yield trackAddPatientConsumption(action.payload.key);\n}\n\nfunction* removeWithUndoFlow(action) {\n // Need to change location here and not on remove success, because the latter\n // shows an undo notification that would disappear after location change\n const currentLocation = window.location.pathname;\n const patientId = getKeyInfo(action.payload.key).record;\n const pathPrefix = `/patients/${patientId}`;\n if (R.startsWith(pathPrefix, currentLocation)) {\n yield put(push('/patients'));\n }\n}\n\nfunction* savePatientSuccessFlow(action) {\n const { payload } = action;\n const { key, value, fieldName, withNotification } = payload;\n const patient = R.pathOr({}, ['meta', 'entity'])(action);\n const fullFieldName = `custom_${fieldName}`;\n\n const prevDate = R.propOr(moment().subtract(1, 'days'), dateFieldMap[fullFieldName])(patient);\n const difference = moment(new Date(), 'DD-MM-YYYY').diff(moment(prevDate, 'DD-MM-YYYY'), 'days');\n\n if (difference <= 0) {\n return;\n }\n\n try {\n if (withNotification) {\n yield put(setNotification({\n type: 'global',\n isDone: false,\n isProcess: true,\n }));\n }\n\n yield call(request.post, `/${key}/json/v2`, {\n parameters: {\n equalAllowed: true,\n value,\n fieldName,\n },\n }, {\n headers: {\n Function: 'savePatientIndex',\n },\n });\n\n yield put(save({\n key,\n data: addDateField({ [fullFieldName]: value }),\n isLocal: true,\n }));\n\n yield put(fetchParams({\n key,\n }));\n\n if (withNotification) {\n yield put(setNotification({\n type: 'global',\n isDone: true,\n isProcess: false,\n }));\n }\n } catch (error) {\n console.error(error);\n throw error;\n }\n}\n\nfunction* sendInviteFlow(action) {\n const { payload, meta } = action;\n const { key, type, values } = payload;\n const { entity } = meta;\n\n yield put(startSubmit(payload.form));\n\n const entityFields = {\n PHONE: 'custom_телефон',\n EMAIL: 'custom_login',\n };\n const fieldToSend = {\n PHONE: 'custom_моб_тел',\n EMAIL: 'custom_e_mail',\n };\n\n const field = entityFields[type]\n\n yield put(save({\n key: entity.key,\n data: {\n [field]: values[field],\n },\n disableNotification: true,\n }))\n yield call(request.post, `/${appKey}t183r/json/v2`, {\n parameters: {\n custom_тип_да: payload.custom_тип_да,\n custom_аккаунт_для_пациента: key,\n [fieldToSend[type]]: values[field],\n }\n }, {\n headers: {\n Function: 'Greatecontactforselftest',\n },\n })\n\n yield dispatchAndWait(fetchDietanamnez({\n key,\n }));\n\n yield put(stopSubmit(payload.form));\n}\n\nfunction* assignToStaffFlow(action) {\n const { payload } = action;\n const { key } = payload;\n\n yield call(request.post, `/${key}/json/v2`, {}, {\n headers: {\n Function: 'AssignToStaff',\n },\n })\n\n yield put(save({\n key,\n data: {\n custom_самостоятельная_регистрация: false,\n },\n isLocal: true,\n disableNotification: true,\n }))\n\n yield put(assignToStaffSuccess());\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(startVisit, runButton({\n button: `${appKey}ts9c5c3c1r264`,\n save,\n })),\n takeEvery(logPrint, runButton({\n button: `${appKey}ts9c5c3c1r317`,\n save,\n })),\n takeEvery(calcElementsNorm, runButton({\n button: `${appKey}ts9c5c3c1r79`,\n save,\n })),\n takeEvery(calcEnergy, calcEnergyFlow),\n takeEvery(calcConsumptionByTime, runButton({\n button: `${appKey}ts9c5c3c1r166`,\n fetch: fetchItem,\n save,\n })),\n takeEvery(calcConsumptionByProfession, calcConsumptionByProfessionFlow),\n takeEvery(switchArchive, switchArchiveFlow),\n takeEvery(save, saveFlow),\n takeEvery(saveSuccess, saveSuccessFlow),\n takeEvery(removeWithUndoSuccess, removeWithUndoSuccessFlow),\n takeEvery(removeWithUndo, removeWithUndoFlow),\n takeEvery(savePatientRequest, savePatientSuccessFlow),\n takeEvery(sendInvite, sendInviteFlow),\n takeEvery(assignToStaff, assignToStaffFlow),\n ]);\n}\n","import * as R from 'ramda';\n\nimport { takeEvery, all, put, select } from 'redux-saga/effects';\n\nimport {\n getItemByKey,\n} from 'redux/selectors';\n\nimport {\n startVisit,\n switchArchive,\n logPrint,\n} from 'redux/modules/patients';\n\nimport {\n save as saveDietanamnezes,\n} from 'modules/Dietanamnez/redux/modules/dietanamnez';\n\nimport {\n assign as assignRation,\n} from 'modules/Rations/redux/modules/ration';\n\nimport {\n create,\n} from './index';\n\nfunction* startVisitFlow(action) {\n const { meta } = action;\n\n yield put(create({\n data: {\n ___parent: meta.userKey,\n custom_пациент: action.payload.key,\n custom_дата: Date.now(),\n custom_действие: 'Прием',\n },\n }));\n}\n\nfunction* switchArchiveFlow(action) {\n const { meta } = action;\n const patient = yield select(state => getItemByKey(action.payload.key, state));\n const isInArchive = R.propOr(false, 'custom_в_архив_1', patient);\n\n yield put(create({\n data: {\n ___parent: meta.userKey,\n custom_пациент: action.payload.key,\n custom_дата: Date.now(),\n custom_действие: isInArchive ? 'Возвращен из архива' : 'Перенесен в архив',\n },\n }));\n}\n\nfunction* logPrintFlow(action) {\n const { meta } = action;\n\n yield put(create({\n data: {\n ___parent: meta.userKey,\n custom_пациент: action.payload.key,\n custom_дата: Date.now(),\n custom_действие: 'Печать',\n },\n }));\n}\n\nfunction* saveDietanamnezesFlow(action) {\n const { meta } = action;\n const isAssign = !!R.pathOr(null, ['data', 'custom_дата_назначения'], action.payload);\n\n if (isAssign) {\n return;\n }\n\n yield put(create({\n data: {\n ___parent: meta.userKey,\n custom_пациент: meta.patientKey,\n custom_дата: Date.now(),\n custom_действие: 'Диетанамнез',\n },\n }));\n}\n\nfunction* assignRationFlow(action) {\n const { meta } = action;\n\n yield put(create({\n data: {\n ___parent: meta.userKey,\n custom_пациент: meta.patientKey,\n custom_дата: Date.now(),\n custom_действие: 'Рацион',\n },\n }));\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(startVisit, startVisitFlow),\n takeEvery(switchArchive, switchArchiveFlow),\n takeEvery(logPrint, logPrintFlow),\n takeEvery(saveDietanamnezes, saveDietanamnezesFlow),\n takeEvery(assignRation, assignRationFlow),\n ]);\n}\n","import * as R from 'ramda';\n\nimport { createSelector } from 'reselect';\n\nimport getDietanamnezLastIdWithoutNotEnded from '../getDietanamnezLastIdWithoutNotEnded';\n\nexport default createSelector(\n R.path(['routeParams', 'dietanamnezId']),\n (state, props) => R.pathOr(null, ['settings', 'dietanamnezId'], props),\n getDietanamnezLastIdWithoutNotEnded,\n\n (routeId, propsId, lastId) => propsId || routeId || lastId,\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getPatientKey from 'redux/selectors/getPatientKey';\n\nexport default createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Dietanamnez } = session;\n\n const item = Dietanamnez\n .exclude({\n isDeleted: true,\n })\n .filter({\n ___parent: patientKey,\n })\n .filter(i => i.custom_дата_назначения)\n .filter(i => !i.custom_селфтест_до)\n .orderBy('custom_дата_назначения')\n .last();\n\n if (!item) {\n return null;\n }\n\n return item.key;\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { appKey } from 'config';\n\nimport getUserProfile from '../getUserProfile';\n\nexport default createSelector(\n getUserProfile,\n\n R.equals(`${appKey}ts18r12`),\n);\n","import * as R from 'ramda';\nimport { takeEvery, all, put, select, call } from 'redux-saga/effects';\nimport { appKey } from 'config';\n\nimport { request } from 'utils/api';\n\nimport { getItemsArrayByParent as getTechcard, save as saveTechcard } from 'redux/modules/supplementTechCard';\nimport { getItemsArrayByParent as getComposition, save as saveComposition } from 'redux/modules/supplementComposition';\n\nimport {\n fetchSuccess,\n saveSuccess,\n fetchList,\n fetchListSuccess,\n fetchListFailure,\n} from './index';\n\nfunction* saveSuccessFlow(action) {\n const { payload } = action;\n const { key, response } = payload;\n const newKey = R.pathOr(null, ['data', 'key'], response);\n\n if (key === newKey || !newKey) {\n return;\n }\n\n const techcard = yield select(state => getTechcard(key, state.supplementTechCard));\n const composition = yield select(state => getComposition(key, state.supplementComposition));\n\n const techcardEffect = techcard.map(item => put(saveTechcard({\n key: item.key,\n data: {\n ___parent: newKey,\n },\n })));\n const compositionEffect = composition.map(item => put(saveComposition({\n key: item.key,\n data: {\n ___parent: newKey,\n },\n })));\n\n yield all(techcardEffect);\n yield all(compositionEffect);\n}\n\nfunction* fetchListFlow(action) {\n try {\n const response = yield call(request.post, `/${appKey}t179r/json/v2`, {}, {\n headers: {\n Function: 'getBadList',\n }\n });\n\n yield put(fetchSuccess({\n ...action.payload,\n response: response.data,\n }))\n yield put(fetchListSuccess());\n } catch (error) {\n yield put(fetchListFailure({\n error,\n }))\n }\n}\nexport default function* saga() {\n yield all([\n takeEvery(saveSuccess, saveSuccessFlow),\n takeEvery(fetchList, fetchListFlow),\n ]);\n}\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getPatient from '../getPatient';\n\nexport default createSelector(\n getPatient,\n\n R.propOr(0, 'custom_энергия__рассчетное'),\n);\n","import * as R from 'ramda';\nimport { startSubmit, stopSubmit, reset } from 'redux-form';\nimport { call, put, all, takeLatest, select } from 'redux-saga/effects';\nimport moment from 'moment';\n\nimport { appKey } from 'config';\n\nimport { request } from 'utils/api';\n\nimport {\n getInstitutionDiscount,\n getInstitutionSubscription,\n getInstitutionSubscriptionIsExpired,\n} from 'redux/selectors';\n\nimport {\n save as saveSubscription,\n} from 'redux/modules/institutionSubscription';\n\nimport {\n checkPromo,\n setPromo,\n resetPromo,\n} from './reducer';\n\nfunction* checkPromoFlow(action) {\n const { payload } = action;\n const { promocode, form } = payload;\n const tariff = yield select(state => {\n return state.form.tariff.values.duration\n })\n\n try {\n yield put(startSubmit(form));\n const { data } = yield call(request.post, `/${appKey}t152r/json/v2`, {\n parameters: {\n promocode,\n tariff,\n exec: true,\n },\n }, {\n headers: {\n Function: 'getPromoKey',\n },\n });\n\n if (data.error) {\n yield put(stopSubmit(form, {\n _error: data.error,\n }));\n return;\n }\n\n if (!data.скидка) {\n const subscription = yield select(getInstitutionSubscription);\n const subscriptionIsIxpired = yield select(getInstitutionSubscriptionIsExpired);\n\n if (subscriptionIsIxpired) {\n location.reload(); // eslint-disable-line no-restricted-globals\n return;\n }\n\n yield put(saveSubscription({\n key: subscription.key,\n data: R.evolve({\n custom_время_окончания_подписки: value => moment(value).add(data.значение_промокода, 'days'),\n })(subscription),\n isLocal: true,\n }));\n } else {\n const institutionDiscount = yield select(getInstitutionDiscount);\n const discount = data.значение_промокода / 100;\n\n if (institutionDiscount > discount) {\n yield put(stopSubmit(form, {\n _error: 'Этот промокод дает скидку меньше, чем ваша постоянная скидка.',\n }));\n\n return;\n }\n\n yield put(setPromo({\n value: data.key,\n discount,\n }));\n }\n\n yield put(stopSubmit(form));\n yield put(reset(form));\n } catch (error) {\n\n yield put(stopSubmit(form, {\n _error: error,\n }));\n }\n\n}\n\nfunction* resetPromoFlow(action) {\n yield put(reset(action.payload.form));\n}\n\nexport default function* saga() {\n yield all([\n takeLatest(checkPromo, checkPromoFlow),\n takeLatest(resetPromo, resetPromoFlow),\n ]);\n}\n","import { createSelector } from 'reselect';\nimport * as R from 'ramda';\n\nexport default createSelector(\n R.compose(\n Number,\n R.path(['routeParams', 'supplementId']),\n ),\n (state, props = {}) => props.supplementId,\n\n (routeId, propsId) => propsId || routeId,\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n (state, { rationId } = {}) => rationId || R.path(['routeParams', 'rationId'], state),\n\n R.identity,\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getRationDayNumber from '../getRationDayNumber';\nimport getRationKey from '../getRationKey';\n\nexport default createOrmSelector(\n getRationDayNumber,\n getRationKey,\n\n (session, number, rationKey) => {\n const { Ration, Day } = session;\n\n\n if (!Ration.idExists(rationKey)) {\n return null;\n }\n\n try {\n return Ration\n .withId(rationKey)\n .days\n .filter({\n custom_номер: number,\n })\n .first()\n .ref;\n } catch (error) {\n const day = Day\n .filter({\n custom_номер: number,\n custom_рацион_пациента: rationKey,\n })\n .first()\n\n return day && day.ref;\n }\n },\n);\n","import { request } from 'utils/api';\n\nimport { appKey } from 'config';\n\nexport async function getVariable(name: string): Promise {\n const response = await request.post(`/${appKey}t155r/json/v2`, {\n parameters: {\n name,\n },\n }, {\n headers: {\n Function: 'getAppVariable',\n },\n })\n\n const { fields } = response.data;\n\n const data = fields.custom_значение || fields.custom_json_value as T;\n\n return data;\n}","import * as R from 'ramda';\nimport { takeEvery, all, select, put, call } from 'redux-saga/effects';\nimport { startSubmit, stopSubmit } from 'redux-form';\nimport { stringify } from 'query-string';\nimport delay from 'utils/delay';\n\nimport { appKey, oneDayKey } from 'config';\n\nimport {\n getItemByKey,\n getUserEmail,\n getInstitutionTariffIsTrial,\n getInstitutionTariffIsSpecial,\n getInstitutionSubscriptionIsExpired,\n getInstitutionSubscriptionIsBlocked,\n getInstitutionWorkplaceCount,\n getInstitutionSubscriptionState,\n getUserIsLight\n} from 'redux/selectors';\nimport { fetchItem as fetchInstitution } from 'redux/modules/institutions';\n\nimport dispatchAndWait from 'redux/utils/dispatchAndWait';\nimport { trackRenewSubscription } from 'utils/carrot';\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport { getVariable } from 'api/getVariable';\n\nimport {\n fetch,\n save,\n\n cancel,\n renewal,\n changeFutureOneDayDate,\n} from './index';\n\nconst nameById = {\n 10698526: 'Pro-1д',\n 5370656: 'Pro-1',\n 5371410: 'Pro-12',\n 5370654: 'Lite-1',\n 5370883: 'Lite-12',\n};\n\nfunction* getOperationParams(entity) {\n const operationId = getKeyInfo(entity.custom_операция).record;\n const tariffId = getKeyInfo(entity.custom_тарифный_план).record;\n\n let text = nameById[tariffId];\n let quantity = entity.custom_значение_операции;\n\n if (operationId === 5370661) {\n const workplaces = yield select(getInstitutionWorkplaceCount);\n text = 'Pro Подписка дополнительный аккаунт';\n quantity -= workplaces;\n }\n\n return { text, quantity };\n}\n\nfunction* getFormYoomoney(entity) {\n const email = yield select(getUserEmail);\n const form = document.createElement('form');\n form.setAttribute('method', 'post');\n form.setAttribute('action', 'https://yoomoney.ru/eshop.xml');\n\n const { text, quantity } = yield call(getOperationParams, entity);\n\n const fields = {\n shopId: '143678',\n scid: '103820',\n sum: entity.custom_ordersumrequired,\n customerNumber: entity.custom_customernumber,\n orderNumber: entity.custom_ordernumber,\n ym_merchant_receipt: JSON.stringify({\n customerContact: email,\n taxSystem: 2,\n items: [\n {\n quantity,\n price: {\n amount: entity.custom_ordersumrequired / quantity,\n },\n tax: 1,\n text,\n paymentMethodType: 'full_payment',\n paymentSubjectType: 'service',\n },\n ],\n }),\n };\n\n Object.keys(fields).forEach((key) => {\n const value = fields[key];\n const i = document.createElement('input');\n\n i.setAttribute('name', key);\n i.setAttribute('value', value);\n form.appendChild(i);\n });\n\n document.body.appendChild(form);\n form.submit();\n}\n\nfunction* getFormRobokassa(entity, merchantLogin, isTest) {\n const { text } = yield call(getOperationParams, entity);\n\n const params = {\n MerchantLogin: merchantLogin,\n OutSum: entity.custom_ordersumrequired.toFixed(0),\n Description: `Оказание услуг доступа к ПО Нутрилоджик. Учетный период - ${text}`,\n InvoiceID: getKeyInfo(entity.key).record,\n Receipt: encodeURIComponent(encodeURIComponent(\n JSON.stringify({\n \"sno\": \"usn_income\",\n \"items\": [\n {\n \"name\": `Оказание услуг доступа к ПО Нутрилоджик. Учетный период - ${text}`,\n \"quantity\": 1,\n \"sum\": +entity.custom_ordersumrequired.toFixed(0),\n \"payment_method\": \"full_payment\",\n \"payment_object\": \"service\",\n \"tax\": \"none\",\n },\n ]\n })\n )),\n Culture: 'ru',\n Encoding: 'utf-8',\n SignatureValue: entity.custom_signaturevalue,\n }\n\n if (isTest) {\n window.location = `https://auth.robokassa.ru/Merchant/Index.aspx?${stringify({\n ...params,\n IsTest: 1,\n })}`;\n } else {\n yield new Promise((resolve) => {\n const script = document.createElement('script');\n script.src = 'https://auth.robokassa.ru/Merchant/bundle/robokassa_iframe.js';\n script.addEventListener('load', () => {\n resolve()\n })\n\n document.body.appendChild(script);\n })\n\n window.Robokassa.StartPayment({\n ...params,\n Recurring: entity.custom_recurring,\n })\n\n yield new Promise(resolve => {\n window.addEventListener('message', (event) => {\n if (event?.data?.action === \"closeRobokassaFrame\") {\n resolve();\n }\n })\n })\n }\n}\n\nfunction* saveSuccessFlow(action) {\n const { key, response } = action.payload;\n const newKey = R.pathOr(null, ['data', 'key'], response);\n\n if (key === newKey || !newKey) {\n return;\n }\n\n const isBlocked = yield select(getInstitutionSubscriptionIsBlocked);\n\n if (isBlocked) {\n window.location = '/user/subscription';\n }\n}\n\nfunction* cancelFlow(action) {\n try {\n yield dispatchAndWait(save({\n key: action.payload.key,\n data: {\n custom_currentstatus: 'cancelOrder',\n },\n }));\n\n const isExpired = yield select(getInstitutionSubscriptionIsExpired);\n\n if (isExpired) {\n window.location = '/patients';\n }\n } catch (e) {\n\n }\n}\n\nfunction* checkOperation(key) {\n let newItem;\n\n for (var i = 0; i < 3; i++) {\n yield call(delay, 5000);\n yield dispatchAndWait(fetch({ key }));\n newItem = yield select(getItemByKey(key));\n if (newItem.custom_currentstatus === \"PostProcessingDone\") {\n return newItem;\n }\n }\n\n return newItem;\n}\n\nfunction* renewalFlow(action) {\n const { payload } = action;\n const { type, data, form } = payload;\n\n yield put(startSubmit(form));\n\n yield dispatchAndWait(fetchInstitution());\n\n try {\n const isTrial = yield select(getInstitutionTariffIsTrial);\n const isSpecial = yield select(getInstitutionTariffIsSpecial);\n const isLight = yield select(getUserIsLight);\n const state = yield select(getInstitutionSubscriptionState);\n const isNewSubscriptionOneDay = data.custom_тарифный_план === oneDayKey;\n let actionId = null;\n if (isNewSubscriptionOneDay) {\n actionId = 6448820; // Покупка однодневной подписки\n } else if (isTrial || isSpecial) {\n actionId = 5370660; // Смена тарифного плана\n } else {\n actionId = 5385772; // Продление текущего тарифного плана\n }\n const response = yield dispatchAndWait(save({\n data: {\n ...data,\n custom_currentstatus: type,\n custom_recurring: isLight && (state !== 'DEFAULT_RECURRING' || !!data.custom_промокод),\n custom_операция: data.custom_операция || `${appKey}t122r${actionId}`,\n },\n }));\n\n if (type === 'newOrder') {\n const key = response.payload.response.data.key;\n\n yield dispatchAndWait(fetch({\n key,\n }));\n const item = yield select(getItemByKey(key));\n const [payments, merchantLogin] = yield all([\n call(getVariable, 'payments'),\n call(getVariable, 'MerchantLogin')\n ])\n const isTest = payments[payments.use]?.active?.isTest || false;\n if (payments.use === 'umoney') {\n yield call(getFormYoomoney, item, merchantLogin, isTest);\n } else if (payments.use === 'robokassa') {\n yield call(getFormRobokassa, item, merchantLogin, isTest);\n }\n\n const newItem = yield call(checkOperation, item.key);\n\n if (newItem.custom_currentstatus === \"PostProcessingDone\") {\n yield dispatchAndWait(fetchInstitution());\n action.meta.resolve(true);\n yield put(stopSubmit(form));\n } else {\n action.meta.resolve(false);\n yield put(stopSubmit(form));\n }\n } else {\n yield call(saveSuccessFlow, response);\n yield put(stopSubmit(form));\n }\n } catch (error) {\n console.error(error);\n yield put(stopSubmit(form));\n }\n\n yield trackRenewSubscription();\n}\n\nfunction* changeFutureOneDayDateFlow(action) {\n try {\n const response = yield dispatchAndWait(save({\n data: {\n ...action.payload.data,\n custom_currentstatus: 'newManualOrder',\n custom_операция: `${appKey}t122r6449623`, // Перенос даты однодневной подписки\n },\n }));\n // Текущая подписка учреждения изменилась, если перенесли дату на текущий день\n yield dispatchAndWait(fetchInstitution());\n yield call(saveSuccessFlow, response);\n } catch (error) {\n console.error(error);\n }\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(cancel, cancelFlow),\n takeEvery(renewal, renewalFlow),\n takeEvery(changeFutureOneDayDate, changeFutureOneDayDateFlow),\n ]);\n}\n","import * as R from 'ramda';\n\nexport const getPromo = R.identity;\n","import * as R from 'ramda';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getCorrectionValuesByWeight = (weight, state) =>\n R.compose(\n R.map((item) => {\n const itemWeight = R.propOr(1, 'custom_от_массы_тела', item) * weight;\n\n return {\n value: item.key,\n label: `${itemWeight.toFixed(1)} кг/мес`,\n };\n }),\n R.sortBy(R.prop('custom_от_массы_тела')),\n getItemsArray,\n )(state);\n","import generator from 'redux/hor/module';\n\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'rationCorrection',\n tableId: 106,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c106cs9r318', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getCorrectionValuesByWeight,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.compose(\n R.map(item => ({\n ...item,\n key: item.key,\n title: item.custom_заголовок,\n text: (item.custom_содержимое || '').replace(/ R.compose(\n R.filter(R.propEq('___owner', userKey)),\n getItemsArray,\n)(state);\n","import * as R from 'ramda';\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetch,\n save,\n remove,\n} = generator({\n name: 'UserNotificationsExcluded',\n tableId: 142,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n ___owner: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetch,\n save,\n remove,\n};\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport { Field as FormField } from 'redux-form';\nimport containerQuery from 'decorators/containerQuery';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport { connect } from 'utils/react-redux';\nimport { Row, Column } from 'components/Grid';\nimport Button from 'components/Button';\nimport Field from 'components/Field';\nimport FieldPassword from 'components/FieldPassword';\nimport Text from 'components/Text';\nimport Title from 'components/Title';\nimport Info from 'components/Info';\nimport AvatarPicker from 'components/AvatarPicker';\nimport RadioGroup from 'components/RadioGroup';\nimport RequiredNotice from 'components/RequiredNotice';\nimport Link from 'components/Link';\nimport Checkbox from 'components/Checkbox';\nimport Select from 'components/Select';\nimport FieldDate from 'components/FieldDate';\nimport styles from './UserForm.module.css';\nimport {getUser} from \"../../redux/selectors\";\n\nconst cx = classNames.bind(styles);\n\nconst radioGroupSex = [\n {\n id: 'radioGroupSexMale',\n value: '1',\n content: 'Мужской',\n },\n {\n id: 'radioGroupSexFemale',\n value: '2',\n content: 'Женский',\n },\n];\n\nconst mapStateToProps = () => {\n return (state) => {\n const {\n User: { statistic: { deleting } }\n } = state\n return {\n deleting,\n }\n }\n}\n\nclass UserForm extends PureComponent {\n static propTypes = {\n cities: PropTypes.array,\n containerQuery: PropTypes.object,\n countries: PropTypes.array,\n dirty: PropTypes.bool,\n emptyCities: PropTypes.array,\n step: PropTypes.string,\n valid: PropTypes.bool,\n onReset: PropTypes.func,\n onSubmit: PropTypes.func,\n onExitGroup: PropTypes.func,\n submitting: PropTypes.bool,\n isAccessOpen: PropTypes.bool,\n onAddAccess: PropTypes.func,\n onConfirm: PropTypes.func,\n isLight: PropTypes.bool,\n isConfirmed: PropTypes.bool,\n deleting: PropTypes.bool,\n invite: PropTypes.object,\n }\n\n static defaultProps = {\n cities: [],\n containerQuery: PropTypes.object,\n countries: [],\n dirty: false,\n emptyCities: [],\n step: 'registration',\n valid: false,\n onReset: () => { },\n onSubmit: () => { },\n onExitGroup: () => {},\n submitting: false,\n isAccessOpen: false,\n onAddAccess: () => { },\n isLight: false,\n invite: {},\n }\n\n handlerOnFocusLinkRegistry = (event) => {\n event.target.select()\n }\n\n renderSupportButton() {\n const { isAccessOpen } = this.props;\n\n const button = (\n \n Открыть доступ поддержке\n \n );\n\n if (isAccessOpen) {\n return (\n \n \n Вы уже дали временный доступ службе поддержки. Дождитесь истечения текущего.\n \n \n );\n }\n\n return button;\n }\n\n renderForm() {\n const { step, isLight, isPartner, invite: { inviteName, inviteKey }, deleting } = this.props;\n const isInvite = step === 'invite';\n const isProfile = step === 'profile';\n const isRegistration = step === 'registration';\n const titleByStep = {\n invite: 'Приглашение',\n registration: 'Регистрация пользователя',\n };\n const isRequired = isInvite || isRegistration;\n const hasInvite = inviteKey && inviteName;\n\n return (\n \n \n
\n \n
\n
\n
\n\n \n \n \n {(isRegistration || isInvite) &&\n
\n \n {titleByStep[step]}\n \n
\n }\n\n {isRegistration &&
\n \n
}\n
\n \n
\n
\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n \n \n
\n Дата рождения\n
\n
\n \n
\n
\n \n
\n Пол\n
\n \n
\n
\n\n
\n \n {(isProfile && process.env.REACT_APP_API !== 'dd') &&\n (\n
\n {this.props.isConfirmed && input?.value === this.props.phoneValue || this.props.isConfirmedPhone ?\n \n подтвержден\n :\n \n Подтвердить\n \n }\n
\n )}\n />\n }\n
\n {\n isLight &&\n
\n \n
\n }\n {!isLight &&\n
\n \n
\n }\n\n {isProfile &&\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n
\n }\n {\n (isLight && !isRegistration) && hasInvite &&\n
\n \n (\n
\n this.props.onExitGroup(inviteKey)}\n >\n Выйти\n \n
\n )}\n />\n
\n }\n {!isProfile &&
}\n {!isInvite && !isProfile &&\n
\n \n
\n }\n {isProfile &&\n
\n
\n \n Изменить пароль\n \n
\n
\n {this.renderSupportButton()}\n
\n
\n }\n {(isRegistration || isInvite) &&\n
\n \n
\n }\n
\n
\n
\n
\n
\n
\n );\n }\n\n renderButtons() {\n const { valid, dirty, step, onReset, submitting } = this.props;\n const isRegistration = step === 'registration';\n const isInvite = step === 'invite';\n const isProfile = step === 'profile';\n\n return (\n
\n
\n\n {(isRegistration || isInvite) &&\n
\n
\n \n Продолжить\n \n
\n\n {process.env.REACT_APP_API !== 'dd' &&
\n \n Нажимая “Продолжить” вы соглашаетесь с \n
\n \n Пользовательским соглашением\n \n {' '}\n и\n {' '}\n \n Политикой конфиденциальности\n \n *\n
\n \n
}\n
\n }\n\n {isProfile &&\n
\n
\n \n
\n
\n \n
\n
\n }\n
\n );\n }\n\n render() {\n return (\n \n {this.renderForm()}\n {this.renderButtons()}\n \n );\n }\n}\n\nexport default R.compose(\n containerQuery(styles),\n connect(mapStateToProps)\n)(UserForm);\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport Text from 'components/Text';\nimport Legend from 'components/Legend';\n\nimport styles from './RequiredNotice.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class RequiredNotice extends PureComponent {\n render() {\n return (\n
\n \n Поля отмеченные звездочкой (\n \n ) обязательны для заполнения\n \n
\n );\n }\n}\n","import * as R from 'ramda';\n\nconst getItem = (val) => {\n const result = {\n key: val.key,\n ...val.fields,\n };\n\n if (val.subitems) {\n result.subitems = R.map(getItem, val.subitems);\n }\n\n return result;\n};\n\nexport default function parseResult(response, items, parseItem) {\n const data = response.list || R.pick(['fields', 'key'], response);\n const array = [].concat(data);\n\n\n let isChanged = false;\n const newItems = R.reduce((itemsByKey, item) => {\n const key = item.key;\n const parsedItem = parseItem(getItem(item));\n const current = itemsByKey[key];\n\n if (!current) {\n itemsByKey[key] = parsedItem; // eslint-disable-line\n isChanged = true;\n } else {\n const newItem = {\n ...current,\n ...parsedItem,\n };\n const isEquals = R.equals(newItem, current);\n\n if (!isEquals) {\n isChanged = true;\n itemsByKey[key] = newItem; // eslint-disable-line\n }\n }\n\n return itemsByKey;\n }, { ...items }, array);\n\n if (!isChanged) {\n return items;\n }\n\n return newItems;\n}\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { setNotification } from './reducer';\n\nconst errorsState = ['isFailed', 'isFailedNetwork'];\nconst types = ['isProcess', 'isDone', 'isRemove', 'isNextReception', ...errorsState, 'isNba', 'isInfo'];\n\nexport const getCurrentNotification = createSelector(\n state => state.notification,\n\n (state) => {\n const notification = R.reduce((acc, status) => {\n return {\n ...acc,\n [status]: R.propOr(false, status, state),\n }\n }, {}, types);\n\n const item = R.compose(\n R.head,\n R.keys,\n R.pickBy(Boolean),\n )(notification);\n\n if (R.isNil(item)) {\n return null;\n }\n\n const common = {\n onClose: setNotification({\n [item]: false,\n }),\n };\n\n return {\n type: item,\n content: R.is(Object, notification[item]) ? {\n ...common,\n ...notification[item],\n } : common,\n };\n },\n);\n","import * as R from 'ramda';\nimport { take, race } from 'redux-saga/effects';\n\nexport default function* waitFor(action) {\n const successType = `${action.type}_SUCCESS`;\n const failureType = `${action.type}_FAILURE`;\n\n while (true) {\n const [success, failure] = yield race([\n take(successType),\n take(failureType),\n ]);\n\n const isSameKey = R.eqBy(R.path(['payload', 'key']));\n const isSameView = R.eqBy(R.path(['payload', 'view']));\n if (!R.pathOr(false, ['payload', 'isLocal'], success)) {\n if (isSameKey(action, success) && isSameView(action, success)) {\n return success;\n }\n\n if (isSameKey(failure) && isSameView(action, failure)) {\n throw failure;\n }\n }\n }\n}\n","import { attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\n\nconst {\n reducer,\n fetch,\n fetchSuccess,\n create,\n save,\n saveSuccess,\n} = generator({\n name: 'partner',\n tableId: 192,\n});\n\nexport default class Partner extends Model {\n static modelName = 'Partner';\n\n static options = {\n idAttribute: 'key',\n };\n\n static fields = {\n custom_subscribe_url: attr(),\n custom_ссылка_на_логотип: attr(),\n custom_ссылка_на_логитип_в_печати: attr(),\n }\n\n static reducer = reducer;\n}\n\nexport {\n fetch,\n fetchSuccess,\n save,\n saveSuccess,\n create,\n};\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getProfileKey } from 'redux/modules/user';\nimport getApplicationUser from '../getApplicationUser';\n\nexport default createSelector(\n R.path(['auth', 'profileKey']),\n getApplicationUser,\n R.path(['user']),\n\n (authProfileKey, userKey, state) => {\n const profileKey = getProfileKey(userKey, state);\n\n return profileKey || authProfileKey;\n },\n);\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport containerQuery from 'decorators/containerQuery';\n\nimport constructFile from 'utils/constructFile';\n\nimport styles from './AvatarPicker.module.css';\n\nconst cx = classNames.bind(styles);\n\nclass AvatarPicker extends PureComponent {\n static propTypes = {\n containerQuery: PropTypes.object.isRequired,\n error: PropTypes.string,\n fileTitle: PropTypes.string,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n title: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]).isRequired,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n square: PropTypes.bool,\n }\n\n static defaultProps = {\n containerQuery: {},\n error: undefined,\n fileTitle: 'Изменить фото',\n id: undefined,\n title: 'Фото',\n value: undefined,\n onChange: () => {},\n disabled: false,\n square: false,\n }\n\n handleChange = (e) => {\n const reader = new FileReader();\n const name = R.last(e.target.value.split('\\\\'));\n const file = e.target.files[0];\n\n if (!file) {\n return;\n }\n\n reader.onload = (event) => {\n const result = event.target.result.split(/[:;,]/);\n const mime = result[1];\n const base64 = result[3];\n\n this.props.onChange({\n mime,\n base64,\n name,\n });\n };\n\n reader.readAsDataURL(e.target.files[0]);\n }\n\n\n render() {\n const { id, title, fileTitle, value, disabled, square } = this.props;\n const withFile = !R.isEmpty(value);\n\n const styleImg = {\n backgroundImage: `url(${constructFile(value)})`,\n };\n\n return (\n \n \n\n \n \n );\n }\n}\n\nexport default R.compose(\n containerQuery(styles),\n)(AvatarPicker);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport { Field } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport AvatarPicker from './AvatarPicker';\n\nclass FilePickerConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n };\n\n static defaultProps = {\n name: undefined,\n }\n\n handleChange = onChange => (event) => {\n onChange(event);\n setTimeout(this.context.onFormChange, 0);\n }\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n if (!this.props._reduxForm) { // eslint-disable-line no-underscore-dangle\n return (\n \n );\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(FilePickerConnected)","export default function getErrorTextFromResponse(error) {\n const { response = {}, message, code } = error || {};\n const { status, statusText, data } = response;\n const { exception = {} } = data || {};\n\n if (exception.type || exception.message ) {\n return `${exception.type} — ${exception.message}.`;\n }\n\n if (status || statusText) {\n return `${status}. ${statusText}`;\n }\n\n if (code || message) {\n return `${code}. ${message}`\n }\n\n return '';\n}\n","import * as R from 'ramda';\n\nimport generator from 'redux/hor/module';\n\nconst {\n reducer,\n fetchSuccess,\n} = generator({\n name: 'SupplementAllergen',\n tableId: 167,\n parentField: 'custom_пациент',\n parseItem: R.evolve({\n custom_пациент: R.propOr(null, 'key'),\n custom_бад: R.propOr(null, 'key'),\n }),\n});\n\nexport {\n fetchSuccess,\n};\n\nexport {\n getPatientAllergen,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getPatientAllergen = createSelector(\n R.identity,\n (_, state) => getItemsArray(state),\n\n R.uncurryN(2, key => R.compose(\n R.pluck('custom_бад'),\n R.filter(R.propEq('custom_пациент', key)),\n )),\n);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport Message from 'components/Message';\n\nimport styles from './Error.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Error extends PureComponent {\n static propTypes = {\n error: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n }\n\n static defaultProps = {\n error: undefined,\n }\n\n render() {\n const { error } = this.props;\n\n return (\n
\n \n
\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport Icon from 'components/Icon';\n\nimport styles from './Message.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Message extends PureComponent {\n static propTypes = {\n icon: PropTypes.string,\n text: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n inlineBlock: PropTypes.bool,\n };\n\n static defaultProps = {\n icon: 'error',\n text: 'Some error',\n inlineBlock: false,\n };\n\n render() {\n const { icon, text, inlineBlock } = this.props;\n\n return (\n
\n
\n \n
\n
{text}
\n
\n );\n }\n}\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { appKey } from 'config';\n\nconst typeOrder = [\n `${appKey}t8r192`,\n `${appKey}t8r194`,\n `${appKey}t8r195`,\n `${appKey}t8r193`,\n `${appKey}t8r196`,\n];\n\nexport default createOrmSelector(\n (session) => {\n const { AnalysisType } = session;\n\n return AnalysisType\n .all()\n .filter(item => R.contains(item.key, typeOrder))\n .orderBy(item => R.indexOf(item.key, typeOrder))\n .toModelArray()\n .map(i => ({\n value: i.key,\n label: i.custom_наименование,\n }));\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getAnalysesTypes from '../getAnalysesTypes';\n\nexport default createSelector(\n getAnalysesTypes,\n\n R.concat([{\n value: 'all',\n label: 'Все анализы',\n }]),\n);\n","import * as R from 'ramda';\n\nimport { createSelector } from 'reselect';\n\nexport default createSelector(\n R.path(['routeParams', 'analysisId']),\n (state, props = {}) => props.analysisId,\n\n (stateId, propsId) => propsId || stateId,\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport { appKey } from 'config';\n\nimport isLocalKey from 'utils/isLocalKey';\n\nimport getAnalysisId from '../getAnalysisId';\n\nexport default createOrmSelector(\n getAnalysisId,\n\n (session, id) => {\n if (!id) {\n return id;\n }\n\n if (!isLocalKey(id)) {\n return `${appKey}t19r${id}`;\n }\n\n try {\n const { PatientAnalysis } = session;\n const item = PatientAnalysis.filter({ oldKey: id }).first();\n\n return item.key;\n } catch (error) {\n return id;\n }\n },\n);\n","import moment from 'moment';\n\nimport createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getAnalysisKey from '../getAnalysisKey';\n\nexport default createCachedOrmSelector(\n getAnalysisKey,\n\n (session, analysisKey) => {\n const { PatientAnalysis } = session;\n\n let item;\n\n if (PatientAnalysis.idExists(analysisKey)) {\n item = PatientAnalysis.withId(analysisKey);\n } else {\n item = PatientAnalysis.filter({ oldKey: analysisKey }).first();\n }\n\n if (!item) {\n return {};\n }\n\n return {\n key: item.key || analysisKey,\n id: item.id,\n time: item.custom_дата_текстом || 'Сегодня',\n type: item.custom_вид_анализа.key,\n typeId: item.custom_вид_анализа.id,\n caption: item.custom_вид_анализа.custom_наименование,\n date: item.custom_дата || moment(),\n ___parent: item.___parent,\n };\n },\n);\n","import * as R from 'ramda';\nimport createCachedSelector from 're-reselect';\n\nimport getAnalysisItem from '../getAnalysisItem';\nimport getAnalysisDataBlood from './getAnalysisDataBlood';\nimport getAnalysisDataGenes from './getAnalysisDataGenes';\nimport getAnalysisDataVitamin from './getAnalysisDataVitamin';\nimport getAnalysisDataHair from './getAnalysisDataHair';\nimport getAnalysisDataSalt from './getAnalysisDataSalt';\n\nconst types = {\n 194: getAnalysisDataBlood,\n 196: getAnalysisDataGenes,\n 193: getAnalysisDataVitamin,\n 192: getAnalysisDataHair,\n 195: getAnalysisDataSalt,\n};\n\nexport default createCachedSelector(\n (state, props) => R.compose(\n type => types[type](state, props),\n R.prop('typeId'),\n getAnalysisItem,\n )(state, props),\n\n R.identity,\n)((state, props) => props.analysisId);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createCachedOrmSelector(\n getAnalysisKey,\n\n (session, key) => {\n const { AnalysisBlood } = session;\n\n return AnalysisBlood\n .filter({\n ___parent: key,\n })\n .toModelArray()\n .map(item => ({\n key: item.key,\n itemKey: item.custom_химический_элемент.key,\n label: `${item.custom_химический_элемент.custom_наименование}, мкг/л`,\n value: item.custom_факт,\n }));\n },\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createCachedOrmSelector(\n getAnalysisKey,\n\n (session, key) => {\n const { AnalysisGenes } = session;\n\n return AnalysisGenes\n .filter({\n ___parent: key,\n })\n .toModelArray()\n .map(item => ({\n key: item.key,\n itemKey: item.custom_ген.key,\n label: item.custom_ген.custom_название,\n value: item.custom_генотип.custom_наименование,\n }));\n },\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createCachedOrmSelector(\n getAnalysisKey,\n\n (session, key) => {\n const { AnalysisVitamin } = session;\n\n return AnalysisVitamin\n .filter({\n ___parent: key,\n })\n .toModelArray()\n .map(item => ({\n key: item.key,\n itemKey: item.custom_витамин.key,\n label: item.custom_витамин.custom_наименование,\n value: item.custom_оценка,\n }));\n },\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createCachedOrmSelector(\n getAnalysisKey,\n\n (session, key) => {\n const { AnalysisHair } = session;\n\n return AnalysisHair\n .filter({\n ___parent: key,\n })\n .toModelArray()\n .map(item => ({\n key: item.key,\n itemKey: item.custom_химический_элемент.key,\n label: `${item.custom_химический_элемент.custom_наименование}, мкг/г`,\n value: item.custom_факт,\n }));\n },\n);\n","import createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createCachedOrmSelector(\n getAnalysisKey,\n\n (session, key) => {\n const { AnalysisSalt } = session;\n\n return AnalysisSalt\n .filter({\n ___parent: key,\n })\n .toModelArray()\n .map(item => ({\n key: item.key,\n itemKey: item.custom_химический_элемент.key,\n label: item.custom_химический_элемент.custom_наименование,\n value: item.custom_результат ? 'Обнаружено' : 'Не обнаружено',\n }));\n },\n);\n","import createCachedSelector from 're-reselect';\n\nimport getAnalysisItem from '../getAnalysisItem';\nimport getAnalysisData from '../getAnalysisData';\n\nexport default createCachedSelector(\n getAnalysisItem,\n getAnalysisData,\n\n (item, data) => ({\n ...item,\n data,\n }),\n)((state, props) => props.analysisId);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getAnalysisItem from '../getAnalysisItem';\n\nexport default createSelector(\n getAnalysisItem,\n\n R.prop('caption'),\n);\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport Link from 'components/Link';\nimport Text from 'components/Text';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport styles from './More.module.css';\n\nconst cx = classNames.bind(styles);\n\nconst OPEN_MAX_HEIGHT = 2000;\nconst TRANSITION_DELAY = 300;\n\nexport const shouldShowButton = self =>\n (!self.textNode || self.textNode.scrollHeight > self.textNode.offsetHeight);\n\nexport default class More extends PureComponent {\n static propTypes = {\n backgroundColor: PropTypes.oneOf([\n 'dayWhite',\n ]),\n lineHeight: PropTypes.number,\n lines: PropTypes.number,\n text: PropTypes.string,\n }\n\n static defaultProps = {\n backgroundColor: undefined,\n lineHeight: 19.6,\n lines: 3,\n text: '',\n }\n\n state = {\n open: false,\n showButton: false,\n }\n\n componentDidMount() {\n window.addEventListener('resize', this.setShowButtonDelayed);\n this.setShowButton();\n }\n\n componentDidUpdate() {\n this.setShowButtonDelayed();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.setShowButtonDelayed);\n }\n\n handleClick = () => {\n if (this.state.open) {\n this.setState({\n open: false,\n });\n } else {\n this.setState({\n open: true,\n });\n }\n }\n\n setShowButton = () => {\n this.setState({\n showButton: shouldShowButton(this),\n });\n }\n\n setShowButtonDelayed = () => {\n if (!this.state.open) {\n setTimeout(this.setShowButton, TRANSITION_DELAY);\n }\n }\n\n setNode = (textNode) => {\n this.textNode = textNode;\n };\n\n render() {\n const buttonText = !this.state.open ? 'Развернуть' : 'Свернуть';\n const {\n backgroundColor,\n lines,\n lineHeight,\n } = this.props;\n const hasBackground = !R.isNil(backgroundColor);\n const showButton = this.props.text.length > 0 && this.state.showButton;\n const height = lines * lineHeight;\n\n return (\n \n \n {this.props.text}\n \n \n \n {showButton &&\n \n {buttonText}\n \n }\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport containerQuery from 'decorators/containerQuery';\n\nimport Text from 'components/Text';\nimport Select from 'components/Select';\nimport More from 'components/More';\n\nimport styles from './AnalysRow.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport class AnalysRow extends PureComponent {\n static propTypes = {\n selectList: PropTypes.array,\n title: PropTypes.string,\n influence: PropTypes.string,\n selectName: PropTypes.string,\n disabledInitially: PropTypes.bool,\n containerQuery: PropTypes.object,\n }\n\n static defaultProps = {\n selectList: [],\n }\n\n state = {\n focused: false,\n disabled: this.props.disabledInitially,\n }\n\n handleFocusSelect = () => {\n this.setState({ focused: true });\n }\n\n handleBlurSelect = () => {\n this.setState({ focused: false });\n }\n\n handleSelectChange = () => {\n this.setState({ disabled: false });\n }\n\n handleClose = () => {\n this.setState({ focused: false });\n }\n\n render() {\n const {\n selectList,\n title,\n influence,\n selectName,\n items,\n } = this.props;\n const { focused, disabled } = this.state;\n\n const options = items ?\n selectList.filter(i => R.contains(i.value, items)) :\n selectList;\n\n return (\n
\n \n \n {title}\n
\n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default R.compose(\n containerQuery(styles),\n)(AnalysRow);\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport { reduxForm } from 'redux-form';\nimport { connect } from 'utils/react-redux';\n\nimport onFormChange from 'decorators/onFormChange';\n\nimport {\n getAnalysisId,\n getAnalysisKey,\n} from '../redux/selectors';\nimport {\n save as saveAnalysis,\n} from '../redux/modules/patientAnalysis';\n\nexport default function formAnalysisItem({\n save,\n saveParameterCreator,\n formatValue = R.identity,\n}) {\n return (WrappedComponent) => {\n const mapStateToProps = () => {\n const getInitialValues = memoizee(R.objOf('value'), { max: 1 });\n\n return (state, props) => {\n const { name, value } = props;\n const analysisId = getAnalysisId(state);\n\n return {\n analysisKey: getAnalysisKey(state, { analysisId }),\n initialValues: getInitialValues(value),\n form: name,\n };\n };\n };\n\n const mapDispatchToProps = {\n save,\n saveAnalysis,\n };\n\n class FormedContainer extends PureComponent {\n static propTypes = {\n analysisKey: PropTypes.string,\n name: PropTypes.string,\n reset: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n save: PropTypes.func.isRequired,\n saveAnalysis: PropTypes.func.isRequired,\n updateKey: PropTypes.string,\n }\n\n handleSubmit = this.props.handleSubmit(({ value: originalValue }) => {\n const value = formatValue(originalValue);\n\n if (R.isNil(value)) {\n return;\n }\n\n if (R.isEmpty(value)) {\n this.props.reset();\n return;\n }\n\n this.handleSave(value);\n });\n\n handleSave = (value) => {\n const { analysisKey, updateKey, name } = this.props;\n\n return this.props.save({\n key: updateKey,\n data: {\n ___parent: analysisKey,\n ...saveParameterCreator({\n key: name,\n value,\n }),\n },\n });\n }\n\n render() {\n return (\n
\n \n \n );\n }\n }\n\n return R.compose(\n connect(mapStateToProps, mapDispatchToProps),\n reduxForm({\n enableReinitialize: true,\n fields: [\n 'value',\n ],\n }),\n onFormChange('handleSubmit'),\n )(FormedContainer);\n };\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport AnalysRow from '../../components/AnalysRow';\nimport { save } from '../../redux/modules/analysisGenes';\nimport formAnalysisItem from '../../utils/formAnalysisItem';\n\nconst saveParameterCreator = ({\n key,\n value,\n}) => ({\n custom_ген: key,\n custom_генотип: value,\n});\n\nclass GeneticAnalysisItemContainer extends PureComponent {\n static propTypes = {\n title: PropTypes.string,\n influence: PropTypes.string,\n selectList: PropTypes.array,\n items: PropTypes.array,\n name: PropTypes.string,\n disabledInitially: PropTypes.bool,\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default R.compose(\n formAnalysisItem({\n save,\n saveParameterCreator,\n }),\n)(GeneticAnalysisItemContainer);\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport AnalysRow from '../../components/AnalysRow';\nimport { save } from '../../redux/modules/analysisVitamin';\nimport formAnalysisItem from '../../utils/formAnalysisItem';\n\nconst saveParameterCreator = ({\n key,\n value,\n}) => ({\n custom_витамин: key,\n custom_оценка: value,\n});\n\nclass GeneticAnalysisItemContainer extends PureComponent {\n static propTypes = {\n title: PropTypes.string,\n influence: PropTypes.string,\n selectList: PropTypes.array,\n name: PropTypes.string,\n disabledInitially: PropTypes.bool,\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default R.compose(\n formAnalysisItem({\n save,\n saveParameterCreator,\n }),\n)(GeneticAnalysisItemContainer);\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport containerQuery from 'decorators/containerQuery';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Text from 'components/Text';\nimport Link from 'components/Link';\nimport Icon from 'components/Icon';\n\nimport GenesRow from '../../containers/AnalysisItemGenes';\nimport VitaminRow from '../../containers/AnalysisItemVitamin';\n\nimport styles from './RowsTable.module.css';\n\nconst cx = classNames.bind(styles);\n\nconst getDefaultRows = R.filter(R.prop('showByDefault'));\nconst getNotDefaultRows = R.reject(R.prop('showByDefault'));\nconst showShortListByDefault = R.compose(\n R.all(R.propSatisfies(R.isNil, 'value')),\n R.reject(R.prop('showByDefault')),\n);\n\nclass RowsTable extends PureComponent {\n static propTypes = {\n rows: PropTypes.array,\n selectList: PropTypes.array,\n titles: PropTypes.array,\n vitaminsAnalys: PropTypes.bool,\n containerQuery: PropTypes.object,\n }\n\n static defaultProps = {\n rows: [],\n titles: [],\n };\n\n state = {\n showShortList: showShortListByDefault(this.props.rows),\n }\n\n handleToggleList = () => {\n this.setState({\n showShortList: !this.state.showShortList,\n });\n }\n\n render() {\n const {\n titles,\n selectList,\n vitaminsAnalys,\n } = this.props;\n const { showShortList } = this.state;\n const notDefault = getNotDefaultRows(this.props.rows);\n const rows = showShortList ?\n getDefaultRows(this.props.rows) :\n [...getDefaultRows(this.props.rows), ...notDefault];\n const AnalysRow = vitaminsAnalys ? VitaminRow : GenesRow;\n const rowsList = rows.map(item => (\n \n \n \n ));\n const tableHeader = titles.map((item, index) => (\n \n \n {item}\n \n \n ));\n\n return (\n
\n
\n {tableHeader}\n
\n
\n {rowsList}\n
\n {!R.isEmpty(notDefault) &&\n
\n \n
\n \n
\n {showShortList ? 'Показать все' : 'Показать основные'}\n \n
\n }\n
\n );\n }\n}\n\nexport default R.compose(\n containerQuery(styles),\n)(RowsTable);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nimport RowsTable from '../../components/RowsTable';\n\nconst tableTitles = ['Ген', 'Генотип', 'Влияние'];\n\nexport default class AnalysisGenes extends PureComponent {\n static propTypes = {\n data: PropTypes.array,\n itemSelectDictionary: PropTypes.array,\n }\n\n render() {\n const {\n data,\n itemSelectDictionary,\n } = this.props;\n\n return (\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport Select from 'components/Select';\n\nimport styles from './AnalysisItemSalt.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class AnalysisItemSalt extends PureComponent {\n static propTypes = {\n name: PropTypes.string,\n label: PropTypes.string,\n options: PropTypes.array,\n }\n\n render() {\n const {\n name,\n label,\n options,\n } = this.props;\n\n return (\n
\n
\n {label}\n
\n
\n \n
\n
\n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport AnalysisItemSalt from '../../components/AnalysisItemSalt';\nimport { save } from '../../redux/modules/analysisSalt';\nimport formAnalysisItem from '../../utils/formAnalysisItem';\n\nconst saveParameterCreator = ({\n key,\n value,\n}) => ({\n custom_химический_элемент: key,\n custom_результат: value,\n});\n\nclass AnalysisItemSaltContainer extends PureComponent {\n static propTypes = {\n name: PropTypes.string,\n label: PropTypes.string,\n options: PropTypes.array,\n updateKey: PropTypes.array,\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default R.compose(\n formAnalysisItem({\n save,\n saveParameterCreator,\n }),\n)(AnalysisItemSaltContainer);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport AnalysisItemSalt from '../../containers/AnalysisItemSalt';\n\nimport styles from './AnalysisSalt.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class AnalysisSalt extends PureComponent {\n static propTypes = {\n data: PropTypes.array,\n itemSelectDictionary: PropTypes.array,\n }\n\n static defaultProps = {\n data: [],\n }\n\n renderItem(item) {\n const { itemSelectDictionary } = this.props;\n\n return (\n \n \n \n );\n }\n\n render() {\n return (\n
\n {this.props.data.map(this.renderItem, this)}\n
\n );\n }\n}\n","import * as R from 'ramda';\n\nconst formatValue = (i) => {\n if (R.isNil(i)) {\n return '';\n } else if (R.is(Number, i)) {\n return String(i);\n } else if (i === '') {\n return i;\n }\n\n return String(Number.parseFloat(R.replace(',', '.', i)));\n};\n\nexport default formatValue;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Field from 'components/Field';\n\nimport { save } from '../../redux/modules/analysisBlood';\nimport formAnalysisItem from '../../utils/formAnalysisItem';\nimport formatValue from '../../utils/bloodAndHairAnalysis/formatValue';\n\nconst saveParameterCreator = ({\n key,\n value,\n}) => ({\n custom_химический_элемент: key,\n custom_факт: value,\n});\n\nclass BloodAnalysisItemContainer extends PureComponent {\n static propTypes = {\n name: PropTypes.string,\n }\n\n render() {\n const { name } = this.props;\n\n return (\n \n );\n }\n}\n\nexport default R.compose(\n formAnalysisItem({\n save,\n saveParameterCreator,\n formatValue,\n }),\n)(BloodAnalysisItemContainer);\n","import createValidate from 'utils/validation';\n\nexport default createValidate({\n value: {\n numeric: true,\n },\n});\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport BarchartTable from 'components/BarchartTable';\n\nimport AnalysisItemBlood from '../../containers/AnalysisItemBlood';\nimport getValidator from '../../utils/bloodAndHairAnalysis/getValidator';\n\nexport default class BloodAnalysis extends PureComponent {\n static propTypes = {\n data: PropTypes.array,\n }\n\n fieldRenderer(options) {\n const {\n name,\n value,\n update,\n updateKey,\n } = options;\n\n return (\n \n );\n }\n\n\n render() {\n const { data } = this.props;\n\n return (\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Field from 'components/Field';\n\nimport { save } from '../../redux/modules/analysisHair';\nimport formAnalysisItem from '../../utils/formAnalysisItem';\nimport formatValue from '../../utils/bloodAndHairAnalysis/formatValue';\n\nconst saveParameterCreator = ({\n key,\n value,\n}) => ({\n custom_химический_элемент: key,\n custom_факт: value,\n});\n\nclass HairAnalysisItemContainer extends PureComponent {\n static propTypes = {\n name: PropTypes.string,\n }\n\n render() {\n const { name } = this.props;\n\n return (\n \n );\n }\n}\n\nexport default R.compose(\n formAnalysisItem({\n save,\n saveParameterCreator,\n formatValue,\n }),\n)(HairAnalysisItemContainer);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport BarchartTable from 'components/BarchartTable';\n\nimport AnalysisItemHair from '../../containers/AnalysisItemHair';\nimport getValidator from '../../utils/bloodAndHairAnalysis/getValidator';\n\nexport default class HairAnalysis extends PureComponent {\n static propTypes = {\n data: PropTypes.array,\n }\n\n fieldRenderer(state) {\n const {\n name,\n value,\n update,\n updateKey,\n } = state;\n\n return (\n \n );\n }\n\n render() {\n const { data } = this.props;\n\n return (\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nimport RowsTable from '../../components/RowsTable';\n\nconst tableTitles = ['Витамин', 'Оценка', 'Рекомендации'];\n\nexport default class VitaminsAnalys extends PureComponent {\n static propTypes = {\n data: PropTypes.array,\n itemSelectDictionary: PropTypes.array,\n }\n\n render() {\n const {\n data,\n itemSelectDictionary,\n } = this.props;\n\n return (\n \n );\n }\n}\n","import getAnalysisItem from '../getAnalysisItem';\n\nimport AnalysisGenes from '../../../components/AnalysisGenes';\nimport AnalysisSalt from '../../../components/AnalysisSalt';\nimport AnalysisBlood from '../../../components/AnalysisBlood';\nimport AnalysisHair from '../../../components/AnalysisHair';\nimport AnalysisVitamin from '../../../components/AnalysisVitamin';\n\nconst getAnalysisViewComponent = (state) => {\n const analysis = getAnalysisItem(state);\n const { typeId } = analysis || {};\n const analysisTypeToStateMap = {\n 194: AnalysisBlood,\n 196: AnalysisGenes,\n 193: AnalysisVitamin,\n 192: AnalysisHair,\n 195: AnalysisSalt,\n };\n\n if (!typeId) {\n return () => null;\n }\n\n return analysisTypeToStateMap[typeId];\n};\n\nexport default getAnalysisViewComponent;","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createOrmSelector(\n getAnalysisKey,\n\n (session, analysisKey) => {\n const { ChemicalElement, AnalysisBlood } = session;\n\n const subitems = ChemicalElement\n .filter({\n custom_анализ_волос: true,\n })\n .toRefArray()\n .map((item) => {\n const existedItem = AnalysisBlood\n .filter({\n ___parent: analysisKey,\n custom_химический_элемент: item.key,\n })\n .first() || {};\n\n const commonProps = {\n chemicalElement: item.key,\n normMin: item.custom_норма_анализа_крови_от__мг,\n norm: item.custom_норма_анализа_крови__мг,\n normMax: item.custom_норма_анализа_крови_до__мг,\n label: `${item.custom_наименование}, мкг/л`,\n nameField: item.key,\n element: item.key,\n };\n\n return {\n ...commonProps,\n data: existedItem.custom_факт,\n updateKey: existedItem.key,\n };\n });\n\n return [\n {\n element: 'root',\n subitems,\n },\n ];\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createOrmSelector(\n getAnalysisKey,\n\n (session, analysisKey) => {\n const { Gene, AnalysisGenes } = session;\n\n return Gene\n .all()\n .toRefArray()\n .map((item) => {\n const existedItem = AnalysisGenes\n .filter({\n ___parent: analysisKey,\n custom_ген: item.key,\n })\n .first() || {};\n\n const gene = existedItem.custom_генотип;\n\n return {\n key: item.key,\n title: item.custom_название,\n influence: item.custom_описание,\n showByDefault: item.custom_видно_по_умолчанию,\n value: gene ? gene.key : undefined,\n items: item.custom_генотипы,\n updateKey: existedItem.key,\n };\n });\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createOrmSelector(\n getAnalysisKey,\n\n (session, analysisKey) => {\n const { ChemicalElement, AnalysisHair } = session;\n\n const subitems = ChemicalElement\n .filter({\n custom_анализ_крови: true,\n })\n .toRefArray()\n .map((item) => {\n const existedItem = AnalysisHair\n .filter({\n ___parent: analysisKey,\n custom_химический_элемент: item.key,\n })\n .first() || {};\n\n const commonProps = {\n chemicalElement: item.key,\n normMin: item.custom_норма_анализа_волос_от__мг,\n norm: item.custom_норма_анализа_волос__мг,\n normMax: item.custom_норма_анализа_волос_до__мг,\n label: `${item.custom_наименование}, мкг/г`,\n nameField: item.key,\n element: item.key,\n };\n\n return {\n ...commonProps,\n data: existedItem.custom_факт,\n updateKey: existedItem.key,\n };\n });\n\n return [\n {\n element: 'root',\n subitems,\n },\n ];\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createOrmSelector(\n getAnalysisKey,\n\n (session, analysisKey) => {\n const { ChemicalElement, AnalysisSalt } = session;\n\n return ChemicalElement\n .filter({\n custom_анализ_мочи: true,\n })\n .toRefArray()\n .map((item) => {\n const existedItem = AnalysisSalt\n .filter({\n ___parent: analysisKey,\n custom_химический_элемент: item.key,\n })\n .first() || {};\n\n return {\n key: item.key,\n label: item.custom_наименование,\n value: existedItem.custom_результат,\n updateKey: existedItem.key,\n };\n });\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getAnalysisKey from '../../getAnalysisKey';\n\nexport default createOrmSelector(\n getAnalysisKey,\n\n (session, analysisKey) => {\n const { Vitamin, AnalysisVitamin } = session;\n\n return Vitamin\n .all()\n .toRefArray()\n .map((item) => {\n const existedItem = AnalysisVitamin\n .filter({\n ___parent: analysisKey,\n custom_витамин: item.key,\n })\n .first() || {};\n\n return {\n key: item.key,\n title: item.custom_наименование,\n influence: item.custom_рекомендации,\n showByDefault: true,\n value: existedItem.custom_оценка,\n updateKey: existedItem.key,\n };\n });\n },\n);\n","import {\n getAnalysisItem,\n} from '../../selectors';\n\nimport getAnalysisViewBlood from './getAnalysisViewBlood';\nimport getAnalysisViewGenes from './getAnalysisViewGenes';\nimport getAnalysisViewHair from './getAnalysisViewHair';\nimport getAnalysisViewSalt from './getAnalysisViewSalt';\nimport getAnalysisViewVitamin from './getAnalysisViewVitamin';\n\nexport const getAnalysisStatefulConfig = (state, type) => {\n const analysisTypeToStateMap = {\n 194: getAnalysisViewBlood,\n 196: getAnalysisViewGenes,\n 193: getAnalysisViewVitamin,\n 192: getAnalysisViewHair,\n 195: getAnalysisViewSalt,\n };\n\n return analysisTypeToStateMap[type] || (() => undefined);\n};\n\nconst getAnalysisViewData = (state) => {\n const analysis = getAnalysisItem(state);\n const { typeId } = analysis;\n const transformData = getAnalysisStatefulConfig(state, typeId);\n\n if (!transformData) {\n return null;\n }\n\n return transformData(state);\n};\n\nexport default getAnalysisViewData","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { Genotype } = session;\n\n return Genotype\n .all()\n .toRefArray()\n .map(item => ({\n label: item.custom_наименование,\n value: item.key,\n }));\n },\n);\n","import * as R from 'ramda';\n\nimport getAnalysisItem from '../getAnalysisItem';\nimport getGenotypes from '../getGenotypes';\n\nconst analysisTypeToStateMap = {\n 192: R.always(null),\n 196: getGenotypes,\n 193: R.always([\n { value: 'В норме', label: 'В норме' },\n { value: 'Повышено', label: 'Повышено' },\n { value: 'Понижено', label: 'Понижено' },\n ]),\n 194: R.always(null),\n 195: R.always([\n { value: false, label: 'Не обнаружено' },\n { value: true, label: 'Обнаружено' },\n ]),\n};\n\nconst getAnalysisViewOptions = (state) => {\n const analysis = getAnalysisItem(state);\n const { typeId } = analysis;\n const getData = analysisTypeToStateMap[typeId] || R.always(null);\n\n return getData(state);\n};\n\nexport default getAnalysisViewOptions;","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { ChemicalElement } = session;\n\n return ChemicalElement.all().toRefArray();\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getAnalysis from '../getAnalysis';\n\nexport default createSelector(\n (state, props) => R.pathOr([], ['location', 'query', 'comparision'], props),\n R.identity,\n\n (items, state) => R.map(item => getAnalysis(state, {\n analysisId: item,\n }), items),\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { Gene } = session;\n\n return Gene.all().toRefArray();\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nexport default createOrmSelector(\n (session) => {\n const { Vitamin } = session;\n\n return Vitamin\n .all()\n .toRefArray()\n .map(item => ({\n key: item.key,\n label: item.custom_наименование,\n }));\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport getAnalysisItem from '../getAnalysisItem';\nimport getChemicalElements from '../getChemicalElements';\nimport getGenes from '../getGenes';\nimport getVitamins from '../getVitamins';\n\nconst getChemicalList = prop => createSelector(\n getChemicalElements,\n\n R.compose(\n R.map(item => ({\n key: item.key,\n label: R.prop('custom_наименование', item),\n })),\n R.filter(R.prop(prop)),\n ),\n);\n\nconst types = {\n 194: getChemicalList('custom_анализ_крови'),\n 196: createSelector(\n getGenes,\n\n R.map(item => ({\n key: item.key,\n label: R.prop('custom_название', item),\n })),\n ),\n 193: getVitamins,\n 192: getChemicalList('custom_анализ_волос'),\n 195: getChemicalList('custom_анализ_мочи'),\n};\n\nexport default createSelector(\n (state, props) => R.compose(\n type => types[type](state, props),\n R.prop('typeId'),\n getAnalysisItem,\n )(state, props),\n\n R.identity,\n);\n","import * as R from 'ramda';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\nimport moment from 'moment';\n\nimport { appKey } from 'config';\n\nimport isLocalKey from 'utils/isLocalKey';\n\nimport {\n getPatientKey,\n} from 'redux/selectors';\n\nconst icons = {\n 192: {\n icon: 'biochemical',\n height: 24,\n width: 16,\n },\n 196: {\n icon: 'genetic',\n height: 30,\n width: 30,\n },\n 193: {\n icon: 'vitamins',\n height: 28,\n width: 22,\n },\n 194: {\n icon: 'microelements',\n height: 30,\n width: 24,\n },\n 195: {\n icon: 'urine',\n height: 26,\n width: 22,\n },\n};\n\nexport default createOrmSelector(\n (state, props = {}) => props.filter || 'all',\n getPatientKey,\n\n (session, filter, patientKey) => {\n const { PatientAnalysis } = session;\n\n return PatientAnalysis\n .filter({\n ___parent: patientKey,\n })\n .exclude({\n isDeleted: true,\n })\n .exclude(item => isLocalKey(item.key))\n .orderBy(item => moment(item.custom_дата).valueOf(), 'desc')\n .filter(item => item.custom_вид_анализа !== `${appKey}t8r6440794`)\n .filter(item => filter === 'all' || filter === item.custom_вид_анализа)\n .toModelArray()\n .map(item => {\n if (!item.custom_вид_анализа) {\n return null;\n }\n\n return ({\n id: item.id,\n key: item.key,\n iconProps: R.prop(item.custom_вид_анализа.id, icons),\n time: item.custom_дата_текстом,\n type: item.custom_вид_анализа.key,\n caption: item.custom_вид_анализа.custom_наименование,\n date: item.custom_дата,\n isDeleting: item.isDeleting,\n })\n })\n .filter(Boolean)\n },\n);\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArrayByParent } from 'redux/hor/module/selectors';\n\nexport const getSumComposition = memoizee((value, productKey, state) => {\n const composition = getItemsArrayByParent(productKey, state);\n console.log(\"----------------\");\n console.log(composition);\n\n if (!value) {\n return {};\n }\n\n return R.reduce((acc, item) => {\n const element = R.prop('custom_элемент', item);\n const elementValue = R.prop('custom_значение_на_порцию', item);\n const lens = R.lensProp(element);\n const realValue = Math.round(elementValue * value) / 100;\n\n return R.set(lens, realValue, acc);\n }, {}, composition);\n});\n\nexport const getIsHaveComposition = R.compose(\n R.not,\n R.isEmpty,\n getItemsArrayByParent,\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\nimport moment from 'moment';\nimport * as R from 'ramda';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nimport getPatientKey from 'redux/selectors/getPatientKey';\nimport getSupplementKey from 'redux/selectors/getSupplementKey';\n\nexport const getSupplement = createOrmSelector(\n getSupplementKey,\n\n (session, key) => {\n const { Supplement } = session;\n\n const item = Supplement\n .filter({\n key,\n })\n .first();\n\n if (item) {\n return item.ref;\n }\n\n return item;\n },\n);\n\nexport const getLastSupplementRation = createOrmSelector(\n getPatientKey,\n\n (session, patientKey) => {\n const { Supplement } = session;\n\n return Supplement\n .filter({\n ___parent: patientKey,\n })\n .exclude({\n isDeleted: true,\n })\n .exclude({\n isDeleting: true,\n })\n .orderBy(a => getKeyInfo(a.key).record)\n .last();\n },\n);\n\nexport const getLastSupplementRationKey = R.compose(\n item => item ? item.key : null,\n getLastSupplementRation,\n);\n\nexport const getLastSupplementRationId = R.compose(\n item => item ? item.id : null,\n getLastSupplementRation,\n);\n\nexport const getSupplementItems = createOrmSelector(\n getPatientKey,\n getSupplementKey,\n\n (session, patientKey, supplementKey) => {\n const { Supplement } = session;\n\n return Supplement\n .filter({\n ___parent: patientKey,\n })\n .exclude(item => item.isDeleted && item.key !== supplementKey)\n .orderBy(a => getKeyInfo(a.key).record, 'desc')\n .toModelArray()\n .map(item => ({\n value: item.id,\n label: moment(item.___createddate).format('DD.MM.YYYY HH:mm'), // eslint-disable-line no-underscore-dangle\n }));\n },\n);\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.map(item => ({\n label: item.custom_наименование,\n value: item.key,\n text: item.custom_описание,\n })),\n);\n","import { all, takeEvery, call, put } from 'redux-saga/effects';\nimport { startSubmit, stopSubmit } from 'redux-form';\n\nimport { appKey } from 'config';\n\nimport { request } from 'utils/api';\n\nimport {\n fetchItem\n} from 'redux/modules/patients'\n\nimport {\n loadId,\n loadIdSuccess,\n loadIdFailure,\n loadInbodyReport,\n loadInbodyReportSuccess,\n loadInbodyReportFailure,\n} from './index';\n\nfunction* loadInbodyReportFlow({ payload }) {\n const key = payload.key\n const inbodyid = payload.inbodyid\n\n try {\n if (payload.form) {\n yield put(startSubmit(payload.form));\n }\n\n const response = yield call(request.post, `/${appKey}t179r/json/v2`, {\n parameters: {\n patient_key: key,\n inbodyid,\n },\n }, {\n headers: {\n Function: 'getInbodyMetering',\n }\n })\n\n if (response.data.error) {\n if (payload.form) {\n yield put(stopSubmit(payload.form, {\n id: 'Отчет с таким InBodyId не найден. Проверьте номер и повторите попытку.',\n }))\n }\n yield put(loadInbodyReportFailure())\n return\n }\n\n yield put(fetchItem({\n key,\n }))\n\n yield put(loadInbodyReportSuccess({\n ...response.data.data,\n }))\n yield put(stopSubmit(payload.form))\n } catch (error) {\n yield put(loadInbodyReportFailure(error))\n yield put(stopSubmit(payload.form, {\n id: 'Отчет с таким InBodyId не найден. Проверьте номер и повторите попытку.',\n }))\n }\n}\n\n\nfunction* loadIdFlow(action) {\n const key = action.payload.key\n\n try {\n const response = yield call(request.post, `/${appKey}t179r/json/v2`, {\n parameters: {\n patient_key: key,\n },\n }, {\n headers: {\n Function: 'getInbodyID',\n }\n })\n\n const id = response.data.data.inbodyid\n\n yield put(loadIdSuccess(id))\n } catch (error) {\n yield put(loadIdFailure({\n ...action.payload,\n error,\n }))\n }\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(loadId, loadIdFlow),\n takeEvery(loadInbodyReport, loadInbodyReportFlow),\n ]);\n}\n","import { createAction, createReducer } from 'redux-act'\n\nexport const loadId = createAction('INBODY__LOADID')\nexport const loadIdSuccess = createAction('INBODY__LOADID_SUCCESS')\nexport const loadIdFailure = createAction('INBODY__LOADID_FAILURE')\n\nexport const loadInbodyReport = createAction('INBODY__LOADREPORT')\nexport const loadInbodyReportSuccess = createAction('INBODY__LOADREPORT_SUCCESS')\nexport const loadInbodyReportFailure = createAction('INBODY__LOADREPORT_FAILURE')\n\n\nconst reducer = createReducer({\n [loadIdSuccess]: (state, id) => ({\n ...state,\n id,\n }),\n [loadIdFailure]: (state) => ({\n ...state,\n id: null,\n }),\n}, {\n id: null,\n})\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;\n\nexport { default as saga } from './saga';\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport Text from 'components/Text';\n\nimport styles from './Checkbox.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Checkbox extends PureComponent {\n static propTypes = {\n align: PropTypes.string,\n checked: PropTypes.bool,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n block: PropTypes.bool,\n id: PropTypes.string,\n name: PropTypes.string,\n noWrap: PropTypes.bool,\n sizeCheck: PropTypes.oneOf([\n 'medium',\n 'small',\n ]),\n size: PropTypes.oneOf([\n 'big',\n 'medium',\n 'small',\n ]),\n theme: PropTypes.oneOf([\n 'bright',\n 'tag',\n 'disabled',\n 'sapphirine',\n 'sapphirine-hover',\n 'dark',\n 'thin',\n ]),\n value: PropTypes.string,\n onChange: PropTypes.func,\n }\n\n static defaultProps = {\n align: undefined,\n checked: false,\n children: undefined,\n disabled: false,\n id: undefined,\n name: undefined,\n noWrap: false,\n size: undefined,\n sizeCheck: undefined,\n theme: undefined,\n value: undefined,\n onChange: () => { },\n }\n\n handleChange = (event) => {\n this.props.onChange(event.target.checked, this.props.value, event);\n }\n\n render() {\n const {\n name,\n id,\n checked,\n\n children,\n size,\n sizeCheck,\n theme,\n noWrap,\n align,\n value,\n disabled,\n block,\n } = this.props;\n return (\n \n \n \n \n {children &&\n (noWrap ? children :
\n \n {children}\n \n
)\n }\n
\n \n );\n }\n}\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n\tgetItemsArray,\n\n\tR.map(item => ({\n\t\tlabel: item.custom_наименование,\n\t\tvalue: item.key,\n\t\ttext: item.custom_описание,\n\t})),\n);\n","import { all, takeEvery, call, put } from 'redux-saga/effects';\nimport { startSubmit, stopSubmit } from 'redux-form';\n\nimport { appKey } from 'config';\n\nimport { request } from 'utils/api';\n\nimport {\n\tfetchItem\n} from 'redux/modules/patients'\n\nimport {\n\tloadFiles,\n\tloadFilesSuccess,\n\tloadFilesFailure,\n\tloadMedassReport,\n\tloadMedassReportSuccess,\n\tloadMedassReportFailure,\n} from './index';\n\nfunction* loadMedassReportFlow({ payload }) {\n\tconst key = payload.key;\n\n\ttry {\n\t\tif (payload.form) {\n\t\t\tyield put(startSubmit(payload.form));\n\t\t}\n\n\t\tconst response = yield call(request.put, `/${key}/json/v2`, {\n\t\t\tparameters: {\n\t\t\t\tpatient_key: key,\n\t\t\t},\n\t\t\tdata: payload.imageFile ?\n\t\t\t\t{\n\t\t\t\t\tcustom_медасс_csv: payload.csvFile,\n\t\t\t\t\tcustom_медасс_jpg: payload.imageFile,\n\t\t\t\t} :\n\t\t\t\t{\n\t\t\t\t\tcustom_медасс_csv: payload.csvFile,\n\t\t\t\t}\n\t\t})\n\n\t\tif (response.data.error) {\n\t\t\tif (payload.form) {\n\t\t\t\tyield put(stopSubmit(payload.form))\n\t\t\t}\n\t\t\tyield put(loadMedassReportFailure())\n\t\t\treturn\n\t\t}\n\n\t\tyield put(fetchItem({\n\t\t\tkey,\n\t\t}))\n\n\t\tyield put(loadMedassReportSuccess({\n\t\t\t...response.data.data,\n\t\t}))\n\t\tyield put(stopSubmit(payload.form))\n\t} catch (error) {\n\t\tyield put(loadMedassReportFailure(error))\n\t\tyield put(stopSubmit(payload.form))\n\t}\n}\n\n\nfunction* loadFilesFlow(action) {\n\tconst key = action.payload.key\n\n\ttry {\n\t\tconst response = yield call(request.post, `/${key}/json/v2`, {\n\t\t\tparameters: {\n\t\t\t\tpatient_key: key,\n\t\t\t},\n\t\t})\n\n\t\tconst { csvFile, imageFile } = response.data.data;\n\n\t\tyield put(loadFilesSuccess(csvFile, imageFile))\n\t} catch (error) {\n\t\tyield put(loadFilesFailure({\n\t\t\t...action.payload,\n\t\t\terror,\n\t\t}))\n\t}\n}\n\nexport default function* saga() {\n\tyield all([\n\t\ttakeEvery(loadFiles, loadFilesFlow),\n\t\ttakeEvery(loadMedassReport, loadMedassReportFlow),\n\t]);\n}\n","import { createAction, createReducer } from 'redux-act'\n\nexport const loadFiles = createAction('MEDASS__LOADFILES')\nexport const loadFilesSuccess = createAction('MEDASS__LOADFILES_SUCCESS')\nexport const loadFilesFailure = createAction('MEDASS__LOADFILES_FAILURE')\n\nexport const loadMedassReport = createAction('MEDASS__LOADREPORT')\nexport const loadMedassReportSuccess = createAction('MEDASS__LOADREPORT_SUCCESS')\nexport const loadMedassReportFailure = createAction('MEDASS__LOADREPORT_FAILURE')\n\nconst reducer = createReducer({\n\t[loadFilesSuccess]: (state, csvFile, imageFile) => ({\n\t\t...state,\n\t\tcsvFile,\n\t\timageFile,\n\t}),\n\t[loadFilesFailure]: (state) => ({\n\t\t...state,\n\t\tcsvFile: null,\n\t\timageFile: null,\n\t})\n}, {\n\tcsvFile: null,\n\timageFile: null,\n})\n\nexport {\n\tgetItems,\n} from './selectors';\n\nexport default reducer;\n\nexport { default as saga } from './saga';\n","import { put, all, takeEvery } from 'redux-saga/effects';\n\nimport { setPatient, setPatientSuccess } from './index';\n\nfunction* setParamsFlow() {\n yield put(setPatientSuccess());\n}\n\nexport default function* saga() {\n yield all([\n takeEvery(setPatient, setParamsFlow),\n ]);\n}\n","import { createReducer, createAction } from 'redux-act';\n\nconst initialState = {\n patientId: null,\n};\n\nexport const setPatient = createAction('CATALOG__SET_PATIENT');\nexport const setPatientSuccess = createAction('CATALOG__SET_PATIENT_SUCCESS');\n\nconst handleGetPatient = (state, patientId) => ({\n ...state,\n patientId,\n});\n\nconst reducer = createReducer((on) => {\n on(setPatient, handleGetPatient);\n}, initialState);\n\nexport { default as saga } from './saga';\n\nexport default reducer;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"analysRow\":\"ymPAA\",\"container\":\"GHuk7\",\"column\":\"gzhIz\",\"analysRow_width_lt_752\":\"xnjtP\",\"column_type_3\":\"Grw-4\",\"container_focused\":\"w0-qV\",\"container_disabled\":\"VKRzS\",\"column_type_1\":\"ve7ND\",\"column_type_2\":\"_1AxwY\",\"text_disabled\":\"ChG8h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowsTable\":\"SKymW\",\"titleColumn\":\"d+5x2\",\"titles\":\"BkFjq\",\"rowContainer\":\"nA8K6\",\"plusIcon\":\"uWtNU\",\"rowsTable_width_lt_752\":\"HuR9l\",\"titleColumn_type_3\":\"F7PnX\",\"titleColumn_type_1\":\"CSUmK\",\"titleColumn_type_2\":\"_97ZXR\",\"show_all_button\":\"_0y7Wf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"layout\":\"-HmCK\",\"content\":\"ewyno\",\"sidebar\":\"cdtbr\",\"page\":\"PEoG9\",\"link\":\"O6KBN\",\"icon\":\"MMTD6\",\"note\":\"Gd91H\",\"layout_width_lt_810\":\"MVY8W\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatarPicker\":\"_1e-+H\",\"input\":\"_8L2aZ\",\"label\":\"QpnFR\",\"avatar\":\"oAX0r\",\"image\":\"iEAb4\",\"text-wrap\":\"iitZC\",\"title\":\"hA92t\",\"error\":\"tdZkh\",\"avatarPicker_square\":\"z5o1G\",\"avatarPicker_type_value\":\"AxTf+\",\"avatarPicker_width_gt_400\":\"Y5xlP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userForm\":\"w+xDx\",\"title\":\"e1SIo\",\"subtitle\":\"eg1Tw\",\"filePicker\":\"Xl8eo\",\"container\":\"_3OIe9\",\"fieldset\":\"KiMU1\",\"form\":\"a1baY\",\"hr\":\"RvZlI\",\"field\":\"wNOlo\",\"phone\":\"XJWQf\",\"radio-title\":\"_1H89r\",\"select-title\":\"eA68v\",\"select-group\":\"MF2ot\",\"link\":\"i24EQ\",\"selectInstitute\":\"fC75I\",\"buttons\":\"IYliP\",\"button\":\"fF3-T\",\"checkbox\":\"-qEAM\",\"line\":\"xEyIF\",\"required\":\"NFztO\",\"userForm_width_lt_690\":\"uBtpd\",\"selectInstitute_hidden\":\"vf2XZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"instituteForm\":\"iH3yJ\",\"title\":\"_4XJ5M\",\"subtitle\":\"V8LCd\",\"container\":\"v777w\",\"form\":\"_1rwlp\",\"field\":\"_4Z3NB\",\"radio\":\"_1CRX1\",\"radio-title\":\"RtaBL\",\"hr\":\"ujWaG\",\"fields-title\":\"bTUzN\",\"fields-line\":\"LYxfM\",\"fields-item\":\"xx6en\",\"buttons\":\"R-0OL\",\"button\":\"i1XLa\",\"instituteForm_width_lt_690\":\"H3fuB\",\"filePicker\":\"_88DDK\",\"hr_wide\":\"PLZGU\",\"field_hidden\":\"wXjMT\",\"filePicker_registration\":\"hJ5eW\"};","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Content.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Content extends PureComponent {\n static propTypes = {\n borderTop: PropTypes.bool,\n children: PropTypes.node.isRequired,\n maximize: PropTypes.bool,\n indentTop: PropTypes.bool,\n indentBottom: PropTypes.bool,\n paddingXOff: PropTypes.bool,\n };\n\n static defaultProps = {\n borderTop: false,\n children: undefined,\n maximize: false,\n indentTop: true,\n indentBottom: true,\n paddingXOff: false,\n };\n\n render() {\n return (\n \n {this.props.children}\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport Title from 'components/Title';\nimport Text from 'components/Text';\nimport Button from 'components/Button';\nimport Error from 'components/Error';\nimport Info from 'components/Info';\n\nimport styles from './ModalForm.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class ModalForm extends PureComponent {\n state = {\n type: 'main'\n }\n static propTypes = {\n align: PropTypes.oneOf([\n 'center',\n 'right',\n ]),\n cancelBtn: PropTypes.string,\n children: PropTypes.node,\n deleteBtn: PropTypes.string,\n error: PropTypes.string,\n submitBtn: PropTypes.string,\n additionSubmitBtn: PropTypes.string,\n submitting: PropTypes.bool,\n theme: PropTypes.string,\n title: PropTypes.node,\n valid: PropTypes.bool,\n validDelete: PropTypes.bool,\n size: PropTypes.oneOf([\n 'small',\n 'wide',\n ]),\n noPadding: PropTypes.bool,\n onCancel: PropTypes.func,\n changeType: PropTypes.func,\n onDelete: PropTypes.func,\n onSubmit: PropTypes.func,\n deleteTooltip: PropTypes.string,\n submitInvalidTooltip: PropTypes.string,\n }\n\n static defaultProps = {\n cancelBtn: 'Отменить',\n children: undefined,\n deleteBtn: undefined,\n error: undefined,\n submitBtn: 'Продолжить',\n additionSubmitBtn: null,\n submitting: false,\n theme: undefined,\n title: undefined,\n valid: false,\n validDelete: true,\n size: undefined,\n noPadding: false,\n changeType: () => {},\n onCancel: () => { },\n onDelete: () => { },\n onSubmit: () => { },\n deleteTooltip: null,\n submitInvalidTooltip: null,\n }\n\n renderAdditionalSubmitBtn = () => {\n const {\n valid,\n submitting,\n theme,\n additionSubmitBtn,\n changeType\n } = this.props;\n const handleOnClick = () => {\n changeType('additional');\n }\n return (\n \n {additionSubmitBtn}\n \n );\n }\n\n renderSubmitBtn = () => {\n const {\n submitBtn,\n valid,\n submitting,\n theme,\n submitInvalidTooltip\n } = this.props;\n\n const button = (\n \n {submitBtn}\n \n );\n\n if (!submitInvalidTooltip || valid) {\n return button;\n }\n\n return (\n \n \n {submitInvalidTooltip}\n \n \n )\n }\n\n renderDeleteBnt = () => {\n const {\n deleteBtn,\n valid,\n validDelete,\n deleteTooltip,\n submitting,\n theme,\n onDelete,\n } = this.props;\n\n const button = (\n \n {deleteBtn}\n \n );\n\n if (!deleteTooltip) {\n return button;\n }\n\n return (\n \n \n {this.props.deleteTooltip}\n \n \n );\n }\n\n render() {\n const {\n title,\n children,\n cancelBtn,\n deleteBtn,\n theme,\n onSubmit,\n onCancel,\n error,\n align,\n size,\n noPadding,\n } = this.props;\n\n return (\n \n
\n {title && (\n
\n {typeof title === 'string' ? (\n \n {title}\n \n ) : (\n title\n )}\n
\n )}\n {children && React.Children.map(children, child => child && (\n
\n {child}\n
\n ))}\n
\n\n {error &&\n
\n \n
\n }\n\n {(this.props.submitBtn || this.props.cancelBtn) &&\n
\n
\n {\n this.props.additionSubmitBtn &&\n
\n {this.renderAdditionalSubmitBtn()}\n
\n }\n {this.props.submitBtn &&\n
\n {this.renderSubmitBtn()}\n
\n }\n {deleteBtn &&\n
\n {this.renderDeleteBnt()}\n
\n }\n {this.props.cancelBtn &&\n
\n \n {cancelBtn}\n \n
\n }\n
\n
\n }\n \n );\n }\n}\n","/* eslint-disable no-param-reassign */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport { connect } from 'utils/react-redux';\n\nconst IS_SOME_FIELD_ACTIVE_PROP_NAME = 'INTERNAL__isSomeFieldActive';\n\nconst onFormChange = (submitName, loggingName, submitOnUnmount = true) => (Target) => {\n // If the context is inside OnFormChange, on the first render it will be empty, because we need\n // to acquire Target's ref inside OnFormChange::render to populate context, but ref is not\n // defined on the first getChildContext call, and so children would not, acquire a new context\n // and there would be a bug with form fields not submitting when blurring\n Target.childContextTypes = {\n onFormChange: PropTypes.func,\n onLogging: PropTypes.func,\n };\n\n Target.prototype.getChildContext = function getChildContext() {\n return {\n onFormChange: this[submitName],\n onLogging: this[loggingName],\n };\n };\n\n const mapStateToProps = (state, { form }) => ({\n [IS_SOME_FIELD_ACTIVE_PROP_NAME]:\n !R.isNil(R.path(['form', form, 'active'], state)),\n });\n\n class OnFormChange extends React.PureComponent {\n static propTypes = {\n [IS_SOME_FIELD_ACTIVE_PROP_NAME]: PropTypes.bool,\n };\n\n componentWillUnmount() {\n if (this.props[IS_SOME_FIELD_ACTIVE_PROP_NAME] && this.targetRef && submitOnUnmount) {\n this.targetRef[submitName]();\n }\n }\n\n handleTargetRef = (el) => {\n this.targetRef = el;\n };\n\n targetRef = null;\n\n render() {\n return (\n \n );\n }\n }\n\n return connect(mapStateToProps)(OnFormChange);\n};\n\nexport default onFormChange;","import * as R from 'ramda';\nimport { createReducer, createAction } from 'redux-act';\n\nimport { logout } from 'redux/modules/auth';\n\nconst getOrigin = R.pathOr(null, ['location', 'host']);\n\nconst checkOrigin = () => {\n try {\n return getOrigin(window.opener) !== getOrigin(window);\n } catch (e) {\n return true;\n }\n};\n\nconst initialState = {\n openedWindows: [],\n isNeedSideBar: checkOrigin(),\n};\n\nexport const openWindow = createAction('WINDOWS_OPEN__OPEN_ONE_WINDOW');\nexport const closeWindows = createAction('WINDOWS_OPEN__CLOSE_ALL_WINDOWS');\n\nconst handleOpenWindow = (state, url) => {\n const width = Math.min(window.screen.width, 1200);\n const height = Math.min(window.screen.height, 800);\n const newWindow = window.open(url, null, `width=${width},height=${height}`);\n const openedWindows = state.openedWindows.concat(newWindow);\n\n return {\n ...state,\n openedWindows,\n };\n};\n\nconst handleCloseWindows = (state) => {\n state.openedWindows.forEach((oneWindow) => {\n oneWindow.close();\n });\n return initialState;\n};\n\nconst reducer = createReducer((on) => {\n on(openWindow, handleOpenWindow);\n on(closeWindows, handleCloseWindows);\n on(logout, handleCloseWindows);\n}, initialState);\n\nexport default reducer;\n","import Page from 'components/Page';\n\nexport default Page;\n","import { createAction, createReducer } from 'redux-act';\nimport * as R from 'ramda';\nimport { LOCATION_CHANGE } from 'react-router-redux';\n\nconst initialState = {\n width: 0,\n isFixed: false,\n activeItem: null,\n activeGroup: null,\n isDisplayBzhuInRelativePercents: false,\n};\n\nexport const setWidth = createAction('RATIONUI__SET_WIDTH');\nexport const setFixed = createAction('RATIONUI__SET_IS_FIXED');\nexport const setActiveItem = createAction('RATIONUI__SET_ACTIVE_ITEM');\nexport const setActiveGroup = createAction('RATIONUI__SET_ACTIVE_GROUP');\nexport const setMenuItem = createAction('RATIONUI__SET_MENU_ITEM');\nexport const toggleDisplayBzhuInRelativePercents =\n createAction('RATIONUI__TOGGLE_DISPLAY_BZHU_IN_RELATIVE_PERCENT');\n\nconst handleAction = (prop, mergeState = R.assoc) => (state, payload) => {\n if (state[prop] === payload) {\n return state;\n }\n\n return mergeState(prop, payload, state);\n};\n\nconst handleSetWidth = handleAction('width');\nconst handleSetFixed = handleAction('isFixed');\nconst handleSetActiveItem = handleAction('activeItem', (prop, payload, state) => ({\n ...state,\n activeItem: payload,\n activeGroup: null,\n}));\nconst handleSetActiveGroup = handleAction('activeGroup', (prop, payload, state) => ({\n ...state,\n activeItem: null,\n activeGroup: payload,\n}));\nconst handleSetMenuItem = (state, payload) => ({\n ...state,\n activeMenu: state.activeMenu === payload ? undefined : payload,\n});\nconst handleChangeRoute = state => ({\n ...state,\n isFixed: false,\n activeItem: null,\n activeGroup: null,\n});\nconst handleToggleDisplayBzhuInRelativePercents = state => ({\n ...state,\n isDisplayBzhuInRelativePercents: !state.isDisplayBzhuInRelativePercents,\n});\n\nexport default createReducer({\n [setWidth]: handleSetWidth,\n [setFixed]: handleSetFixed,\n [setActiveItem]: handleSetActiveItem,\n [setActiveGroup]: handleSetActiveGroup,\n [setMenuItem]: handleSetMenuItem,\n [LOCATION_CHANGE]: handleChangeRoute,\n [toggleDisplayBzhuInRelativePercents]: handleToggleDisplayBzhuInRelativePercents,\n}, initialState);\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './IconLoader.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class IconLoader extends PureComponent {\n static propTypes = {\n size: PropTypes.oneOf([\n 'small',\n ]),\n }\n\n static defaultProps = {\n size: null,\n }\n\n render() {\n const { size } = this.props;\n\n return (\n
\n \n
\n );\n }\n}\n","import * as R from 'ramda';\nimport { fk, attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Elements',\n tableId: 28,\n parseItem: R.evolve({\n ___parent: R.propOr(null, 'key'),\n }),\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c28cs9r349', {\n useLS: true,\n});\n\nexport default class Elements extends Model {\n static modelName = 'Elements';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('Elements', 'items'),\n custom_наименование: attr(),\n custom_сокращенное_наименование: attr(),\n custom_ед_изм: attr(), // TODO: fk\n custom_для_сортировки: attr(),\n custom_light: attr(),\n custom_used_in_pro: attr(),\n custom_источники: attr(),\n custom_влияние: attr(),\n }\n\n toString() {\n return `Elements: ${this.key}`;\n }\n}\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getFilterOptions = memoizee(\n R.compose(\n R.map(R.pluck('custom_исключить')),\n R.groupBy(R.prop('custom_поиск')),\n getItemsArray,\n ),\n { max: 1 },\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'FilterOptions',\n tableId: 109,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c109cs9r340', {\n useLS: true,\n});\n\nexport {\n getFilterOptions,\n} from './selectors';\n\nexport default reducer;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport default class Option extends Component {\n static propTypes = {\n onClick: PropTypes.func.isRequired,\n children: PropTypes.node,\n value: PropTypes.string,\n className: PropTypes.string,\n activeClassName: PropTypes.string,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n title: PropTypes.string,\n };\n\n static defaultProps = {\n activeClassName: '',\n }\n\n onClick: Function = () => {\n const { disabled, onClick, value } = this.props;\n if (!disabled) {\n onClick(value);\n }\n };\n\n render() {\n const { children, className, activeClassName, active, disabled, title } = this.props;\n return (\n \n {children}\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames/bind';\nimport { Editor as DraftEditor } from 'react-draft-wysiwyg';\nimport { EditorState, ContentState, CharacterMetadata } from 'draft-js';\nimport { stateToHTML } from 'draft-js-export-html';\nimport { stateFromHTML } from 'draft-js-import-html';\nimport Icon from 'components/Icon';\n\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\n\nimport Option from './Option';\nimport styles from './Editor.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Editor extends PureComponent {\n static propTypes = {\n isLight: PropTypes.bool,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n value: PropTypes.string,\n children: PropTypes.node,\n withNumber: PropTypes.bool,\n titleLength: PropTypes.number,\n\n title: PropTypes.node,\n maxLength: PropTypes.number,\n }\n\n static defaultProps = {\n scrollable: false,\n onFocus: () => { },\n onBlur: () => { },\n onChange: () => { },\n value: '',\n children: undefined,\n withNumber: false,\n maxLength: 0,\n }\n\n constructor(props) {\n super(props);\n const contentState = stateFromHTML(this.props.value);\n const editorState = EditorState.createWithContent(contentState);\n\n this.state = {\n editorState,\n isFocused: false,\n };\n }\n\n handleEditorStateChange = (state, b, c) => {\n let editorState = state;\n\n const contentState = editorState.getCurrentContent();\n const oldContent = this.state.editorState.getCurrentContent();\n const { maxLength } = this.props;\n\n if (contentState === oldContent || contentState.getPlainText().length <= maxLength) {\n\n if (editorState.getLastChangeType() === 'insert-characters') {\n editorState = this.removeInlineStyles(editorState, ['BOLD', 'ITALIC']);\n }\n\n this.setState({ editorState });\n\n const value = stateToHTML(contentState);\n if (value !== this.props.value) {\n this.props.onChange(value);\n }\n }\n }\n // https://github.com/facebook/draft-js/issues/119#issuecomment-190277461\n handleBeforeInput = (chars) => {\n const contentState = this.state.editorState.getCurrentContent();\n const totalLength = contentState.getPlainText().length + chars.length;\n return totalLength > this.props.maxLength;\n }\n\n handleFocus = (event) => {\n this.setState({\n isFocused: true,\n });\n this.props.onFocus(event);\n }\n\n handleBlur = (event) => {\n this.setState({\n isFocused: false,\n });\n this.props.onBlur(event);\n }\n\n removeInlineStyles = (editorState, retainInlineStyles) => {\n let isChanged = false;\n const blocks = editorState\n .getCurrentContent()\n .getBlocksAsArray()\n .map(singleBlock =>\n singleBlock.set(\n \"characterList\",\n singleBlock.getCharacterList().map(charMetaData => {\n\n if (!charMetaData) {\n return charMetaData;\n }\n const entity = charMetaData.getEntity();\n const style = charMetaData.getStyle();\n const newStyle = style.intersect(retainInlineStyles)\n\n if (style.size !== newStyle.size) {\n isChanged = true\n }\n\n return CharacterMetadata.create({\n entity: entity,\n style: newStyle,\n });\n })\n )\n );\n\n if (isChanged) {\n return EditorState.createWithContent(\n ContentState.createFromBlockArray(blocks)\n );\n }\n\n return editorState\n };\n\n renderOptions({ config, currentState, onChange }) {\n const iconMap = {\n bold: 'b',\n italic: 'i',\n unordered: 'list_u',\n ordered: 'list_o',\n };\n\n return (\n
\n {config.options.map((style, index) => {\n return (\n \n \n \n )\n })\n }\n
\n );\n }\n\n render() {\n const { editorState } = this.state;\n const length = editorState.getCurrentContent().getPlainText().length;\n const { maxLength, titleLength } = this.props;\n\n return (\n \n
\n {this.props.children}\n
\n\n {this.props.withNumber &&\n \n {maxLength && maxLength > 0 ? maxLength - length : length}\n \n }\n\n { }}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n handleBeforeInput={this.handleBeforeInput} // eslint-disable-line react/jsx-handler-names\n toolbar={!this.props.isLight ? {\n options: ['inline', 'list'],\n inline: {\n options: ['bold', 'italic'],\n component: this.renderOptions,\n },\n list: {\n options: ['unordered', 'ordered'],\n component: this.renderOptions,\n },\n } : {\n options: [],\n }}\n handlePastedText={() => { }}\n />\n \n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport { Field } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Editor from './Editor';\n\nclass EditorConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n onBlur: PropTypes.func,\n };\n\n static defaultProps = {\n name: undefined,\n onBlur: () => { },\n };\n\n handleBlur = onBlur => (event) => {\n onBlur(event);\n\n this.props.onBlur();\n\n if (this.context.onFormChange) {\n this.context.onFormChange();\n }\n };\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n const { _reduxForm: reduxForm } = this.props;\n\n if (!reduxForm || !R.includes(this.props.name, reduxForm.fields)) {\n return (\n \n );\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(EditorConnected);\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getUnits = memoizee(\n R.compose(\n R.map(i => ({\n label: i.custom_наименование,\n value: i.key,\n })),\n getItemsArray,\n ),\n { max: 1 },\n);\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'Units',\n tableId: 2,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c2cs9r352', {\n useLS: true,\n});\n\nexport {\n getUnits,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.map(item => ({\n label: item.custom_наименование,\n value: item.key,\n text: item.custom_описание,\n })),\n);\n","import generator from 'redux/hor/module';\n\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'PatientActivityLife',\n tableId: 15,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c15cs9r1836', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.map(item => ({\n label: item.custom_наименование,\n value: item.key,\n text: item.custom_описание,\n })),\n);\n","import generator from 'redux/hor/module';\n\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'PatientActivitySport',\n tableId: 16,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c16cs9r29', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;\n","import * as R from 'ramda';\nimport memoizee from 'memoizee';\nimport moment from 'moment';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getStatisticDates = memoizee((institution, state) => R.compose(\n R.map(item => moment(item.custom_дата).toDate()),\n R.filter(item => institution === 'all' || institution === item.custom_учреждение),\n getItemsArray,\n)(state), { max: 1 });\n","import generator from 'redux/hor/module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n fetch,\n reducer,\n} = generator({\n name: 'statisticDates',\n tableId: 131,\n});\n\nexport const fetchStatisticDates = fetchWithView(fetch, 'ts5c131cs9r443');\n\nexport {\n getStatisticDates,\n} from './selectors';\n\nexport default reducer;\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Page.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Page extends PureComponent {\n static propTypes = {\n children: PropTypes.node,\n bgColor: PropTypes.string,\n }\n\n static defaultProps = {\n children: undefined,\n bgColor: undefined,\n }\n\n render() {\n const { bgColor } = this.props;\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n","import * as R from 'ramda';\nimport { attr, fk, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'DietanamnezTiles',\n tableId: 49,\n parseItem: (el => {\n const categoryName = el.___parent ? el.___parent.name : \"\";\n return R.assoc(\"categoryName\", categoryName, R.evolve({\n ___parent: R.propOr(null, 'key'),\n custom_специфические_исключения: R.compose(\n R.pluck('key'),\n R.defaultTo([]),\n ),\n custom_ед_изм: R.propOr(null, 'label'),\n custom_формат: R.propOr(null, 'value'),\n custom_версия_приложения: R.propOr(null, 'value'),\n })(el))\n }\n )\n})\n\nexport const fetchList = fetchWithView(fetch, 'ts5c49cs9r104', {\n useLS: true,\n});\n\nexport default class DietanamnezTiles extends Model {\n static modelName = 'DietanamnezTiles';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: fk('DietanamnezTiles', 'items'),\n categoryName: attr(),\n custom_наименование: attr(),\n custom_иконка_url: attr(),\n custom_специфические_исключения: attr(),\n custom_ед_изм: attr(),\n custom_частота_употребления: attr(),\n custom_количество: attr(),\n custom_добавить_исключить: attr(),\n custom_картинка_с_порциями_url: attr(),\n custom_light: attr(),\n custom_формат: attr(),\n custom_версия_приложения: attr(),\n }\n}\n","import * as R from \"ramda\";\nimport { createSelector } from \"reselect\";\n\nimport getInstitution from \"../getInstitution\";\n\nexport enum SubscriptionState {\n \"IAP_ACTIVE\" = 10,\n \"IAP_RECURRING\" = 12,\n \"DEFAULT\" = 20,\n \"DEFAULT_RECURRING\" = 22,\n \"ERROR\" = 30,\n}\n\nexport default createSelector(\n getInstitution,\n\n (state) => state.custom_текущий_рекуррент || SubscriptionState.ERROR\n) as () => SubscriptionState;\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nexport default class Gradient extends PureComponent {\n static propTypes = {\n dark: PropTypes.string.isRequired,\n light: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n }\n\n static defaultProps = {\n dark: undefined,\n light: undefined,\n name: undefined,\n }\n\n render() {\n const { light, dark, name } = this.props;\n\n return (\n \n \n \n \n \n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nimport Gradient from '../Gradient';\n\nexport default class Defs extends PureComponent {\n static propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n id: PropTypes.string,\n gradientColor: PropTypes.string,\n extraWidth: PropTypes.number,\n }\n\n render() {\n const { width, height, id, gradientColor, extraWidth } = this.props;\n const redGradientDarkColor = gradientColor || '#fc6b53';\n\n return (\n \n \n \n \n \n \n \n\n \n\n \n\n \n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './ToolTip.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Tooltip extends PureComponent {\n static propTypes = {\n toolTipX: PropTypes.number,\n toolTipY: PropTypes.number,\n toolTipColor: PropTypes.string,\n toolTipText: PropTypes.string,\n }\n\n render() {\n return (\n \n {this.props.toolTipText}\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport {\n getPercent,\n gradientByColor,\n groupedColors,\n baseColors,\n CHART_PADDING_TOP,\n} from '../../helpers';\n\nexport default class OneRect extends PureComponent {\n static propTypes = {\n rectStart: PropTypes.number,\n rectEnd: PropTypes.number,\n index: PropTypes.number,\n onMouseEnter: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseLeave: PropTypes.func,\n height: PropTypes.number,\n norm: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n id: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.array,\n ]),\n dataInCenter: PropTypes.number,\n x: PropTypes.func,\n width: PropTypes.func,\n }\n\n getIsValid(isGrouped) {\n const {\n normMin,\n normMax,\n rectEnd,\n } = this.props;\n\n return isGrouped || (rectEnd >= normMin && rectEnd <= normMax) || !this.props.norm;\n }\n\n render() {\n const {\n rectStart,\n rectEnd,\n index,\n onMouseEnter,\n onMouseMove,\n onMouseLeave,\n height,\n id,\n data,\n dataInCenter,\n x,\n width,\n } = this.props;\n\n const isGrouped = Array.isArray(data);\n const percent = getPercent(dataInCenter, rectEnd - rectStart);\n const colorMap = isGrouped ? groupedColors : baseColors;\n const isValid = this.getIsValid(isGrouped);\n const color = R.pathOr('', [index, isValid ? 'valid' : 'invalid'], colorMap);\n const gradientColor = gradientByColor[color] ? gradientByColor[color](id) : color;\n\n return (\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nexport default class Triangle extends PureComponent {\n static propTypes = {\n height: PropTypes.number,\n triangles: PropTypes.array,\n x: PropTypes.func,\n }\n\n static defaultProps = {\n height: 0,\n triangles: [],\n x: () => {\n },\n }\n\n render() {\n const { height, triangles, x } = this.props;\n\n return (\n \n {triangles.map((norm, index) => (\n \n {norm !== 0 &&\n \n }\n \n ))}\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Triangle from './Triangle';\n\nexport default class NormRangeLine extends PureComponent {\n static propTypes = {\n norm: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n height: PropTypes.number,\n multiplier: PropTypes.number,\n x: PropTypes.func,\n y: PropTypes.func,\n }\n\n static defaultProps = {\n norm: undefined,\n normMin: undefined,\n normMax: undefined,\n multiplier: 0,\n height: 0,\n triangles: [],\n x: () => {},\n y: () => {},\n }\n\n getNorms() {\n const { norm, multiplier } = this.props;\n const normMaxValue = isFinite(this.props.normMax) ? this.props.normMax : norm * 3;\n const normMin = isFinite(this.props.normMin) ? this.props.normMin / multiplier : null;\n const normMax = normMaxValue ? normMaxValue / multiplier : null;\n\n return [normMin, normMax];\n }\n\n render() {\n const { height, y, x } = this.props;\n const [normMin, normMax] = this.getNorms();\n const triangles = this.getNorms();\n\n if (R.isNil(normMin) || R.isNil(normMax)) {\n return null;\n }\n\n return (\n \n \n \n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nexport default class VerticalLine extends PureComponent {\n static propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n y: PropTypes.func,\n }\n\n static defaultProps = {\n width: 0,\n height: 0,\n y: () => {},\n }\n\n render() {\n const { height, width, y } = this.props;\n const getX = (index, list) => width * (index / (list.length - 1));\n const line = [0, 1, 2];\n\n return (\n \n {line.map((item, _, list) => (\n \n ))}\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport scaleLinearImport from 'd3-scale/src/linear';\nimport memoizee from 'memoizee';\n\nimport Defs from './Defs';\n\nimport TooltipDefault from './Tooltip';\nimport OneRectDefault from './default/OneRect';\nimport HighertLimitDefault from './default/HighertLimit';\nimport NormRangeLineDefault from './default/NormRangeLine';\nimport VerticalLineDefault from './default/VerticalLine';\n\nimport styles from './Barchart.module.css';\n\nconst cx = classNames.bind(styles);\n\nconst scaleLinear = scaleLinearImport.default || scaleLinearImport;\n\nexport default class Barchart extends PureComponent {\n static propTypes = {\n data: PropTypes.oneOfType([\n PropTypes.number,\n ]),\n norm: PropTypes.number,\n dataChart: PropTypes.array,\n dataInCenter: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n width: PropTypes.number,\n height: PropTypes.number,\n id: PropTypes.string,\n multiplier: PropTypes.number,\n color: PropTypes.oneOf(['sapphirine']),\n gradientColor: PropTypes.string,\n OneRect: PropTypes.func,\n HighertLimit: PropTypes.func,\n NormRangeLine: PropTypes.func,\n VerticalLine: PropTypes.func,\n Tooltip: PropTypes.func,\n extraWidth: PropTypes.number,\n noNorm: PropTypes.bool,\n isEmpty: PropTypes.bool,\n size: PropTypes.string,\n };\n\n static defaultProps = {\n dataChart: [],\n width: 0,\n height: 0,\n multiplier: 1,\n OneRect: OneRectDefault,\n HighertLimit: HighertLimitDefault,\n NormRangeLine: NormRangeLineDefault,\n VerticalLine: VerticalLineDefault,\n Tooltip: TooltipDefault,\n extraWidth: 15,\n };\n\n state = {\n toolTipX: 0,\n toolTipY: 0,\n toolTipOnChart: false,\n toolTipShow: false,\n toolTipText: null,\n };\n\n\n handlePositionMouse = ({ x, y }) => {\n if (this.state.toolTipOnChart) {\n this.setState({\n toolTipX: x,\n toolTipY: y,\n toolTipShow: true,\n });\n }\n };\n\n handleMouseMove = (event) => {\n const x = event.clientX;\n const y = event.clientY;\n\n if (!this.props.noNorm) {\n this.setState({\n toolTipShow: false,\n });\n\n this.handleDebounceMouseMove({ x, y });\n } else {\n this.handlePositionMouse({ x, y });\n }\n };\n\n handleDebounceMouseMove = debounce(event => this.handlePositionMouse(event), 200);\n\n handleMouseLeave = () => {\n this.setState({\n toolTipShow: false,\n toolTipOnChart: false,\n });\n };\n\n handleMouseEnter = memoizee((text, color) => (event) => {\n this.setState({\n toolTipX: event.clientX,\n toolTipY: event.clientY,\n toolTipColor: color,\n toolTipOnChart: true,\n toolTipShow: true,\n toolTipText: `${text}%`,\n });\n });\n\n\n renderMainChart(data, x, y) {\n if (!this.props.data) {\n return null;\n }\n\n const { OneRect } = this.props;\n return data.map((rect, index, list) => (\n \n ));\n }\n\n\n renderBarChart() {\n const {\n data,\n width,\n extraWidth,\n height,\n color,\n id,\n multiplier,\n dataInCenter,\n dataChart,\n normMin,\n norm,\n normMax,\n gradientColor,\n } = this.props;\n\n const x = scaleLinear().range([0, width]);\n const y = scaleLinear().range([0, height]);\n\n x.domain([0, dataInCenter * 2]);\n y.domain([0, height]);\n\n const { HighertLimit, NormRangeLine, VerticalLine } = this.props;\n\n return (\n \n \n\n \n \n\n {this.renderMainChart(dataChart, x, y)}\n\n \n\n {this.props.noNorm ||\n \n \n \n }\n \n \n );\n }\n\n render() {\n const { Tooltip, size, isEmpty } = this.props;\n const addHandler = size && !isEmpty;\n\n return (\n \n {this.renderBarChart()}\n\n {this.state.toolTipShow &&\n \n }\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport * as R from 'ramda';\n\nimport {\n gradientByColor,\n getColorStatus,\n CHART_PADDING_TOP,\n} from '../../helpers';\n\nexport default class OneRect extends PureComponent {\n static propTypes = {\n index: PropTypes.number,\n onMouseEnter: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseLeave: PropTypes.func,\n height: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n id: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.array,\n ]),\n x: PropTypes.func,\n width: PropTypes.number,\n color: PropTypes.string,\n }\n\n state = {\n withAnimation: false,\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.getSum(nextProps.data) !== this.getSum(this.props.data)) {\n this.setState({\n withAnimation: true,\n });\n }\n }\n\n getSum(data) {\n if (Array.isArray(data)) {\n return R.sum(data);\n }\n\n return data;\n }\n\n getPercent = () => {\n const { data, normMin, normMax } = this.props;\n const sum = R.sum([].concat(data));\n\n if (sum < normMin) {\n return Math.floor(((sum - normMin) * (100 / normMin)));\n } else if (sum > normMax && normMax) {\n return Math.ceil(sum * (100 / normMax));\n }\n return 100;\n }\n\n getColor(color) {\n const { id } = this.props;\n\n const gradientColor = gradientByColor[color] ? gradientByColor[color](id) : `url(#redGradient${id})`;\n\n if (this.props.index === 0) {\n return gradientColor;\n }\n\n return color;\n }\n\n render() {\n const {\n index,\n onMouseEnter,\n onMouseMove,\n onMouseLeave,\n height,\n x,\n width,\n } = this.props;\n\n const valueInPercent = this.getPercent();\n const color = getColorStatus(valueInPercent, this.props.color);\n\n return (\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport {\n getColorStatus,\n getOnePercent,\n CHART_PADDING_TOP,\n} from '../../helpers';\n\nexport default class HighertLimit extends PureComponent {\n static propTypes = {\n data: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.array,\n ]),\n dataChart: PropTypes.array,\n dataInCenter: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n height: PropTypes.number,\n color: PropTypes.oneOf(['sapphirine']),\n x: PropTypes.func,\n y: PropTypes.func,\n }\n\n static defaultProps = {\n\n }\n\n getPercent = () => {\n const { data, normMin, normMax } = this.props;\n const sum = Array.isArray(data) ? R.sum(data) : data;\n\n\n if (sum < normMin) {\n return Math.floor(((sum - normMin) * (100 / normMin)));\n } else if (sum > normMax) {\n return Math.floor(sum * (100 / normMax));\n }\n return 100;\n }\n\n getIsRender() {\n const { normMax, normMin, dataChart } = this.props;\n const data = R.compose(\n R.propOr(0, 'end'),\n R.last,\n )(dataChart);\n const onePercent = getOnePercent(normMin, normMax);\n if (!data || (!normMax && !normMin)) {\n return false;\n }\n\n if (isFinite(normMax) && !normMax) {\n return false;\n }\n\n if (data < (100 * onePercent)) {\n return false;\n }\n\n return true;\n }\n\n render() {\n const { height, dataInCenter, x, y } = this.props;\n const isRendered = this.getIsRender();\n const valueInPercent = this.getPercent();\n const color = getColorStatus(valueInPercent, this.props.color);\n const start = dataInCenter * 2;\n const duration = isRendered ? 0.3 : 0;\n\n return (\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Triangle from '../../default/NormRangeLine/Triangle';\n\nimport { getOnePercent } from '../../helpers';\n\nexport default class NormRangeLine extends PureComponent {\n static propTypes = {\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n height: PropTypes.number,\n x: PropTypes.func,\n y: PropTypes.func,\n }\n\n static defaultProps = {\n normMin: undefined,\n normMax: undefined,\n height: 0,\n x: () => {},\n y: () => {},\n }\n\n getTriangles({ onePercent, normMin, normMax }) {\n if (normMax < (100 * onePercent)) {\n return [normMin, normMax];\n }\n return [normMin];\n }\n\n render() {\n if (R.isNil(this.props.normMin) && R.isNil(this.props.normMax)) {\n return null;\n }\n\n const onePercent = getOnePercent(this.props.normMin, this.props.normMax);\n const normMaxValue = isFinite(this.props.normMax) ? 65 * onePercent : 110 * onePercent;\n const normMin = isFinite(this.props.normMin) && this.props.normMin > 0 ? 35 * onePercent : 0;\n const normMax = normMaxValue || null;\n const { height, x, y } = this.props;\n const triangles = this.getTriangles({ onePercent, normMin, normMax });\n\n return (\n \n \n \n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\n\nimport { getOnePercent } from '../../helpers';\n\nexport default class VerticalLine extends PureComponent {\n static propTypes = {\n height: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n y: PropTypes.func,\n x: PropTypes.func,\n }\n\n static defaultProps = {\n width: 0,\n height: 0,\n y: () => {},\n x: () => {},\n }\n\n render() {\n const { height, normMin, normMax, y, x } = this.props;\n const onePercent = getOnePercent(normMin, normMax);\n const getX = index => x(onePercent * index);\n const line = [0, 35, 65, 100];\n\n return (\n \n {line.map((item, index, list) => (\n \n ))}\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport BarChart from './Barchart';\n\nimport {\n getGroupedChart,\n getStandartChart,\n getWithTwoBoundariesOfNorm,\n getOnePercent,\n getColorStatus,\n} from './helpers';\n\nimport OneRect from './chemical/OneRect';\nimport HighertLimit from './chemical/HighertLimit';\nimport NormRangeLine from './chemical/NormRangeLine';\nimport VerticalLine from './chemical/VerticalLine';\n\nconst propsByType = {\n chemical: {\n OneRect,\n HighertLimit,\n NormRangeLine,\n VerticalLine,\n },\n};\n\nclass BarChartDefault extends PureComponent {\n static propTypes = {\n type: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.array,\n ]),\n norm: PropTypes.number,\n normMin: PropTypes.number,\n normMax: PropTypes.number,\n width: PropTypes.number,\n color: PropTypes.string,\n };\n\n static defaultProps = {\n width: 0,\n height: 0,\n multiplier: 1,\n };\n\n getPercent = () => {\n const { data, normMin, normMax } = this.props;\n const sum = Array.isArray(data) ? R.sum(data || [0]) : data;\n\n if (sum < normMin) {\n return Math.floor(((sum - normMin) * (100 / normMin)));\n } else if (sum > normMax) {\n return Math.ceil(sum * (100 / normMax));\n }\n return 100;\n }\n\n getDataCenterChart() {\n return this.props.norm || R.sum([].concat(this.props.data));\n }\n\n getChemicalDataCenterChart() {\n const { normMin, normMax } = this.props;\n\n if (!normMin && !normMax) {\n return 50;\n }\n\n return (getOnePercent(normMin, normMax) || 0) * 50;\n }\n\n getData() {\n if (this.props.type === 'chemical') {\n const { data, normMin, normMax, width } = this.props;\n\n const dataInCenter = this.getChemicalDataCenterChart();\n const dataChart = getWithTwoBoundariesOfNorm(data, normMin, normMax, width);\n const valueInPercent = this.getPercent();\n const gradientColor = getColorStatus(valueInPercent, this.props.color);\n return {\n dataInCenter,\n dataChart,\n gradientColor,\n };\n }\n\n const { data } = this.props;\n const dataInCenter = this.getDataCenterChart();\n const isGrouped = Array.isArray(data);\n const dataChart = isGrouped ? getGroupedChart(data) : getStandartChart(data);\n\n return {\n dataInCenter,\n isGrouped,\n dataChart,\n };\n }\n\n render() {\n const { type } = this.props;\n return (\n \n );\n }\n}\n\n\nexport default BarChartDefault;\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './Radio.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Radio extends PureComponent {\n static propTypes = {\n checked: PropTypes.bool.isRequired,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n id: PropTypes.string,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]).isRequired,\n theme: PropTypes.oneOf([\n 'right',\n ]),\n onBlur: PropTypes.func,\n onChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n mobileVersion: PropTypes.bool,\n }\n\n static defaultProps = {\n checked: false,\n children: undefined,\n disabled: false,\n id: undefined,\n name: undefined,\n value: undefined,\n theme: undefined,\n onBlur: () => { },\n onChange: () => { },\n onFocus: () => { },\n };\n\n handleChange = (event) => {\n this.props.onChange(event.target.value);\n };\n\n render() {\n const {\n id,\n name,\n value,\n checked,\n children,\n disabled,\n theme,\n onFocus,\n onBlur,\n mobileVersion\n } = this.props;\n\n return (\n \n \n
\n {children}\n
\n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport { Field } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Radio from './Radio';\n\nclass RadioConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n value: PropTypes.string,\n mobileVersion: PropTypes.bool,\n };\n\n static defaultProps = {\n name: undefined,\n value: undefined,\n };\n\n handleChange = onChange => (event) => {\n onChange(event);\n setTimeout(this.context.onFormChange, 0);\n }\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n const { _reduxForm: reduxForm } = this.props;\n\n if (!reduxForm || !R.contains(this.props.name, reduxForm.fields)) {\n return (\n \n );\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(RadioConnected)","import * as R from 'ramda';\nimport { createSelector } from 'reselect';\n\nimport { getItemsArray } from 'redux/hor/module/selectors';\n\nexport const getItems = createSelector(\n getItemsArray,\n\n R.map(item => ({\n label: item.custom_наименование,\n value: item.key,\n text: item.custom_описание,\n })),\n);","import generator from 'redux/hor/module';\n\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'PatientActivityChild',\n tableId: 15,\n});\n\nexport const fetchList = fetchWithView(fetch, 'ts5c15cs9r1837', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n\nexport {\n getItems,\n} from './selectors';\n\nexport default reducer;","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\n\nimport styles from './IconLoaderFilled.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class IconLoaderFilled extends PureComponent {\n static propTypes = {\n size: PropTypes.oneOf([\n 'l',\n 'xl',\n ]),\n }\n\n static defaultProps = {\n size: undefined,\n }\n\n render() {\n const { size } = this.props;\n\n return (\n \n );\n }\n}\n","import * as R from 'ramda';\nimport { attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nconst {\n reducer,\n\n fetch,\n} = generator({\n name: 'SubscriptionDay',\n tableId: 119,\n parseItem: R.evolve({\n ___parent: R.prop('key'),\n }),\n});\n\nexport default class SubscriptionDay extends Model {\n static modelName = 'SubscriptionDay';\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n ___parent: attr(),\n custom_название: attr(),\n custom_стоимость: attr(),\n custom_стоимость_исходная: attr(),\n custom_количество_месяцев_подписки: attr(),\n }\n\n static reducer = reducer;\n}\n\nexport const fetchList = fetchWithView(fetch, 'ts5c119cs9r401', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n","import { attr, Model } from 'redux-orm';\n\nimport generator from 'redux/hor/orm-module';\nimport fetchWithView from 'redux/utils/fetchWithView';\n\nimport getKeyInfo from 'utils/getKeyInfo';\n\nconst {\n reducer,\n fetch,\n} = generator({\n name: 'AnalysisType',\n tableId: 8,\n});\n\nexport default class AnalysisType extends Model {\n static modelName = 'AnalysisType';\n\n static reducer = reducer;\n\n static options = {\n idAttribute: 'key',\n }\n\n static fields = {\n custom_наименование: attr(),\n }\n\n get id() {\n return getKeyInfo(this.key).record;\n }\n}\n\nexport const fetchList = fetchWithView(fetch, 'ts5c8cs9r17', {\n useLS: true,\n});\n\nexport {\n fetch,\n};\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\n\nimport { Row, Column } from 'components/Grid';\nimport Field from 'components/Field';\nimport Select from 'components/Select';\nimport ImagePicker from 'components/ImagePicker';\nimport Editor from 'components/Editor';\n\nimport styles from './ProductFormIngredient.module.css';\n\nconst cx = classNames.bind(styles);\n\nconst medicineOptions = [\n {\n label: 'Таблетка',\n value: 1,\n },\n {\n label: 'Капсула',\n value: 2,\n },\n {\n label: 'Драже',\n value: 3,\n },\n {\n label: 'Гранула',\n value: 4,\n },\n {\n label: 'Порошок (грамм)',\n value: 5,\n },\n {\n label: 'Суточная доза',\n value: 6,\n },\n];\n\nexport const sexOptions = [\n {\n value: 0,\n label: 'Для всех',\n },\n {\n value: 1,\n label: 'Мужской',\n },\n {\n value: 2,\n label: 'Женский',\n },\n];\n\nexport default class ProductFormIngredient extends PureComponent {\n static propTypes = {\n productGroups: PropTypes.array,\n specificEatingTypes: PropTypes.array,\n units: PropTypes.array,\n };\n\n renderSelect(title, params) {\n return (\n
\n \n
\n );\n }\n\n render() {\n return (\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n \n {this.renderSelect('Производитель', {\n name: 'custom_производитель',\n options: this.props.productGroups,\n })}\n \n \n {this.renderSelect('Лекарственная форма', {\n name: 'custom_лекарственная_форма',\n options: medicineOptions,\n })}\n \n \n {this.renderSelect('Пол', {\n name: 'custom_пол',\n options: sexOptions,\n })}\n \n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n \n Описание\n \n
\n
\n
\n );\n }\n}\n","import * as R from 'ramda';\nimport moment from 'moment';\nimport createOrmSelector from 'redux/utils/createOrmSelector';\nimport createCachedOrmSelector from 'redux/utils/createCachedOrmSelector';\n\nconst getItems = createOrmSelector(\n (session) => {\n const { Worker } = session;\n\n return Worker\n .all()\n .orderBy('custom_login')\n .toRefArray()\n .map((item) => {\n const status = R.propOr(null, 'custom_состояние', item);\n const isInvite = status === 31;\n const getBold = isInvite ?\n R.compose(\n date => moment(date).format('DD.MM.YYYY'),\n R.propOr(undefined, '___createddate'),\n ) : R.propOr(null, 'custom_lastname');\n const getData = isInvite ?\n R.compose(\n date => moment(date).format('hh:mm:ss'),\n R.propOr(undefined, '___createddate'),\n ) : R.compose(\n R.join(' '),\n R.reject(R.isNil),\n R.values,\n R.pick(['custom_firstname', 'custom_midname']),\n );\n\n return {\n ...item,\n main: {\n login: item.custom_login,\n bold: getBold(item),\n data: getData(item),\n },\n role: R.propOr(null, 'custom_role', item),\n };\n });\n },\n);\n\nconst getItemsByStatus = status => R.compose(\n R.filter(R.propEq('custom_состояние', status)),\n getItems,\n);\n\nexport const getActiveItems = getItemsByStatus(2);\nexport const getInactiveItems = getItemsByStatus(3);\nexport const getInvitedItems = getItemsByStatus(31);\n\nexport const getList = createOrmSelector(\n (session) => {\n const { Worker } = session;\n\n return Worker\n .all()\n .toRefArray();\n },\n);\n\nexport const getSelectList = R.compose(\n R.map(item => ({\n value: item.key,\n label: `${item.main.bold} ${item.main.data}`,\n })),\n getActiveItems,\n);\n\nexport const getItem = createCachedOrmSelector(\n (state, key) => key,\n\n (session, key) => {\n const { Worker } = session;\n\n try {\n if (Worker.idExists(key)) {\n return Worker\n .withId(key)\n .ref;\n }\n\n return Worker\n .filter({\n oldKey: key,\n })\n .last()\n .ref;\n } catch (error) {\n return null;\n }\n },\n);\n","import createOrmSelector from 'redux/utils/createOrmSelector';\n\nimport getSupplementKey from 'redux/selectors/getSupplementKey';\n\nexport const getSupplementDish = createOrmSelector(\n getSupplementKey,\n\n (session, supplementKey) => {\n const { SupplementDish } = session;\n\n return SupplementDish\n .filter({\n ___parent: supplementKey,\n })\n .exclude({\n isDeleting: true,\n })\n .exclude({\n isDeleted: true,\n })\n .toRefArray();\n },\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"barchart\":\"_7pgCz\",\"chart\":\"_0zWZP\",\"toolTip\":\"I0v4L\",\"barchart_size_mini\":\"NmkR9\"};","import React, { PureComponent } from 'react';\nimport { Field as FormField } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport { dateFieldMap } from 'utils/dateField';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport moment from 'moment';\n\nclass FieldDate extends PureComponent {\n static propTypes = {\n name: PropTypes.string,\n }\n\n static defaultProps = {\n name: undefined,\n }\n\n renderField = (field = {}) => {\n const date = moment(field.input.value, 'DD.MM.YYYY');\n\n if (!date.isValid()) {\n return null;\n }\n\n return (\n \n {date.format('D MMM / YYYY').replace('.', '')}\n \n );\n }\n\n render() {\n const { _reduxForm: reduxForm = {} } = this.props;\n const { fields = [] } = reduxForm || {};\n const name = dateFieldMap[this.props.name];\n\n if (!reduxForm || !R.contains(this.props.name, fields) || !R.contains(name, fields)) {\n return null;\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(FieldDate)","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport InputMask from 'react-input-mask';\nimport * as R from 'ramda';\n\nimport FieldDate from './FieldDate';\nimport styles from './Field.module.css';\nimport PhoneInput from 'react-phone-number-input'\nimport \"./PhoneInput.css\";\n\nconst cx = classNames.bind(styles);\n\nexport default class Field extends PureComponent {\n state = {\n phoneValue: this.props.value\n }\n\n static propTypes = {\n autoFocus: PropTypes.bool,\n active: PropTypes.bool,\n center: PropTypes.bool,\n error: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n hint: PropTypes.string,\n id: PropTypes.string,\n indent: PropTypes.bool,\n interval: PropTypes.string,\n label: PropTypes.string,\n mask: PropTypes.string,\n mimicSelect: PropTypes.bool,\n name: PropTypes.string,\n noOverflow: PropTypes.bool,\n note: PropTypes.string,\n placeholder: PropTypes.string,\n required: PropTypes.bool,\n symbol: PropTypes.string,\n tooltipError: PropTypes.bool,\n touched: PropTypes.bool,\n type: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n noBorder: PropTypes.bool,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onKeyPress: PropTypes.func,\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n maxLength: PropTypes.number,\n submitFailed: PropTypes.bool,\n phone: PropTypes.bool,\n mobileVersion: PropTypes.bool\n }\n\n static defaultProps = {\n autoFocus: false,\n active: false,\n center: false,\n error: undefined,\n hint: undefined,\n id: undefined,\n indent: false,\n interval: undefined,\n label: undefined,\n mask: undefined,\n mimicSelect: false,\n name: undefined,\n noOverflow: false,\n note: undefined,\n placeholder: undefined,\n required: false,\n symbol: undefined,\n tooltipError: false,\n touched: true,\n type: 'text',\n value: undefined,\n noBorder: false,\n onChange: () => { },\n onBlur: () => { },\n onFocus: () => { },\n disabled: false,\n readOnly: false,\n phone: false,\n mobileVersion: false\n }\n\n handleChange = (event) => {\n this.props.onChange(event.target.value, event);\n\n\n }\n\n phoneHandleChange = (value) => {\n this.setState({ phoneValue: value || \"\" }, () => {\n const trueEvent = new Event(\"input\", { bubbles: true });\n this.truePhone.dispatchEvent(trueEvent);\n });\n }\n\n componentDidUpdate() {\n if (this.props.phone) {\n this.setState({ phoneValue: this.props.value });\n }\n }\n\n\n render() {\n const {\n autoFocus,\n id,\n touched,\n active,\n label,\n symbol,\n interval,\n value,\n placeholder,\n required,\n error,\n tooltipError,\n note,\n hint,\n center,\n indent,\n mimicSelect,\n noOverflow,\n onBlur,\n onFocus,\n onClick,\n type,\n disabled,\n readOnly,\n mask,\n maxLength,\n submitFailed,\n noBorder,\n phone,\n mobileVersion\n } = this.props;\n const withError = error && (touched && (!active || submitFailed)); // || (error && phone && touched)\n\n const InputElement = InputMask.default || InputMask;\n const Input = !R.isNil(mask) && InputElement ? InputElement : 'input';\n\n return (\n \n {interval &&\n
\n {interval}\n
\n }\n {!(phone && mask) ? :\n <>\n this.truePhone = el}\n >\n \n {\n this.truePhone.dispatchEvent(new Event(\"blur\", { bubbles: true }));\n\n }}\n id={id}\n onKeyPress={this.props.onKeyPress}\n value={value}\n disabled={disabled}\n onChange={this.phoneHandleChange}\n />\n\n \n }\n\n\n\n {symbol &&\n
\n {symbol}\n
\n }\n\n
\n {label &&\n \n {label}\n {required && *}\n \n }\n {hint &&\n
\n {hint}\n
\n }\n \n {note || }\n \n {withError &&\n \n {error}\n \n }\n \n );\n }\n}\n","import React, { PureComponent } from \"react\";\nimport { Field as FormField } from \"redux-form\";\nimport { withReduxForm } from \"redux-form/es/ReduxFormContext\";\nimport PropTypes from \"prop-types\";\nimport * as R from \"ramda\";\n\nimport Field from \"./Field\";\n\nclass FieldConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n onLogging: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n isLoggingEqualValues: PropTypes.bool,\n autoFocus: PropTypes.bool,\n mobileVersion: PropTypes.bool,\n };\n\n static defaultProps = {\n name: undefined,\n onBlur: () => {},\n onChange: () => {},\n onFocus: () => {},\n isLoggingEqualValues: false,\n mobileVersion: false,\n };\n\n state = {\n isСhanging: false,\n };\n\n handleKeyPress = (event) => {\n if (event.which === 13 && this.context.onFormChange) {\n this.context.onFormChange();\n this.value = event.target.value;\n }\n };\n\n handleFocus = (onFocus) => (event) => {\n this.value = event.target.value;\n onFocus(event);\n this.props.onFocus(event);\n };\n\n handleBlur = (onBlur) => (eventOrValue) => {\n const value = R.pathOr(\"\", [\"target\", \"value\"])(eventOrValue);\n const isEquals = this.value === value;\n onBlur(eventOrValue);\n this.props.onBlur(eventOrValue);\n\n if (this.props.isLoggingEqualValues && this.state.isСhanging && isEquals) {\n const key = R.path([\"_reduxForm\", \"patientKey\"], this.props);\n this.setState({ isСhanging: false });\n this.context.onLogging({\n key,\n value,\n fieldName: this.props.name.replace(\"custom_\", \"\"),\n withNotification: true,\n });\n }\n\n if (!isEquals && this.context.onFormChange && !this.props.disableSubmit) {\n this.context.onFormChange();\n }\n };\n\n handleChange = (onChange) => (value, event) => {\n onChange(event);\n this.props.onChange(value, event);\n this.setState({ isСhanging: true });\n };\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n const { _reduxForm: reduxForm } = this.props;\n const isFieldArray = R.test(/\\[\\d+\\]/, this.props.name || \"\");\n\n if (\n !reduxForm ||\n (!R.contains(this.props.name, reduxForm.fields) && !isFieldArray)\n ) {\n return ;\n }\n\n return ;\n }\n}\n\nexport default withReduxForm(FieldConnected);\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport { isWebUri } from 'valid-url';\n\nimport constructFile from 'utils/constructFile';\n\nimport Button from 'components/Button';\n\nimport styles from './ImagePicker.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class ImagePicker extends PureComponent {\n static propTypes = {\n error: PropTypes.string,\n fileTitle: PropTypes.string,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n title: PropTypes.string,\n value: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n ]),\n onChange: PropTypes.func,\n }\n\n static defaultProps = {\n error: undefined,\n fileTitle: 'Изменить',\n id: undefined,\n title: 'Выбрать',\n value: {},\n onChange: () => {},\n }\n\n handleChange = (e) => {\n const reader = new FileReader();\n const name = R.last(e.target.value.split('\\\\'));\n const file = e.target.files[0];\n\n if (!file) {\n return;\n }\n\n reader.onload = (event) => {\n const result = event.target.result.split(/[:;,]/);\n const mime = result[1];\n const base64 = result[3];\n\n this.props.onChange({\n mime,\n base64,\n name,\n });\n };\n\n reader.readAsDataURL(e.target.files[0]);\n }\n\n fileRef = (file) => { this.file = file; };\n\n render() {\n const { id, title, fileTitle, value } = this.props;\n const withFile = !R.isEmpty(value);\n const src = isWebUri(value.url) ? value.url : constructFile(value);\n\n return (\n \n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport { Field } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport ImagePicker from './ImagePicker';\n\nclass ImagePickerConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n };\n\n static defaultProps = {\n name: undefined,\n };\n\n handleChange = onChange => (event) => {\n onChange(event);\n setTimeout(this.context.onFormChange, 0);\n }\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n if (!this.props._reduxForm) { // eslint-disable-line no-underscore-dangle\n return (\n \n );\n }\n\n return (\n \n );\n }\n}\n\nexport default withReduxForm(ImagePickerConnected)","import PropTypes from 'prop-types';\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport Icon from 'components/Icon';\nimport Title from 'components/Title';\n\nimport styles from './Success.module.css';\n\nconst cx = classNames.bind(styles);\n\nexport default class Success extends PureComponent {\n static propTypes = {\n children: PropTypes.node.isRequired,\n noPadding: PropTypes.bool,\n }\n\n static defaultProps = {\n text: undefined,\n noPadding: false,\n }\n\n render() {\n const { children, noPadding } = this.props;\n\n return (\n \n
\n \n
\n \n {children}\n \n
\n );\n }\n}\n","import * as R from 'ramda';\n\nexport default function capitalize(string = '') {\n if (R.isEmpty(string)) {\n return string;\n }\n\n const [first, ...rest] = string;\n\n return R.compose(\n val => val + rest.join(''),\n R.toUpper,\n )(first);\n}\n","import React, { PureComponent } from 'react';\nimport classNames from 'classnames/bind';\nimport ReactDOM from 'react-dom';\nimport ReactSelect from 'react-select';\nimport Icon from 'components/Icon';\nimport memoizee from 'memoizee';\nimport Fuse from 'fuse.js';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport ClickOutside from 'react-click-outside';\nimport IconLoaderFilled from 'components/IconLoaderFilled';\n\nimport styles from './Select.module.css';\n\nconst cx = classNames.bind(styles);\n\nconst SELECT_HEIGHT = 250;\nconst emptyOptions = [];\nconst concat = memoizee((options, extra, extraOnTop) => {\n if (extraOnTop) {\n return R.concat(extra, options);\n }\n\n return R.concat(options, extra);\n}, { length: 2 });\nconst selectFilterOptions = R.nthArg(0);\nconst fuzzyFilterOptions = (options, search) => {\n const fuse = new Fuse(options, {\n location: 0,\n distance: 30,\n threshold: 0.2,\n maxPatternLength: 100,\n keys: [\n 'label',\n ],\n });\n\n return fuse.search(R.trim(search));\n};\n\nexport default class Select extends PureComponent {\n static propTypes = {\n active: PropTypes.bool,\n alwaysShowExtra: PropTypes.bool,\n autofocus: PropTypes.bool,\n autosize: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n extraOptions: PropTypes.array,\n filterOptions: PropTypes.func,\n grouped: PropTypes.bool,\n hideValue: PropTypes.bool,\n id: PropTypes.string,\n label: PropTypes.string,\n menuRenderer: PropTypes.func,\n minLengthForResult: PropTypes.number,\n multi: PropTypes.bool,\n noBorder: PropTypes.bool,\n normal: PropTypes.bool,\n openOnFocus: PropTypes.bool,\n optionRenderer: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.object),\n placeholder: PropTypes.string,\n possibleOpenLeft: PropTypes.bool,\n readOnly: PropTypes.bool,\n required: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n searchable: PropTypes.bool,\n small: PropTypes.bool,\n smallArrow: PropTypes.bool,\n submitFailed: PropTypes.bool,\n theme: PropTypes.oneOf([\n '',\n 'blue',\n 'alternative',\n 'dish',\n 'plain',\n 'statistic',\n ]),\n touched: PropTypes.bool,\n value: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.number,\n PropTypes.string,\n PropTypes.array,\n PropTypes.bool,\n ]),\n valueRenderer: PropTypes.func,\n withoutDefaultSelected: PropTypes.bool,\n labelsList: PropTypes.array,\n\n onBlur: PropTypes.func,\n onBlurResetsInput: PropTypes.bool,\n onChange: PropTypes.func,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n onCloseResetsInput: PropTypes.bool,\n onSelectResetsInput: PropTypes.bool,\n onFocus: PropTypes.func,\n onInput: PropTypes.func,\n onSubmit: PropTypes.func,\n resetOnChange: PropTypes.bool,\n noWrap: PropTypes.bool,\n block: PropTypes.bool,\n setRef: PropTypes.func,\n extraOnTop: PropTypes.bool,\n closeOnSelect: PropTypes.bool,\n notFoundText: PropTypes.string,\n };\n\n static defaultProps = {\n active: false,\n alwaysShowExtra: false,\n autofocus: false,\n autosize: true,\n disabled: false,\n error: false,\n extraOptions: [],\n filterOptions: undefined,\n grouped: false,\n hideValue: false,\n id: undefined,\n label: '',\n menuRenderer: undefined,\n minLengthForResult: 0,\n multi: false,\n noBorder: false,\n normal: false,\n onBlurResetsInput: false,\n onCloseResetsInput: false,\n onSelectResetsInput: false,\n openOnFocus: true,\n optionRenderer: undefined,\n options: [],\n placeholder: ' ',\n possibleOpenLeft: false,\n readOnly: false,\n required: false,\n searchable: false,\n searchPlaceholder: '',\n small: false,\n smallArrow: false,\n submitFailed: false,\n static: false,\n theme: '',\n touched: true,\n value: null,\n valueRenderer: undefined,\n withoutDefaultSelected: false,\n onChange: () => { },\n onBlur: () => { },\n onClose: () => { },\n onFocus: () => { },\n onInput: () => { },\n onSubmit: () => { },\n onOpen: () => { },\n resetOnChange: false,\n noWrap: false,\n labelsList: [],\n setRef: () => { },\n extraOnTop: false,\n notFoundText: 'Ничего не найдено',\n };\n\n state = {\n label: '',\n openUp: false,\n openLeft: false,\n hideTemporarily: true,\n }\n\n componentWillMount() {\n this.setOptions(this.props);\n }\n\n componentDidMount() {\n if (!this.props.multi && !this.props.onBlurResetsInput) {\n this.setLabel(this.props.value, this.props.options);\n }\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.options !== this.props.options) {\n this.changed = false;\n this.setState({\n label: '',\n openUp: false,\n openLeft: false,\n hideTemporarily: true,\n isLoading: false,\n });\n this.input.setState({ inputValue: '' });\n }\n\n this.setOptions(nextProps);\n\n if (!this.props.multi && !this.props.onBlurResetsInput) {\n this.setLabel(nextProps.value, nextProps.options);\n }\n }\n\n handleOpen = () => {\n const select = this.container;\n let selectParent = select;\n let selectGrandParent = null;\n const htmlTag = document.getElementsByTagName('html')[0];\n\n while (!selectGrandParent) {\n selectParent = selectParent.parentNode;\n selectGrandParent = selectParent.style.overflow === 'hidden' ? selectParent : null;\n\n if (selectParent === htmlTag) {\n selectGrandParent = htmlTag;\n }\n }\n\n const selectParentHeight = selectGrandParent.offsetHeight;\n const selectOffsetTop = select.offsetTop;\n\n const body = document.body;\n const html = document.documentElement;\n const documentHeight = Math.max(\n body.scrollHeight,\n body.offsetHeight,\n html.clientHeight,\n html.scrollHeight,\n html.offsetHeight,\n );\n const canScroll = documentHeight - window.innerHeight - window.scrollY;\n\n const openUp = selectOffsetTop + SELECT_HEIGHT > selectParentHeight;\n const selectBox = select.getBoundingClientRect();\n const isPageBottom = selectBox.top + SELECT_HEIGHT > window.innerHeight + canScroll;\n\n this.setState({\n openUp: isPageBottom || openUp,\n });\n\n this.handleOpenLeft(selectGrandParent);\n }\n\n handleOpenLeft(selectGrandParent) {\n if (this.props.possibleOpenLeft) {\n setTimeout(() => {\n if (this.input && this.input.menuContainer) {\n const menuOuter = this.input.menuContainer;\n const selectParentWidth = selectGrandParent.offsetWidth;\n const menuRect = menuOuter.getBoundingClientRect();\n\n if (menuRect && menuRect.right > selectParentWidth) {\n this.setState({ openLeft: true, hideTemporarily: false });\n } else {\n this.setState({ openLeft: false, hideTemporarily: false });\n }\n }\n }, 0);\n }\n\n this.props.onOpen();\n }\n\n handleInput = (value = '', mimicEvent) => {\n const { multi, resetOnChange, onBlurResetsInput, searchable } = this.props;\n const newValue = this.props.onInput(value);\n if (value === this.state.label) {\n return value;\n }\n\n this.setState({\n label: value,\n });\n\n if (!mimicEvent) {\n this.changed = false;\n }\n\n if ((value === '' && !multi && this.props.value && !onBlurResetsInput) || (!mimicEvent && resetOnChange)) {\n if (searchable) {\n this.props.onChange(null);\n }\n }\n\n this.setOptions(this.props, value);\n\n return newValue;\n }\n\n handleChange = (item) => {\n if (this.props.multi) {\n this.handleChangeMulti(item);\n } else {\n\n this.handleChangeSingle(item);\n }\n\n this.changed = true;\n };\n\n handleChangeSingle = (item) => {\n if (!item) {\n return;\n }\n\n const { value } = item[0] || item;\n\n this.props.onChange(value, this.state.label);\n this.setLabel(value, this.props.options);\n }\n\n handleChangeMulti = (item) => {\n const current = this.props.value;\n const values = R.pluck('value', item);\n const lastValue = R.last(values);\n\n const newValue = R.contains(lastValue, current) ?\n R.without([lastValue], current) :\n R.concat([lastValue], current);\n\n this.props.onChange(newValue, this.state.label);\n }\n\n handleFocus = () => {\n this.changed = false;\n this.props.onFocus();\n }\n\n handleMenuWheel = (event) => {\n const { deltaY, currentTarget } = event;\n const { scrollTop, scrollHeight, offsetHeight } = currentTarget;\n\n const isMaxScroll = scrollHeight === scrollTop + offsetHeight && deltaY > 0;\n const isMinScroll = scrollTop === 0 && deltaY < 0;\n\n if (isMinScroll || isMaxScroll) {\n event.preventDefault();\n }\n }\n\n handleBlur = () => {\n if (this.props.onBlurResetsInput) {\n this.changed = false;\n this.setState({\n label: '',\n });\n this.setOptions(this.props, '');\n }\n\n this.setState({ openLeft: false });\n this.props.onBlur();\n }\n\n handleClickOutside = () => {\n this.input.setState({ isOpen: false });\n }\n\n setContainer = (node) => {\n this.container = ReactDOM.findDOMNode(node); // eslint-disable-line react/no-find-dom-node\n }\n\n setInput = (node) => {\n this.input = node;\n this.props.setRef(node);\n }\n\n setLabel(key, options) {\n if (!this.props.searchable) {\n return;\n }\n\n const value = R.find(R.propEq('value', key), [\n ...options,\n ...this.props.extraOptions,\n ...this.props.labelsList,\n ]);\n const label = R.compose(\n R.defaultTo(''),\n R.defaultTo(key),\n R.propOr(null, 'label'),\n )(value);\n\n if (!key && this.props.resetOnChange) {\n return;\n }\n\n if (this.input && label) {\n this.input.setState({ inputValue: label }); // eslint-disable-line\n }\n\n if (this.state.label !== label && label) {\n this.handleInput(label, true);\n }\n }\n\n setOptions(props = this.props, label = this.state.label) {\n if (this.changed) {\n return;\n }\n\n const { searchable, minLengthForResult, options, extraOptions } = props;\n const isHidden = searchable && this.state.label < minLengthForResult;\n\n this.index = this.index || 0;\n this.index += 1;\n\n if (!this.props.filterOptions) {\n const list = isHidden ? emptyOptions : this.filterOptions(label, options, extraOptions);\n this.setOptionsState(this.index)(list);\n } else {\n this.setState({\n isLoading: true,\n });\n\n this.props.filterOptions(label, options, this.setOptionsState(this.index));\n }\n }\n\n setOptionsState = index => (options) => {\n if (index !== this.index) {\n return;\n }\n\n this.setState({\n options,\n isLoading: false,\n });\n }\n\n getOptions() {\n return this.props.searchable ? this.state.options : this.props.options;\n }\n\n getIsWithError() {\n const { error, touched, submitFailed, active } = this.props;\n\n return error && (touched || submitFailed) && !active;\n }\n\n getNoResultText() {\n const { searchable, minLengthForResult } = this.props;\n const { label, isLoading } = this.state;\n const hideOptions = searchable && label.length < minLengthForResult;\n\n if (hideOptions) {\n return this.props.searchPlaceholder;\n }\n\n if (isLoading) {\n return 'Поиск...';\n }\n\n return this.props.notFoundText;\n }\n\n filterOptions = memoizee((search, options, extraOptions) => {\n const { searchable, minLengthForResult, extraOnTop } = this.props;\n\n if (!searchable) {\n return concat(options, extraOptions, extraOnTop);\n }\n\n if (search.length < minLengthForResult) {\n return [];\n }\n\n if (!search.length) {\n return concat(options, extraOptions, extraOnTop);\n }\n\n const result = fuzzyFilterOptions(options, search);\n\n return (R.isEmpty(result) && !this.props.alwaysShowExtra)\n ? []\n : concat(result, extraOptions, extraOnTop);\n })\n\n arrowRenderer = () => (\n \n )\n\n renderOption = (option, index, list, isFocused) => {\n if (!option.template) {\n return option.label;\n }\n\n return option.template(option, index, list, isFocused);\n };\n\n render() {\n const {\n searchable,\n value,\n noBorder,\n small,\n grouped,\n id,\n multi,\n withoutDefaultSelected,\n } = this.props;\n const { openUp, openLeft, isLoading } = this.state;\n const withError = this.getIsWithError();\n const withoutSelected = R.isNil(withoutDefaultSelected) ? searchable : withoutDefaultSelected;\n const options = this.getOptions();\n const noResultsText = this.getNoResultText();\n\n return (\n { }}\n className={cx({\n select: true,\n select_resetable: this.props.onBlurResetsInput,\n select_block: this.props.block,\n select_disabled: this.props.disabled,\n select_noWrap: this.props.noWrap,\n select_empty: R.isEmpty(options),\n select_searchable: searchable,\n select_noBorder: noBorder,\n select_small: small,\n select_normal: this.props.normal,\n [`select_${this.props.theme}`]: this.props.theme,\n select_smallArrow: this.props.smallArrow,\n select_openUp: openUp,\n select_openLeft: openLeft,\n select_grouped: grouped,\n select_state_error: withError,\n select_multi: multi,\n select_hide_temporarily: this.props.possibleOpenLeft && this.state.hideTemporarily,\n select_type_overflow: !this.props.autosize,\n })}\n ref={this.setContainer}\n >\n {this.props.label &&\n \n {this.props.label}\n {this.props.required && *}\n \n }\n\n \n {withError &&\n \n {this.props.error}\n \n }\n \n

\n {this.state.label}\n

\n \n \n \n );\n }\n}\n","import React, { PureComponent } from 'react';\nimport { Field } from 'redux-form';\nimport { withReduxForm } from 'redux-form/es/ReduxFormContext';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\n\nimport Select from './Select';\n\nclass SelectConnected extends PureComponent {\n static contextTypes = {\n onFormChange: PropTypes.func,\n };\n\n static propTypes = {\n name: PropTypes.string,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n ]),\n };\n\n static defaultProps = {\n name: undefined,\n onChange: () => { },\n onFocus: () => { },\n value: undefined,\n };\n\n handleChange = onChange => (event) => {\n onChange(event);\n this.props.onChange(event);\n setTimeout(this.context.onFormChange, 0);\n }\n\n renderField = (field = {}) => (\n \n );\n\n render() {\n const { _reduxForm: reduxForm } = this.props;\n const isFieldArray = R.test(/\\[\\d+\\]/, this.props.name || '');\n\n if (!reduxForm || (!R.includes(this.props.name, reduxForm.fields) && !isFieldArray)) {\n\n return (\n