{"version":3,"sources":["webpack:///./src/utils/varoom-translation.utils.js","webpack:///./src/utils/constants.js","webpack:///./src/modules/AppCore/store/reducer.js","webpack:///./src/fetchers/request.js","webpack:///./src/components/ui/Tooltip/index.js","webpack:///./src/components/ui/Space/index.js","webpack:///./src/components/shared/NotificationList/notificationHooks.js","webpack:///./src/modules/Auth/GateWay/store/constants.js","webpack:///./src/utils/checkStore.js","webpack:///./src/fetchers/setting.js","webpack:///./src/components/ui/Button/index.js","webpack:///./src/components/ui/Form/Fieldset/index.js","webpack:///./src/components/ui/Form/FormLabel.js","webpack:///./src/components/ui/Form/LabelWithHelp.js","webpack:///./src/components/ui/Form/index.js","webpack:///./src/components/ui/Card/index.js","webpack:///./src/modules/MyOkrs/constants.js","webpack:///./src/components/ui/Select/Select.js","webpack:///./src/components/ui/Layout/index.js","webpack:///./src/fetchers/pureFetcher.js","webpack:///./src/components/ui/Spin/Spin.js","webpack:///./src/components/ui/Select/SelectWithDataSource.js","webpack:///./src/components/ui/Select/SelectWithLazyDataSource.js","webpack:///./src/components/ui/Select/helpers.js","webpack:///./src/components/ui/Select/index.js","webpack:///./src/components/ui/Menu/index.js","webpack:///./src/utils/history.js","webpack:///./src/modules/AllOkrs/AllOkrsLayout.Loadable.js","webpack:///./src/modules/AllOkrs/route.js","webpack:///./src/modules/MyOkrs/Details/DetailsLayout.Loadable.js","webpack:///./src/modules/MyOkrs/Details/route.js","webpack:///./src/modules/MyOkrs/index.js","webpack:///./src/modules/People/PeopleLayout.Loadable.js","webpack:///./src/modules/People/route.js","webpack:///./src/modules/Profile/route.js","webpack:///./src/modules/Profile/ProfileLayout.Loadable.js","webpack:///./src/modules/Profile/constants.js","webpack:///./src/modules/Reminders/store/constants.js","webpack:///./src/modules/Reminders/store/types.js","webpack:///./src/modules/Reminders/store/stateManager.js","webpack:///./src/fetchers/reminder.fetchers.js","webpack:///./src/modules/Reminders/store/actions.js","webpack:///./src/modules/Reminders/store/saga.js","webpack:///./src/modules/Reminders/store/index.js","webpack:///./src/modules/Reminders/store/reducer.js","webpack:///./src/modules/Reminders/reminder.domainData.js","webpack:///./src/components/ui/TimePicker/index.js","webpack:///./src/modules/Reminders/constants.js","webpack:///./src/modules/Reminders/reminder.utils.js","webpack:///./src/modules/Reminders/EmailReminer.js","webpack:///./src/modules/Reminders/ReminderForm.js","webpack:///./src/modules/Reminders/schema.js","webpack:///./src/modules/Reminders/defaultValues.js","webpack:///./src/modules/Reminders/RemiderTab.js","webpack:///./src/modules/Reminders/RemindersLayout.js","webpack:///./src/modules/routes.js","webpack:///./src/modules/Reminders/route.js","webpack:///./src/modules/Auth/Login/route.js","webpack:///./src/modules/Auth/Login/LoginLayout.loadable.js","webpack:///./src/modules/Auth/Logout/route.js","webpack:///./src/modules/Auth/Logout/LogoutLayout.Loadable.js","webpack:///./src/modules/Auth/GateWay/route.js","webpack:///./src/modules/Auth/GateWay/GatewayLayout.loadable.js","webpack:///./src/modules/AI/route.js","webpack:///./src/modules/AI/AILayout.Loadable.js","webpack:///./src/modules/AI/constants.js","webpack:///./src/components/ui/VaroomImg.js","webpack:///./src/components/shared/NotFoundPage/index.js","webpack:///./src/components/shared/Logo/LogoLayout.js","webpack:///./src/components/shared/AppShell/defined.messages.js","webpack:///./src/components/shared/AppShell/constants.js","webpack:///./src/components/shared/NotificationList/NotificationListLayout.loadable.js","webpack:///./src/components/shared/Notification/index.js","webpack:///./src/components/shared/UserProfile/UserInfo.js","webpack:///./src/components/shared/UserProfile/MenuItem.js","webpack:///./src/components/shared/UserProfile/UserTitle.js","webpack:///./src/components/shared/UserProfile/UserProfileLayout.js","webpack:///./src/components/shared/AppShell/components/MainMenu/MainMenuItem.js","webpack:///./src/components/shared/AppShell/components/MainMenu/utils.js","webpack:///./src/components/shared/AppShell/components/MainMenu/MainMenu.js","webpack:///./src/components/shared/AppShell/LeftSide/LeftSide.js","webpack:///./src/components/shared/AppShell/AppShellLayout.js","webpack:///./src/modules/AppCore/PrivatePage.js","webpack:///./src/modules/AppCore/RouteWrapper.js","webpack:///./src/modules/AppCore/DocumentHead.js","webpack:///./src/components/ui/GlobalLoading/constants.js","webpack:///./src/components/ui/GlobalLoading/useMessage.js","webpack:///./src/components/ui/GlobalLoading/Loading.js","webpack:///./src/modules/AppCore/GlobalLoading.js","webpack:///./src/modules/AppCore/NoPermission.js","webpack:///./src/modules/AppCore/AppCore.js","webpack:///./src/components/shared/Logo/Logo.module.scss","webpack:///./src/components/shared/UserProfile/UserInfo.module.scss","webpack:///./src/components/ui/Col/index.js","webpack:///./src/modules/AppCore/store/actions.js","webpack:///./src/components/ui/Skeleton/Skeleton.js","webpack:///./src/components/ui/Skeleton/SkeletonList.js","webpack:///./src/components/ui/Skeleton/index.js","webpack:///./src/utils/reducerInjectors.js","webpack:///./src/utils/injectReducer.js","webpack:///./src/utils/sagaInjectors.js","webpack:///./src/utils/injectSaga.js","webpack:///./src/components/shared/PermissionManager/helpers.js","webpack:///./src/components/shared/PermissionManager/useFeatureChecker.js","webpack:///./src/constants/userRoles.js","webpack:///./src/modules/AllOkrs/store/constants.js","webpack:///./src/components/ui/Switch/index.js","webpack:///./src/components/ui/Grid/index.js","webpack:///./src/modules/People/constants.js","webpack:///./src/reducers.js","webpack:///./src/utils/dateFormatter.js","webpack:///./src/components/ui/Badge/index.js","webpack:///./src/components/shared/LanguageProvider/constants.js","webpack:///./src/components/shared/LanguageProvider/reducer.js","webpack:///./src/components/shared/LanguageProvider/selectors.js","webpack:///./src/translations/common-validation.messages.js","webpack:///./src/components/shared/LanguageProvider/setValidationCommonMessages.js","webpack:///./src/components/shared/LanguageProvider/index.js","webpack:///./src/components/shared/ToastMessage/ToastMessage.js","webpack:///./src/components/shared/ToastMessage/showToastMessage.js","webpack:///./src/modules/MyOkrs/Overview/route.js","webpack:///./src/modules/MyOkrs/Overview/MyOkrsLayout.Loadable.js","webpack:///./src/components/shared/NotificationList/NotificationMessageListHeader.module.scss","webpack:///./src/components/shared/NotificationList/NotificationListLayout.module.scss","webpack:///./src/components/shared/UserProfile/UserProfileLayout.module.scss","webpack:///./src/components/shared/AppShell/components/MainMenu/MainMenuItem.module.scss","webpack:///./src/components/ui/Avatar/index.js","webpack:///./src/fetchers/user.fetcher.js","webpack:///./src/components/ui/Dropdown/index.js","webpack:///./src/components/ui/List/Item/Meta.js","webpack:///./src/components/ui/List/Item/index.js","webpack:///./src/components/ui/List/defined.messages.js","webpack:///./src/components/ui/List/List.js","webpack:///./src/components/ui/Tabs/index.js","webpack:///./src/components/ui/Typography/index.module.scss","webpack:///./src/components/shared/Notification/Notification.module.scss","webpack:///./src/components/ui/Row/index.js","webpack:///./src/components/ui/Empty/Empty.js","webpack:///./src/utils/parseValueForm.js","webpack:///./src/components/ui/InputNumber/index.js","webpack:///./src/components/ui/Divider/index.js","webpack:///./src/components/ui/DatePicker/DatePicker.js","webpack:///./src/components/ui/DatePicker/defined.messages.js","webpack:///./src/components/ui/DatePicker/DateRangePicker.js","webpack:///./src/utils/name2shortcut.js","webpack:///./src/modules/Auth/GateWay/store/types.js","webpack:///./src/styles/app-variables.scss","webpack:///./src/utils/settings.js","webpack:///./src/components/ui/Checkbox/index.js","webpack:///./src/components/shared/NotificationList/notificationMessage.domainData.js","webpack:///./src/components/shared/NotificationList/NoNotificationMessages.js","webpack:///./src/components/shared/NotificationList/NotificationMessageListHeader.js","webpack:///./src/components/shared/NotificationList/NotificationListLayout.js","webpack:///./src/domainData/user.domainData.js","webpack:///./src/modules/Reminders/ReminderForm.module.scss","webpack:///./src/modules/Reminders/RemiderTab.module.scss","webpack:///./src/assets/images/under-construction.png","webpack:///./src/components/shared/UserProfile/MenuItem.module.scss","webpack:///./src/components/shared/UserProfile/UserTitle.module.scss","webpack:///./src/components/shared/AppShell/components/MainMenu/MainMenu.module.scss","webpack:///./src/components/shared/AppShell/LeftSide/LeftSide.module.scss","webpack:///./src/components/shared/AppShell/AppShellLayout.module.scss","webpack:///./src/assets/images/403NoPermission.png","webpack:///./src/components/ui/GlobalLoading/Loading.module.scss","webpack:///./src/components/ui/ErrorBoundary/ErrorBoundaryLayout.jsx","webpack:///./src/components/ui/Loadable/loadable.utils.js","webpack:///./src/modules/AppCore/store/syncUserToStorage.js","webpack:///./src/modules/AppCore/store/stateManager.js","webpack:///./src/modules/AppCore/store/types.js","webpack:///./src/modules/AppCore/store/constants.js","webpack:///./src/App.scss","webpack:///./src/i18n.js","webpack:///./src/App.js","webpack:///./src/configureStore.js","webpack:///./src/serviceWorker.js","webpack:///./src/index.js","webpack:///./src/utils/ssoSetting.js","webpack:///./src/components/ui/Typography/Text.js","webpack:///./src/components/ui/Typography/Time.js","webpack:///./src/utils/parseLink.js","webpack:///./src/components/ui/Typography/Link.js","webpack:///./src/fetchers/privateFetcher.js","webpack:///./src/components/shared/NotificationList/store/constants.js","webpack:///./src/components/shared/NotificationList/store/types.js","webpack:///./src/components/shared/NotificationList/store/stateManager.js","webpack:///./src/components/shared/NotificationList/store/notificationConnection.js","webpack:///./src/components/shared/NotificationList/store/publishmentChannel.js","webpack:///./src/components/shared/NotificationList/store/actions.js","webpack:///./src/components/shared/NotificationList/store/saga.js","webpack:///./src/components/shared/NotificationList/store/index.js","webpack:///./src/components/shared/NotificationList/store/reducer.js"],"names":["useTranslateContext","featureName","formatMessage","useIntl","useMemo","config","rest","id","getFormattedId","fieldName","type","defineMessages","messages","defineMessagesBase","RESTART_ON_REMOUNT","DAEMON","ONCE_TILL_UNMOUNT","AUTH","DATE_OPTIONS_CURRENT_QUARTER","DATE_OPTIONS_PREVIOUS_QUARTER","REPORT_KEY","PERMISSION_FEATURE","GET","CREATE","UPDATE","DELETE","reducer","state","stateManager","payload","types","apiURL","option","queryString","params","_size","Object","keys","map","key","encodeURIComponent","join","url","apiWrapper","options","wrapper","method","headers","form","Authorization","HeaderSetting","authenticate","body","JSON","stringify","data","parseJSON","response","status","text","then","parse","e","statusText","fetchTimeout","timeout","error","promise","Promise","resolve","reject","setTimeout","timeoutPromise","fetch","request","timeOut","sendPureRequest","Tooltip","props","React","createElement","AntdTooltip","Space","AntdSpace","useUnreadMessageNumber","useSelector","getUnreadMessageNumber","useMessageList","getMessageList","useInitData","dispatch","useDispatch","isInit","isInitData","useEffect","actions","initData","useMarkReadAction","useCallback","markReadById","markAllRead","MODULE_STATE_NAME","checkStore","store","shape","isFunction","subscribe","getState","replaceReducer","runSaga","injectedReducers","isObject","injectedSagas","invariant","conformsTo","token","getUserToken","this","privateContent","localStorage","getItem","newContent","PreAuthHeaderSetting","Button","className","ctrTooltip","btn","AntdButton","_extends","classNames","title","defaultProps","propTypes","PropTypes","string","Group","headStyle","backgroundColor","color","fontSize","borderRadius","background","height","Fieldset","Card","FormLabel","label","required","tooltip","htmlFor","placement","arrowPointAtCenter","QuestionCircleTwoTone","bool","LabelWithHelp","labelId","description","Fragment","FormattedMessage","style","paddingLeft","position","top","Form","AntdForm","onFinish","onSubmit","FormItem","Item","FormList","List","colon","CardAntd","Meta","MetaAntd","FEATURE_KEY","FEATURE_KEY_REPORT","Select","Component","render","AntdSelect","removeIcon","CloseCircleFilled","Content","AntdContent","Header","AntdHeader","Footer","AntdFooter","Sider","AntdSider","AntdLayout","Layout","DEFAULT_ERROR","onError","window","location","replace","_isString","message","json","catch","console","log","res","parseRequestBody","post","get","Spin","AntdSpin","indicator","LoadingOutlined","spin","SelectWithDataSourceUi","dataSource","isLoading","isLoadError","getItemTitle","getItemValue","itemValueKey","itemTitleKey","disabled","placeholderId","placeholder","excludedItems","renderItems","menuItems","_pipe","_map","item","_get","isExcludedMe","list","_indexOf","_toString","Option","_compact","loading","array","any","func","fnFilterOptionByContent","input","children","length","_some","str","includes","toLowerCase","SelectWithDataSource","getDataSource","getDataSourceBySearchKey","filterOption","useDefaultFilterOption","reInitCount","fnAddDefaultsItems","setInternalDataSource","useState","isUnmounted","set_isUnmounted","setInternalLoading","searchingProcess","setInternalSearch","undefined","setIsLoadError","setInternalDataSourceCb","onSearch","_debounce","searchString","processing","trim","finally","geSource","_invoke","notFoundContent","size","showSearch","onChange","width","autoClearSearchValue","renderItemsDefault","value","getLazyDataSource","onDropdownVisibleChange","isOpen","onChangeCb","selectedValue","selectedComp","_omit","isRequired","reInit","getInitDataSource","defaultValue","internalInitDataSource","set_internalInitDataSource","internalLazyDataSource","set_internalLazyDataSource","internalLazyDataSourceProcess","set_internalLazyDataSourceProcess","geDataSourceWrapper","async","fnGetSource","args","_take","getSource","_isNil","getInitItems","OptGroup","Menu","AntdMenu","ItemAndtd","ItemGroup","ItemGroupAndtd","SubMenu","SubMenuAndtd","Divider","DividerAndtd","history","createBrowserHistory","loadable","ROUTES","path","exact","component","AllOkrsLayout","layoutConfig","isUsedAppShell","routes","breadcrumbName","featureKey","MyOkrsDetailsLayout","MY_OKRS_ROUTERS","MyOkrsOverViewRoute","MyOkrsDetailsRoute","PeopleLayout","GET_REMINDER","_set","_setFp","convert","immutable","STATE_DEFAULT_VALUE","uiConfig","reminders","initState","resetState","getLocalState","getReminder","createSelector","_getOr","getUiConfig","updateDataByKey","dataKey","produce","privateFetcher","BASE_URL","updateReminder","formData","put","results","resetData","getReminderSuccess","getReminderError","updateReminderSuccess","updateReminderError","setNotify","appActions","sendRequestGetReminder","reminder","call","sendRequestUpdateReminder","withReducer","injectReducer","withSaga","injectSaga","saga","takeLatest","injectToStore","compose","getTask","getWeekDay","getName","getLoading","TimePicker","AntdTimePicker","FREQUENCY_TYPE","FREQUENCY_REPETITION","DEFAULT_WEEKDAY","isCustomTime","formatFormData","time","timeOfDay","moment","minute","seconds","milliseconds","toISOString","frequency","frequencyEvery","frequencyHead","EmailReminder","values","setValue","control","tasks","weekDay","repeat","setRepeat","formControl","useWatch","handleCheckedAll","visible","enabled","shouldDirty","handleSetAllDate","Row","gutter","Col","span","Switch","checked","_filter","Text","index","Controller","name","field","ref","refProp","_capitalize","DatePicker","allowClear","format","showNow","use12Hours","InputNumber","formatter","parser","min","_isEqual","AntdCheckbox","ReminderForm","handleSubmit","getValues","formState","isDirty","useFormContext","Skeleton","layout","styles","varReminderForm","onClick","reminderFormSchema","Yup","defaultValues","interval","Date","isCustom","ReminderTab","useForm","resolver","yupResolver","mode","newIntialValues","parseValueForm","reset","FormProvider","Tabs","varTabs","TabPane","tab","RemindersLayout","AllOrks","People","Profile","isPublic","modulesRoutes","_groupBy","VaroomImg","alt","src","NotFoundPage","currentUser","getCurrentUser","push","pathname","Redirect","to","padding","textAlign","NotFoundPageImg","maxWidth","LogoLayout","homePage","isMini","isAdmin","Link","varComp","varComp__mini","varComp__image","varComp__image__admin","viewProfile","defaultMessage","signOut","SIDEBAR_ITEMS","FEATURE_KEY__ALL_OKRS","FEATURE_KEY__MY_OKRS","FEATURE_KEY__PEOPLE","SIDEBAR_PROFILE","noSelected","SIDEBAR_ACCOUNT_GREY","Notification","showListNotify","unReadMessages","handleClick","dfoComp","SyncOutlined","Badge","count","BellOutlined","classnames","dfoComp_icon","UserInfo","user","nameDisplay","getFullName","getFirstName","getLastName","getEmail","avatar","getImageURL","Avatar","name2shortcut","fullName","role","getRole","MenuItem","itemData","event","preventDefault","Tag","menuItem","UserTitle","userTitle","Title","strong","getPosition","align","getDepartment","UserProfileLayout","Dropdown","trigger","getPopupContainer","triggerNode","parentNode","dropdown","overlay","menu","display","flex","alignItems","NotificationList","arrow","MainMenuItem","intl","icon","IconComp","menuName","varComp__inline","varComp__text","injectIntl","memo","findSelectedItems","menus","search","isSelectedItem","_startsWith","found","childItem","getItemKey","MainMenu","useLocation","canUseCheckerFn","useFeatureChecker","selectedKeys","findSelectedKeys","openKeys","onOpenChange","useOpenKeyHook","setOpenKeys","openSubMenu","newOpenKeys","_without","renderMenuItem","itemKey","canUse","onSelect","domEvent","_lowerCase","defaultSelectedKeys","LeftSide","classname","appStyles","ctrLayoutSidebarWidth","Logo","UserProfile","AppShellLayout","minHeight","varAppLayout","injectToStoreNotification","PrivatePage","RouteWrapper","MainContent","Route","DocumentHead","pageTitle","getLayoutConfig__pageTitle","Helmet","defaultTitle","content","DEFAULT_LOADING_QUOTES","useMessage","getMsg","getRandomMessage","messageArr","_isArray","_random","msg","setMsg","setInterval","clearInterval","Loading","loadingInfo","document","getElementsByClassName","elms","visibility","loadingWrapper","loadingWrapper__message","loadingWrapper__loader","loadingWrapper__block1","loadingWrapper__block2","loadingWrapper__block3","loadingWrapper__block4","loadingWrapper__block5","loadingWrapper__block6","loadingWrapper__block7","loadingWrapper__block8","loadingWrapper__block9","loadingWrapper__block10","loadingWrapper__block11","loadingWrapper__block12","loadingWrapper__block13","loadingWrapper__block14","loadingWrapper__block15","loadingWrapper__block16","GlobalLoading","GlobalLoadingCommon","NoPermission","expired","indexOf","onLogout","margin","noPermission","App","privateRoutes","route","privatePages","publicPages","ToastMessage","module","exports","ColAntd","setGlobalLoading","showToastMessage","setLayoutConfig","setCurrentUser","resetUser","callback","setBreadcrumb","isMerged","AntdSkeleton","active","COL_CONFIG","GRID","xs","sm","md","LIST","SkeletonList","numItem","isGrid","Array","fill","_","idx","paragraph","round","injectReducerFactory","isValid","isString","isEmpty","Reflect","has","createReducer","getInjectors","WrappedComponent","ReducerInjector","constructor","context","super","_defineProperty","ReactReduxContext","displayName","hoistNonReactStatics","allowedModes","checkKey","injectSagaFactory","descriptor","newDescriptor","checkDescriptor","hasSaga","task","ejectSagaFactory","cancel","ejectSaga","InjectSaga","injectors","componentWillUnmount","featureCheckerFn","hasFeaturePermission","permissions","_find","permission","getFeature","getPermissions","canUseFn","isAdminRoles","_eq","usePermissionFeature","findPermission","feature","getPermission","AntdSwitch","AntdRow","AntdCol","combineReducers","router","connectRouter","globalReducer","language","languageProviderReducer","toDate","date","utc","relativeFormatter","fromNow","dateTimeFormatter","local","dateShowRelativeArr","diff","AntdBadge","initialState","locale","action","draft","selectLanguage","mixed_default","mixed_required","mixed_oneOf","mixed_notOneOf","mixed_defined","string_required","string_length","string_min","string_max","string_matches","string_email","string_url","string_uuid","string_trim","string_lowercase","string_uppercase","number_min","number_max","number_lessThan","number_moreThan","number_positive","number_negative","number_integer","date_min","date_max","boolean_isValue","object_noUnknown","array_min","array_max","array_required","array_length","parsedMessages","_transformFp","_transform","validationSchema","split","LanguageProvider","IntlProvider","Children","only","schema","_reduce","acc","paths","messageId","setLocale","resetValidationMessages","object","element","mapStateToProps","languageState","connect","ToastContainer","autoClose","displayToastMessage","notify","toast","isActive","toastId","pauseOnFocusLoss","getAutoCloseTime","warn","success","info","messageLength","errors","forEach","errorMessage","AvatarAntd","getNotificationListFetcher","setNotificationMaskAsReadFetcher","getUserList","getUserProfile","getUserDetails","createUser","updateUser","updateProfile","deleteUser","delete","DropDown","AntdDropDown","AntdListItemMeta","AntdList","AntdListItem","paginationFromTo","pagination","paginationConfig","showSizeChanger","showTotal","total","from","onShowSizeChange","AntdTabs","TabPaneAntd","RowAntd","Empty","AntdEmpty","PRESENTED_IMAGE_SIMPLE","PRESENTED_IMAGE_DEFAULT","cb","newValues","newValue","DEFAULT_NUMBER_FORMAT","currency","ctrFormatType","AntdInputNumber","AntdDivider","AntdDatePicker","AntdDatePickerMod","today","lastTimeDay","RangePicker","DEFAULT_PRESET","last7day","subtract","last30day","DateRangePicker","RANGES","day","ranges","fullname","t","r","toUpperCase","RESET_DATA","GET_PRE_AUTH","GET_PRE_AUTH_SUCCESS","GET_PRE_AUTH_TOKEN_SUCCESS","SELECT_COMPANY","UPDATE_LOGGED_USER_INFO","getParameterByName","href","RegExp","exec","decodeURIComponent","getPathFromRoutes","Checkbox","AntdCheckboxGroup","isRead","getId","getDescription","getCreatedOn","NoNotificationMessages","NotificationMessageListHeader","onMarkAll","dfoComp__label","dfoComp__markReadBtn","NotificationListLayout","markReadId","markReadByIdCb","itemLayout","renderItem","read","statusItem","dfoCompRead","dangerouslySetInnerHTML","__html","Time","getUserId","getOwner","_over","_lt","_join","getSupervisorId","getChild","ErrorBoundaryLayout","componentDidCatch","errorInfo","errorString","toString","importFunc","fallback","LazyComponent","lazy","ErrorBoundary","Suspense","getUserFromStorage","globalLoading","notifyInfo","addedBreadcrumb","getNotifyInfo","getLayoutConfig","getAddedBreadcrumb","getLayoutConfig__breadcrumb","rootRoutes","isLogin","updaterLoading","updaterNotifyInfo","updaterLayoutConfig","updaterLayoutConfigBreadcrumb","updaterCurrentUser","userInfo","setItem","setUserToStorage","updaterResetUser","removeUserFromStorage","clear","getAuthFromStorage","SET_GLOBAL_LOADING","SET_NOTIFY","SET_LAYOUT_CONFIG","SET_LAYOUT_CONFIG_BREADCRUMB","GET_CURRENT_USER","RESET_USER","GET_CURRENT_USER_SUCCESS","UPDATE_CURRENT_USER","UPDATE_CURRENT_USER_SUCCESS","UPDATE_CURRENT_USER_ERROR","enTranslationMessages","require","formatTranslationMessages","defaultFormattedMessages","reduce","flattenFormattedMessages","formattedMessages","formattedMessage","assign","translationMessages","en","composeEnhancers","sagaMiddleware","createSagaMiddleware","middlewares","routerMiddleware","enhancers","applyMiddleware","createStore","run","configureStore","Provider","ConnectedRouter","MainApp","Boolean","hostname","match","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister","SSO_HOSTING_URL","OAUTH_API_LOGOUT_URL","origin","ROUTES_MY_OKR","VAROOM_FAST_API_URL","TitleAntd","TypographyAntd","Paragraph","ParagraphAntd","TextAntd","primary","secondary","styleClass","textPrimary","textSecondary","pattern","showRelative","canShowedRelative","relativeString","fullString","internal_isShowRelative","set_internal_isShowRelative","toggle","parseLink","link","startsWith","isOpenNewTab","target","_omitBy","patch","INIT_DATA","MARK_AS_READ","messageList","isDesc","getUnreadMessage","updaterInitData","updaterMessageList","updaterMarkAsReadById","updaterMarkAllAsRead","updaterAddMessage","newEvent","connection","rebuildConnection","stop","closeConnection","getConnection","startConnection","onConnectedCb","start","err","signalR","withUrl","accessTokenFactory","rawToken","withAutomaticReconnect","configureLogging","Information","build","onclose","createPublishmentChannel","notiConnection","eventChannel","emit","onNewNoti","on","unsubscribe","off","addNewMessage","getMessageListSuccess","markReadByIdSuccess","markAllReadSuccess","markAllReadFail","reloadMessageListOnConnected","attachEventHandler","publishChannel","takeEvery","sendMessageListRequest","sendMarkAsReadRequest","watchMarkAllAsReadRequest","unreadMsg","select","unreadIds","all","watchUpdateLoggedUserInfo","result"],"mappings":"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","file":"static/js/main.d8df2821.chunk.js","sourcesContent":["import {useMemo} from 'react'\nimport {useIntl, defineMessages as defineMessagesBase} from 'react-intl'\nimport _mapValues from 'lodash/fp/mapValues'\nimport _omit from 'lodash/fp/omit'\n\nexport const isDevelopMode = () => false\n\nexport const useTranslateContext = (featureName) => {\n const {formatMessage} = useIntl()\n return useMemo(() => ({\n formatMessage: (config, ...rest) => formatMessage(typeof config === 'string' ? {id: config} : config, ...rest),\n getFormattedId: (fieldName, type = 'label') => formatMessage({id: `${featureName}.${fieldName}.${type}`})\n }), [featureName, formatMessage])\n}\n\nexport function getHtmlContentTranslation(key, content, params = {}) {\n try {\n let _content = content.replace(/ {\n return defineMessagesBase(isDevelopMode() ? _mapValues(_omit('defaultMessage'))(messages) : messages)\n}\n","export const RESTART_ON_REMOUNT = \"@@saga-injector/restart-on-remount\";\nexport const DAEMON = \"@@saga-injector/daemon\";\nexport const ONCE_TILL_UNMOUNT = \"@@saga-injector/once-till-unmount\";\nexport const CDN_CTRWOW_COMMON_LIB__BASE_URL = \"https://ctrwow-commonstorage.azureedge.net\"\nexport const EDITOR_JS_LINK = `${CDN_CTRWOW_COMMON_LIB__BASE_URL}/public-assets/ctrwow_web_funnel/tinymce-5.5.1${process && process.env.NODE_ENV === \"development\" ? \"\" : \"\"}/tinymce.min.js`;\n\n\nexport const VAR_CURRENT_USER = \"varCurrentUser\"\nexport const AUTH = \"auth\"\n\nexport const DATE_OPTIONS_CURRENT_QUARTER = \"Current Quarter\";\nexport const DATE_OPTIONS_PREVIOUS_QUARTER = \"Previous Quarter\";\nexport const DATE_OPTIONS_THIS_MONTH = \"This month\";\nexport const DATE_OPTIONS_LAST_MONTH = \"Last month\";\nexport const DATE_OPTIONS_THIS_YEAR = \"This year\";\nexport const REPORT_KEY = \"Report\";\n\nexport const PERMISSION_FEATURE = {\n GET: 1,\n CREATE: 2,\n UPDATE: 3,\n DELETE: 4,\n}","import * as types from './types'\nimport * as stateManager from './stateManager'\n\n// Reducer\nexport default function reducer(state = stateManager.initState(), {type, payload}) {\n switch (type) {\n case types.SET_GLOBAL_LOADING:\n return stateManager.updaterLoading(state, payload)\n case types.SET_NOTIFY:\n return stateManager.updaterNotifyInfo(state, payload)\n case types.SET_LAYOUT_CONFIG:\n return stateManager.updaterLayoutConfig(state, payload)\n case types.SET_LAYOUT_CONFIG_BREADCRUMB:\n return stateManager.updaterLayoutConfigBreadcrumb(state, payload)\n\n // // Perform action\n // return state\n // case types.GET_CURRENT_USER_ERROR:\n // // Perform action\n // return state\n case types.GET_CURRENT_USER:\n case types.UPDATE_CURRENT_USER_SUCCESS:\n case types.GET_CURRENT_USER_SUCCESS:\n return stateManager.updaterCurrentUser(state, payload)\n case types.UPDATE_CURRENT_USER:\n // Perform action\n return state\n case types.UPDATE_CURRENT_USER_ERROR:\n // Perform action\n return state\n case types.RESET_USER:\n return stateManager.updaterResetUser(state, payload)\n default: return state;\n }\n}\n","import 'whatwg-fetch'\nimport _size from 'lodash/fp/size'\nimport {HeaderSetting, PreAuthHeaderSetting} from './setting'\n\nfunction apiURL(option) {\n const queryString = option.params && _size(option.params) > 0 ? '?' + Object.keys(option.params).map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(option.params[key]))\n .join('&') : ''\n return option.url + queryString\n}\n\nfunction apiWrapper(options) {\n const wrapper = {\n method: options.method,\n headers: options.form ?\n {\n Authorization: HeaderSetting.authenticate,\n ...options.headers\n } : {\n 'Content-Type': 'application/json',\n Authorization: HeaderSetting.authenticate,\n ...options.headers\n }\n }\n return options.method === 'GET' ? {\n ...wrapper\n } : {\n ...wrapper,\n body: options.form ? options.form : JSON.stringify(options.data)\n }\n}\n\nfunction apiPreAuthWrapper(options) {\n const wrapper = {\n method: options.method,\n headers: options.form ?\n {'X_PREAUTH': PreAuthHeaderSetting.authenticate} :\n {\n 'Content-Type': 'application/json',\n 'X_PREAUTH': PreAuthHeaderSetting.authenticate\n }\n }\n return options.method === 'GET' ? {\n ...wrapper\n } : {\n ...wrapper,\n body: options.form ? options.form : JSON.stringify(options.data)\n }\n}\n\n/**\n * Parses the JSON returned by a network request\n *\n * @param {object} response A response from a network request\n *\n * @return {object} The parsed JSON from the request\n */\nfunction parseJSON(response) {\n if (response.status === 204 || response.status === 205) {\n return null\n }\n\n if (response.status >= 200 && response.status < 300) {\n // return response.json();\n return response.text().then(text => {\n try {\n return text ? JSON.parse(text) : {}\n } catch (e) {\n return {}\n }\n })\n }\n\n // eslint-disable-next-line no-throw-literal\n throw {\n status: response.status,\n statusText: response.statusText,\n response: response\n }\n}\n\nfunction timeoutPromise(promise, timeout, error) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n reject(error)\n }, timeout)\n promise.then(resolve, reject)\n })\n}\n\nfunction fetchTimeout(url, options, timeout = 1000 * 60 * 15, error) {\n return timeoutPromise(fetch(url, options || {}), timeout, error || 'Request Timeout')\n}\n\n/**\n * Requests a URL, returning a promise\n *\n * @param {object} [options] The options we want to pass to \"fetch\"\n *\n * @return {object} The response data\n */\nexport default function request(options) {\n const url = apiURL(options);\n const wrapper = apiWrapper(options);\n return fetchTimeout(url, wrapper, options.timeOut)\n .then(parseJSON);\n\n}\n\n/**\n * Requests a URL, returning a promise\n *\n * @param {object} [options] The options we want to pass to \"fetch\"\n *\n * @return {object} The response data\n */\nexport function preAuthRequest(options) {\n const url = apiURL(options)\n const wrapper = apiPreAuthWrapper(options)\n return fetchTimeout(url, wrapper, options.timeOut).then(parseJSON)\n}\n\nexport function pureRequest(options) {\n const url = apiURL(options)\n const wrapper = apiWrapper(options)\n return fetchTimeout(url, wrapper, options.timeOut);\n}\n/**\n * Requests a URL, returning a promise\n *\n * @param {string} url The URL we want to request\n * @param {object} [options] The options we want to pass to \"fetch\"\n * @param {object} [params] The options we want to pass to \"fetch\"\n *\n * @return {object} The response data\n */\nexport const sendPureRequest = (url, params, options) => fetchTimeout(apiURL({url, params}), options).then(parseJSON)\n","import React from 'react';\nimport AntdTooltip from \"antd/es/tooltip\";\nimport './Tooltip.less';\n\nconst Tooltip = (props) => ;\n\nexport default Tooltip;\n","import React from \"react\"\nimport AntdSpace from \"antd/es/space\";\nimport \"./Space.less\";\n\nconst Space = props => ;\n\nexport default Space;\n","import {useEffect, useCallback} from \"react\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {stateManager, actions} from \"./store\";\n\nexport const useUnreadMessageNumber = () => useSelector(stateManager.getUnreadMessageNumber);\nexport const useMessageList = () => useSelector(stateManager.getMessageList);\nexport const useInitData = () => {\n const dispatch = useDispatch();\n const isInit = useSelector(stateManager.isInitData);\n useEffect(() => {\n !isInit && dispatch(actions.initData())\n }, [dispatch, isInit])\n\n return !isInit\n}\nexport const useMarkReadAction = () => {\n const dispatch = useDispatch();\n const markReadById = useCallback((id) => dispatch(actions.markReadById(id)), [dispatch]);\n const markAllRead = useCallback(() => dispatch(actions.markAllRead()), [dispatch])\n return [markReadById, markAllRead]\n}","export const MODULE_STATE_NAME = 'var_preAuth'\n","import { conformsTo, isFunction, isObject } from 'lodash';\nimport invariant from 'invariant';\n\n/**\n * Validate the shape of redux store\n */\nexport default function checkStore(store) {\n const shape = {\n dispatch: isFunction,\n subscribe: isFunction,\n getState: isFunction,\n replaceReducer: isFunction,\n runSaga: isFunction,\n injectedReducers: isObject,\n injectedSagas: isObject,\n };\n invariant(\n conformsTo(store, shape),\n '(app/utils...) injectors: Expected a valid redux store',\n );\n}\n","import {stateManager} from 'modules/AppCore/store'\n\nclass APIPreAuthHeader {\n get authenticate() {\n const token = localStorage.getItem('PRE_AUTH_TOKEN');\n if (token) {\n this.privateContent = token;\n }\n return this.privateContent;\n }\n set authenticate(newContent) {\n if (newContent) {\n this.privateContent = newContent;\n }\n }\n}\n\n\nclass APIHeader {\n get authenticate() {\n const token = stateManager.getUserToken();\n if (token) {\n this.privateContent = 'Bearer ' + token;\n }\n return this.privateContent;\n }\n\n get rawToken() {\n const token = localStorage.getItem('auth');\n if (token) {\n return JSON.parse(token);\n }\n return null\n }\n\n set authenticate(newContent) {\n if (newContent) {\n this.privateContent = newContent;\n }\n }\n}\n\nexport const HeaderSetting = new APIHeader();\nexport const PreAuthHeaderSetting = new APIPreAuthHeader();\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport AntdButton from 'antd/es/button'\nimport classNames from 'classnames'\nimport Tooltip from './../Tooltip'\nimport './Button.less'\n\n\nconst Button = ({className, ctrTooltip, ...props}) => {\n const btn = \n\n if (ctrTooltip) {\n return \n {btn}\n \n }\n\n return btn\n}\n\nButton.defaultProps = {\n className: ''\n}\n\nButton.propTypes = {\n className: PropTypes.string,\n type: PropTypes.string\n}\n\nButton.Group = AntdButton.Group\n\nexport default Button\n","import React from 'react'\nimport Card from './../../Card'\n//import styles from './index.scss';\n\nconst headStyle = {\n backgroundColor: '#2c9afc',\n color: '#fff',\n fontSize: 'large',\n borderRadius: '8px 8px 0 0',\n background: 'linear-gradient(90deg, #216ED9 0%, #43B9E0 100%)',\n height: '40px'\n};\n\nconst Fieldset = (props) => ;\n\nFieldset.propTypes = {\n\n};\n\nexport default Fieldset;\n","import React from \"react\";\nimport Tooltip from '../Tooltip';\nimport {QuestionCircleTwoTone} from '@ant-design/icons';\nimport PropTypes from \"prop-types\";\nimport './Form.less'\n\n/* eslint-disable jsx-a11y/label-has-for */\nconst FormLabel = ({id, label, required = false, tooltip}) => (\n \n);\n\nFormLabel.propTypes = {\n id: PropTypes.string,\n label: PropTypes.string,\n required: PropTypes.bool,\n tooltip: PropTypes.string\n};\n\nexport default FormLabel;\n","import React,{Fragment} from 'react'\nimport PropTypes from 'prop-types'\nimport Tooltip from './../Tooltip'\nimport {QuestionCircleTwoTone} from '@ant-design/icons';\nimport {FormattedMessage} from 'react-intl'\n\n// eslint-disable-next-line no-unused-vars,react/prop-types\nconst LabelWithHelp = ({label, labelId, description}) => (\n \n {labelId ? : label || labelId}\n \n \n \n \n)\n\nLabelWithHelp.propTypes = {\n label: PropTypes.string,\n labelId: PropTypes.string,\n description: PropTypes.string\n}\n\nexport default LabelWithHelp\n\n\n\n","import React from \"react\";\nimport AntdForm from \"antd/es/form\";\nimport Fieldset from \"./Fieldset\";\nimport FormLabel from \"./FormLabel\";\nimport \"./Form.less\";\nexport {default as LabelWithHelp} from './LabelWithHelp'\nexport {default as getValidateStatus} from './getValidateStatus'\n\nconst Form = props => ;\nexport const FormItem = AntdForm.Item\nexport const FormList = AntdForm.List\n\nFormItem.defaultProps = {\n colon: false\n}\n\nFormList.defaultProps = {\n colon: false\n}\n\nForm.Item = FormItem;\nForm.List = FormList;\n\n\nForm.propTypes = {\n ...AntdForm.propTypes\n};\n\n// Form.useForm = AntdForm.useForm;\n\nexport { Form as default, Fieldset, FormLabel };\n","import React from \"react\";\nimport CardAntd from \"antd/es/card\";\nimport \"./Card.less\";\n\nconst Card = props => ;\n\nconst {Meta: MetaAntd} = CardAntd;\nCard.Meta = function Meta(props) {\n return ;\n};\n\nexport default Card;\n\n","export const FEATURE_KEY = \"features.myokrs\";\nexport const FEATURE_KEY_REPORT = \"features.report\";","import React from 'react';\nimport AntdSelect from \"antd/es/select\";\nimport {CloseCircleFilled} from '@ant-design/icons';\nimport \"./Select.less\";\n\n// if dont wrap inside component, when use form component + getFieldDecorator will be show a messege:\n//antd form Function components cannot be given refs\nexport default class Select extends React.Component {\n render() {\n return ;\n }\n}\n\n\nSelect.defaultProps = {\n removeIcon: ()\n}","import React from 'react';\nimport AntdLayout from \"antd/es/layout\";\nimport './Layout.less'\n\nconst { Content : AntdContent, Header : AntdHeader, Footer : AntdFooter, Sider : AntdSider } = AntdLayout;\n\nconst Layout = (props) => ;\n\nLayout.propTypes = {\n ...AntdLayout.propTypes\n};\n\nconst Header = (props) => ;\n\nconst Content = props => ;\n\nconst Footer = props => ;\n\nconst Sider = props => ;\n\nexport { Layout as default, Header, Content, Footer, Sider };\n","import _isString from 'lodash/fp/isString'\nimport {sendPureRequest} from './request'\n\nconst DEFAULT_ERROR = `Something went wrong, please contact support@ctrwow.com for further assist.`\nexport const onError = error => {\n if (error.status === 401) {\n setTimeout(() => window.location.replace('/logout'), 100)\n // eslint-disable-next-line no-throw-literal\n throw 'unauthorized'\n }\n\n if (error.status === 403) {\n setTimeout(() => window.location.replace('/my-okrs'), 100);\n // eslint-disable-next-line no-throw-literal\n throw \"You don't have permission to access this feature.\"\n }\n\n\n if (_isString(error)) {\n // eslint-disable-next-line no-throw-literal\n throw {message: error}\n }\n\n if (error && error.response && error.response.json) {\n return error.response.json()\n .catch(e => {\n console.log(e)\n // eslint-disable-next-line no-throw-literal\n throw {message: DEFAULT_ERROR}\n })\n .then(res => Promise.reject(res))\n }\n\n // eslint-disable-next-line no-throw-literal\n throw {message: DEFAULT_ERROR}\n}\n\nconst parseRequestBody = (data, options) => {\n try {\n return !data ? {} : {\n body: JSON.stringify(data),\n headers: {\n ...options.headers,\n 'Content-Type': 'application/json'\n }\n }\n } catch (e) {\n return {}\n }\n}\n\nexport default {\n post: (url, params, data, options = {}) => sendPureRequest(url, params, {\n ...options,\n method: 'POST',\n ...parseRequestBody(data, options)\n\n }).catch(onError),\n get: (url, params, data, options) =>\n sendPureRequest(url, params, {\n ...options,\n method: 'GET'\n }).catch(onError)\n}","import React from 'react'\nimport AntdSpin from 'antd/es/spin'\nimport {LoadingOutlined} from '@ant-design/icons';\nimport './Spin.less'\n\nconst Spin = props => \n\nSpin.defaultProps = {\n indicator: \n}\n\n\nexport default Spin\n","import _debounce from 'lodash/fp/debounce'\nimport _invoke from 'lodash/fp/invoke'\nimport _pipe from 'lodash/fp/pipe'\nimport _map from 'lodash/fp/map'\nimport _compact from 'lodash/fp/compact'\nimport _toString from 'lodash/fp/toString'\nimport _indexOf from 'lodash/fp/indexOf'\nimport React, {useState, useEffect, useCallback, useMemo} from 'react'\nimport Spin from '../Spin'\nimport PropTypes from 'prop-types'\nimport _get from 'lodash/fp/get'\nimport Select from './Select'\nimport AntdSelect from 'antd/es/select'\nimport _some from 'lodash/fp/some'\nimport { FormattedMessage } from 'react-intl'\n\nconst isExcludedMe = (list, key) => _indexOf(_toString(key), _map(_toString, list)) > -1\n\nconst SelectWithDataSourceUi = ({\n dataSource = [],\n isLoading,\n isLoadError,\n getItemTitle,\n getItemValue,\n itemValueKey = 'key',\n itemTitleKey = 'title',\n disabled,\n placeholderId,\n placeholder,\n excludedItems,\n renderItems,\n ...props\n}) => {\n const menuItems = useMemo(() => renderItems\n ? renderItems(dataSource)\n : _pipe([\n _map(item => {\n const key = getItemValue ? getItemValue(item) : _get(itemValueKey, item)\n return isExcludedMe(excludedItems, key) ? null : (\n \n {getItemTitle ? getItemTitle(item) : _get(itemTitleKey, item) || key}\n \n )\n }),\n _compact])(dataSource), [dataSource])\n\n return (\n : placeholder}>\n {menuItems}\n \n )\n}\n\nSelectWithDataSourceUi.propTypes = {\n dataSource: PropTypes.array,\n disabled: PropTypes.any,\n isLoading: PropTypes.bool,\n isLoadError: PropTypes.bool,\n getItemTitle: PropTypes.func,\n getItemValue: PropTypes.func,\n renderItems: PropTypes.func,\n itemValueKey: PropTypes.string,\n itemTitleKey: PropTypes.string,\n placeholderId: PropTypes.string,\n placeholder: PropTypes.any,\n excludedItems: PropTypes.any\n}\n\nconst fnFilterOptionByContent = (input = '', {key = '', props: {children = ''}}) =>\n input && input.length > 1\n ? _some(str => str.includes(input.toLowerCase()), [children.toLowerCase(), key.toLowerCase()])\n : true\n\nconst SelectWithDataSource = ({\n getDataSource,\n getDataSourceBySearchKey,\n filterOption=false,\n useDefaultFilterOption,\n reInitCount,\n fnAddDefaultsItems,\n ...props\n}) => {\n const [dataSource, setInternalDataSource] = useState([])\n const [isUnmounted, set_isUnmounted] = useState(false)\n const [isLoading, setInternalLoading] = useState(true)\n const [searchingProcess, setInternalSearch] = useState(undefined)\n const [isLoadError, setIsLoadError] = useState(false)\n\n const setInternalDataSourceCb = useCallback(dataSource => !isUnmounted && setInternalDataSource(dataSource || [])\n , [setInternalDataSource, isUnmounted])\n\n const onSearch = useCallback(\n _debounce(1000, searchString => {\n const processing = getDataSourceBySearchKey((searchString || '').trim() )\n\n processing.then(setInternalDataSourceCb)\n .finally(() => setInternalSearch(undefined))\n\n setInternalDataSourceCb([])\n setInternalSearch(processing)\n }),\n [getDataSourceBySearchKey]\n )\n\n // load init data\n useEffect(() => {\n const geSource = getDataSourceBySearchKey || getDataSource\n const processing = geSource && geSource()\n\n processing\n .then((response) => fnAddDefaultsItems ? fnAddDefaultsItems(response) : response)\n .then(setInternalDataSourceCb)\n .catch(() => setIsLoadError(true))\n .finally(() => setInternalLoading(false))\n\n return () => _invoke('reject', processing)\n }, [reInitCount, getDataSourceBySearchKey, getDataSource])\n\n useEffect(() => () => set_isUnmounted(true), [])\n\n return (\n : undefined}\n showSearch={true}\n onSearch={getDataSourceBySearchKey ? onSearch : null}\n />\n )\n}\n\nSelectWithDataSource.propTypes = {\n getDataSource: PropTypes.func,\n getDataSourceBySearchKey: PropTypes.func,\n onChange: PropTypes.func,\n renderItems: PropTypes.func,\n useDefaultFilterOption: PropTypes.bool,\n filterOption: PropTypes.any,\n fnAddDefaultsItems: PropTypes.any,\n reInitCount: PropTypes.any\n}\n\nSelectWithDataSource.defaultProps = {\n style: {width: '100%'},\n autoClearSearchValue: true\n}\n\nexport default SelectWithDataSource\n","import _debounce from 'lodash/fp/debounce'\nimport _pipe from 'lodash/fp/pipe'\nimport _map from 'lodash/fp/map'\nimport _compact from 'lodash/fp/compact'\nimport _isNil from 'lodash/fp/isNil'\nimport _take from 'lodash/fp/take'\nimport React, {useState, useEffect, useCallback, useMemo} from 'react'\nimport Spin from '../Spin'\nimport PropTypes from 'prop-types'\nimport _get from 'lodash/fp/get'\nimport _omit from 'lodash/fp/omit'\nimport _some from 'lodash/fp/some'\nimport Select from './Select'\nimport AntdSelect from 'antd/es/select'\nimport {FormattedMessage} from 'react-intl'\nimport {isExcludedMe, getItemTitle, getItemValue} from './helpers'\n\n\nconst fnFilterOptionByContent = (input = '', {key = '', props: {children = ''}}) =>\n input && input.length > 1\n ? _some(str => str.includes(input.toLowerCase()), [children.toLowerCase(), key.toLowerCase()])\n : true\n\nconst renderItemsDefault = (dataSource, props) => _pipe([\n _map(item => {\n const key = getItemValue(item, props)\n return isExcludedMe(key, props)\n ? null\n : ({getItemTitle(item, props) || key})\n }),\n _compact])(dataSource)\n\nconst SelectWithDataSourceUi = ({\n dataSource = [],\n isLoading,\n isLoadError,\n disabled,\n placeholderId,\n placeholder,\n renderItems,\n getLazyDataSource,\n onChange,\n useDefaultFilterOption,\n filterOption = false,\n ...props\n}) => {\n\n const onDropdownVisibleChange = useCallback((isOpen) => isOpen && getLazyDataSource && getLazyDataSource(), [getLazyDataSource])\n const onChangeCb = useCallback((selectedValue, selectedComp) => onChange(selectedValue, _get('props.item', selectedComp), selectedComp)\n , [onChange])\n\n return (\n : placeholder}>\n {renderItems ? renderItems(dataSource) : renderItemsDefault(dataSource, props)}\n \n )\n}\n\nSelectWithDataSourceUi.propTypes = {\n dataSource: PropTypes.array,\n getLazyDataSource: PropTypes.any,\n disabled: PropTypes.any,\n isLoading: PropTypes.bool,\n isLoadError: PropTypes.bool,\n getItemTitle: PropTypes.func,\n getItemValue: PropTypes.func,\n renderItems: PropTypes.func,\n itemValueKey: PropTypes.string,\n itemTitleKey: PropTypes.string,\n placeholderId: PropTypes.string,\n placeholder: PropTypes.any,\n excludedItems: PropTypes.any,\n onChange: PropTypes.func.isRequired\n}\n\nconst SelectWithDataSource = ({\n reInit,\n dataSource,\n getDataSource,\n getDataSourceBySearchKey,\n getInitDataSource,\n defaultValue,\n ...props\n}) => {\n\n const [internalInitDataSource, set_internalInitDataSource] = useState(dataSource || [])\n const [internalLazyDataSource, set_internalLazyDataSource] = useState([])\n const [internalLazyDataSourceProcess, set_internalLazyDataSourceProcess] = useState()\n\n\n const notFoundContent = useMemo(() => {\n console.log(internalLazyDataSourceProcess)\n return _get('isLoading', internalLazyDataSourceProcess)\n ? : _get('error', internalLazyDataSourceProcess)\n ? 'Error. Cannot load source' : undefined\n }, [internalLazyDataSourceProcess])\n\n const geDataSourceWrapper = useCallback(async (fnGetSource, ...args) => {\n let isUnmounted = false\n try {\n\n set_internalLazyDataSource([])\n set_internalLazyDataSourceProcess({isLoading: true})\n\n const dataSource = await fnGetSource(...args)\n if (!isUnmounted) {\n set_internalLazyDataSource(_take(100, dataSource || []))\n set_internalLazyDataSourceProcess(undefined)\n }\n } catch (error) {\n !isUnmounted && set_internalLazyDataSourceProcess(error)\n }\n\n return () => {\n isUnmounted = true\n }\n\n }, [])\n\n const onSearch = useCallback(_debounce(1000, searchString => geDataSourceWrapper(getDataSourceBySearchKey, (searchString || '').trim())\n ), [geDataSourceWrapper, getDataSourceBySearchKey])\n\n const getLazyDataSource = useCallback(() => {\n const getSource = getDataSourceBySearchKey || getDataSource\n getSource && geDataSourceWrapper(getSource)\n }, [geDataSourceWrapper, getDataSourceBySearchKey, getDataSource])\n\n useEffect(() => {\n set_internalLazyDataSource(null)\n }, [getDataSourceBySearchKey, getDataSource, reInit])\n\n //control mount/unmount state for async process\n useEffect(() => {\n if (getInitDataSource) {\n getInitDataSource().then(set_internalInitDataSource)\n } else if (defaultValue) {\n getLazyDataSource()\n }\n }, [defaultValue, getInitDataSource, getLazyDataSource])\n\n return (\n \n )\n}\n\nSelectWithDataSource.propTypes = {\n dataSource: PropTypes.any,\n getDataSource: PropTypes.func,\n getDataSourceBySearchKey: PropTypes.func,\n value: PropTypes.any,\n onChange: PropTypes.func,\n getInitDataSource: PropTypes.func,\n renderItems: PropTypes.func,\n useDefaultFilterOption: PropTypes.bool,\n filterOption: PropTypes.any,\n getInitItems: PropTypes.any,\n reInit: PropTypes.any\n}\n\nSelectWithDataSource.defaultProps = {\n style: {width: '100%'},\n autoClearSearchValue: true\n}\n\nexport default SelectWithDataSource\n","import _get from 'lodash/fp/get'\nimport _indexOf from 'lodash/fp/indexOf'\nimport _map from 'lodash/fp/map'\nimport _some from 'lodash/fp/some'\nimport _toString from 'lodash/fp/toString'\n\n\nexport const fnFilterOptionByContent = (input = '', {key = '', props: {children = ''}}) =>\n input && input.length > 1\n ? _some(str => str.includes(input.toLowerCase()), [children.toLowerCase(), key.toLowerCase()])\n : true\n\nexport const isExcludedMe = (key, {excludedItems}) => excludedItems && excludedItems.length\n ? _indexOf(_toString(key), _map(_toString, excludedItems)) > -1\n : false\n\nexport const getItemValue = (item, {getItemValue, itemValueKey}) => getItemValue ? getItemValue(item) : _get(itemValueKey, item)\nexport const getItemTitle = (item, {getItemTitle, itemTitleKey}) => getItemTitle ? getItemTitle(item) : _get(itemTitleKey, item)\n","import AntdSelect from 'antd/es/select'\nconst { Option, OptGroup } = AntdSelect\nexport { Option, OptGroup }\n\nexport default from './Select'\nexport { default as SelectWithDataSource } from './SelectWithDataSource'\nexport { default as SelectWithLazyDataSource } from './SelectWithLazyDataSource'\n","import React from \"react\"\nimport AntdMenu from 'antd/es/menu'\nimport './Menu.less'\n\n\nconst Menu = props => \n\nconst {Item: ItemAndtd} = AntdMenu\nMenu.Item = function Item(props) {\n return \n}\n\nconst {ItemGroup: ItemGroupAndtd} = AntdMenu\nMenu.ItemGroup = function ItemGroup(props) {\n return \n}\n\nconst {SubMenu: SubMenuAndtd} = AntdMenu\nMenu.SubMenu = function SubMenu(props) {\n return \n}\n\nconst {Divider: DividerAndtd} = AntdMenu\nMenu.Divider = function Divider(props) {\n return \n}\n\nexport default Menu\n","import { createBrowserHistory } from 'history';\nconst history = createBrowserHistory();\nexport default history;\n","/**\n * Asynchronously loads the component for AllOkrsLayout\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./AllOkrsLayout'));\n","import AllOkrsLayout from \"./AllOkrsLayout.Loadable\"\nimport {FEATURE_KEY} from \"./store/constants\"\n\nconst ROUTES = [{\n path: `/all-okrs`,\n exact: true,\n component: AllOkrsLayout,\n layoutConfig: {\n isUsedAppShell: true,\n title: \"AllOrks\",\n routes: [\n {\n breadcrumbName: \"Explore ORG OKRs\"\n }\n ]\n },\n featureKey: FEATURE_KEY\n}]\n\nexport default ROUTES\n","/**\n * Asynchronously loads the component for MyOkrs Details\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./DetailsLayout'));\n","import MyOkrsDetailsLayout from \"./DetailsLayout.Loadable\"\nimport {FEATURE_KEY} from \"../constants\"\nconst ROUTES = [{\n path: `/my-okrs/:id`,\n exact: true,\n component: MyOkrsDetailsLayout,\n layoutConfig: {\n isUsedAppShell: true,\n title: 'MyOkrs Details',\n routes: [\n {\n breadcrumbName: 'MyOkrs Details'\n }\n ]\n },\n featureKey: FEATURE_KEY\n}]\n\nexport default ROUTES\n","import MyOkrsOverViewRoute from './Overview'\nimport MyOkrsDetailsRoute from './Details'\nconst MY_OKRS_ROUTERS = [...MyOkrsOverViewRoute, ...MyOkrsDetailsRoute]\n\nexport {FEATURE_KEY} from \"./constants\"\nexport default MY_OKRS_ROUTERS","/**\n * Asynchronously loads the component for People\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./PeopleLayout'));\n","import PeopleLayout from \"./PeopleLayout.Loadable\"\nimport {FEATURE_KEY} from \"./constants\"\n\nconst ROUTES = [{\n path: `/people`,\n exact: true,\n component: PeopleLayout,\n layoutConfig: {\n isUsedAppShell: true,\n title: \"People\",\n routes: [\n {\n breadcrumbName: \"People\"\n }\n ]\n },\n featureKey: FEATURE_KEY\n}]\n\nexport default ROUTES\n","import ProfileLayout from \"./ProfileLayout.Loadable\"\nimport {FEATURE_KEY} from \"./constants\"\n\nconst ROUTES = [{\n path: `/profile`,\n exact: true,\n component: ProfileLayout,\n layoutConfig: {\n isUsedAppShell: true,\n title: \"Profile\",\n routes: [\n {\n breadcrumbName: \"Profile\"\n }\n ]\n },\n featureKey: FEATURE_KEY\n}]\n\nexport default ROUTES\n","/**\n * Asynchronously loads the component for Profile\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./ProfileLayout'));\n","export const FEATURE_KEY = \"features.profile\";","export const MODULE_STATE_NAME = \"varReminder\";\n","import {MODULE_STATE_NAME} from \"./constants\"\n\n// Actions\nexport const INIT_DATA = `${MODULE_STATE_NAME}/INIT-DATA`\nexport const RESET_DATA = `${MODULE_STATE_NAME}/RESET-DATA`\nexport const GET_REMINDER = `${MODULE_STATE_NAME}/GET-REMINDER`;\nexport const GET_REMINDER_SUCCESS = `${MODULE_STATE_NAME}/GET-REMINDER-SUCCESS`;\nexport const GET_REMINDER_ERROR = `${MODULE_STATE_NAME}/GET-REMINDER-ERROR`;\nexport const UPDATE_REMINDER = `${MODULE_STATE_NAME}/UPDATE-REMINDER`;\nexport const UPDATE_REMINDER_SUCCESS = `${MODULE_STATE_NAME}/UPDATE-REMINDER-SUCCESS`;\nexport const UPDATE_REMINDER_ERROR = `${MODULE_STATE_NAME}/UPDATE-REMINDER-ERROR`;","import produce from \"immer\";\nimport {createSelector} from \"reselect\"\nimport {MODULE_STATE_NAME} from \"./constants\"\nimport _getOr from \"lodash/fp/getOr\"\nimport _pipe from \"lodash/fp/pipe\"\nimport _get from \"lodash/fp/get\"\nimport _setFp from \"lodash/fp/set\";\nconst _set = _setFp.convert({ immutable: false });\n// convert to mutable\n\nconst STATE_DEFAULT_VALUE = {\n uiConfig: null,\n reminders: []\n}\n\nexport const initState = () => ({...STATE_DEFAULT_VALUE})\nexport const resetState = () => ({...STATE_DEFAULT_VALUE})\n\n/******************************** GETTER ********************************/\nconst getLocalState = (state) => _get([MODULE_STATE_NAME], state) || initState()\n\nexport const getReminder = createSelector(\n getLocalState,\n _getOr({}, [\"reminders\"])\n)\n\nexport const getUiConfig = createSelector(\n getLocalState,\n _getOr({}, [\"uiConfig\"])\n)\n\n/******************************** UPDATER ********************************/\nexport const updateDataByKey = (state, { dataKey, response, isLoading, error }) => produce(\n state,\n _pipe([\n _set(\"uiConfig\", isLoading || error ? { error, isLoading } : undefined),\n ...(response ? [_set(dataKey, response)] : []),\n ])\n);\n","import {BASE_URL} from \"utils/ssoSetting\"\nimport privateFetcher from \"./privateFetcher\";\n\nexport const getReminder = () => privateFetcher.get(`${BASE_URL}/schedules`, null).then(({...response}) => ({...response || []}))\nexport const updateReminder = ({formData}) => privateFetcher.put(`${BASE_URL}/schedules`, null, [formData]).then(({data, ...response}) => ({...response, results: data || []}))","import * as types from \"./types\"\n\nexport function initData() {\n return {type: types.INIT_DATA}\n}\n\nexport function resetData() {\n return {type: types.RESET_DATA}\n}\n\nexport function getReminder() {\n return {type: types.GET_REMINDER}\n}\n\nexport function getReminderSuccess(reminders) {\n return {type: types.GET_REMINDER_SUCCESS, payload: {reminders}}\n}\n\nexport function getReminderError(error) {\n return {type: types.GET_REMINDER_ERROR, payload: {error}}\n}\n\nexport function updateReminder(formData) {\n return {type: types.UPDATE_REMINDER, payload: {formData}}\n}\n\nexport function updateReminderSuccess(reminders) {\n return {type: types.UPDATE_REMINDER_SUCCESS, payload: {reminders}}\n}\n\nexport function updateReminderError(error) {\n return {type: types.UPDATE_REMINDER_ERROR, payload: {error}}\n}\n","import {call, put, takeLatest} from \"@redux-saga/core/effects\"\nimport * as appActions from \"appActions\";\nimport {\n getReminder,\n updateReminder\n} from \"fetchers/reminder.fetchers\";\nimport * as types from \"./types\"\nimport * as actions from \"./actions\";\nconst {setNotify} = appActions;\n\nfunction* sendRequestGetReminder() {\n try{\n const reminder = yield call(getReminder);\n yield put(actions.getReminderSuccess(reminder))\n } catch (error){\n console.log(error);\n yield put(actions.getReminderError(error))\n }\n}\n\nfunction* sendRequestUpdateReminder({payload}) {\n const {formData} = payload;\n try{\n const reminder = yield call(updateReminder, {formData});\n yield put(actions.updateReminderSuccess(reminder))\n yield put(setNotify(\"success\", \"Updated reminders successfully.\"))\n } catch (error){\n console.log(error);\n yield put(actions.updateReminderError(error))\n yield put(setNotify(\"error\", \"Update reminders failed.\"))\n }\n}\n\nexport default function* rootSaga() {\n yield takeLatest(types.GET_REMINDER, sendRequestGetReminder)\n yield takeLatest(types.UPDATE_REMINDER, sendRequestUpdateReminder)\n}\n","import injectReducer from \"utils/injectReducer\"\nimport reducer from \"./reducer\"\nimport injectSaga from \"utils/injectSaga\"\nimport saga from \"./saga\"\nimport {compose} from \"redux\"\nimport {MODULE_STATE_NAME} from \"./constants\"\n\n\nexport * as actions from \"./actions\"\nexport * as stateManager from \"./stateManager\"\n\nconst withReducer = injectReducer({key: MODULE_STATE_NAME, reducer})\nconst withSaga = injectSaga({key: MODULE_STATE_NAME, saga})\n\nconst injectToStore = compose(\n withReducer,\n withSaga\n)\n\nexport default injectToStore\n","import * as types from \"./types\"\nimport * as stateManager from \"./stateManager\"\n\n// Reducer\nexport default function reducer(state = stateManager.initState(), {type, payload}) {\n switch (type) {\n case types.INIT_DATA:\n return stateManager.initState()\n case types.RESET_DATA:\n return stateManager.resetState()\n case types.GET_REMINDER:\n case types.UPDATE_REMINDER:\n return stateManager.updateDataByKey(state, { isLoading: true, dataKey: \"reminders\", response: [] });\n case types.GET_REMINDER_SUCCESS:\n case types.UPDATE_REMINDER_SUCCESS:\n return stateManager.updateDataByKey(state, { isLoading: false, dataKey: \"reminders\", response: payload.reminders });\n case types.UPDATE_REMINDER_ERROR:\n return stateManager.updateDataByKey(state, { isLoading: false});\n default:\n return state\n }\n}\n","import _get from \"lodash/fp/get\"\n\nexport const getTask = _get(\"tasks\");\nexport const getFrequency = _get(\"frequency\");\nexport const getWeekDay = _get(\"weekDay\");\nexport const getType= _get(\"type\");\nexport const getName= _get(\"name\");\nexport const getLoading= _get(\"isLoading\");","import React from \"react\"\nimport AntdTimePicker from \"antd/es/time-picker\";\nimport './TimePicker.less'\n\nconst TimePicker = props => ;\n\nexport default TimePicker;\n","export const FEATURE_KEY = \"features.reminder\"\nexport const REPEAT_ON = [\"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"];\nexport const FREQUENCY_TYPE = [\"once\", \"daily\", \"weekly\", \"monthly\", \"annually\", \"custom\"]\nexport const FREQUENCY_REPETITION = [\"daily\", \"weekly\", \"monthly\", \"annually\"];\nexport const DEFAULT_WEEKDAY = [\n {\n label: \"Mo\",\n value: \"monday\"\n },\n {\n label: \"Tu\",\n value: \"tuesday\"\n },\n {\n label: \"We\",\n value: \"wednesday\"\n },\n {\n label: \"Th\",\n value: \"thursday\"\n },\n {\n label: \"Fr\",\n value: \"friday\"\n },\n {\n label: \"Sa\",\n value: \"saturday\"\n },\n {\n label: \"Su\",\n value: \"sunday\"\n }];\nexport const FORMAT_TIME = \"hh a\";\n","import _isEqual from \"lodash/fp/isEqual\";\nimport _get from \"lodash/fp/get\";\nimport moment from \"moment\";\n\nexport const isCustomTime = (data) => _get(\"isCustom\", data)\nexport const weeklySelector = (data) => _isEqual(_get(\"frequencyEvery\", data), \"weekly\");\nexport const convertTimeOfDay = (time) => moment(time).minute(0).seconds(0).milliseconds(0).toISOString()\n\nexport const formatFormData = (formData) => {\n formData.timeOfDay = convertTimeOfDay(formData.timeOfDay);\n if(isCustomTime(formData)) {\n formData.frequency = formData.frequencyEvery\n } else {\n formData.frequency = formData.frequencyHead\n }\n delete formData.frequencyEvery;\n delete formData.frequencyHead;\n\n return formData;\n}","import React, {useState, useCallback} from \"react\";\nimport moment from \"moment\";\nimport _isEqual from \"lodash/fp/isEqual\"\nimport _capitalize from \"lodash/fp/capitalize\";\nimport _size from \"lodash/fp/size\"\nimport _filter from \"lodash/fp/filter\"\nimport _map from \"lodash/fp/map\"\nimport DatePicker from \"components/ui/DatePicker\";\nimport {Controller, useWatch} from \"react-hook-form\";\nimport Divider from \"components/ui/Divider\"\nimport Row from \"components/ui/Row\"\nimport Col from \"components/ui/Col\"\nimport Space from \"components/ui/Space\"\nimport Switch from \"components/ui/Switch\"\nimport Select, {Option} from \"components/ui/Select\"\nimport Form from \"components/ui/Form\"\nimport {Text} from \"components/ui/Typography\";\nimport TimePicker from \"components/ui/TimePicker\";\nimport AntdCheckbox from \"components/ui/Checkbox\";\nimport InputNumber from \"components/ui/InputNumber\";\nimport {getTask, getName, getWeekDay} from \"./reminder.domainData\";\nimport {FREQUENCY_TYPE, FREQUENCY_REPETITION, FORMAT_TIME, DEFAULT_WEEKDAY} from \"./constants\";\nimport {isCustomTime, weeklySelector} from \"./reminder.utils\"\n\nconst EmailReminder = (props) => {\n const {values, setValue, control} = props;\n const tasks = getTask(values);\n const weekDay = getWeekDay(values);\n const [repeat, setRepeat] = useState(weekDay)\n const formControl = useWatch();\n\n const handleCheckedAll = useCallback((visible) => {\n if(!visible) {\n setValue(\"tasks\", _map((item) => ({...item, enabled: false}), tasks), { shouldDirty: true });\n } else {\n setValue(\"tasks\", _map((item) => ({...item, enabled: true}), tasks), { shouldDirty: true });\n }\n }, [setValue, tasks]);\n\n const handleSetAllDate = useCallback((visible) => {\n if(!visible) {\n setValue(\"weekDay\", [], { shouldDirty: true });\n setRepeat([])\n } else {\n setValue(\"weekDay\", _map((item) => item.value, DEFAULT_WEEKDAY), { shouldDirty: true });\n setRepeat(_map((item) => item.value, DEFAULT_WEEKDAY))\n }\n }, [setValue, setRepeat])\n return (<>\n \n \n \n 0} onChange={handleCheckedAll} /> Email Reminders\n \n {_size(tasks) > 0 && tasks.map((item, index) => {\n return \n } />\n {getName(item)}\n \n })}\n \n \n {\n const handleChange = (value) => {\n onChange(value);\n if(value !== \"custom\") {\n setValue(\"isCustom\", false)\n setValue(\"weekDay\", [])\n } else {\n setValue(\"isCustom\", true)\n }\n }\n return \n }}\n />\n \n \n \n {\n return \n }}\n name=\"timeOfDay\"\n />\n {\n return \n }}\n name=\"timeOfDay\"\n />\n \n \n \n
\n {isCustomTime(formControl) && <>\n \n \n value ? value : 1} parser={(value) => value ? value : 1} defaultValue={2} min={1} {...refProp} className=\"w-[60px]\"/>}\n name=\"interval\"\n />\n }\n name=\"frequencyEvery\"\n />\n \n \n \n {weeklySelector(formControl) && <>\n \n {\n const handleOnChange = (values) => {\n onChange(values);\n setRepeat(values);\n }\n return \n }}\n name=\"weekDay\"\n />\n Set all days\n \n }\n }\n
\n \n
\n )\n}\nEmailReminder.propTypes = {}\nexport default EmailReminder","import React from \"react\"\nimport {useFormContext} from \"react-hook-form\";\nimport {useSelector} from \"react-redux\";\nimport {useDispatch} from \"react-redux\";\nimport Skeleton from \"components/ui/Skeleton\";\nimport Form from \"components/ui/Form\";\nimport Button from \"components/ui/Button\";\nimport Space from \"components/ui/Space\";\nimport {getLoading} from \"./reminder.domainData\";\nimport {actions, stateManager} from \"./store\";\nimport EmailReminder from \"./EmailReminer\";\nimport styles from \"./ReminderForm.module.scss\"\nimport {formatFormData} from \"./reminder.utils\"\n\nconst ReminderForm = () => {\n const dispatch = useDispatch();\n const {\n control,\n setValue,\n handleSubmit,\n getValues,\n formState: {isDirty}\n } = useFormContext();\n const isLoading = getLoading(useSelector(stateManager.getUiConfig))\n const values = getValues();\n const handleCreate = (formData) => {\n formData = formatFormData(formData);\n dispatch(actions.updateReminder(formData))\n }\n\n if(isLoading) {\n return \n }\n return <>\n
\n \n \n \n \n \n \n}\nReminderForm.propTypes = {}\nexport default ReminderForm","import * as Yup from \"yup\";\nexport const reminderFormSchema = Yup.object().shape({})","export const defaultValues = {\n id: \"\",\n frequency: \"\",\n interval: 1,\n timeOfDay: new Date(),\n weekDay: [],\n isCustom: false,\n tasks: [\n {\n name: \"Objective & Key Results\",\n enabled: false,\n type: 1\n },\n {\n name: \"Inspiration\",\n enabled: false,\n type: 2\n },\n {\n name: \"To-do List Items\",\n enabled: false,\n type: 3\n }\n ]\n}","import React, {useEffect} from \"react\"\nimport _get from \"lodash/fp/get\"\nimport {FormProvider, useForm} from \"react-hook-form\";\nimport { yupResolver } from '@hookform/resolvers/yup';\nimport Tabs, {TabPane} from \"components/ui/Tabs\";\nimport {parseValueForm} from \"utils/parseValueForm\"\nimport ReminderForm from \"./ReminderForm\"\nimport styles from \"./RemiderTab.module.scss\";\nimport {reminderFormSchema} from \"./schema\";\nimport {defaultValues} from \"./defaultValues\";\nimport {isCustomTime} from \"./reminder.utils\"\n\nconst ReminderTab = ({reminders}) => {\n const form = useForm({\n resolver: yupResolver(reminderFormSchema),\n mode: \"onChange\",\n defaultValues\n });\n\n useEffect(() => {\n if (reminders) {\n const newIntialValues = parseValueForm(defaultValues, reminders[0], form.setValue);\n newIntialValues.frequencyHead = isCustomTime(newIntialValues) ? \"custom\" : _get(\"frequency\", newIntialValues)\n newIntialValues.frequencyEvery = _get(\"frequency\", newIntialValues)\n form.reset(newIntialValues);\n }\n }, [form, reminders]);\n\n return <>\n \n \n \n \n \n \n \n\n \n}\nReminderTab.propTypes = {}\nexport default ReminderTab","import React, {useEffect} from \"react\"\nimport {useSelector} from \"react-redux\";\nimport {useDispatch} from \"react-redux\";\nimport injectToStore, {actions, stateManager} from \"./store\"\nimport ReminderTab from \"./RemiderTab\"\n\nconst RemindersLayout = () => {\n const dispatch = useDispatch();\n const reminders = useSelector(stateManager.getReminder);\n useEffect(() => {\n dispatch(actions.getReminder())\n return () => dispatch(actions.resetData());\n }, [dispatch])\n\n return
\n \n
\n}\n\nRemindersLayout.propTypes = {}\nexport default injectToStore(RemindersLayout)\n","import _groupBy from \"lodash/fp/groupBy\"\nimport {ROUTES as AllOrks} from \"./AllOkrs\"\nimport MY_OKRS_ROUTERS from \"./MyOkrs\"\nimport {ROUTES as People} from \"./People\"\n// import {ROUTES as Review} from \"./Review\"\nimport {ROUTES as Profile} from \"./Profile\"\nimport {ROUTES as Reminders} from \"./Reminders\"\nimport {ROUTES as Login} from \"./Auth/Login\"\nimport {ROUTES as Logout} from \"./Auth/Logout\"\nimport {ROUTES as GateWay} from \"./Auth/GateWay\"\nimport { ROUTES as AI } from \"./AI\"\n\nconst routes = [\n ...Reminders,\n ...AllOrks,\n ...MY_OKRS_ROUTERS,\n ...People,\n // ...Review,\n ...Profile,\n ...Login,\n ...Logout,\n ...GateWay,\n ...AI\n]\n\nexport const modulesRoutes = _groupBy((({isPublic}) => isPublic ? \"publicPages\" : \"privatePages\"), routes)\n","import RemindersLayout from \"./RemindersLayout\"\nimport {FEATURE_KEY} from \"./constants\"\n\nconst ROUTES = [{\n path: `/reminders`,\n exact: true,\n component: RemindersLayout,\n layoutConfig: {\n isUsedAppShell: true,\n title: \"Reminders\",\n routes: [\n {\n breadcrumbName: \"Reminders\"\n }\n ]\n },\n featureKey: FEATURE_KEY\n}]\n\nexport default ROUTES\n","import LoginLayout from \"./LoginLayout.loadable\"\nconst ROUTES = [{\n path: `/login`,\n exact: true,\n component: LoginLayout,\n isPublic: true\n}]\n\nexport default ROUTES\n","/**\n * Asynchronously loads the component for LoginLayout\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./LoginLayout'));\n","import LogoutLayout from './LogoutLayout.Loadable'\n\nconst ROUTES = [{\n path: '/logout',\n exact: true,\n component: LogoutLayout,\n isPublic: true\n}];\n\nexport default ROUTES\n","/**\n * Asynchronously loads the component for logout\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./LogoutLayout'))\n","import GatewayLayout from \"./GatewayLayout.loadable\"\nconst ROUTES = [{\n path: `/auth`,\n exact: true,\n component: GatewayLayout,\n isPublic: true\n}]\n\nexport default ROUTES\n","/**\n * Asynchronously loads the component for GatewayLayout\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./GatewayLayout'));\n","import AILayoutLoadable from \"./AILayout.Loadable\";\nimport { FEATURE_KEY } from \"./constants\";\n\nconst ROUTES = [\n {\n path: `/varoomai`,\n exact: true,\n component: AILayoutLoadable,\n layoutConfig: {\n isUsedAppShell: true,\n title: \"Varoom A.I\",\n routes: [\n {\n breadcrumbName: \"Varoom A.I\"\n }\n ]\n },\n featureKey: FEATURE_KEY\n }\n]\nexport default ROUTES;","import loadable from 'components/ui/Loadable';\nexport default loadable(() => import('./AILayout'));","export const FEATURE_KEY = \"features.ai\"","import React from \"react\"\nimport PropTypes from 'prop-types'\nconst VaroomImg = ({onError, alt, src, ...props}) => (\n // eslint-disable-next-line react/react-in-jsx-scope\n 2 ? src : ''}\n />\n)\n\nVaroomImg.propTypes = {\n onError: PropTypes.any,\n alt: PropTypes.any,\n src: PropTypes.any\n}\n\nexport default VaroomImg\n","import React, {useEffect} from \"react\";\nimport {useSelector, useDispatch} from \"react-redux\";\nimport {Redirect} from \"react-router-dom\";\nimport {push} from \"connected-react-router\";\nimport {getCurrentUser} from \"modules/AppCore/store/stateManager\";\nimport Card from \"components/ui/Card\";\nimport VaroomImg from \"components/ui/VaroomImg\";\nimport NotFoundPageImg from \"assets/images/under-construction.png\";\n\nconst NotFoundPage = () => {\n const currentUser = useSelector(getCurrentUser);\n const dispatch = useDispatch();\n useEffect(() => {\n if (!currentUser) {\n dispatch(push(\"/login\"))\n }\n }, [currentUser, dispatch])\n\n if (window.location.pathname === \"/\") {\n return ()\n }\n return (\n \n
\n \n
\n
\n )\n}\nNotFoundPage.propTypes = {}\nexport default NotFoundPage","import React from \"react\";\nimport {Link} from \"react-router-dom\";\nimport classNames from \"classnames\";\nimport styles from \"./Logo.module.scss\"\n\nconst LogoLayout = ({homePage, isMini, className, isAdmin=false}) =>
\n\nLogoLayout.propTypes = {};\nexport default LogoLayout","import {defineMessages} from \"utils/varoom-translation.utils\"\n\nexport default defineMessages({\n viewProfile: {\n id: \"AppShell.userProfile.viewProfile\",\n defaultMessage: \"View Profile\"\n },\n signOut: {\n id: \"AppShell.userProfile.signOut\",\n defaultMessage: \"Sign Out\"\n },\n})\n","import React from \"react\";\nimport {FormattedMessage} from \"react-intl\";\nimport messages from \"./defined.messages\";\nimport {FEATURE_KEY as FEATURE_KEY__ALL_OKRS} from \"modules/AllOkrs\"\nimport {FEATURE_KEY as FEATURE_KEY__MY_OKRS} from \"modules/MyOkrs\"\nimport {FEATURE_KEY as FEATURE_KEY__PEOPLE} from \"modules/People\"\n// import {FEATURE_KEY as FEATURE_KEY__REVIEW} from \"modules/Review\"\nimport {FEATURE_KEY as FEATURE_KEY__PROFILE} from \"modules/Profile\"\nimport {FEATURE_KEY as FEATURE_KEY__REMINDERS} from \"modules/Reminders\"\nimport { FEATURE_KEY as FEATURE_KEY__AI } from \"modules/AI\"\n\nexport const SIDEBAR_ITEMS = [\n {\n labelId: 'app.mainMenu.ai',\n path: '/varoomai',\n featureKey: FEATURE_KEY__AI\n },\n {\n labelId: 'app.mainMenu.allOkrs',\n path: '/all-okrs',\n featureKey: FEATURE_KEY__ALL_OKRS\n },\n {\n labelId: 'app.mainMenu.myOkrs',\n path: '/my-okrs',\n featureKey: FEATURE_KEY__MY_OKRS\n },\n {\n labelId: 'app.mainMenu.people',\n path: '/people',\n featureKey: FEATURE_KEY__PEOPLE\n },\n// {\n// labelId: 'app.mainMenu.review',\n// path: '/review',\n// featureKey: FEATURE_KEY__REVIEW\n// },\n {\n labelId: 'app.mainMenu.profile',\n path: '/profile',\n featureKey: FEATURE_KEY__PROFILE\n },\n {\n labelId: 'app.mainMenu.reminders',\n path: '/reminders',\n featureKey: FEATURE_KEY__REMINDERS\n }\n]\n\nexport const SIDEBAR_PROFILE = [\n {\n label: ,\n noSelected: true,\n url: \"/profile\"\n }\n]\n\nexport const SIDEBAR_ACCOUNT_GREY = [\n {\n label: ,\n path: '/logout'\n }\n]","/**\n *\n * Asynchronously loads the component for NotificationList\n *\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./NotificationListLayout'));\n","import React, {useCallback} from \"react\";\nimport classnames from \"classnames\";\nimport Badge from \"components/ui/Badge\";\nimport {useUnreadMessageNumber, useInitData} from \"components/shared/NotificationList\";\nimport {BellOutlined, SyncOutlined} from \"@ant-design/icons\"\nimport styles from \"./Notification.module.scss\";\n\nconst Notification = ({showListNotify}) => {\n const isLoading = useInitData();\n const unReadMessages = useUnreadMessageNumber();\n const handleClick = useCallback(() => {\n if (showListNotify) {\n showListNotify();\n }\n }, [showListNotify]);\n return
\n {isLoading ? (\n \n ) : (\n \n \n \n )}\n
\n}\n\nNotification.propTypes = {}\nexport default Notification","import React, {useMemo} from \"react\";\nimport classnames from \"classnames\";\nimport _capitalize from \"lodash/fp/capitalize\";\nimport Avatar from \"components/ui/Avatar\";\nimport Tooltip from \"components/ui/Tooltip\";\nimport name2shortcut from \"utils/name2shortcut\";\nimport {getFullName, getFirstName, getLastName, getEmail, getImageURL, getRole} from \"domainData/user.domainData\";\nimport styles from \"./UserInfo.module.scss\";\n\nconst UserInfo = (props) => {\n const { user } = props;\n const nameDisplay = useMemo(() => getFullName(user) || getFirstName(user) + \" \" + getLastName(user) || getEmail(user) || \"\", [user]);\n\n const avatar = useMemo(() => {\n if (getImageURL(user)) {\n return ;\n }\n\n return (\n \n {name2shortcut(nameDisplay)}\n \n );\n }, [nameDisplay, user]);\n\n return <>\n {avatar}\n \n \n {nameDisplay}\n

{_capitalize(getRole(user))}

\n
\n \n \n}\n\nUserInfo.propTypes = {}\nexport default UserInfo","import React, {useCallback, useMemo} from \"react\";\nimport _get from \"lodash/fp/get\";\nimport {useDispatch} from \"react-redux\";\nimport {push} from \"connected-react-router\";\nimport {Link} from \"react-router-dom\";\nimport styles from \"./MenuItem.module.scss\";\n\nconst MenuItem = ({itemData}) => {\n const dispatch = useDispatch();\n const handleClick = useCallback((event) => {\n event.preventDefault();\n if (itemData.path) {\n dispatch(push(itemData.path))\n } else if (itemData.url) {\n window.location = itemData.url\n }\n }, [dispatch, itemData]);\n\n const Tag = useMemo(() => itemData.path ? Link : \"span\", [itemData])\n return <>\n
  • \n {_get(\"label\", itemData)}\n
  • \n \n}\n\nMenuItem.propTypes = {}\nexport default MenuItem;","import React, {useMemo} from \"react\";\nimport {Title, Text} from \"components/ui/Typography\";\nimport {getFullName, getFirstName, getLastName, getEmail, getPosition, getDepartment} from \"domainData/user.domainData\"\nimport styles from \"./UserTitle.module.scss\";\n\nconst UserTitle = ({user}) => {\n const nameDisplay = useMemo(() => getFullName(user) || getFirstName(user) + \" \" + getLastName(user) || getEmail(user) || \"\", [user]);\n return
    \n {nameDisplay}\n {getPosition(user)}\n {getDepartment(user)}\n
    \n}\nUserTitle.propTypes = {}\nexport default UserTitle","import React from \"react\";\nimport Dropdown from \"components/ui/Dropdown\";\nimport Menu from \"components/ui/Menu\";\nimport {useSelector} from \"react-redux\";\nimport classnames from \"classnames\";\nimport {SIDEBAR_PROFILE, SIDEBAR_ACCOUNT_GREY} from \"components/shared/AppShell/constants\";\nimport Notification from \"../Notification\";\nimport NotificationList from \"components/shared/NotificationList\"\nimport {getCurrentUser} from \"modules/AppCore/store/stateManager\";\nimport UserInfo from \"./UserInfo\";\nimport MenuItem from \"./MenuItem\";\nimport styles from \"./UserProfileLayout.module.scss\";\nimport UserTitle from \"./UserTitle\";\n/*import AdminRequest from \"./AdminRequest\";*/\n\nconst UserProfileLayout = () => {\n const currentUser = useSelector(getCurrentUser);\n return
    \n triggerNode.parentNode}\n className={classnames(styles.dropdown, \"ant-dropdown-user\")}\n overlay={(\n \n {SIDEBAR_PROFILE.map((item, index) => ())}\n {/**/}\n {SIDEBAR_ACCOUNT_GREY.map((item, index) => ())}\n )}\n >\n
    \n \n \n
    \n
    \n \n }\n trigger={[\"click\"]}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n arrow\n >\n
    \n \n
    \n \n \n}\n\nUserProfileLayout.propTypes = {}\nexport default UserProfileLayout","import React, {memo, useMemo} from \"react\";\nimport classNames from \"classnames\";\nimport {injectIntl} from \"react-intl\";\nimport {Link} from \"react-router-dom\";\nimport styles from \"./MainMenuItem.module.scss\";\n\nconst MainMenuItem = (props) => {\n const {intl, menuItem: {labelId, path = \"\", icon: IconComp}} = props\n const menuName = useMemo(() => intl.formatMessage({id: labelId}), [intl, labelId])\n const Tag = path ? Link : \"span\";\n\n return
    \n {IconComp ? : null}\n {menuName}\n
    \n};\n\nMainMenuItem.propTypes = {}\nexport default injectIntl(memo(MainMenuItem));","import _map from \"lodash/fp/map\";\nimport _startsWith from \"lodash/fp/startsWith\";\nimport _isArray from \"lodash/fp/isArray\";\nimport _isObject from \"lodash/fp/isObject\";\n\nconst findSelectedItems = (menus, pathname, search='') => {\n if (!menus || !menus.length) {\n return null\n }\n\n const isSelectedItem = ({path}) => search ? (path === pathname + search) : _startsWith(path, pathname)\n\n let index = 0\n let found = []\n\n while (index < menus.length) {\n let item = menus[index]\n if (isSelectedItem(item)) {\n found.push(item)\n }\n if (item.children) {\n const childItem = findSelectedItems(item.children, pathname, search)\n if (childItem.length) {\n found.push(item)\n found = [...found, ...childItem]\n }\n }\n\n index++\n }\n return found;\n}\nexport const findItemByKey = (menus, key) => {\n if (!menus) {\n return null\n }\n\n if (_isArray(menus)) {\n let found = null\n let index = menus.length\n while(index--) {\n found = findItemByKey(menus[index], key)\n if (found) {\n break\n }\n }\n\n return found\n } else if (_isObject(menus)) {\n if (getItemKey(menus) === key) {\n return menus\n } else if (menus.children) {\n return findItemByKey(menus.children, key)\n }\n }\n\n return null\n}\nexport const getItemKey = ({key, path}) => path || key\nexport const findSelectedKeys = (menus, pathname, search) => _map(getItemKey, findSelectedItems(menus, pathname, search))","import React, {useMemo, useState, useCallback} from \"react\";\nimport {push} from \"connected-react-router\";\nimport {useDispatch} from \"react-redux\";\nimport {useLocation} from \"react-router-dom\";\nimport _without from \"lodash/fp/without\";\nimport _startsWith from \"lodash/fp/startsWith\";\nimport _lowerCase from \"lodash/fp/lowerCase\";\nimport _get from \"lodash/fp/get\";\nimport Menu from \"components/ui/Menu\";\nimport {useFeatureChecker} from 'components/shared/PermissionManager'\nimport MainMenuItem from \"./MainMenuItem\";\nimport {SIDEBAR_ITEMS} from \"../../constants\";\nimport {getItemKey, findSelectedKeys} from \"./utils\";\nimport styles from \"./MainMenu.module.scss\";\n\nconst useOpenKeyHook = () => {\n const [openKeys, setOpenKeys] = useState([]);\n const openSubMenu = useCallback((newOpenKeys) => {\n setOpenKeys(_without(openKeys, newOpenKeys))\n }, [openKeys, setOpenKeys])\n return [openKeys, openSubMenu]\n}\n\nconst MainMenu = () => {\n const dispatch = useDispatch();\n const [mode] = useState(\"inline\");\n const {pathname, search} = useLocation();\n const {canUseCheckerFn} = useFeatureChecker()\n const selectedKeys = useMemo(() => findSelectedKeys(SIDEBAR_ITEMS, pathname, search), [pathname, search]);\n const [openKeys, onOpenChange] = useOpenKeyHook(selectedKeys || [], mode);\n\n const renderMenuItem = useCallback((menuItem) => {\n const itemKey = getItemKey(menuItem);\n const {canUse} = canUseCheckerFn(menuItem.featureKey);\n return (canUse)\n ? ()\n : null\n }, [canUseCheckerFn])\n\n const onSelect = useCallback(({key, domEvent}) => {\n if (_lowerCase(_get('target.tagName', domEvent)) !== 'a' && _startsWith('/', key)) {\n dispatch(push(key))\n }\n }, [dispatch])\n\n return <>\n \n {SIDEBAR_ITEMS.map(item => renderMenuItem(item))}\n \n \n};\n\nMainMenu.propTypes = {}\nexport default MainMenu;","import React from \"react\"\nimport classname from 'classnames'\nimport Logo from \"components/shared/Logo\";\nimport {Sider} from \"components/ui/Layout\"\nimport UserProfile from \"components/shared/UserProfile\"\nimport MainMenu from \"../components/MainMenu\";\nimport styles from \"./LeftSide.module.scss\"\nimport appStyles from \"app-variables.scss\";\n\nconst LeftSide = () => {\n return (\n \n \n \n \n \n )\n}\n\nLeftSide.propTypes = {}\nexport default LeftSide\n\n\n\n","import React from \"react\";\nimport Layout, {Content} from \"components/ui/Layout\"\nimport LeftSide from \"./LeftSide\";\nimport {useInitData, injectToStoreNotification} from \"components/shared/NotificationList\";\nimport styles from \"./AppShellLayout.module.scss\";\n\nconst AppShellLayout = ({children}) => {\n const {pathname} = window.location;\n if(pathname !== \"/no-permission\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useInitData();\n }\n return \n \n \n \n
    \n {children}\n
    \n
    \n
    \n
    \n}\n\nAppShellLayout.propTypes = {}\nexport default injectToStoreNotification(AppShellLayout)","import React from \"react\"\nimport AppShellLayout from \"components/shared/AppShell\"\n\nconst PrivatePage = ({children}) => (\n \n {children}\n \n)\n\nPrivatePage.propTypes = {}\n\nexport default PrivatePage\n\n\n\n","import React from \"react\"\nimport {Redirect, Route} from \"react-router-dom\"\nimport {useFeatureChecker} from \"components/shared/PermissionManager\";\n\n\nconst RouteWrapper = ({layoutConfig, featureKey, component: MainContent, ...props}) => {\n const {canUse} = useFeatureChecker(featureKey);\n if (!canUse) {\n return ()\n }\n return ( {\n return \n }}\n />)\n}\n\n\nexport default RouteWrapper\n","import React from 'react'\nimport {Helmet} from 'react-helmet'\nimport {useSelector} from 'react-redux'\nimport {stateManager} from './store'\n\n\nconst DocumentHead = () => {\n const pageTitle = useSelector(stateManager.getLayoutConfig__pageTitle)\n return \n \n \n}\n\nDocumentHead.propTypes = {}\n\nexport default DocumentHead\n\n\n\n\n","export const DEFAULT_LOADING_QUOTES = [\n {labelId: 'app.common.loading.quotes.0'},\n {labelId: 'app.common.loading.quotes.1'},\n {labelId: 'app.common.loading.quotes.2'},\n {labelId: 'app.common.loading.quotes.3'},\n {labelId: 'app.common.loading.quotes.4'},\n {labelId: 'app.common.loading.quotes.5'},\n {labelId: 'app.common.loading.quotes.6'}\n]","import _get from 'lodash/fp/get'\nimport _isString from 'lodash/fp/isString'\nimport _isArray from 'lodash/fp/isArray'\nimport _random from 'lodash/fp/random'\nimport _size from 'lodash/fp/size'\nimport {DEFAULT_LOADING_QUOTES} from './constants'\nimport {useState, useEffect, useCallback} from 'react'\n\n\nconst getRandomMessage = (messageArr) => _get(_random(0, _size(messageArr) - 1), messageArr)\n\nexport const useMessage = ({message} = {}) => {\n const getMsg = useCallback(() => getRandomMessage(_isArray(message) ? message : DEFAULT_LOADING_QUOTES), [message])\n const [msg, setMsg] = useState(_isString(message) ? message : getMsg())\n\n useEffect(() => {\n if (_isString(message)) {\n return\n }\n const interval = setInterval(() => setMsg(getMsg()), 1000 * 10)\n return () => clearInterval(interval)\n }, [getMsg, message])\n\n return msg\n}","import _pipe from \"lodash/fp/pipe\"\nimport PropTypes from \"prop-types\"\nimport React, {useEffect} from \"react\"\nimport {injectIntl} from \"react-intl\";\nimport {useMessage} from \"./useMessage\"\nimport styles from \"./Loading.module.scss\"\n\n\nconst Loading = ({loadingInfo, ...props}) => {\n const {intl} = props;\n const message = useMessage(loadingInfo)\n console.log(styles)\n\n\n useEffect(() => {\n _pipe([\n () => document.getElementsByClassName(\"globalLoading\"),\n (elms) => elms && elms.length > 1 && (elms[0].style.visibility = \"hidden\")\n ])()\n }, [])\n\n return (\n
    \n {message && message.labelId ? intl.formatMessage({id: message.labelId}) : message}

    \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n )\n}\n\nLoading.propTypes = {\n styles: PropTypes.any,\n loadingInfo: PropTypes.any\n}\n\n\nexport default injectIntl(Loading)\n","import React from 'react'\nimport {useSelector} from 'react-redux'\nimport GlobalLoadingCommon from 'components/ui/GlobalLoading'\nimport {stateManager} from './store'\n\n\nconst GlobalLoading = () => {\n const isLoading = useSelector(stateManager.isLoading)\n\n return isLoading ? : null\n}\n\nGlobalLoading.propTypes = {}\n\nexport default GlobalLoading\n\n\n\n\n","import React, {useCallback} from \"react\"\nimport {useLocation} from \"react-router\"\nimport {useDispatch} from \"react-redux\"\nimport {push} from \"connected-react-router\";\nimport Button from \"components/ui/Button\"\nimport Card from \"components/ui/Card\"\nimport VaroomImg from \"components/ui/VaroomImg\"\nimport noPermission from \"assets/images/403NoPermission.png\"\n\n\nconst NoPermission = () => {\n const dispatch = useDispatch()\n const location = useLocation()\n const expired = location && location.search && location.search.indexOf(\"expired\")\n const onLogout = useCallback(() => {\n dispatch(push(\"/logout\"));\n }, [dispatch])\n\n return (<>\n
    \n \n \n

    {expired ? \"Token expired\" : \"Permission denied\"}

    \n {expired\n ?

    Your session has been expired, please login to continue.

    \n :

    You do not have permission to access this page.
    Please refer to your system administrator.

    \n }\n\n \n
    \n
    \n )\n}\n\nNoPermission.propTypes = {}\n\n export default NoPermission\n\n\n\n","/**\n *\n * App\n *\n * This component is the skeleton around the actual pages, and should only\n * contain code that should be seen on all pages. (e.g. navigation bar)\n */\n\nimport _map from \"lodash/fp/map\"\nimport React, {useMemo} from \"react\"\nimport {Route, Switch} from \"react-router-dom\"\nimport {modulesRoutes} from \"modules/routes\"\nimport NotFoundPage from \"components/shared/NotFoundPage\";\nimport ToastMessage from \"components/shared/ToastMessage\"\nimport PrivatePage from \"./PrivatePage\";\nimport RouteWrapper from \"./RouteWrapper\"\nimport DocumentHead from \"./DocumentHead\"\nimport GlobalLoading from \"./GlobalLoading\"\nimport NoPermission from \"./NoPermission\";\n\n\nexport default function App() {\n const privateRoutes = useMemo(() => _map(\n ({component: Component, featureKey, ...route}) => {\n return \n },\n modulesRoutes.privatePages)\n , []);\n\n return (\n \n \n \n {modulesRoutes.publicPages.map(({component: Component, ...route}) => )}\n \n \n \n {privateRoutes}\n \n \n \n \n \n \n \n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varComp\":\"Logo_varComp__JJFAG\",\"varComp__image\":\"Logo_varComp__image__b6U1i\",\"varComp__image__admin\":\"Logo_varComp__image__admin__mbLhK\",\"varComp__mini\":\"Logo_varComp__mini__2YHM8\",\"animScale\":\"Logo_animScale__-HlR-\",\"load\":\"Logo_load__1QdLC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"avatar\":\"UserInfo_avatar__17x3G\",\"fullName\":\"UserInfo_fullName__R3f1Z\",\"role\":\"UserInfo_role__Bfkqw\",\"animScale\":\"UserInfo_animScale__2UiTC\",\"load\":\"UserInfo_load__3SfhJ\"};","import React from 'react'\nimport ColAntd from \"antd/es/grid/col\";\nimport \"./Col.less\";\n\nconst Col = (props) => ;\n\nCol.propTypes = {};\nCol.defaultProps = {};\n\nexport default Col;\n","import * as types from './types'\nimport {showToastMessage} from 'components/shared/ToastMessage'\n\n// Action Creators\nexport function setGlobalLoading(isLoading) {\n return {type: types.SET_GLOBAL_LOADING, payload: {isLoading}}\n}\n\nexport function setNotify(type, content) {\n showToastMessage(type, content)\n return {type: types.SET_NOTIFY, payload: {type, content}}\n}\n\nexport function setLayoutConfig(layoutConfig) {\n return {type: types.SET_LAYOUT_CONFIG, payload: {layoutConfig}}\n}\n\nexport function setCurrentUser(currentUser) {\n return {type: types.GET_CURRENT_USER, payload: {currentUser}}\n}\n\nexport function resetUser(callback) {\n return {type: types.RESET_USER, payload: {callback}}\n}\n\nexport function setBreadcrumb(routes, isMerged=false) {\n return {type: types.SET_LAYOUT_CONFIG_BREADCRUMB, payload: {routes, isMerged}}\n}\n","import React from \"react\"\nimport AntdSkeleton from \"antd/es/skeleton\";\nimport \"./Skeleton.less\";\n\nconst Skeleton = props => ;\n\nSkeleton.defaultProps = {\n active: true\n}\n\nexport default Skeleton;\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Skeleton from \"./Skeleton\"\nimport {Row, Col} from \"./../Grid\"\n\n\nconst COL_CONFIG = {\n GRID: {\n xs: 24,\n sm: 12,\n md:6\n },\n LIST: {\n span: 24\n }\n}\n\nconst SkeletonList = ({numItem = 4, isGrid, ...rest}) => (\n \n {(Array(numItem).fill(0)).map(\n (_, idx) => )}\n )\n\nSkeletonList.propTypes = {\n avatar: PropTypes.bool\n}\n\nexport default SkeletonList\n\n\n\n\n\n\n\n\n","import React from \"react\";\nimport AntdSkeleton from \"antd/es/skeleton\";\nimport \"./Skeleton.less\";\n\nconst Skeleton = props => ;\n\nexport default Skeleton;\nexport {default as SkeletonList} from './SkeletonList'\n","import invariant from 'invariant';\nimport { isEmpty, isFunction, isString } from 'lodash';\n\nimport checkStore from './checkStore';\nimport createReducer from '../reducers';\n\nexport function injectReducerFactory(store, isValid) {\n return function injectReducer(key, reducer) {\n if (!isValid) checkStore(store);\n\n invariant(\n isString(key) && !isEmpty(key) && isFunction(reducer),\n '(app/utils...) injectReducer: Expected `reducer` to be a reducer function',\n );\n\n // Check `store.injectedReducers[key] === reducer` for hot reloading when a key is the same but a reducer is different\n if (\n Reflect.has(store.injectedReducers, key) &&\n store.injectedReducers[key] === reducer\n )\n return;\n\n store.injectedReducers[key] = reducer; // eslint-disable-line no-param-reassign\n store.replaceReducer(createReducer(store.injectedReducers));\n };\n}\n\nexport default function getInjectors(store) {\n checkStore(store);\n\n return {\n injectReducer: injectReducerFactory(store, true),\n };\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { ReactReduxContext } from 'react-redux';\n\nimport getInjectors from './reducerInjectors';\n\n/**\n * Dynamically injects a reducer\n *\n * @param {string} key A key of the reducer\n * @param {function} reducer A reducer that will be injected\n *\n */\nexport default ({ key, reducer }) => WrappedComponent => {\n class ReducerInjector extends React.Component {\n static WrappedComponent = WrappedComponent;\n\n static contextType = ReactReduxContext;\n\n static displayName = `withReducer(${WrappedComponent.displayName ||\n WrappedComponent.name ||\n 'Component'})`;\n\n constructor(props, context) {\n super(props, context);\n\n getInjectors(context.store).injectReducer(key, reducer);\n }\n\n render() {\n return ;\n }\n }\n\n return hoistNonReactStatics(ReducerInjector, WrappedComponent);\n};\n\nconst useInjectReducer = ({ key, reducer }) => {\n const context = React.useContext(ReactReduxContext);\n React.useEffect(() => {\n getInjectors(context.store).injectReducer(key, reducer);\n }, []);\n};\n\nexport { useInjectReducer };\n","import invariant from 'invariant';\nimport { isEmpty, isFunction, isString, conformsTo } from 'lodash';\n\nimport checkStore from './checkStore';\nimport { DAEMON, ONCE_TILL_UNMOUNT, RESTART_ON_REMOUNT } from './constants';\n\nconst allowedModes = [RESTART_ON_REMOUNT, DAEMON, ONCE_TILL_UNMOUNT];\n\nconst checkKey = key =>\n invariant(\n isString(key) && !isEmpty(key),\n '(app/utils...) injectSaga: Expected `key` to be a non empty string',\n );\n\nconst checkDescriptor = descriptor => {\n const shape = {\n saga: isFunction,\n mode: mode => isString(mode) && allowedModes.includes(mode),\n };\n invariant(\n conformsTo(descriptor, shape),\n '(app/utils...) injectSaga: Expected a valid saga descriptor',\n );\n};\n\nexport function injectSagaFactory(store, isValid) {\n return function injectSaga(key, descriptor = {}, args) {\n if (!isValid) checkStore(store);\n\n const newDescriptor = {\n ...descriptor,\n mode: descriptor.mode || DAEMON,\n };\n const { saga, mode } = newDescriptor;\n\n checkKey(key);\n checkDescriptor(newDescriptor);\n\n let hasSaga = Reflect.has(store.injectedSagas, key);\n\n if (process.env.NODE_ENV !== 'production') {\n const oldDescriptor = store.injectedSagas[key];\n // enable hot reloading of daemon and once-till-unmount sagas\n if (hasSaga && oldDescriptor.saga !== saga) {\n oldDescriptor.task.cancel();\n hasSaga = false;\n }\n }\n\n if (\n !hasSaga ||\n (hasSaga && mode !== DAEMON && mode !== ONCE_TILL_UNMOUNT)\n ) {\n /* eslint-disable no-param-reassign */\n store.injectedSagas[key] = {\n ...newDescriptor,\n task: store.runSaga(saga, args),\n };\n /* eslint-enable no-param-reassign */\n }\n };\n}\n\nexport function ejectSagaFactory(store, isValid) {\n return function ejectSaga(key) {\n if (!isValid) checkStore(store);\n\n checkKey(key);\n\n if (Reflect.has(store.injectedSagas, key)) {\n const descriptor = store.injectedSagas[key];\n if (descriptor.mode && descriptor.mode !== DAEMON) {\n descriptor.task.cancel();\n // Clean up in production; in development we need `descriptor.saga` for hot reloading\n if (process.env.NODE_ENV === 'production') {\n // Need some value to be able to detect `ONCE_TILL_UNMOUNT` sagas in `injectSaga`\n store.injectedSagas[key] = 'done'; // eslint-disable-line no-param-reassign\n }\n }\n }\n };\n}\n\nexport default function getInjectors(store) {\n checkStore(store);\n\n return {\n injectSaga: injectSagaFactory(store, true),\n ejectSaga: ejectSagaFactory(store, true),\n };\n}\n","/* eslint-disable react-hooks/exhaustive-deps */\nimport React from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { ReactReduxContext } from 'react-redux';\n\nimport getInjectors from './sagaInjectors';\n\n/**\n * Dynamically injects a saga, passes component's props as saga arguments\n *\n * @param {string} key A key of the saga\n * @param {function} saga A root saga that will be injected\n * @param {string} [mode] By default (constants.DAEMON) the saga will be started\n * on component mount and never canceled or started again. Another two options:\n * - constants.RESTART_ON_REMOUNT — the saga will be started on component mount and\n * cancelled with `task.cancel()` on component unmount for improved performance,\n * - constants.ONCE_TILL_UNMOUNT — behaves like 'RESTART_ON_REMOUNT' but never runs it again.\n *\n */\nexport default ({ key, saga, mode }) => WrappedComponent => {\n class InjectSaga extends React.Component {\n static WrappedComponent = WrappedComponent;\n\n static contextType = ReactReduxContext;\n\n static displayName = `withSaga(${WrappedComponent.displayName ||\n WrappedComponent.name ||\n 'Component'})`;\n\n constructor(props, context) {\n super(props, context);\n\n this.injectors = getInjectors(context.store);\n\n this.injectors.injectSaga(key, { saga, mode }, this.props);\n }\n\n componentWillUnmount() {\n this.injectors.ejectSaga(key);\n }\n\n render() {\n return ;\n }\n }\n\n return hoistNonReactStatics(InjectSaga, WrappedComponent);\n};\n\nconst useInjectSaga = ({ key, saga, mode }) => {\n const context = React.useContext(ReactReduxContext);\n React.useEffect(() => {\n const injectors = getInjectors(context.store);\n injectors.injectSaga(key, { saga, mode });\n\n return () => {\n injectors.ejectSaga(key);\n };\n }, []);\n};\n\nexport { useInjectSaga };\n","import _find from \"lodash/fp/find\";\nimport {getFeature, getPermissions} from \"domainData/user.domainData\"\n\nconst hasFeaturePermission = (permissions, featureKey) => _find((permission) => getFeature(permission) === featureKey, permissions);\nexport const featureCheckerFn = (currentUser) => featureKey => {\n if(!currentUser || !featureKey || !hasFeaturePermission(getPermissions(currentUser), featureKey)) {\n return {canUse: false}\n }\n return {canUse: true}\n}","import {useCallback, useMemo} from \"react\"\nimport {useSelector} from \"react-redux\";\nimport _eq from \"lodash/fp/eq\";\nimport _find from \"lodash/fp/find\";\nimport {getRole, getPermissions, getPermission} from \"domainData/user.domainData\";\nimport {ADMIN_ROLE} from \"constants/userRoles\";\nimport {getCurrentUser} from \"modules/AppCore/store/stateManager\";\nimport {featureCheckerFn} from \"./helpers\"\n\nexport const useFeatureChecker = (featureKey) => {\n const currentUser = useSelector(getCurrentUser);\n const canUseCheckerFn = useMemo(() => featureCheckerFn(currentUser), [currentUser])\n const canUseFn = useCallback((featureKey) => {\n const {canUse} = canUseCheckerFn(featureKey)\n return canUse\n }, [canUseCheckerFn])\n return useMemo(() => ({\n ...canUseCheckerFn(featureKey),\n canUseFn,\n canUseCheckerFn\n }\n ), [canUseFn, featureKey, canUseCheckerFn])\n}\n\nexport const isAdminRoles = () => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const currentUser = useSelector(getCurrentUser);\n return !(!currentUser || !getRole(currentUser) || !_eq(getRole(currentUser), ADMIN_ROLE));\n}\n\nexport const usePermissionFeature = (featureKey, permission) => {\n const currentUser = useSelector(getCurrentUser);\n const findPermission = _find(({feature: featureKey}), getPermissions(currentUser));\n if(!findPermission) return false\n return (getPermission(findPermission) | permission) === getPermission(findPermission);\n}\n\n","export const ADMIN_ROLE = \"admin\";","export const MODULE_STATE_NAME = \"varAllOkrsComp\";\nexport const FEATURE_KEY = \"features.allokrs\";","import React from 'react';\nimport AntdSwitch from \"antd/es/switch\";\nimport './Switch.less';\n\nconst Switch = (props) => ;\n\nexport default Switch;\n","import React from 'react'\nimport { Row as AntdRow, Col as AntdCol } from \"antd/es/grid\";\nimport \"./Grid.less\";\n\nconst Row = (props) => ;\nRow.propTypes = {\n ...AntdRow.propTypes\n};\nconst Col = (props) => ;\nCol.propTypes = {\n ...AntdCol.propTypes\n};\nexport { Row, Col };\n","export const FEATURE_KEY = \"features.people\"","/**\n * Combine all reducers in this file and export the combined reducers.\n */\n\nimport { combineReducers } from 'redux';\nimport { connectRouter } from 'connected-react-router';\n\nimport history from './utils/history';\nimport {reducer as globalReducer, MODULE_STATE_NAME} from './modules/AppCore';\nimport {reducer as languageProviderReducer} from './components/shared/LanguageProvider';\n\n/**\n * Merges the main reducer with the router state and dynamically injected reducers\n */\nexport default function createReducer(injectedReducers = {}) {\n const rootReducer = combineReducers({\n router: connectRouter(history),\n [MODULE_STATE_NAME]: globalReducer,\n language: languageProviderReducer,\n\n ...injectedReducers,\n });\n\n return rootReducer;\n}\n","import _pipe from \"lodash/fp/pipe\"\nimport moment from \"moment\"\n\n\nexport const toDate = date => moment.utc(date || null)\nexport const isValidDate = date => toDate(date).isValid()\n\nexport const compareDate = (date1, date2, bias) => {\n const d1 = toDate(date1)\n const d2 = toDate(date2)\n\n if (bias) {\n d1.add(bias)\n }\n\n return d1.isAfter(d2)\n // return d1.valueOf() > d2.valueOf()\n}\n\nexport const dateFormatter = (date, format = \"MMM D, YYYY\") =>\n toDate(date).local().format(format)\n\nexport const relativeFormatter = date => toDate(date).fromNow() || \"N/A\"\n\nexport const dateTimeFormatter = (date, format = \"MMM D, YYYY - hh:mma\") =>\n toDate(date).local().format(format)\n\nexport const apiDateFormatter = (date, format = \"YYYY-MM-DD\") =>\n moment(date).format(format)\n\nexport const dateShowRelative = _pipe([\n toDate,\n date => date.diff(undefined, \"days\")\n ? dateTimeFormatter(date)\n : relativeFormatter(date)\n])\n\nexport const dateShowRelativeArr = _pipe([\n toDate,\n date => date.diff(undefined, \"days\")\n ? [dateTimeFormatter(date), false]\n : [relativeFormatter(date), true]\n])\n\nexport const apiUtcFormatter = (date, format) => {\n if (format) {\n return moment.utc(date).format(format).slice(0, 19);\n } else {\n return moment.utc(date).format().slice(0, 19);\n }\n}\n\nexport const toISOString = date => date.toISOString()\n\nexport function formatStartDateFilterStr(startDate) {\n console.log(\"startDate\", startDate.format());\n const localHour = moment().get(\"h\");\n const localMinute = moment().get(\"m\");\n const localSecond = moment().get(\"s\");\n return startDate.clone()\n .set(\"h\", localHour)\n .set(\"m\", localMinute)\n .set(\"s\", localSecond)\n .utc().startOf(\"day\").toISOString();\n}\n\nexport function formatEndDateFilterStr(endDate) {\n const localHour = moment().get(\"h\");\n const localMinute = moment().get(\"m\");\n const localSecond = moment().get(\"s\");\n return endDate.clone()\n .set(\"h\", localHour)\n .set(\"m\", localMinute)\n .set(\"s\", localSecond)\n .utc().endOf(\"day\").toISOString();\n}\n","import React from \"react\";\nimport AntdBadge from \"antd/es/badge\";\nimport \"./Badge.less\";\n\nconst Badge = props => ;\n\nexport default Badge;\n","/*\n *\n * LanguageProvider constants\n *\n */\n\nexport const CHANGE_LOCALE = 'app/LanguageToggle/CHANGE_LOCALE';\n","/*\n *\n * LanguageProvider reducer\n *\n */\n\nimport produce from 'immer';\n\nimport { CHANGE_LOCALE } from './constants';\n// import { DEFAULT_LOCALE } from 'src/i18n';\n\nexport const initialState = {\n locale: 'en' //DEFAULT_LOCALE,\n};\n\n/* eslint-disable default-case, no-param-reassign */\nconst languageProviderReducer = (state = initialState, action) =>\n produce(state, draft => {\n switch (action.type) {\n case CHANGE_LOCALE:\n draft.locale = action.locale;\n break;\n }\n });\n\nexport default languageProviderReducer;\n","import { createSelector } from 'reselect';\nimport { initialState } from './reducer';\n\n/**\n * Direct selector to the language domain\n */\n\nconst selectLanguage = state => state.language || initialState;\n\n/**\n * Select the language locale\n */\n\nconst makeSelectLocale = () =>\n createSelector(\n selectLanguage,\n languageState => languageState.locale,\n );\n\nexport { selectLanguage, makeSelectLocale };\n","/* eslint-disable no-template-curly-in-string */\nimport {defineMessages} from 'utils/varoom-translation.utils'\n\n\nexport default defineMessages({\n mixed_default: {\n id: 'app.common.validation.default',\n defaultMessage: 'This field is invalid'\n },\n mixed_required: {\n id: 'app.common.validation.mixed.required',\n defaultMessage: 'This field is a required field'\n },\n mixed_oneOf: {\n id: 'app.common.validation.mixed.oneOf',\n defaultMessage: 'This field must be one of the following values: ${values}'\n },\n mixed_notOneOf: {\n id: 'app.common.validation.mixed.notOneOf',\n defaultMessage: 'This field must be one of the following values: ${values}'\n },\n mixed_defined: {\n id: 'app.common.validation.mixed.defined',\n defaultMessage: 'This field must be defined'\n },\n string_required: {\n id: 'app.common.validation.string.required',\n defaultMessage: 'This field is a required field'\n },\n string_length: {\n id: 'app.common.validation.string.length',\n defaultMessage: 'This field must be exactly ${length} characters'\n },\n string_min: {\n id: 'app.common.validation.string.min',\n defaultMessage: 'This field must be at least ${min} characters'\n },\n string_max: {\n id: 'app.common.validation.string.max',\n defaultMessage: 'This field must be at most ${max} characters'\n },\n string_matches: {\n id: 'app.common.validation.string.matches',\n defaultMessage: 'This field must match the following: \"${regex}\"'\n },\n string_email: {\n id: 'app.common.validation.string.email',\n defaultMessage: 'This field must be a valid email'\n },\n string_url: {\n id: 'app.common.validation.string.url',\n defaultMessage: 'This field must be a valid URL'\n },\n string_uuid: {\n id: 'app.common.validation.string.uuid',\n defaultMessage: 'This field must be a valid UUID'\n },\n string_trim: {\n id: 'app.common.validation.string.trim',\n defaultMessage: 'This field must be a trimmed string'\n },\n string_lowercase: {\n id: 'app.common.validation.string.lowercase',\n defaultMessage: 'This field must be a lowercase string'\n },\n string_uppercase: {\n id: 'app.common.validation.string.uppercase',\n defaultMessage: 'This field must be a upper case string'\n },\n number_min: {\n id: 'app.common.validation.number.min',\n defaultMessage: 'This field must be greater than or equal to ${min}'\n },\n number_max: {\n id: 'app.common.validation.number.max',\n defaultMessage: 'This field must be less than or equal to ${max}'\n },\n number_lessThan: {\n id: 'app.common.validation.number.lessThan',\n defaultMessage: 'This field must be less than ${less}'\n },\n number_moreThan: {\n id: 'app.common.validation.number.moreThan',\n defaultMessage: 'This field must be greater than ${more}'\n },\n number_positive: {\n id: 'app.common.validation.number.positive',\n defaultMessage: 'This field must be a positive number'\n },\n number_negative: {\n id: 'app.common.validation.number.negative',\n defaultMessage: 'This filed must be a negative number'\n },\n number_integer: {\n id: 'app.common.validation.number.integer',\n defaultMessage: 'This field must be an integer'\n },\n date_min: {\n id: 'app.common.validation.date.min',\n defaultMessage: 'This field must be later than ${min}'\n },\n date_max: {\n id: 'app.common.validation.date.max',\n defaultMessage: 'This field field must be at earlier than ${max}'\n },\n boolean_isValue: {\n id: '.boolean.isValue',\n defaultMessage: 'This field must be ${value}'\n },\n object_noUnknown: {\n id: 'app.common.validation.object.noUnknown',\n defaultMessage: 'This field has unspecified keys: ${unknown}'\n },\n array_min: {\n id: 'app.common.validation.array.min',\n defaultMessage: 'This field must have at least ${min} items'\n },\n array_max: {\n id: 'app.common.validation.array.max',\n defaultMessage: 'This field must have less than or equal to ${max} items'\n },\n array_required: {\n id: 'app.common.validation.array.required',\n defaultMessage: 'This field is a required field'\n },\n array_length: {\n id: 'app.common.validation.array.length',\n defaultMessage: 'This must have ${length} items'\n }\n})\n\n","import {setLocale} from 'yup'\nimport messages from 'translations/common-validation.messages'\nimport _transformFp from 'lodash/fp/transform'\nimport _reduce from 'lodash/fp/reduce'\nimport _setFp from 'lodash/fp/set'\n// convert to mutable\nconst _set = _setFp.convert({'immutable': false})\nconst _transform = _transformFp.convert({'cap': false})\n\n\nconst parsedMessages = _transform((validationSchema, {id, defaultMessage}, key) => {\n validationSchema.push([\n key.split('_'),\n id,\n defaultMessage\n ])\n return validationSchema\n\n}, [], messages)\n\n\n\nfunction resetValidationMessages() {\n const schema = _reduce((acc, [paths, messageId, defaultMessage ]) => {\n return _set(paths, defaultMessage, acc)\n }, {}, parsedMessages)\n setLocale(schema);\n}\nresetValidationMessages()\n","/*\n *\n * LanguageProvider\n *\n * this component connects the redux state language locale to the\n * IntlProvider component and i18n messages (loaded from `app/translations`)\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport { IntlProvider } from 'react-intl';\nimport { makeSelectLocale } from './selectors';\nimport './setValidationCommonMessages'\nexport {default as reducer} from './reducer'\n\nexport function LanguageProvider(props) {\n return (\n \n {React.Children.only(props.children)}\n \n );\n}\n\nLanguageProvider.propTypes = {\n locale: PropTypes.string,\n messages: PropTypes.object,\n children: PropTypes.element.isRequired,\n};\n\nconst mapStateToProps = createSelector(\n makeSelectLocale(),\n locale => ({\n locale,\n }),\n);\n\nexport default connect(mapStateToProps)(LanguageProvider);\n","import React from 'react'\nimport {ToastContainer} from 'react-toastify'\nimport './ToastMessage.scss'\n\n\nconst ToastMessage = () => ()\n\nToastMessage.propTypes = {}\n\nexport default ToastMessage\n\n\n\n","import { toast } from \"react-toastify\";\n\nfunction displayToastMessage (notify, message) {\n if (!toast.isActive(message)) {\n const option = {\n toastId: message,\n pauseOnFocusLoss: false\n };\n switch (notify) {\n case 'error':\n // eslint-disable-next-line no-use-before-define\n toast.error(message, {autoClose: message && getAutoCloseTime(message.length), ...option});\n break;\n case 'warning':\n // eslint-disable-next-line no-use-before-define\n toast.warn(message, {autoClose: message && getAutoCloseTime(message.length), ...option});\n break;\n case 'success':\n toast.success(message, option);\n break;\n default:\n toast.info(message, option);\n break;\n }\n }\n\n function getAutoCloseTime(messageLength) {\n return messageLength < 50 ? 15*1000\n : messageLength < 100 ? 30*1000\n : messageLength < 150 ? 40*1000\n : false\n }\n}\n\nexport function showToastMessage(notify, messages) {\n if ( notify === 'error' && messages && messages.errors) {\n messages = messages.errors\n }\n\n if (messages && messages.message) {\n messages = messages.message\n }\n\n const type = typeof messages;\n switch(type) {\n case 'object':\n if (messages && messages.forEach) {\n messages.forEach(msg => {\n displayToastMessage(notify, msg.message || msg.errorMessage);\n });\n } else {\n displayToastMessage(notify, \"Something went wrong, please contact support@ctrwow.com for further assist.\");\n }\n break;\n case 'string':\n default:\n displayToastMessage(notify, messages);\n break;\n }\n}\n","import MyOkrsLayout from \"./MyOkrsLayout.Loadable\"\nimport {FEATURE_KEY} from \"../constants\"\nconst ROUTES = [{\n path: `/my-okrs`,\n exact: true,\n component: MyOkrsLayout,\n layoutConfig: {\n isUsedAppShell: true,\n title: 'MyOkrs',\n routes: [\n {\n breadcrumbName: 'MyOkrs'\n }\n ]\n },\n featureKey: FEATURE_KEY\n}]\n\nexport default ROUTES\n","/**\n * Asynchronously loads the component for MyOkrs\n */\n\nimport loadable from 'components/ui/Loadable';\n\nexport default loadable(() => import('./MyOkrsLayout'));\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"dfoComp\":\"NotificationMessageListHeader_dfoComp__1xjX6\",\"dfoComp__markReadBtn\":\"NotificationMessageListHeader_dfoComp__markReadBtn__3-v8q\",\"animScale\":\"NotificationMessageListHeader_animScale__2ZsgG\",\"load\":\"NotificationMessageListHeader_load__1XecO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"menu\":\"NotificationListLayout_menu__1jYvi\",\"statusItem\":\"NotificationListLayout_statusItem__10fFR\",\"dfoCompRead\":\"NotificationListLayout_dfoCompRead__1jyKX\",\"animScale\":\"NotificationListLayout_animScale__3jeaQ\",\"load\":\"NotificationListLayout_load__2Uj98\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"layout\":\"UserProfileLayout_layout__33Azn\",\"dropdown\":\"UserProfileLayout_dropdown__3SbQt\",\"menu\":\"UserProfileLayout_menu__3F45f\",\"animScale\":\"UserProfileLayout_animScale__2dyI1\",\"load\":\"UserProfileLayout_load__anHCV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varComp\":\"MainMenuItem_varComp__3ik7a\",\"varComp__text\":\"MainMenuItem_varComp__text__Ml4X5\",\"varComp__subItem\":\"MainMenuItem_varComp__subItem__1t4Wr\",\"varComp__icon\":\"MainMenuItem_varComp__icon__2kC8H\",\"varComp__inline\":\"MainMenuItem_varComp__inline__1Xnut\",\"animScale\":\"MainMenuItem_animScale__2EIey\",\"load\":\"MainMenuItem_load__2xOrC\"};","import React from \"react\";\nimport AvatarAntd from \"antd/es/avatar\";\nimport \"./Avatar.less\";\n\nconst Avatar = props => ;\n\nexport default Avatar;\n","import {BASE_URL} from \"utils/ssoSetting\"\nimport privateFetcher from \"./privateFetcher\";\n\nexport const getNotificationListFetcher = (params) => privateFetcher.get(`${BASE_URL}/notifications`, params).then(({data}) => ({...data}))\nexport const setNotificationMaskAsReadFetcher = (id) => privateFetcher.post(`${BASE_URL}/notifications/${id}/read`)\nexport const getUserList = (params) => privateFetcher.get(`${BASE_URL}/users`, params).then(({data, ...response}) => ({...response, results: data || []}))\nexport const getUserProfile = () => privateFetcher.get(`${BASE_URL}/profile`, null).then(({data, ...response}) => ({...response, results: data || []}))\nexport const getUserDetails = ({id}) => privateFetcher.get(`${BASE_URL}/users/${id}`, null).then(({data, ...response}) => ({...response, results: data || []}))\nexport const createUser = ({formData}) => privateFetcher.post(`${BASE_URL}/users`, null, formData).then(({data, ...response}) => ({...response, results: data || []}))\nexport const updateUser = ({formData}) => privateFetcher.put(`${BASE_URL}/users/${formData.id}`, null, formData).then(({data, ...response}) => ({...response, results: data || []}))\nexport const updateProfile = ({formData}) => privateFetcher.put(`${BASE_URL}/profile`, null, formData).then(({data, ...response}) => ({...response, results: data || []}))\nexport const deleteUser = ({id}) => privateFetcher.delete(`${BASE_URL}/users/${id}`, null)","import React from \"react\";\nimport AntdDropDown from \"antd/es/dropdown\";\nimport \"./Dropdown.less\";\n\nconst DropDown = props => ;\nDropDown.Button = AntdDropDown.Button\nexport default DropDown;\n","import React from 'react';\nimport AntdList from \"antd/es/list\";\n\nconst { Meta : AntdListItemMeta } = AntdList.Item;\nconst Meta = (props) => ;\n\nMeta.propTypes = {};\n\nexport default Meta;\n","import React from 'react';\nimport AntdList from \"antd/es/list\";\nimport Meta from './Meta';\n\nconst { Item : AntdListItem } = AntdList;\n\nconst Item = (props) => ;\n\nItem.propTypes = {};\n\nexport { Item as default, Meta };\n","import {defineMessages} from 'utils/varoom-translation.utils'\n\nexport default defineMessages({\n paginationFromTo: {\n id: 'app.common.list.paginationFromTo',\n defaultMessage: 'Showing {from} - {to} of {total} Results'\n }\n})\n","import React, {useMemo} from 'react'\nimport AntdList from 'antd/es/list'\nimport {useTranslateContext} from 'utils/varoom-translation.utils'\nimport messages from './defined.messages'\nimport './List.less'\n\n// eslint-disable-next-line react/prop-types\nconst List = ({pagination, dataSource, ...props}) => {\n const {formatMessage} = useTranslateContext()\n const paginationConfig = useMemo(\n () =>\n pagination\n ? {\n showSizeChanger: true,\n className: 'cxw-block',\n ...(!pagination.showTotal && {\n showTotal: (total, [from, to]) => formatMessage(messages.paginationFromTo,{from, to, total})\n }),\n ...(!pagination.onShowSizeChange && pagination.onChange ? {onShowSizeChange: (_, size) => pagination.onChange(1, size)} : {}),\n ...pagination\n }\n : pagination,\n [formatMessage, pagination]\n )\n\n return \n}\nexport {default as Item} from './Item'\nexport {default as Meta} from './Item/Meta'\nexport default List\n","import React from \"react\"\nimport AntdTabs from \"antd/es/tabs\";\nimport \"./Tabs.less\";\n\nconst Tabs = props => ;\nTabs.TabPane = AntdTabs.TabPane\n\nconst { TabPane: TabPaneAntd } = AntdTabs;\nconst TabPane = props => ;\n\nexport { Tabs as default, TabPane };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"text--primary\":\"Typography_text--primary__1XqyX\",\"text--secondary\":\"Typography_text--secondary__1RW6j\",\"animScale\":\"Typography_animScale__3TfzU\",\"load\":\"Typography_load__10Rre\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"dfoComp\":\"Notification_dfoComp__1pzy-\",\"dfoComp__top\":\"Notification_dfoComp__top__3_2Ax\",\"dfoComp_icon\":\"Notification_dfoComp_icon__2JQ3f\",\"dfoComp_label\":\"Notification_dfoComp_label__2kbov\",\"animScale\":\"Notification_animScale__2BqY9\",\"load\":\"Notification_load__2UjoO\"};","import React from 'react';\nimport RowAntd from \"antd/es/grid/row\";\nimport './../Grid'\n\n\nconst Row = (props) => ;\n\nRow.propTypes = {};\nRow.defaultProps = {};\n\nexport default Row;\n","import React from 'react'\nimport AntdEmpty from 'antd/es/empty';\nimport './Empty.less';\n\nconst Empty = props => ;\n\nEmpty.PRESENTED_IMAGE_SIMPLE = AntdEmpty.PRESENTED_IMAGE_SIMPLE\nEmpty.PRESENTED_IMAGE_DEFAULT = AntdEmpty.PRESENTED_IMAGE_DEFAULT\n\nexport {Empty as default}\n","export const parseValueForm = (defaultValues, values, cb) => {\n let newValues = {};\n\n if (defaultValues && values) {\n for (let key of Object.keys(defaultValues)) {\n const newValue = values[key] || defaultValues[key];\n newValues = { ...newValues, [key]: newValue };\n cb && cb(key, newValue);\n }\n }\n\n return newValues;\n};\n\nexport function dirtyValues(dirtyFields, allValues) {\n if (dirtyFields === true || Array.isArray(dirtyFields)) {\n return allValues;\n }\n return Object.fromEntries(\n Object.keys(dirtyFields).map((key) => [key, dirtyValues(dirtyFields[key], allValues[key])])\n );\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport AntdInputNumber from 'antd/es/input-number'\nimport './InputNumber.less'\n\n\nconst DEFAULT_NUMBER_FORMAT = {\n currency: {\n formatter: value => `$ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ','),\n parser: value => value.replace(/\\$\\s?|(,*)/g, '')\n }\n}\n\nconst InputNumber = ({ctrFormatType, ...props}) => \n\nInputNumber.propTypes = {\n ...AntdInputNumber.propTypes,\n ctrFormatType: PropTypes.any\n}\n\nexport default InputNumber\n","import React from \"react\";\nimport AntdDivider from \"antd/es/divider\";\nimport './Divider.less'\n\nconst Divider = props => ;\n\nexport default Divider;\n","import React from 'react';\nimport AntdDatePicker from \"antd/es/date-picker\";\nimport './DatePicker.less';\n\nconst DatePicker = (props) => ;\n\nDatePicker.propTypes = {\n ...AntdDatePicker.propTypes\n};\n\nexport default DatePicker;\n\nexport const AntdDatePickerMod = AntdDatePicker\n","import {defineMessages} from 'utils/varoom-translation.utils'\n\nexport default defineMessages({\n today: {\n id: 'app.common.datepicker.today',\n defaultMessage: \"Today\"\n },\n lastTimeDay: {\n id: 'app.common.datepicker.lastTimeDay',\n defaultMessage: \"Last {day} days\"\n },\n})\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { AntdDatePickerMod } from './DatePicker'\nimport moment from 'moment'\nimport {injectIntl} from 'react-intl'\nimport messages from './defined.messages'\n\nconst { RangePicker } = AntdDatePickerMod\n\nconst DEFAULT_PRESET = {\n today: [moment(), moment()],\n last7day: [moment().subtract(7, 'd'), moment()],\n last30day: [moment().subtract(30, 'd'), moment()]\n}\n\n// eslint-disable-next-line no-unused-vars\nconst DateRangePicker = ({ value, placeholder, intl, ...props }) => {\n const RANGES = {\n [intl.formatMessage({ ...messages.today })]: DEFAULT_PRESET.today,\n [intl.formatMessage({ ...messages.lastTimeDay }, { day: `7` })]: DEFAULT_PRESET.last7day,\n [intl.formatMessage({ ...messages.lastTimeDay }, { day: `30` })]: DEFAULT_PRESET.last30day,\n }\n return \n}\n\nDateRangePicker.propTypes = {\n value: PropTypes.array,\n placeholder: PropTypes.array\n}\n\nDateRangePicker.defaultProps = {\n style: { width: '100%' }\n}\n\nexport default injectIntl(DateRangePicker)\n","/* eslint-disable */\nexport default (fullname) => {\n if (!fullname) return null;\n let t, r;\n for (fullname = fullname.split(\" \"), t = \"\", r = 0; r in fullname; )\n (t += fullname[r][0]), r++;\n if(t.length>2){\n t = t[0] + t[t.length-1]\n }\n return t.toUpperCase();\n};\n","import {MODULE_STATE_NAME} from \"./constants\";\n\n// Actions\nexport const RESET_DATA = `${MODULE_STATE_NAME}/RESET-DATA`\nexport const GET_PRE_AUTH = `${MODULE_STATE_NAME}/GET-PRE-AUTH`;\nexport const GET_PRE_AUTH_SUCCESS = `${MODULE_STATE_NAME}/GET-PRE-AUTH-SUCCESS`\nexport const GET_PRE_AUTH_TOKEN_SUCCESS = `${MODULE_STATE_NAME}/GET_PRE_AUTH_TOKEN_SUCCESS`\nexport const SELECT_COMPANY = `${MODULE_STATE_NAME}/SELECT-COMPANY`\nexport const UPDATE_LOGGED_USER_INFO = `${MODULE_STATE_NAME}/UPDATE-LOGGED-USER-INFO`\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\"};","import _get from \"lodash/fp/get\";\n\nexport function getUserInfo() {\n try {\n return JSON.parse(localStorage.getItem(\"varCurrentUser\"))\n } catch (e) {\n console.log(\"[utils/setting.js][getUserInfo] error\", e)\n return {}\n }\n}\n\nexport function getParameterByName(name, url) {\n if (!url) url = window.location.href;\n // eslint-disable-next-line no-useless-escape\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n const regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return \"\";\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n\nexport const getPathFromRoutes = (route) => _get(\"path\", route)\n","import React from \"react\";\nimport Checkbox from \"antd/es/checkbox\";\nimport \"./CheckBox.less\";\n\n// if dont wrap inside component, when use form component + getFieldDecorator will be show a messege:\n//antd form Function components cannot be given refs\nclass AntdCheckbox extends React.Component {\n render() {\n return ;\n }\n}\n\nconst { Group: AntdCheckboxGroup } = Checkbox;\nAntdCheckbox.Group = function Group(props) {\n return ;\n};\n\nexport default AntdCheckbox;\n","import _get from \"lodash/fp/get\";\n\nexport const isRead = _get(\"read\")\nexport const getId = _get(\"id\")\nexport const getDescription = _get(\"description\")\nexport const getCreatedOn = _get(\"createdOn\")","import React from \"react\";\nimport Empty from \"components/ui/Empty\";\n\nconst NoNotificationMessages = () => (\n
    \n \n
    \n)\n\nNoNotificationMessages.propTypes = {}\nexport default NoNotificationMessages","import React from 'react'\nimport classnames from \"classnames\"\nimport PropTypes from 'prop-types'\nimport Button from 'components/ui/Button'\nimport {Text} from 'components/ui/Typography'\nimport styles from './NotificationMessageListHeader.module.scss'\n\nconst NotificationMessageListHeader = ({onMarkAll}) => (\n
    \n Notifications\n \n
    \n)\n\nNotificationMessageListHeader.propTypes = {\n onMarkAll: PropTypes.func\n}\n\nexport default NotificationMessageListHeader\n","import React, {useCallback} from \"react\"\nimport _size from \"lodash/fp/size\";\nimport classNames from \"classnames\"\nimport List, {Item} from \"components/ui/List\";\nimport {Text, Time} from \"components/ui/Typography\"\nimport Badge from \"components/ui/Badge\";\nimport {getId, isRead, getDescription, getCreatedOn} from \"./notificationMessage.domainData\";\nimport injectToStore from \"./store\"\nimport {useMessageList, useMarkReadAction} from \"./notificationHooks\"\nimport NoNotificationMessages from \"./NoNotificationMessages\";\nimport NotificationMessageListHeader from \"./NotificationMessageListHeader\"\nimport styles from \"./NotificationListLayout.module.scss\";\n\nconst NotificationListLayout = () => {\n const list = useMessageList();\n const [markReadId, markAllRead] = useMarkReadAction();\n const markReadByIdCb = useCallback(({id}) => markReadId(id), [markReadId]);\n return
    \n {!_size(list) ? :\n <>\n \n {\n const read = isRead(item)\n return (\n markReadByIdCb({id: getId(item)})}>\n

    \n
    \n}\n\nNotificationListLayout.propTypes = {}\nexport default injectToStore(NotificationListLayout)","import _get from \"lodash/fp/get\";\nimport _pipe from \"lodash/fp/pipe\";\nimport _over from \"lodash/fp/over\";\nimport _filter from \"lodash/fp/filter\";\nimport _size from \"lodash/fp/size\";\nimport _lt from \"lodash/fp/lt\";\nimport _join from \"lodash/fp/join\";\n\nexport const getRole = _get('role')\nexport const getUserId = _get('id')\nexport const getOwner = _get('owner')\nexport const getFeature = _get('feature')\nexport const getPermissions = _get('permissions')\nexport const getPermission = _get('permission')\nexport const getFirstName = _get('firstName')\nexport const getLastName = _get('lastName')\nexport const getFullName = _pipe([\n _over([_get('firstName'), _get('middleName'), _get('lastName')]),\n _filter(_pipe([_size, _lt(0)])),\n _join(' ')\n])\nexport const getEmail = _get('email')\nexport const getImageURL = _get('imageURL')\nexport const getDepartment = _get('department')\nexport const getPosition = _get('position')\nexport const getSupervisorId = _get('supervisorId')\nexport const getChild = _get('children')\n\nexport const get_id = _get('id')\n// export const getTitle = _get('title')\nexport const get_email = _get('email')\nexport const get_position = _get('position')\nexport const get_department = _get('department')\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varReminderForm\":\"ReminderForm_varReminderForm__DUmYu\",\"animScale\":\"ReminderForm_animScale__2WJ5v\",\"load\":\"ReminderForm_load__2DYTV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varTabs\":\"RemiderTab_varTabs__1Z-O8\",\"animScale\":\"RemiderTab_animScale__1bEBA\",\"load\":\"RemiderTab_load__1iw01\"};","module.exports = __webpack_public_path__ + \"static/media/under-construction.e1297e13.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"menuItem\":\"MenuItem_menuItem__zRX1g\",\"animScale\":\"MenuItem_animScale__329sf\",\"load\":\"MenuItem_load__1-VfM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"userTitle\":\"UserTitle_userTitle__1oYqI\",\"animScale\":\"UserTitle_animScale__2qQXd\",\"load\":\"UserTitle_load__2bk2K\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varComp\":\"MainMenu_varComp__2JIjd\",\"animScale\":\"MainMenu_animScale__2UJDu\",\"load\":\"MainMenu_load__2bfUy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varComp\":\"LeftSide_varComp__3p0Fj\",\"varCompAdmin\":\"LeftSide_varCompAdmin__Il_Ei\",\"animScale\":\"LeftSide_animScale__3_8N3\",\"load\":\"LeftSide_load__26oyM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"varAppLayout\":\"AppShellLayout_varAppLayout__3Peg1\",\"animScale\":\"AppShellLayout_animScale__1OyJ4\",\"load\":\"AppShellLayout_load__3bKdc\"};","module.exports = __webpack_public_path__ + \"static/media/403NoPermission.942030bc.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\",\"loadingWrapper\":\"Loading_loadingWrapper__5Ndes\",\"loadingWrapper__loader\":\"Loading_loadingWrapper__loader__1hret\",\"loadingWrapper__message\":\"Loading_loadingWrapper__message__RnLHf\",\"globalLoading__Text\":\"Loading_globalLoading__Text__3IAzI\",\"loadingWrapper__block1\":\"Loading_loadingWrapper__block1__2OoaS\",\"load\":\"Loading_load__1qyjZ\",\"loadingWrapper__block2\":\"Loading_loadingWrapper__block2__2npZD\",\"loadingWrapper__block3\":\"Loading_loadingWrapper__block3__2z5IP\",\"loadingWrapper__block4\":\"Loading_loadingWrapper__block4__ASsGA\",\"loadingWrapper__block5\":\"Loading_loadingWrapper__block5__zLz-E\",\"loadingWrapper__block6\":\"Loading_loadingWrapper__block6__xOFHp\",\"loadingWrapper__block7\":\"Loading_loadingWrapper__block7__fquhm\",\"loadingWrapper__block8\":\"Loading_loadingWrapper__block8__16qxV\",\"loadingWrapper__block9\":\"Loading_loadingWrapper__block9__3chaR\",\"loadingWrapper__block10\":\"Loading_loadingWrapper__block10__38qCR\",\"loadingWrapper__block11\":\"Loading_loadingWrapper__block11__1GnNT\",\"loadingWrapper__block12\":\"Loading_loadingWrapper__block12__2lJ_7\",\"loadingWrapper__block13\":\"Loading_loadingWrapper__block13__3-F-y\",\"loadingWrapper__block14\":\"Loading_loadingWrapper__block14__5YSVX\",\"loadingWrapper__block15\":\"Loading_loadingWrapper__block15__ymV_y\",\"loadingWrapper__block16\":\"Loading_loadingWrapper__block16__2gkLu\",\"animScale\":\"Loading_animScale__3JbGI\"};","import React from \"react\"\n\nclass ErrorBoundaryLayout extends React.Component {\n componentDidCatch(error, errorInfo) {\n console.log('lazy load component fail')\n console.error(error)\n console.error(errorInfo)\n const errorString = error.toString()\n console.log(errorString)\n // DEV-NOTES: lazy-load components get undefined sometimes (related to bundling & code splitting - unknown root cause)\n // temporary solution: force reload page, will remove this when we update to webpack@4.x\n if (errorString.indexOf('Element type is invalid: expected a string ') >= 0 || errorString.indexOf('Loading chunk') >= 0) {\n // setTimeout(() => window.location.reload(), 1000)\n }\n }\n\n // eslint-disable-next-line react/prop-types\n render = () => this.props.children\n}\n\nErrorBoundaryLayout.propTypes = {}\n\nexport default ErrorBoundaryLayout\n\n\n\n","import React, {lazy, Suspense} from 'react'\nimport ErrorBoundary from './../ErrorBoundary'\nimport Skeleton from './../Skeleton'\n\n\nconst loadable = (importFunc, {fallback = null} = {fallback: }) => {\n const LazyComponent = lazy(importFunc)\n /* eslint-disable react/display-name */\n return props => (\n \n \n \n \n \n )\n}\n\nexport default loadable\n","export const setUserToStorage = (userInfo) => {\n try {\n window.localStorage.setItem('varCurrentUser', JSON.stringify(userInfo))\n } catch (e) {\n console.log(e)\n }\n}\n\nexport const getUserFromStorage = () => {\n try {\n return JSON.parse(window.localStorage.getItem('varCurrentUser'))\n } catch (e) {\n console.log(e)\n return null\n }\n}\n\nexport const removeUserFromStorage = () => {\n try {\n return window.localStorage.clear();\n } catch (e) {\n console.log(e)\n return null\n }\n}\n\nexport const getAuthFromStorage = () => {\n try {\n return JSON.parse(window.localStorage.getItem('auth'))\n } catch (e) {\n console.log(e)\n return null\n }\n}\n","import {getAuthFromStorage, getUserFromStorage, removeUserFromStorage, setUserToStorage} from \"./syncUserToStorage\"\nimport {createSelector} from \"reselect\"\nimport produce from \"immer\"\nimport {MODULE_STATE_NAME} from \"./constants\"\nimport _get from \"lodash/fp/get\"\nimport _pipe from \"lodash/fp/pipe\"\nimport _setFp from \"lodash/fp/set\"\n// convert to mutable\nconst _set = _setFp.convert({'immutable': false})\n\nconst STATE_DEFAULT_VALUE = {\n globalLoading: false,\n notifyInfo: null,\n currentUser: null,\n layoutConfig: null,\n addedBreadcrumb: undefined\n}\n\n\n\n\nexport const initState = () => ({...STATE_DEFAULT_VALUE, currentUser: getUserFromStorage()})\nexport const resetState = () => ({...STATE_DEFAULT_VALUE})\n\n/******************************** GETTER ********************************/\nconst getLocalState = (state) => {\n const local = _get([MODULE_STATE_NAME], state)\n return local || initState()\n}\n\nexport const isLoading = createSelector(\n getLocalState,\n _get(['globalLoading'])\n)\n\nexport const getNotifyInfo = createSelector(\n getLocalState,\n _get(['notifyInfo'])\n)\n\nexport const getLayoutConfig = createSelector(\n getLocalState,\n _get(['layoutConfig'])\n)\n\nexport const getLayoutConfig__pageTitle = createSelector(\n getLayoutConfig,\n (data) => {\n const title = _get(['title'])(data)\n return title ? `VAROOM | ${title}` : 'VAROOM'\n }\n)\n\nexport const getAddedBreadcrumb = createSelector(\n getLocalState,\n _get('addedBreadcrumb')\n)\n\nexport const getLayoutConfig__breadcrumb = createSelector(\n getLayoutConfig,\n getAddedBreadcrumb,\n (layoutConfig, {routes=[], isMerged=false}={}) => {\n const rootRoutes = _get('routes', layoutConfig) || []\n return isMerged ? [...rootRoutes, ...routes] : rootRoutes\n }\n)\n\nexport const getCurrentUser = createSelector(\n getLocalState,\n _get(['currentUser'])\n)\n\n\nexport const isLogin = createSelector(\n getLocalState,\n _get(['currentUser'])\n // (state) => {\n // return _get(['currentUser'], state)\n // }\n)\n\n/******************************** UPDATER ********************************/\n\nexport const updaterLoading = (state, {isLoading}) => produce(state, _set('globalLoading', isLoading))\nexport const updaterNotifyInfo = (state, {notifyInfo}) => produce(state, _set('notifyInfo', notifyInfo))\nexport const updaterLayoutConfig = (state, {layoutConfig}) => produce(state, _pipe([\n _set('layoutConfig', layoutConfig),\n _set('addedBreadcrumb', undefined)\n]))\n\nexport const updaterLayoutConfigBreadcrumb = (state, {routes, isMerged}) => produce(state, _set('addedBreadcrumb', ({routes, isMerged})))\n\n\nexport const updaterCurrentUser = (state, {currentUser}) => produce(state, (state) => {\n setUserToStorage(currentUser);\n return _set('currentUser', currentUser)(state)\n})\n\nexport const updaterResetUser = (state, {callback}) => produce(state, (state) => {\n removeUserFromStorage();\n produce(state, _pipe([\n _set('currentUser', null),\n ]))\n callback && callback()\n return state\n})\n\n\n\nexport const getUserToken = () => {\n return getAuthFromStorage() || null\n}\n","import {MODULE_STATE_NAME} from './constants'\n\n// Actions\nexport const SET_GLOBAL_LOADING = `${MODULE_STATE_NAME}/SET-GLOBAL-LOADING`\nexport const SET_NOTIFY = `${MODULE_STATE_NAME}/SET-NOTIFY`\nexport const SET_LAYOUT_CONFIG = `${MODULE_STATE_NAME}/SET-LAYOUT-CONFIG`\nexport const SET_LAYOUT_CONFIG_BREADCRUMB = `${MODULE_STATE_NAME}/SET-LAYOUT-CONFIG-BREADCRUMB`\nexport const GET_CURRENT_USER = `${MODULE_STATE_NAME}/GET-CURRENT-USER`\nexport const RESET_USER = `${MODULE_STATE_NAME}/RESET-USER`\nexport const GET_CURRENT_USER_SUCCESS = `${MODULE_STATE_NAME}/GET-CURRENT-USER-SUCCESS`\nexport const GET_CURRENT_USER_ERROR = `${MODULE_STATE_NAME}/GET-CURRENT-USER-ERROR`\nexport const UPDATE_CURRENT_USER = `${MODULE_STATE_NAME}/UPDATE-CURRENT-USER`\nexport const UPDATE_CURRENT_USER_SUCCESS = `${MODULE_STATE_NAME}/UPDATE-CURRENT-USER-SUCCESS`\nexport const UPDATE_CURRENT_USER_ERROR = `${MODULE_STATE_NAME}/UPDATE-CURRENT-USER-ERROR`\n","// this value will be used:\n// - main subState to inject to rootState (name to inject dynamic reducer)\n// - inject sub saga\n// MODULE_STATE_NAME\nexport const MODULE_STATE_NAME = 'ctrGlobalApp'\n\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dfoColorPrimary\":\"#366be6\",\"dfoColorSecondary\":\"#16c194\",\"dfoColorWarning\":\"#ff8731\",\"dfoColorDanger\":\"#e03d3d\",\"dfoColorWhite\":\"#fff\",\"ctrModalSize_sm\":\"500px\",\"ctrModalSize_md\":\"700px\",\"ctrModalSize_lg\":\"85vw\",\"dfoBreakpointScreen_xl\":\"1200px\",\"dfoBreakpointScreen_md\":\"768px\",\"dfoBreakpointScreen_sm\":\"576px\",\"dfoLayoutSidebar_width\":\"240px\",\"dfoLayoutSidebar_width__collapsed\":\"64px\",\"dfoLayoutSidebar_zIndex\":\"0\",\"dfoLayoutHeader_height\":\"46px\",\"dfoTagDefaultBg\":\"#989da6\",\"dfoGutterBaseUnit\":\"16px\",\"ctrLayoutHeaderHeight\":\"46px\",\"ctrLayoutSidebarWidth\":\"240px\",\"ctrLayoutSidebarCollapsedWidth\":\"64px\",\"varCharBorderColor\":\"#17afe6\",\"varChartBorderSize\":\"1px\",\"varChartBorderRadius\":\"8px\",\"varProgressStartColor\":\"#ffc426\",\"varProgressEndColor\":\"#a2e62e\"};","/**\n * i18n.js\n *\n * This will setup the i18n language files and locale data for your app.\n *\n * IMPORTANT: This file is used by the internal build\n * script `extract-intl`, and must use CommonJS module syntax\n * You CANNOT use import/export in this file.\n */\n// import {addLocaleData} from 'react-intl';\n\n// const enLocaleData = require('react-intl/locale-data/en');\n// const deLocaleData = require('react-intl/locale-data/de');\n\nconst enTranslationMessages = require('./translations/en.json');\n\n\n// const deTranslationMessages = require('./translations/de.json');\n\n// addLocaleData(enLocaleData);\n// addLocaleData(deLocaleData);\n\nexport const DEFAULT_LOCALE = 'en';\n\n// prettier-ignore\nexport const appLocales = [\n 'en'\n];\n\nexport const formatTranslationMessages = (locale, messages) => {\n const defaultFormattedMessages =\n locale !== DEFAULT_LOCALE\n ? formatTranslationMessages(DEFAULT_LOCALE, {...enTranslationMessages})\n : {};\n\n const flattenFormattedMessages = (formattedMessages, key) => {\n const formattedMessage =\n !messages[key] && locale !== DEFAULT_LOCALE\n ? defaultFormattedMessages[key]\n : messages[key];\n return Object.assign(formattedMessages, { [key]: formattedMessage });\n };\n\n return Object.keys(messages).reduce(flattenFormattedMessages, {});\n};\n\nexport const translationMessages = {\n en: formatTranslationMessages('en', {...enTranslationMessages}),\n // de: formatTranslationMessages('de', deTranslationMessages),\n};\n\n\n// exports.formatTranslationMessages = formatTranslationMessages;\n// exports.translationMessages = translationMessages;\n// exports.DEFAULT_LOCALE = DEFAULT_LOCALE;\n","import React from 'react';\nimport { Provider } from 'react-redux';\nimport { ConnectedRouter } from 'connected-react-router';\nimport LanguageProvider from './components/shared/LanguageProvider';\nimport history from './utils/history';\n// Import i18n messages\nimport { translationMessages } from './i18n';\nimport MainApp from './modules/AppCore'\n\nimport configureStore from './configureStore';\n\nimport './App.scss'\nimport './App.less'\n\n// Create redux store with history\nconst initialState = {};\nconst store = configureStore(initialState, history);\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","/**\n * Create the store with dynamic reducers\n */\n\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport { routerMiddleware } from 'connected-react-router';\nimport createSagaMiddleware from 'redux-saga';\nimport createReducer from './reducers';\n\nexport default function configureStore(initialState = {}, history) {\n let composeEnhancers = compose;\n const reduxSagaMonitorOptions = {};\n\n // If Redux Dev Tools and Saga Dev Tools Extensions are installed, enable them\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'production' && typeof window === 'object') {\n /* eslint-disable no-underscore-dangle */\n if (window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__)\n composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({});\n\n // NOTE: Uncomment the code below to restore support for Redux Saga\n // Dev Tools once it supports redux-saga version 1.x.x\n // if (window.__SAGA_MONITOR_EXTENSION__)\n // reduxSagaMonitorOptions = {\n // sagaMonitor: window.__SAGA_MONITOR_EXTENSION__,\n // };\n /* eslint-enable */\n }\n\n const sagaMiddleware = createSagaMiddleware(reduxSagaMonitorOptions);\n\n // Create the store with two middlewares\n // 1. sagaMiddleware: Makes redux-sagas work\n // 2. routerMiddleware: Syncs the location/URL path to the state\n const middlewares = [sagaMiddleware, routerMiddleware(history)];\n\n const enhancers = [applyMiddleware(...middlewares)];\n\n const store = createStore(\n createReducer(),\n initialState,\n composeEnhancers(...enhancers),\n );\n\n // Extensions\n store.runSaga = sagaMiddleware.run;\n store.injectedReducers = {}; // Reducer registry\n store.injectedSagas = {}; // Saga registry\n\n // Make reducers hot reloadable, see http://mxs.is/googmo\n /* istanbul ignore next */\n if (module.hot) {\n module.hot.accept('./reducers', () => {\n store.replaceReducer(createReducer(store.injectedReducers));\n });\n }\n\n return store;\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n// import './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n
    \n \n
    ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import ROUTES_MY_OKR from \"modules/MyOkrs/Overview\";\nimport {getPathFromRoutes} from \"./settings\";\n\nexport const BASE_URL = process && process.env.NODE_ENV === \"development\" ? \"https://varoom-dev-admin-microservice.azurewebsites.net/api\" : \"https://api.varoomhr.com/api/\";\nexport const CRM_VAROOM_APP_ID = process && process.env.NODE_ENV === \"development\" ? \"62abe6b01b6ffe4bf8f5d926\" : \"62ff5e0fea0fdf2dc80b16ee\";\nexport const SSO_HOSTING_URL = process && process.env.NODE_ENV === \"development\" ? \"https://gpc-login-dev.azurewebsites.net\" : \"https://login.wowsuite.ai\"\nexport const SSO_PROFILE_URL = `${SSO_HOSTING_URL}/profile?appid=${CRM_VAROOM_APP_ID}&callbackurl=${window.location.origin}/${getPathFromRoutes(...ROUTES_MY_OKR)}`\nexport const DFO_OAUTH_URL = `${SSO_HOSTING_URL}?appid=${CRM_VAROOM_APP_ID}`;\nexport const OAUTH_API_URL = process && process.env.NODE_ENV === \"development\"\n ? \"https://oauth-dev-api.azurewebsites.net/api\"\n : \"https://oauth-prod-api.azurewebsites.net/api\";\n\nexport const OAUTH_API_LOGOUT_URL = `${SSO_HOSTING_URL}/signout`\nexport const VAROOM_FAST_API_URL = process && process.env.NODE_ENV === \"development\" ? \"https://vroom.firstcontactai.com\" : \"https://vroom.firstcontactai.com\";","import React from 'react'\nimport PropTypes from 'prop-types'\nimport TypographyAntd from 'antd/es/typography'\nimport './Typography.less'\nimport styles from \"./index.module.scss\"\n\nconst { Title: TitleAntd } = TypographyAntd\nconst Title = props => \n\nconst { Paragraph: ParagraphAntd } = TypographyAntd\nconst Paragraph = props => \n\n\nconst { Text: TextAntd } = TypographyAntd\n\nconst Text = ({primary, secondary, className, ...rest }) => {\n let styleClass = className\n if (primary) {\n styleClass = `${styleClass} ${styles.textPrimary}`.trim()\n } else if (secondary) {\n styleClass = `${styleClass} ${styles.textSecondary}`.trim()\n }\n\n return \n}\nText.defaultProps = {\n className: ''\n}\n\nText.propTypes = {\n className: PropTypes.string,\n primary: PropTypes.bool,\n secondary: PropTypes.bool,\n type: PropTypes.string\n}\n\nexport { Title, Text,Paragraph }\n","import React, {useMemo, useState, useCallback} from \"react\"\nimport PropTypes from \"prop-types\"\nimport {dateTimeFormatter, relativeFormatter, dateShowRelativeArr} from \"utils/dateFormatter\"\n\nimport {Text} from \"./Text\"\n\n\nconst Time = ({time, pattern, showRelative, ...props}) => {\n const [, canShowedRelative] = useMemo(() => dateShowRelativeArr(time), [time])\n\n const relativeString = useMemo(() => relativeFormatter(time), [time])\n const fullString = useMemo(() => dateTimeFormatter(time, pattern), [time, pattern])\n\n const [internal_isShowRelative, set_internal_isShowRelative] = useState(canShowedRelative)\n const toggle = useCallback(() => set_internal_isShowRelative(!internal_isShowRelative), [internal_isShowRelative])\n\n return ({!time ? \"-\" : ((!showRelative || !internal_isShowRelative) ? fullString : relativeString)}
    )\n}\n\nTime.propTypes = {\n time: PropTypes.any,\n pattern: PropTypes.string,\n showRelative: PropTypes.bool\n}\n\nTime.defaultProps = {\n showRelative: true\n}\n\nexport default Time\n\n\n\n","export default function parseLink(link='') {\n return !link ? link : link && (link.toLowerCase().startsWith('http') || link.toLowerCase().startsWith('ftp')) ? link : '//' + link\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport parseLink from \"utils/parseLink\"\n\nconst Link = ({url, children, isOpenNewTab, ...rest}) => url ? (\n {children || url}) : null\nLink.propTypes = {\n isOpenNewTab: PropTypes.any,\n children: PropTypes.any,\n url: PropTypes.string\n}\n\nLink.defaultProps = {\n isOpenNewTab: true\n}\n\nexport default Link\n\n","import _omitBy from 'lodash/fp/omitBy'\nimport _isNil from 'lodash/fp/isNil'\nimport request from './request'\nimport {onError} from './pureFetcher'\n\n\nexport default {\n get: (url, params, data) =>\n request({\n url,\n params: _omitBy(_isNil,params),\n data,\n method: 'GET'\n }).catch(onError),\n\n post: (url, params, data) =>\n request({\n url,\n params,\n data,\n method: 'POST'\n }).catch(onError),\n\n put: (url, params, data) =>\n request({\n url,\n params,\n data,\n method: 'PUT'\n }).catch(onError),\n patch: (url, params, data) =>\n request({\n url,\n params,\n data,\n method: 'PATCH'\n }).catch(onError),\n delete: (url, params, data) =>\n request({\n url,\n params,\n data,\n method: 'DELETE'\n }).catch(onError)\n}\n","export const MODULE_STATE_NAME = \"varoomUserNotification\";\nexport const EMIT_EVENT_SUBSCRIPTION = `companySubscription`","import {MODULE_STATE_NAME} from \"./constants\";\n\nexport const INIT_DATA = `${MODULE_STATE_NAME}/INIT-DATA`;\nexport const RESET_DATA = `${MODULE_STATE_NAME}/RESET-DATA`;\nexport const ADD_NEW_MESSAGE = `${MODULE_STATE_NAME}/ADD-NEW-MESSAGE`;\nexport const GET_MESSAGE_LIST = `${MODULE_STATE_NAME}/GET-MESSAGE-LIST`;\nexport const GET_MESSAGE_LIST_SUCCESS = `${MODULE_STATE_NAME}/GET-MESSAGE-LIST-SUCCESS`;\nexport const GET_MESSAGE_LIST_ERROR = `${MODULE_STATE_NAME}/GET-MESSAGE-LIST-ERROR`;\nexport const MARK_AS_READ = `${MODULE_STATE_NAME}/MARK-AS-READ`;\nexport const MARK_AS_READ_SUCCESS = `${MODULE_STATE_NAME}/MARK-AS-READ-SUCCESS`;\nexport const MARK_AS_READ_ALL = `${MODULE_STATE_NAME}/MARK-AS-READ-ALL`;\nexport const MARK_AS_READ_ALL_SUCCESS = `${MODULE_STATE_NAME}/MARK-AS-READ-ALL-SUCCESS`;\nexport const MARK_AS_READ_ALL_ERROR = `${MODULE_STATE_NAME}/MARK-AS-READ-ALL-ERROR`;\n","import _getOr from \"lodash/fp/getOr\"\nimport _get from \"lodash/fp/get\"\nimport _pipe from \"lodash/fp/pipe\"\nimport _size from \"lodash/fp/size\"\nimport _filter from \"lodash/fp/filter\"\nimport _find from \"lodash/fp/find\"\nimport _setFp from \"lodash/fp/set\"\n\nimport {createSelector} from \"reselect\"\nimport produce from \"immer\"\nimport {MODULE_STATE_NAME} from \"./constants\"\n\n// convert to mutable\nconst _set = _setFp.convert({\"immutable\": false})\n\nconst STATE_DEFAULT_VALUE = {\n messageList: [],\n isInitData: false,\n params: {\n isDesc: true,\n }\n}\n\nexport const initState = () => ({...STATE_DEFAULT_VALUE})\nexport const resetState = () => ({...STATE_DEFAULT_VALUE})\n\n/******************************** GETTER ********************************/\nconst getLocalState = (state) => state[MODULE_STATE_NAME] || initState()\n\nexport const isInitData = createSelector(\n getLocalState,\n _get(\"isInitData\")\n)\n\nexport const getMessageList = createSelector(\n getLocalState,\n _getOr([], \"messageList\")\n)\nexport const getUnreadMessage = _pipe(\n getMessageList,\n _filter({read: false})\n)\n\nexport const getUnreadMessageNumber = _pipe(\n getUnreadMessage,\n _size\n)\n\n/******************************** UPDATER ********************************/\nexport const updaterInitData = (state) => produce(state, _set(\"isInitData\", true))\nexport const updaterMessageList = (state, messageList) => produce(state, _pipe([_set(\"isInitData\", true), _set(\"messageList\", messageList)]))\nexport const updaterMarkAsReadById = (state, id) => produce(state, (draft) => {\n const msg = _find({id: id}, draft.messageList)\n msg && (msg.read = true)\n})\nexport const updaterMarkAllAsRead = (state) => produce(state, (draft) => {\n draft.messageList.forEach((item) => _set('read', true)(item))\n})\nexport const updaterAddMessage = (state, newEvent) => produce(state, (draft) => {\n draft.messageList = [newEvent, ...draft.messageList]\n})\n","import * as signalR from '@microsoft/signalr'\nimport {BASE_URL} from \"utils/ssoSetting\"\nimport {HeaderSetting} from 'fetchers/setting'\n\nlet connection = null\n\nexport function closeConnection() {\n try {\n if (connection) {\n const processing = connection.stop()\n\n processing.then(() => connection = null)\n\n return processing\n }\n } catch (e) {\n console.log('[notificationConnection][closeConnection] fail')\n return Promise.reject('error')\n }\n}\n\nexport const rebuildConnection= () => new Promise((resolve) => {\n closeConnection().then(() => {\n setTimeout(() => resolve(getConnection()), 1000)\n })\n})\n\nexport const getConnection = () => {\n if(!connection) {\n connection = new signalR.HubConnectionBuilder()\n .withUrl(BASE_URL, {accessTokenFactory: () => HeaderSetting.rawToken})\n .withAutomaticReconnect()\n .configureLogging(signalR.LogLevel.Information)\n .build();\n async function startConnection(onConnectedCb) {\n try {\n await connection.start();\n console.log('[notificationConnection][startConnection] connected')\n onConnectedCb && onConnectedCb()\n } catch (err) {\n console.log('[notificationConnection][startConnection] fail')\n setTimeout(startConnection, 5000);\n }\n }\n\n connection.onclose(async () => {\n await startConnection();\n });\n\n startConnection();\n }\n return connection\n}","import { eventChannel } from 'redux-saga'\n\nexport default function createPublishmentChannel(notiConnection ) {\n return eventChannel(emit => {\n\n const onNewNoti = (event) => {\n // puts event payload into the channel\n emit(event)\n }\n\n // setup the subscription\n notiConnection.on('reminderNotification', onNewNoti)\n\n\n const unsubscribe = () => {\n notiConnection.off('reminderNotification', onNewNoti)\n }\n\n return unsubscribe\n })\n}\n","import * as types from './types'\n\n// Action Creators\nexport function initData() {\n return { type: types.INIT_DATA }\n}\n\nexport function resetData() {\n return { type: types.RESET_DATA }\n}\n\nexport function getMessageList() {\n return {type: types.GET_MESSAGE_LIST}\n}\n\nexport function addNewMessage(event) {\n return {type: types.ADD_NEW_MESSAGE, payload: event }\n}\n\nexport function getMessageListSuccess(messageList) {\n return {type: types.GET_MESSAGE_LIST_SUCCESS, payload: messageList}\n}\n\nexport function markReadById(id) {\n return { type: types.MARK_AS_READ, payload: id }\n}\nexport function markReadByIdSuccess(id) {\n return { type: types.MARK_AS_READ_SUCCESS, payload: id }\n}\n\nexport function markAllRead() {\n return {type: types.MARK_AS_READ_ALL}\n}\n\nexport function markAllReadSuccess() {\n return {type: types.MARK_AS_READ_ALL_SUCCESS}\n}\n\nexport function markAllReadFail() {\n return {type: types.MARK_AS_READ_ALL_ERROR}\n}","import _map from \"lodash/fp/map\";\nimport _get from \"lodash/fp/get\";\nimport {put, call, all, select, takeLatest, takeEvery} from \"@redux-saga/core/effects\"\nimport {getNotificationListFetcher, setNotificationMaskAsReadFetcher} from \"fetchers/user.fetcher\"\nimport {UPDATE_LOGGED_USER_INFO} from \"modules/Auth/GateWay/store/types.js\"\nimport {rebuildConnection, getConnection} from \"./notificationConnection\"\nimport createPublishmentChannel from \"./publishmentChannel\"\nimport * as types from \"./types\";\nimport * as actions from \"./actions\";\nimport * as stateManager from \"./stateManager\";\n\n\nfunction* reloadMessageListOnConnected() {\n yield put(actions.getMessageList())\n}\n\nfunction* attachEventHandler() {\n const connection = yield call(getConnection, reloadMessageListOnConnected)\n const publishChannel = yield call(createPublishmentChannel, connection)\n yield takeEvery(publishChannel, addNewMessage)\n}\n\nfunction* addNewMessage(event) {\n try {\n yield put(actions.addNewMessage(event))\n } catch (e) {\n console.log(e)\n }\n}\n\nfunction* initData() {\n yield put(actions.getMessageList())\n yield call(attachEventHandler)\n}\n\nfunction* sendMessageListRequest() {\n try {\n const response = yield call(getNotificationListFetcher)\n console.log(\"response\", response)\n yield put(actions.getMessageListSuccess(response.results))\n } catch (e) {\n console.log(e)\n }\n}\n\nfunction* sendMarkAsReadRequest({payload: id}) {\n try {\n yield call(setNotificationMaskAsReadFetcher, id)\n yield put(actions.markReadByIdSuccess(id))\n } catch (e) {\n console.log(e)\n }\n}\n\nfunction* watchMarkAllAsReadRequest() {\n try {\n const unreadMsg = yield select(stateManager.getUnreadMessage)\n const unreadIds = _map(_get(\"id\"), unreadMsg)\n yield put(actions.markAllReadSuccess())\n yield all(_map((id => call(sendMarkAsReadRequest, {payload: id})), unreadIds))\n } catch (e) {\n console.log(e)\n yield put(actions.markAllReadFail())\n }\n}\n\nfunction* watchUpdateLoggedUserInfo() {\n try {\n yield put(actions.resetData())\n const result = yield call(rebuildConnection)\n console.log(result)\n yield put(actions.initData())\n } catch(e) {\n console.log('watchUpdateLoggedUserInfo')\n console.log(e)\n }\n}\n\n\nexport default function* rootSaga() {\n yield takeLatest(types.GET_MESSAGE_LIST, sendMessageListRequest)\n yield takeLatest(types.MARK_AS_READ_ALL, watchMarkAllAsReadRequest)\n yield takeLatest(types.MARK_AS_READ, sendMarkAsReadRequest)\n yield takeLatest(types.INIT_DATA, initData)\n yield takeLatest(UPDATE_LOGGED_USER_INFO, watchUpdateLoggedUserInfo)\n}\n","import {DAEMON} from 'utils/constants'\nimport injectReducer from 'utils/injectReducer'\nimport reducer from './reducer'\nimport injectSaga from 'utils/injectSaga'\nimport saga from './saga'\nimport { compose } from 'redux'\nimport { MODULE_STATE_NAME } from './constants'\n\nexport * as actions from './actions'\nexport * as stateManager from './stateManager'\n\nconst withReducer = injectReducer({ key: MODULE_STATE_NAME, reducer })\nconst withSaga = injectSaga({ key: MODULE_STATE_NAME, saga, mode: DAEMON })\n\nconst injectToStore = compose(\n withReducer,\n withSaga\n)\n\nexport default injectToStore\n","import * as types from './types'\nimport * as stateManager from './stateManager'\n\n// Reducer\nexport default function reducer(state = stateManager.initState(), {type, payload}) {\n switch (type) {\n case types.INIT_DATA:\n return stateManager.updaterInitData(state)\n case types.RESET_DATA:\n return stateManager.resetState()\n case types.ADD_NEW_MESSAGE:\n return stateManager.updaterAddMessage(state, payload)\n case types.GET_MESSAGE_LIST_SUCCESS:\n return stateManager.updaterMessageList(state, payload)\n case types.GET_MESSAGE_LIST_ERROR:\n return stateManager.updaterMessageList(state, [])\n case types.MARK_AS_READ:\n return stateManager.updaterMarkAsReadById(state, payload)\n case types.MARK_AS_READ_ALL_SUCCESS:\n return stateManager.updaterMarkAllAsRead(state)\n default:\n return state\n }\n}"],"sourceRoot":""}