{"version":3,"sources":["packages/ui/Table/index.ts","packages/redux/configure-store.ts","packages/redux/store.tsx","packages/redux/reducers/account-reducer.ts","packages/redux/reducers/tenant-reducer.ts","packages/redux/reducers/uebersicht-reducer.ts","packages/redux/reducers/ops-reducer.ts","packages/redux/reducers/drg-reducer.ts","packages/redux/reducers/bg-reducer.ts","packages/redux/reducers/mdc-reducer.ts","packages/redux/reducers/fab-reducer.ts","packages/redux/reducers/kh-reducer.ts","packages/redux/reducers/nl-bg-reducer.ts","packages/redux/reducers/nl-drg-reducer.ts","packages/redux/reducers/nl-thema-reducer.ts","packages/redux/reducers/nl-ops-reducer.ts","packages/redux/reducers/ergebnis-reducer.ts","packages/redux/reducers/zwischenergebnis-reducer.ts","packages/pages/global-page-style.scss","packages/redux/helpers/localstorage.ts","packages/redux/actions/account-actions.ts","packages/redux/actions/tenant-actions.ts","packages/redux/actions/zwischenergebnis-actions.ts","packages/redux/helpers/patch-request.ts","packages/redux/actions/uebersicht-actions.ts","packages/redux/actions/types.ts","packages/redux/actions/ops-actions.ts","packages/redux/actions/drg-actions.ts","packages/redux/actions/bg-actions.ts","packages/redux/actions/mdc-actions.ts","packages/redux/actions/fab-actions.ts","packages/redux/actions/kh-actions.ts","packages/redux/actions/nl-bg-actions.ts","packages/redux/actions/nl-drg-actions.ts","packages/redux/actions/nl-thema-actions.ts","packages/redux/actions/nl-ops-actions.ts","packages/redux/actions/ergebnis-actions.ts","packages/redux/index.ts","packages/ui/Alert/Style.scss","packages/ui/TreeView/Helper/isMatchingFilter.ts","packages/ui/TreeView/index.ts","packages/ui/ClickAwayListener/ClickAwayListener.tsx","packages/ui/ClickAwayListener/index.ts","packages/ui/TabControl/Style.scss","packages/ui/DropDownList/DropDownListItem.tsx","packages/ui/DropDownList/DropDownList.tsx","packages/ui/DropDownList/DropDownListLinkItem.tsx","packages/ui/DropDownList/index.ts","packages/ui/TreeView/Helper/getNode.ts","packages/ui/Table/Style.scss","packages/ui/TreeView/TreeViewNode.tsx","packages/ui/Table/TableRowStringCell.tsx","packages/ui/Utils/ownerDocument.ts","packages/ui/VirtualList/Constants.ts","packages/ui/VirtualList/SizeAndPositionManager.ts","packages/ui/VirtualList/VirtualList.tsx","packages/ui/VirtualList/index.ts","packages/ui/Tooltip/Style.scss","packages/ui/FormControl/Style.scss","packages/ui/Loader/Style.scss","packages/ui/ListView/Styles/Style.scss","packages/ui/Prototypes/String.ts","packages/ui/TreeView/Helper/defaultSelectionHelper.ts","packages/ui/TreeView/TreeView.tsx","packages/ui/FormControl/FormControl.tsx","packages/ui/Inputs/Helpers/InputHint.tsx","packages/ui/Inputs/Textbox.tsx","packages/ui/Inputs/Checkbox.tsx","packages/ui/Inputs/Radio.tsx","packages/ui/Inputs/Button.tsx","packages/ui/Inputs/index.ts","packages/ui/Table/TableRowBooleanCell.tsx","packages/ui/Table/TableRowNumberCell.tsx","packages/ui/Table/table-row-textbox-cell.tsx","packages/ui/Table/TableHeader.tsx","packages/ui/Table/TableHeaderCellSizer.tsx","packages/ui/Table/TableHeaderFilterPopup.tsx","packages/ui/Utils/getAllParents.ts","packages/ui/Table/TableHeaderFilterButton.tsx","packages/ui/Table/TableHeaderCell.tsx","packages/ui/Table/TableRow.tsx","packages/ui/Utils/getPropertyName.ts","packages/ui/Utils/sortByProperty.ts","packages/ui/Prototypes/Array.ts","packages/ui/Table/TableFilterSummary.tsx","packages/ui/Table/TableFilterSummaryItem.tsx","packages/ui/Table/TableSummary.tsx","packages/ui/Table/TableSummaryCell.tsx","packages/ui/Table/Table.tsx","packages/ui/Utils/getScrollBarWidth.ts","packages/ui/Utils/isNumeric.ts","packages/ui/Utils/isBoolean.ts","packages/ui/Header/Style.scss","files/img/brand.svg","packages/ui/Popper/Style.scss","packages/pages/main/style.scss","files/icons/arrow_up.png","packages/ui/Loader/Loader.tsx","packages/ui/Loader/index.ts","files/icons/arrow_down.png","files/icons/stift-icon.png","files/icons/Icon-info.png","packages/pages/helpers/get-custom-filters.tsx","packages/ui/Toolbar/Toolbar.tsx","packages/ui/Toolbar/ToolbarItem.tsx","packages/ui/Toolbar/ToolbarSeparator.tsx","packages/ui/Toolbar/ToolbarDropDownItem.tsx","packages/ui/Toolbar/index.ts","packages/ui/Inputs/Styles/Style.scss","packages/ui/Toolbar/Style.scss","packages/ui/FormulaTree/Style.scss","packages/ui/Table/TableRowCheckboxCell.tsx","packages/ui/Header/HeaderTenantItem.tsx","packages/ui/Header/Header.tsx","packages/ui/Header/HeaderNavItem.tsx","packages/ui/Header/HeaderMenuItem.tsx","packages/ui/Header/HeaderNavSeparatorItem.tsx","packages/ui/Header/HeaderMenuSeparatorItem.tsx","packages/ui/Header/HeaderSubNavItem.tsx","packages/pages/main/routing.tsx","packages/pages/auth/callback.tsx","packages/ui/Theming/LightTheme.tsx","packages/ui/Theming/DarkTheme.tsx","packages/ui/Theming/Theming.tsx","packages/ui/ContextMenu/ContextMenu.tsx","packages/ui/ContextMenu/ContextMenuItem.tsx","packages/ui/ContextMenu/ContextMenuSeparator.tsx","packages/ui/ContextMenu/ContextMenuPopup.tsx","packages/pages/main/layout.tsx","packages/ui/Alert/Alert.tsx","packages/pages/uebersicht/main/index.tsx","packages/pages/uebersicht/mindestmengen/index.tsx","packages/pages/uebersicht/entwicklung/index.tsx","packages/pages/vordefinition/ops/index.tsx","packages/pages/vordefinition/drg/index.tsx","packages/pages/vordefinition/bg/index.tsx","packages/pages/vordefinition/mdc/index.tsx","packages/pages/vordefinition/fab/index.tsx","packages/pages/modifikation/ops/index.tsx","packages/pages/modifikation/drg/index.tsx","packages/pages/modifikation/bg/index.tsx","packages/pages/modifikation/mdc/index.tsx","packages/pages/modifikation/fab/index.tsx","packages/pages/modifikation-kh/index.tsx","packages/pages/modifikation-kh/fda/index.tsx","packages/pages/neue-leistungen/bg/index.tsx","packages/pages/neue-leistungen/drg/index.tsx","packages/pages/neue-leistungen/neue-themen/index.tsx","packages/pages/neue-leistungen/ops/index.tsx","packages/pages/e1-formular/index.tsx","packages/pages/e1-formular/ueberlieger/index.tsx","packages/pages/e1-formular/mindestmengen/index.tsx","packages/pages/e1-formular/fda/index.tsx","packages/pages/e1-formular/fdanachverhandlung/index.tsx","packages/pages/e1-formular/e1nachverhandlung/index.tsx","packages/pages/main/routes.tsx","packages/pages/helpers/get-host.ts","App.tsx","serviceWorker.js","index.js","packages/redux/user-manager.ts","packages/ui/ContextMenu/Style.scss","packages/ui/Utils/setRef.ts","packages/ui/RootRef/RootRef.tsx","packages/ui/Portal/Portal.tsx","packages/ui/Popper/Popper.tsx","packages/ui/Tooltip/Tooltip.tsx","packages/ui/Tooltip/index.ts","packages/ui/OptionalLink/OptionalLink.tsx","packages/ui/OptionalLink/index.ts","packages/ui/TreeView/Styles/Style.scss","packages/ui/DropDownList/Style.scss","packages/pages/helpers/page-container.tsx","packages/ui/FormulaTree/FormulaTree.tsx","packages/ui/FormulaTree/FormulaTreeHeader.tsx","packages/ui/FormulaTree/FormulaTreeHeaderText.tsx","packages/ui/FormulaTree/FormulaTreeHeaderItem.tsx","packages/ui/FormulaTree/FormulaTreeHeaderItems.tsx","packages/ui/FormulaTree/FormulaTreeItem.tsx","packages/ui/FormulaTree/FormulaTreeItems.tsx","packages/pages/helpers/page-formula-tree.tsx","packages/pages/helpers/page-loader.tsx","packages/ui/ListView/ListView.tsx","packages/pages/helpers/page-reports.tsx","packages/ui/TabControl/TabControl.tsx","packages/ui/TabControl/Tab.tsx","packages/pages/helpers/page-tab-control.tsx","packages/pages/helpers/page-table.tsx","packages/pages/helpers/page-tree-view.tsx","packages/pages/helpers/index.ts","packages/redux/helpers/get-layer-nodes.tsx"],"names":["_Interfaces_ITableColumn__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","o","d","__webpack_exports__","_Interfaces_ITableRowEventArgs__WEBPACK_IMPORTED_MODULE_1__","_Interfaces_ITableFilter__WEBPACK_IMPORTED_MODULE_2__","_Table__WEBPACK_IMPORTED_MODULE_3__","_TableRowStringCell__WEBPACK_IMPORTED_MODULE_4__","_TableRowNumberCell__WEBPACK_IMPORTED_MODULE_6__","_TableRowCheckboxCell__WEBPACK_IMPORTED_MODULE_7__","_table_row_textbox_cell__WEBPACK_IMPORTED_MODULE_8__","configureStore","redux__WEBPACK_IMPORTED_MODULE_0__","redux_thunk__WEBPACK_IMPORTED_MODULE_1__","connected_react_router__WEBPACK_IMPORTED_MODULE_2__","connected_react_router__WEBPACK_IMPORTED_MODULE_3__","redux_oidc__WEBPACK_IMPORTED_MODULE_4__","redux_oidc__WEBPACK_IMPORTED_MODULE_4___default","n","_user_manager__WEBPACK_IMPORTED_MODULE_5__","_store__WEBPACK_IMPORTED_MODULE_6__","history","initialState","windowIfDefined","window","devToolsExtension","__REDUX_DEVTOOLS_EXTENSION__","oidcMiddleware","createOidcMiddleware","userManager","compose","applyMiddleware","thunk","routerMiddleware","next","createStore","createStoreWithMiddleware","allReducers","combineReducers","Object","assign","router","connectRouter","oidc","oidcReducer","buildRootReducer","reducers","_reducers_account_reducer__WEBPACK_IMPORTED_MODULE_0__","_reducers_tenant_reducer__WEBPACK_IMPORTED_MODULE_1__","_reducers_uebersicht_reducer__WEBPACK_IMPORTED_MODULE_2__","_reducers_ops_reducer__WEBPACK_IMPORTED_MODULE_3__","_reducers_drg_reducer__WEBPACK_IMPORTED_MODULE_4__","_reducers_bg_reducer__WEBPACK_IMPORTED_MODULE_5__","_reducers_mdc_reducer__WEBPACK_IMPORTED_MODULE_6__","_reducers_fab_reducer__WEBPACK_IMPORTED_MODULE_7__","_reducers_kh_reducer__WEBPACK_IMPORTED_MODULE_8__","_reducers_nl_bg_reducer__WEBPACK_IMPORTED_MODULE_9__","_reducers_nl_drg_reducer__WEBPACK_IMPORTED_MODULE_10__","_reducers_nl_thema_reducer__WEBPACK_IMPORTED_MODULE_11__","_reducers_nl_ops_reducer__WEBPACK_IMPORTED_MODULE_12__","_reducers_ergebnis_reducer__WEBPACK_IMPORTED_MODULE_13__","_reducers_zwischenergebnis_reducer__WEBPACK_IMPORTED_MODULE_14__","account","AccountReducer","tenant","TenantReducer","uebersicht","UebersichtReducer","ops","OpsReducer","drg","DrgReducer","bg","BgReducer","mdc","MdcReducer","fab","FabReducer","kh","KhReducer","nlBg","NlBgReducer","nlDrg","NlDrgReducer","nlThema","NlThemaReducer","nlOps","NlOpsReducer","ergebnis","ErgebnisReducer","zwischenergebnis","ZwischenergebnisReducer","reducer","state","arguments","length","undefined","action","type","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_0__","isInterimResultVisible","selectedTenant","mengen","dialysen","faktoren","informationen","entwicklungsquoten","entwicklungsquotenschnitt","vg","isFetching","error","response","data","errorMessage","message","isPatching","items","opss","drgs","fabs","standorte","layers","nodes","standort","bgs","selectedFab","key","value","selectedStandort","selectedNode","getLayerNodes","first","nodesFilter","mdcs","fda","sum","khs","isFetchingSum","share","themen","itemsMl","ueberlieger","reports","fdamod","fdathemen","fdaergebnis","fdaml","mengendrgliste","verbund","isFetchingReports","errorReports","errorMessageReports","module","exports","page","page2","page3","page4","pageCalculateContainer","pageCalculate","pageContent","isLayers","isInterimResults","isReports","pageHeaderIcon","pageHeader","pageCollapseButton","pageToolbarDummy","withoutBorder","pageTable","pageLayers","pageContent2","pageContent3","pageContent4","pageTabs","pageTabPanel","listViewReportItem","listViewReportItemIcon","listViewReportItemText","fdawarning","STORAGE_KEY","get","isBase64","localStorage","getItem","columnWidths","atob","JSON","parse","set","oldValue","newValue","btoa","stringify","setItem","showInterimResult","localstorage","hideInterimResult","reset","tenantId","Axios","post","concat","setTimeout","location","reload","actionCreators","setTenant","getCustomFilters","ik","getZwischenergebnis","_ref","asyncToGenerator","regenerator_default","a","mark","_callee","dispatch","update","wrap","_context","prev","abrupt","pathname","includes","sent","t0","stop","this","_x","apply","patchRequest","_x2","_x3","_x4","_x5","_x6","_x7","_x8","_patchRequest","endpoint","patches","types","recordRef","getSum","getInterim","patched","patch","params","re","fallnr_neu","effgew_neu","fallzahl_absolut","fallzahl_relativ","effgew_absolut","effgew_relativ","fallzahl_vb_absolut","fallzahl_vb_relativ","effgew_vb_absolut","effgew_vb_relativ","differenz_absolut","differenz_relativ","effgew_differenz_absolut","effgew_differenz_relativ","fallzahl","effgew","thema","Layers","getUebersichtInitial","informationenresponse","dialysenresponse","faktorenresponse","vgresponse","getEntwicklungInitial","_ref2","_callee2","entwicklungsquotenresponse","entwicklungsquotenschnittresponse","_context2","getMengenInitial","_ref3","_callee3","_context3","getQuoten","then","res","quoten","catch","pdfinek","_callee4","file","url","_context4","responseType","Blob","navigator","msSaveOrOpenBlob","document","createElement","URL","createObjectURL","href","download","body","appendChild","click","removeChild","revokeObjectURL","vereinbarungsgrouping","_callee5","_context5","setZielWert","_ref6","_callee6","_context6","API_ENDPOINT","setFaktor","_ref7","_callee7","_context7","changeAbsenkung","_ref8","_callee8","_context8","setQuoten","_ref9","_callee9","_context9","changeDB","db","_ref10","_callee10","_context10","setMengenVD","field","_ref11","_callee11","_context11","_x9","getOpss","getOpssMod","patchSingleOps","path","patchManyOps","patchSingleOpsMod","patchManyOpsMod","_ref4","getDrgs","getDrgsVordefinition","patchSingleDrg","patchManyDrg","patchSingleDrgVordefinition","patchManyDrgVordefinition","getBgIntitial","fabResponse","standortResponse","bgResponse","layerResponse","getBgVordefinitionIntitial","getBgs","layer","name","getBgsVordefinition","patchSingleBg","_ref5","patchSingleBgVordefinition","patchManyBg","patchManyBgVordefinition","setFab","setStandort","setNode","currentlySelectedNode","objectSpread","defaultSelectionHelper","setNodeFilter","filter","getMdcs","getMdcsVordefinition","patchSingleMdc","patchManyMdc","patchSingleMdcVordefinition","patchManyMdcVordefinition","getFabs","getFabsVordefinition","patchSingleFab","patchManyFab","patchSingleFabVordefinition","patchManyFabVordefinition","getKhs","sumResponse","getFda","fdaresponse","patchSingleKh","patchSingleFda","patchManyKh","getKhsSum","shareResponse","GetFab","GetStandort","patchAnteil","f","getNlBgsSum","getNlDrgsInitial","getNlDrgs","patchSingleNlDrg","patchManyNlDrg","getNlDrgsSum","getTopicsInitial","topicResponse","getTopics","patchSingleThema","patchManyThema","getTopicsSum","getOpssInitial","opsResponse","getOpssSum","getErgebnis","_verbund","getErgebnisMl","_verbund2","getUeberlieger","_verbund3","getMengen","liste","_verbund4","themenresponse","ergebnisresponse","getFdaErgebnis","getFdaMl","patchFdaThema","patchFdaMl","getReports","_x10","transfer","_x11","calculate","_ref12","_callee12","_verbund5","_context12","_x12","calculateml","_ref13","_callee13","_verbund6","_context13","_x13","calculateueberlieger","_ref14","_callee14","_verbund7","_context14","_x14","calculatefda","_ref15","_callee15","modresponse","_context15","_x15","calculatefdaml","_ref16","_callee16","_context16","_x16","excel","_ref17","_callee17","_context17","_x17","excelzvmo","_ref18","_callee18","_context18","_x18","excelzvmoherleitung","_ref19","_callee19","_context19","_x19","excelzvmofda","_ref20","_callee20","_context20","_x20","excelMl","_ref21","_callee21","_context21","_x21","excelzvmoMl","_ref22","_callee22","_context22","_x22","account_actions_namespaceObject","tenant_actions_namespaceObject","uebersicht_actions_namespaceObject","ops_actions_namespaceObject","drg_actions_namespaceObject","bg_actions_namespaceObject","mdc_actions_namespaceObject","fab_actions_namespaceObject","kh_actions_namespaceObject","nl_bg_actions_namespaceObject","nl_drg_actions_namespaceObject","nl_thema_actions_namespaceObject","nl_ops_actions_namespaceObject","ergebnis_actions_namespaceObject","zwischenergebnis_actions_namespaceObject","alert","info","warning","header","isMatchingFilter","node","isMatch","content","toLowerCase","indexOf","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","err","return","_Types_INode__WEBPACK_IMPORTED_MODULE_0__","_Helper_defaultSelectionHelper__WEBPACK_IMPORTED_MODULE_2__","_TreeView__WEBPACK_IMPORTED_MODULE_4__","ClickAwayListener","_React$Component","_getPrototypeOf2","_this","classCallCheck","_len","args","Array","_key","possibleConstructorReturn","getPrototypeOf","call","mounted","moved","handleClickAway","e","defaultPrevented","doc","ownerDocument","documentElement","contains","target","props","onClickAway","handleTouchMove","inherits","createClass","ReactDOM","findDOMNode","_this$props","children","mouseEvent","touchEvent","other","objectWithoutProperties","listenerProps","onTouchMove","react_default","Fragment","react_event_listener_cjs_default","React","Component","defaultProps","ClickAwayListener_ClickAwayListener","tabcontrol","tabs","tab","isSelected","DropDownListItem","onClick","dataSource","_this$props2","style","classes","classnames","styles","defineProperty","className","State","selectedItem","DropDownList","onItemClick","item","onSelectionChanged","where","setState","renderItems","itemInfo","renderItem","index","cloneElement","DropDownListItem_DropDownListItem","VirtualList","innerClassName","maxHeight","itemCount","itemSize","DropDownListLinkItem","to","OptionalLink","DropDownList_DropDownList","DropDownListLinkItem_DropDownListLinkItem","getNode","nodeId","returnVal","id","mainGrid","gridChildFilterSummary","gridChildTable","tableContainer","summaryIsVisible","HeaderContainer","summaryContainer","headerCell","showHoverState","disabled","headerCellText","alignRight","headerCellIcon","headerCellFilterButton","headerCellSizer","headerCellFilterPopup","separator","filterItem","actions","summary","summaryCell","summaryCellText","table","tableRow","tableRowCell","tableRowStringCell","tableRowNumberCell","tableRowBooleanCell","isChecked","filterSummary","filterSummaryHeader","filterSummaryItems","filterSummaryItem","itemText","itemBtn","TreeViewNode","_Component","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__","getPaddingLeft","level","paddingLeft","onNodeSelect","onContentRef","ref","scrollWidth","clientWidth","title","innerText","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__","_this2","getChildNodes","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_6___default","visibility","isToggled","mdi_react_ChevronDownIcon__WEBPACK_IMPORTED_MODULE_8___default","size","mdi_react_ChevronRightIcon__WEBPACK_IMPORTED_MODULE_9___default","icon","map","childNode","TableRowStringCell","_rowTextRef","createRef","setTitle","current","width","ALIGNMENT","DIRECTION","SCROLL_CHANGE_REASON","scrollProp","_scrollProp","VERTICAL","HORIZONTAL","sizeProp","_sizeProp","positionProp","_positionProp","marginProp","_marginProp","oppositeMarginProp","_oppositeMarginProp","SizeAndPositionManager","itemSizeGetter","estimatedItemSize","itemSizeAndPositionData","lastMeasuredIndex","Error","lastMeasuredSizeAndPosition","getSizeAndPositionOfLastMeasuredItem","offset","i","isNaN","_ref3$align","align","START","containerSize","currentOffset","targetIndex","idealOffset","datum","getSizeAndPositionForIndex","maxOffset","minOffset","END","CENTER","Math","max","min","totalSize","getTotalSize","overscanCount","start","findNearestItem","binarySearch","high","low","exponentialSearch","middle","floor","interval","STYLE_WRAPPER","overflow","willChange","WebkitOverflowScrolling","STYLE_INNER","position","minHeight","STYLE_ITEM","top","left","STYLE_STICKY_ITEM","getSize","sizeAndPositionManager","getEstimatedItemSize","scrollOffset","scrollToIndex","getOffsetForIndex","scrollChangeReason","REQUESTED","rootNode","styleCache","getRef","innerRef","handleScroll","event","onScroll","getNodeOffset","OBSERVED","addEventListener","passive","scrollTo","nextProps","scrollToAlignment","scrollPropsHaveChanged","itemPropsHaveChanged","updateConfig","recomputeSizes","_","prevState","_this$state","removeEventListener","_this$props$scrollDir","scrollDirection","_this$props$scrollDir2","getUpdatedOffsetForIndex","startIndex","resetItem","_this$props3","height","_this$props3$overscan","onItemsRendered","_this$props3$scrollDi","stickyIndices","_this$sizeAndPosition","getVisibleRange","wrapperStyle","innerStyle","forEach","push","getStyle","display","stopIndex","p","react","_this$props$scrollDir3","isArray","sticky","_objectSpread3","_objectSpread4","_this$props$scrollDir4","_this$sizeAndPosition2","VirtualList_VirtualList","tooltip","placementLeft","placementRight","placementTop","placementBottom","FormControl","CantShrink","AlignLeft","overlay","overlayTopmost","container","listView","listViewItemsContainer","listViewItems","String","prototype","toUpperCaseFirstChar","charAt","toUpperCase","slice","format","toString","replace","match","num","removeBefore","char","includeChar","str","substr","removeAfter","padEnd","targetLength","padString","repeat","splitJoinByCaps","seperator","split","join","newNodes","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__","newSelectedNode","TreeView","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__","setIds","round","random","onSelect","onClearSelection","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__","isFilterable","onFilterChange","react__WEBPACK_IMPORTED_MODULE_5___default","_Inputs__WEBPACK_IMPORTED_MODULE_8__","placeholder","onValueChange","_TreeViewNode__WEBPACK_IMPORTED_MODULE_7__","_React$PureComponent","_classnames","canShrink","alignLeft","Styles","InputHint","Textbox","_args","isFocused","onChange","maxLength","onChangeValue","substring","stringValue","numberValue","valueAsNumber","onChangeNumber","floatValue","onBlur","onLostFocus","renderInput","_this$props4","variant","rest","defaultValue","isShrinkable","number_format_default","thousandSeparator","decimalSeparator","decimalScale","isNumericString","fixedDecimalScale","suffix","_this$props5","formControlStyle","label","hint","FormControl_FormControl","InputHint_InputHint","marginTop","Checkbox","isReadOnly","isDisabled","onCheckedChanged","checked","readOnly","CheckIcon_default","marginLeft","Radio","_id","group","htmlFor","Button","text","Textbox_Textbox","Checkbox_Checkbox","Radio_Radio","Button_Button","TableRowBooleanCell","mdi_react_CheckCircleIcon__WEBPACK_IMPORTED_MODULE_9___default","mdi_react_CheckboxBlankCircleOutlineIcon__WEBPACK_IMPORTED_MODULE_10___default","TableRowNumberCell","TableRowTextboxCell","nullable","accessor","onCellChange","onFocus","tagName","select","onCellLostFocus","prevProps","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_0__","precision","TableHeader","forwardRef","TableHeader_TableHeader","TableHeaderCellSizer","_startOffset","_isLeftMouseDown","onMouseDown","button","columnWidth","pageX","onMouseMove","onMouseUp","onDragStopped","onDrag","onMouseEnter","onMouseLeave","filterSettings","command","value1","value2","summaryText","commandCanExecute","Inputs","stateValue","handler","TableHeaderFilterPopup","open","handleTooltipOpen","onOpen","stopPropagation","handleTooltipClose","parents","getAllParents","elem","elems","parent","parentElement","toConsumableArray","any","hasAttribute","closePopup","handleTextChanged","eArgs","handleFilterApply","accessorType","onFilterApply","filters","_loop","hasOwnProperty","column","columnName","columnType","onClose","newState","console","log","renderFilters","accessorSource","fields","f2","canExecute","completeDistinctData","renderContent","x-popup","customFilters","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_loop2","cf","fs","_iterator2","_i","_loop3","filterValue","appliedFilters","Tooltip","placement","opacity","disableFocusListener","disableHoverListener","disableTouchListener","TableHeaderFilterButton","isFilterSet","FilterIcon_default","FilterOutlineIcon_default","isResizing","TableHeaderCell","_headerTextRef","_isFilterOpen","sortDirection","onSort","onResizeColumn","onResize","onResizeColumnStopped","onFilterOpen","onFilterClose","isSortable","isResizable","textClasses","TableHeaderFilterPopup_TableHeaderFilterPopup","TableHeaderFilterButton_TableHeaderFilterButton","src","arrowUp","arrowDown","TableHeaderCellSizer_TableHeaderCellSizer","TableRow","emitEvent","onDoubleClick","onRightClick","eventArgs","rowIndex","onContextMenu","getPropertyName","func","propName","exec","sortByProperty","array","propertyName","sort","b","x","y","expr","result","some","all","every","_this3","last","removeAt","matched","splice","remove","distinct","prims","boolean","number","string","objs","orderBy","orderByString","property","orderByDescending","orderByStringDescending","TableFilterSummary","onClearFilter","CloseIcon_default","TableFilterSummaryItem","onButtonClick","isButtonVisible","isDefaultValueSelected","TableSummary","TableSummary_TableSummary","TableSummaryCell","columns","currentFilters","virtualListHeight","virtualListHasScrollbar","virtualListScrollbarWidth","sortedColumn","c","currentSortedColumn","selectedRowIndex","Table","_dataSource","_tableHeader","_tableSummary","_rowsContainer","_virtualList","getDefaultFilters","defaultValueColumn","accessortype","getColumnType","getFilters","defaultFilters","df","setVirtualListRef","setVirtualListHeight","offsetHeight","hasScrollbar","isScrollbarVisible","inner","outer","w1","offsetWidth","w2","getScrollBarWidth","onRowClick","onRowDoubleClick","onRowRightClick","onColumnSort","onColumnFilter","onFilter","newFilters","SetFilters","onColumnResize","widths","newWidth","scrollLeft","onWindowResize","handleFilterRemove","handleFilterRemoveAll","ResetFilters","firstNonNullColumn","testValue","isString","obj","isBoolean","renderFilterSummary","TableFilterSummary_TableFilterSummary","TableFilterSummaryItem_TableFilterSummaryItem","renderHeader","_this$state2","TableHeaderCell_TableHeaderCell","renderSummary","_this$state3","customWidth","reduce","pv","cv","summaryValue","TableSummaryCell_TableSummaryCell","renderRows","keyAccessor","TableRow_TableRow","colIndex","cell","computedValue","scrollHeight","clientHeight","onRenderDataSource","newDataSource","returnValue","parseFloat","r","_this$state4","getDataSource","Table_TableHeader","Table_TableSummary","headerTop","headerBottom","brand","isTenantDisabled","tenantText","tenantIcon","nav","navItem","isActive","navItemText","navItemIcon","navSeparator","menu","menuItem","menuItemText","menuItemIcon","menuSeparator","subNav","subNavItem","subNavItemText","popper","MainContainer","TenantNavItemIcon","LoaderStyle","Loader","renderLoaderStyle1","xmlns","xmlnsXlink","viewBox","enableBackground","xmlSpace","fill","attributeType","attributeName","from","dur","repeatCount","renderLoaderStyle2","renderLoaderStyle3","renderLoaderStyle4","version","values","begin","renderLoaderStyle5","renderLoaderStyle6","renderLoaderStyle7","renderLoaderStyle8","loaderStyle","infoText","isTopMost","small","svg","style1","style2","style3","style4","style5","style6","style7","style8","Loader_Loader","fab_default","ort_default","fab_set","ort_set","defaultResponse","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","ort","SetCustomDefault","react__WEBPACK_IMPORTED_MODULE_2___default","_ui_Inputs__WEBPACK_IMPORTED_MODULE_3__","Toolbar","hasTopBorder","hasBottomBorder","contentAlignRight","ToolbarItem","nativeEvent","getIcon","iconColor","color","linkTo","ToolbarDropDownItem","_closingTimeoutId","handleSelection","onSelectionChange2","record","onSelectionChange","renderIcon","clearTimeout","dataSource2","MenuDownIcon_default","Toolbar_Toolbar","ToolbarItem_ToolbarItem","ToolbarDropDownItem_ToolbarDropDownItem","textbox","smallright","normal","checkbox","checkmark","radio","btn","primary","danger","transparent","big","toolbar","noTopBorder","noBottomBorder","itemIcon","success","itemDropDownIcon","formulaTree","formulaTreeHeader","formulaTreeHeaderText","formulaTreeHeaderItems","formulaTreeHeaderItem","formulaTreeItems","formulaTreeItem","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_4__","TableRowCheckboxCell","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_2__","currentTarget","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_3__","C_GSG_drgplanungstool_DrgPlanungstool_ClientApp_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_0__","_Inputs__WEBPACK_IMPORTED_MODULE_7__","HeaderTenantItem","renderDropDownItem","isEnabled","ChevronDownIcon_default","Header","tenantItems","selectedTenantItem","navItems","subNavItems","menuItems","onTenantSelectionChange","HeaderTenantItem_HeaderTenantItem","HeaderNavItem","activeClassName","HeaderMenuItem","HeaderMenuSeparatorItem","HeaderSubNavItem","routes","search","HeaderNavItem_HeaderNavItem","unescape","main","isAnyRouteActive","vordefinition","modifikation","neueLeistungen","neueThemen","modifikationKH","e1Formular","route","HeaderSubNavItem_HeaderSubNavItem","mindestmengen","fdanachverhandlung","e1nachverhandlung","entwicklung","auth","signin","signinCallback","signoutCallback","CallbackPage","successCallback","user","redirectPath","process","errorCallback","redux_oidc","connect","LightTheme","DarkTheme","Theming","LightTheme_LightTheme","DarkTheme_DarkTheme","ContextMenu","role","ContextMenuItem","preventDefault","externalLink","isBig","isVisible","noIndent","clonedIcon","attributes","COntextMenuSeparator","ContextMenuPopup","ContextMenu_ContextMenu","interactive","leaveDelay","Container","Navigation","Header_Header","ProfileMenuItems","profile","is_ad_auth","ContextMenuItem_ContextMenuItem","TextboxPasswordIcon_default","LogoutIcon_default","onLogoutClick","NavigationMenuItems","HeaderMenuItem_HeaderMenuItem","SigmaIcon_default","HeaderMenuSeparatorItem_HeaderMenuSeparatorItem","ContextMenuPopup_ContextMenuPopup","layout_ProfileMenuItems","AccountCircleIcon_default","Layout","onInterimResultCloseClick","signoutRedirect","isConnected","tenants","Theming_Theming","layout_Container","layout_Navigation","layout_NavigationMenuItems","AccountActions","Alert","Page","_informationencolumns","selecteddb","zeitraum_von","zeitraum_bis","_datenbankcolumns","zielwert","saveZielWert","hochrechnungsfaktor","saveFaktor","dbs","selecteddb_anzeige","changedb","_datensatzcolumns","Intl","NumberFormat","minimumFractionDigits","fehleranzahl","unbewertetanzahl","parseInt","_faktorencolumns","faktor","hochrechnung","_absenkungencolumns","i68d_inlyer","i68d_ueberlieger","i68e_inlyer","i68e_ueberlieger","_dialysencolumns","anzahl","op","maxmonth","_this$props6","dlink","linkStyle","marginRight","marginBottom","Alert_Alert","helpers","isLoading","isUpdating","columnDefinition","subheader","UebersichtActions","_mengencolumns","istmenge","mindestmenge","nichterbringen","onNotProvideChecked","nichtsteigern","onNotIncreaseChecked","_entwicklungsquotencolumns","fallzahl_ist","fallzahl_vb_ist","maximumFractionDigits","effgew_ist","effgew_vb_ist","_entwicklungsquotencolumns2","fallzahl_vorjahr","effgew_vorjahr","_entwicklungsquotencolumns3","fallzahl_vb_vorjahr","effgew_vb_vorjahr","_entwicklungsquotenschnittcolumns","quoten_jahre","saveQuoten","_entwicklungsquotenschnittcolumns2","_entwicklungsquotenschnittcolumns3","onTabChanged","selectedTabIndex","tab1_h","tab1","tab1_s","tab2_h","tab2","tab2_s","tab3_h","tab3","tab3_s","selectedIndex","onTabChange","TABLE_STORAGE_KEY","_filterDataSource","_columns","fallnr","onProvideAll","onIncreaseAll","onTableDataFiltered","storage","cw","CheckAllIcon_default","OpsActions","DrgActions","onNodeFilterChange","onNodeClearSelection","_this$props7","_this$props8","BgActions","MdcActions","FabActions","cm_abs","saveCmAbs","cm_proz","saveCmProz","cm_beschreibung","saveDescription","whenUpdating","textAlign","TABLE_STORAGE_KEYS","_summaryColumns","fallzahl_alt","effgew_alt","fallzahl_neu","effgew_saldo","setStorage","onSummaryColumnResize","KhActions","_fdacolumns","prozent","abschlag","saveCmAbsFda","saveCmProzFda","saveDescriptionFda","fallzahl_anteil_in_bg","_shareColumns","saveAnteil","referenz","onShareColumnResize","isToolbarDummyVisible","NlBgActions","NlDrgActions","fallzahl_anteil_in_thema","alignSelf","voraussetzung","vs","footer","NlThemaActions","fallzahl_anteil_in_ops","NlOpsActions","relgew","relgew_summe","fallzahl_kurzlieger","tage_kurzlieger","kurzlieger_abschlag","kurzlieger_abschlag_summe","fallzahl_verlegung","tage_verlegung","verlegung_abschlag","verlegung_abschlag_summe","fallzahl_langlieger","tage_langlieger","langlieger_zuschlag","langlieger_zuschlag_summe","vwd","pflege_cm","pflege_summe","calculateResults","getExcel","getExcelZVMO","getExcelZVMOHerleitung","startsWith","ErgebnisActions","planmenge","_columnsliste","_ergebniscolumns","mehrleistung","getcolumns","saveMl","RoutesModule","_tenantWasSet","getTenants","t","khname","getSelectedTenant","tenantState","isUserUnset","isTenantUnset","searchValue","getSearch","userTenants","host","origin","getHost","searchParams","Route","exact","component","Callback","isLoadingUser","Redirect","Switch","layout","Uebersicht","Mindestmengen","Entwicklung","VordefinitionOps","VordefinitionDrg","VordefinitionBg","VordefinitionMdc","VordefinitionFab","ModifikationOps","ModifikationDrg","ModifikationBg","ModifikationMdc","ModifikationFab","ModifikationKh","ModifikationFda","NlBg","NlDrg","NeueThemen","NlOps","Ergebnis","Ueberlieger","MindestmengenErgebnis","Fda","FdaNachVerhandlung","E1NachVerhandlung","TenantActions","createBrowserHistory","basename","store","App","getRoutesModule","main_routes","react_redux_es","esm","render","Boolean","hostname","signinSilentCallback","src_App","getElementById","getUser","expired","setToken","signinRedirect","serviceWorker","ready","registration","unregister","redux_oidc__WEBPACK_IMPORTED_MODULE_0__","axios__WEBPACK_IMPORTED_MODULE_1__","axios__WEBPACK_IMPORTED_MODULE_1___default","userManagerConfig","authority","client_id","redirect_uri","post_logout_redirect_uri","response_type","scope","silent_redirect_uri","automaticSilentRenew","filterProtocolClaims","loadUserInfo","monitorSession","createUserManager","events","addUserSignedOut","removeUser","addUserLoaded","addSilentRenewError","defaults","headers","common","Authorization","token_type","access_token","contexmenuWrapper","contextmenu","separatorContainer","popup","setRef","RootRef","rootRef","prevRootRef","Portal","_mountNode","getMountNode","setMountNode","disablePortal","forceUpdate","onRendered","getContainer","getOwnerDocument","defaultContainer","element","createPortal","exited","Popper","handleOpen","anchorEl","modifiers","_this$props$popperOpt","popperOptions","popperNode","assertThisInitialized","_popper","destroy","PopperJS","getAnchorEl","preventOverflow","boundariesElement","onCreate","handlePopperUpdate","onUpdate","handleExited","handleClose","transition","keepMounted","placementProps","Portal_Portal","_ignoreNonTouchEvents","_isControlled","_defaultId","_closeTimer","_enterTimer","_focusTimer","_leaveTimer","_touchTimer","onRootRef","_childrenRef","handleFocus","persist","activeElement","handleEnter","childrenProps","enterDelay","onMouseOver","setAttribute","handleLeave","handleTouchStart","enterTouchDelay","onTouchStart","handleTouchEnd","leaveTouchDelay","onTouchEnd","openProp","popperProps","maxWidth","shouldShowNativeTitle","aria-describedby","interactiveWrapperListeners","RootRef_RootRef","Popper_Popper","placementInner","Tooltip_Tooltip","anchorRef","NavLink","OptionalLink_OptionalLink","treeView","clearSelectionLink","nodesContainer","nodeText","nodeIcon","dropDownList","dropDownListItem","PageContainer","FormulaTree","PureComponent","FormulaTreeHeader","FormulaTreeHeaderText","FormulaTreeHeaderItem","FormulaTreeHeaderItems","FormulaTreeItem","FormulaTreeItems","PageFormulaTree","onCloseClick","Reset","confirm","wasInterimResultVisible","pageHeaderClasses","FormulaTree_FormulaTree","page_loader_PageLoader","zIndex","FormulaTreeHeader_FormulaTreeHeader","FormulaTreeHeaderText_FormulaTreeHeaderText","ist_zwischensumme","FormulaTreeHeaderItems_FormulaTreeHeaderItems","FormulaTreeHeaderItem_FormulaTreeHeaderItem","FormulaTreeItems_FormulaTreeItems","FormulaTreeItem_FormulaTreeItem","ZwischenergebnisActions","PageLoader","whenLoading","ListView","functionToCheck","isFunction","ListViewItem","report","session_id","user_id","FileDocumentIcon_default","PageReports","onDocNameRef","ListView_ListView","page_reports_ListViewItem","TabControl","defaultIndex","child","selected","classNames","tabControlClasses","tabControl","tabsClasses","panelsClasses","panels","renderTabs","renderPanels","Tab","PageTabControl","TabControl_TabControl","Tab_Tab","toolbarItems","PageTabControl2","page_table_PageTable","PageTable","pageSubHeaderClasses","icon_info","iconInfo","icon_stift","iconStift","flexDirection","dangerouslySetInnerHTML","__html","PageTreeView","get_custom_filters","page_container_PageContainer","page_formula_tree","page_tab_control_PageTabControl","page_tab_control_PageTabControl2","page_tree_view_PageTreeView","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","mdi_react_LayersIcon__WEBPACK_IMPORTED_MODULE_1__","mdi_react_LayersIcon__WEBPACK_IMPORTED_MODULE_1___default","mdi_react_Numeric1BoxIcon__WEBPACK_IMPORTED_MODULE_2__","mdi_react_Numeric1BoxIcon__WEBPACK_IMPORTED_MODULE_2___default","mdi_react_Numeric2BoxIcon__WEBPACK_IMPORTED_MODULE_3__","mdi_react_Numeric2BoxIcon__WEBPACK_IMPORTED_MODULE_3___default","mdi_react_Numeric3BoxIcon__WEBPACK_IMPORTED_MODULE_4__","mdi_react_Numeric3BoxIcon__WEBPACK_IMPORTED_MODULE_4___default","l","l2","l3"],"mappings":"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","file":"static/js/main.635409f5.chunk.js","sourcesContent":["export * from \"./Interfaces/ITableColumn\";\r\nexport * from \"./Interfaces/ITableRowEventArgs\";\r\nexport * from \"./Interfaces/ITableFilter\";\r\nexport * from \"./Table\";\r\nexport * from \"./TableRowStringCell\";\r\nexport * from \"./TableRowBooleanCell\";\r\nexport * from \"./TableRowNumberCell\";\r\nexport * from \"./TableRowCheckboxCell\";\r\nexport * from \"./table-row-textbox-cell\";\r\n","import { createStore, applyMiddleware, compose, combineReducers, StoreEnhancer, Store, StoreEnhancerStoreCreator } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport { connectRouter, routerMiddleware } from \"connected-react-router\";\r\nimport createOidcMiddleware, { reducer as oidcReducer } from \"redux-oidc\";\r\nimport userManager from \"./user-manager\";\r\nimport { IApplicationState, reducers } from \"./store\";\r\nimport { History } from \"history\";\r\n\r\nexport default function configureStore(history: History, initialState?: IApplicationState)\r\n{\r\n // Build middleware. These are functions that can process the actions before they reach the store.\r\n // tslint:disable-next-line:no-null-keyword\r\n const windowIfDefined = typeof window === \"undefined\" ? null : window as any;\r\n // If devTools is installed, connect to it\r\n const devToolsExtension = windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__ as () => StoreEnhancer;\r\n const oidcMiddleware = createOidcMiddleware(userManager);\r\n const createStoreWithMiddleware = compose>(\r\n applyMiddleware(oidcMiddleware, thunk, routerMiddleware(history)),\r\n devToolsExtension ? devToolsExtension() : (next: StoreEnhancerStoreCreator) => next\r\n )(createStore);\r\n\r\n // Combine all reducers and instantiate the app-wide store instance\r\n const allReducers = buildRootReducer(reducers, history);\r\n const store = createStoreWithMiddleware(allReducers, initialState) as Store;\r\n\r\n return store;\r\n}\r\n\r\nfunction buildRootReducer(allReducers: any, history: History)\r\n{\r\n return combineReducers(Object.assign({}, allReducers, { router: connectRouter(history), oidc: oidcReducer }));\r\n}\r\n","import { User } from \"./user-manager\";\r\nimport * as AccountReducer from \"./reducers/account-reducer\";\r\nimport * as TenantReducer from \"./reducers/tenant-reducer\";\r\nimport * as UebersichtReducer from \"./reducers/uebersicht-reducer\";\r\nimport * as OpsReducer from \"./reducers/ops-reducer\";\r\nimport * as DrgReducer from \"./reducers/drg-reducer\";\r\nimport * as BgReducer from \"./reducers/bg-reducer\";\r\nimport * as MdcReducer from \"./reducers/mdc-reducer\";\r\nimport * as FabReducer from \"./reducers/fab-reducer\";\r\nimport * as KhReducer from \"./reducers/kh-reducer\";\r\nimport * as NlBgReducer from \"./reducers/nl-bg-reducer\";\r\nimport * as NlDrgReducer from \"./reducers/nl-drg-reducer\";\r\nimport * as NlThemaReducer from \"./reducers/nl-thema-reducer\";\r\nimport * as NlOpsReducer from \"./reducers/nl-ops-reducer\";\r\nimport * as ErgebnisReducer from \"./reducers/ergebnis-reducer\";\r\nimport * as ZwischenergebnisReducer from \"./reducers/zwischenergebnis-reducer\";\r\n\r\nexport interface IOidcState\r\n{\r\n isLoadingUser: boolean;\r\n user: User;\r\n}\r\n\r\n// The top-level state object\r\nexport interface IApplicationState\r\n{\r\n oidc: IOidcState;\r\n account: AccountReducer.IState;\r\n tenant: TenantReducer.IState;\r\n uebersicht: UebersichtReducer.IState;\r\n ops: OpsReducer.IState;\r\n drg: DrgReducer.IState;\r\n bg: BgReducer.IState;\r\n mdc: MdcReducer.IState;\r\n fab: FabReducer.IState;\r\n kh: KhReducer.IState;\r\n nlBg: NlBgReducer.IState;\r\n nlDrg: NlDrgReducer.IState;\r\n nlThema: NlThemaReducer.IState;\r\n nlOps: NlOpsReducer.IState;\r\n ergebnis: ErgebnisReducer.IState;\r\n zwischenergebnis: ZwischenergebnisReducer.IState;\r\n}\r\n\r\n// Whenever an action is dispatched, Redux will update each top-level application state property using\r\n// the reducer with the matching name. It's important that the names match exactly, and that the reducer\r\n// acts on the corresponding ApplicationState property type.\r\nexport const reducers = {\r\n account: AccountReducer.reducer,\r\n tenant: TenantReducer.reducer,\r\n uebersicht: UebersichtReducer.reducer,\r\n ops: OpsReducer.reducer,\r\n drg: DrgReducer.reducer,\r\n bg: BgReducer.reducer,\r\n mdc: MdcReducer.reducer,\r\n fab: FabReducer.reducer,\r\n kh: KhReducer.reducer,\r\n nlBg: NlBgReducer.reducer,\r\n nlDrg: NlDrgReducer.reducer,\r\n nlThema: NlThemaReducer.reducer,\r\n nlOps: NlOpsReducer.reducer,\r\n ergebnis: ErgebnisReducer.reducer,\r\n zwischenergebnis: ZwischenergebnisReducer.reducer\r\n};\r\n\r\n// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are\r\n// correctly typed to match your store.\r\nexport type AppThunkAction = (dispatch: (action: TAction) => void, getState: () => IApplicationState) => void;\r\n","import { Reducer } from \"redux\";\r\nimport { IAccountAction } from \"../actions/account-actions\";\r\n\r\nexport interface IState\r\n{\r\n isInterimResultVisible?: boolean;\r\n}\r\n\r\nexport const reducer: Reducer = (state: IState = {}, action: IAccountAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"SHOW_INTERIM_RESULT\":\r\n case \"HIDE_INTERIM_RESULT\":\r\n return {\r\n ...state,\r\n isInterimResultVisible: action.isInterimResultVisible\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { ITenant } from \"../user-manager\";\r\nimport { ITenantAction } from \"../actions/tenant-actions\";\r\n\r\nexport interface IState\r\n{\r\n selectedTenant?: ITenant;\r\n}\r\n\r\nexport const reducer: Reducer = (state: IState = {}, action: ITenantAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"SELECT_TENANT\":\r\n return {\r\n ...state,\r\n selectedTenant: action.tenant\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IUebersichtAction } from \"../actions/uebersicht-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IMengen, IInformationen, IEntwicklungsquoten, IEntwicklungsquotenSchnitt, IDialysen, IFaktoren } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n mengen: IMengen[];\r\n dialysen: IDialysen[];\r\n faktoren: IFaktoren[];\r\n informationen: IInformationen[];\r\n entwicklungsquoten: IEntwicklungsquoten[];\r\n entwicklungsquotenschnitt: IEntwicklungsquotenSchnitt[];\r\n vg: boolean;\r\n}\r\n\r\nconst initialState: IState = {\r\n mengen: [],\r\n dialysen: [],\r\n faktoren: [],\r\n informationen: [],\r\n entwicklungsquoten: [],\r\n entwicklungsquotenschnitt: [],\r\n vg: false\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IUebersichtAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_UEBERSICHT_INITIAL_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_UEBERSICHT_INITIAL_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n informationen: action.informationen || [],\r\n dialysen: action.dialysen || [],\r\n faktoren: action.faktoren || [],\r\n vg: action.vg == true\r\n };\r\n case \"GET_UEBERSICHT_INITIAL_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_ENTWICKLUNG_INITIAL_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_ENTWICKLUNG_INITIAL_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n entwicklungsquoten: action.entwicklungsquoten || [],\r\n entwicklungsquotenschnitt: action.entwicklungsquotenschnitt || []\r\n };\r\n case \"GET_ENTWICKLUNG_INITIAL_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_MENGEN_INITIAL_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_MENGEN_INITIAL_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n mengen: action.mengen || []\r\n };\r\n case \"GET_MENGEN_INITIAL_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_QUOTEN_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_QUOTEN_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n entwicklungsquotenschnitt: action.entwicklungsquotenschnitt || []\r\n };\r\n case \"GET_QUOTEN_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"SET_ZIELWERT_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"SET_ZIELWERT_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"SET_ZIELWERT_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"CHANGE_ABSENKUNG_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"CHANGE_ABSENKUNG_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"SET_FAKTOR_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"SET_FAKTOR_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"SET_FAKTOR_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"SET_QUOTEN_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"SET_QUOTEN_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"SET_QUOTEN_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IOpsAction } from \"../actions/ops-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IOps } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IOps[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IOpsAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_OPSS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_OPSS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.opss || []\r\n };\r\n case \"GET_OPSS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_OPSS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_OPSS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_OPSS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IDrgAction } from \"../actions/drg-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IDrg } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IDrg[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IDrgAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_DRGS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_DRGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.drgs || []\r\n };\r\n case \"GET_DRGS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_DRGS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_DRGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_DRGS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IBg, ILayer, Layers } from \"../actions/types\";\r\nimport { IBgAction } from \"../actions/bg-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IComboBoxItem } from \"../../ui/Utils/types\";\r\nimport { INode } from \"../../ui/TreeView\";\r\nimport { getLayerNodes } from \"../helpers/get-layer-nodes\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IBg[];\r\n fabs: string[];\r\n standorte: string[];\r\n layers: ILayer[];\r\n selectedFab?: IComboBoxItem;\r\n selectedStandort?: IComboBoxItem;\r\n nodes: INode[];\r\n selectedNode?: INode;\r\n nodesFilter?: string;\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n fabs: [],\r\n standorte: [],\r\n layers: [],\r\n nodes: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IBgAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_BGS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_BGS_INITIAL_VORDEFINITION_SUCCESS\":\r\n {\r\n const fab: string | undefined = action.fabs && action.fabs[1];\r\n const standort: string | undefined = action.standorte && action.standorte[1];\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.bgs || [],\r\n fabs: action.fabs || [],\r\n standorte: action.standorte || [],\r\n layers: action.layers || [],\r\n selectedFab: fab ? {\r\n key: fab,\r\n value: fab\r\n } : undefined,\r\n selectedStandort: standort ? {\r\n key: standort,\r\n value: standort\r\n } : undefined,\r\n selectedNode: undefined,\r\n nodes: getLayerNodes(action.layers || [])\r\n };\r\n }\r\n case \"GET_BGS_INITIAL_SUCCESS\":\r\n {\r\n const fab: string | undefined = action.fabs && action.fabs.first();\r\n const standort: string | undefined = action.standorte && action.standorte.first();\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.bgs || [],\r\n fabs: action.fabs || [],\r\n standorte: action.standorte || [],\r\n layers: action.layers || [],\r\n selectedFab: fab ? {\r\n key: fab,\r\n value: fab\r\n } : undefined,\r\n selectedStandort: standort ? {\r\n key: standort,\r\n value: standort\r\n } : undefined,\r\n selectedNode: undefined,\r\n nodes: getLayerNodes(action.layers || [])\r\n };\r\n }\r\n case \"GET_BGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.bgs || []\r\n };\r\n case \"GET_BGS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_BGS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_BGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_BGS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"SELECT_FAB\":\r\n return {\r\n ...state,\r\n selectedFab: action.selectedFab ? {\r\n key: action.selectedFab,\r\n value: action.selectedFab\r\n } : undefined\r\n };\r\n case \"SELECT_STANDORT\":\r\n return {\r\n ...state,\r\n selectedStandort: action.selectedStandort ? {\r\n key: action.selectedStandort,\r\n value: action.selectedStandort\r\n } : undefined\r\n };\r\n case \"SELECT_NODE\":\r\n return {\r\n ...state,\r\n selectedNode: action.selectedNode,\r\n nodes: action.nodes || []\r\n };\r\n case \"SET_NODE_FILTER\":\r\n return {\r\n ...state,\r\n nodesFilter: action.nodesFilter\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IMdcAction } from \"../actions/mdc-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IMdc } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IMdc[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IMdcAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_MDCS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_MDCS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.mdcs || []\r\n };\r\n case \"GET_MDCS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_MDCS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_MDCS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_MDCS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IFabAction } from \"../actions/fab-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IFab } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IFab[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IFabAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_FABS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_FABS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.fabs || []\r\n };\r\n case \"GET_FABS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_FABS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_FABS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_FABS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IKhAction } from \"../actions/kh-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IKh, IKhSum, IKhFda } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IKh[];\r\n fda: IKhFda[];\r\n sum: IKhSum[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n fda: [],\r\n sum: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IKhAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_KHS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_KHS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.khs || [],\r\n sum: action.sum || []\r\n };\r\n case \"GET_KHS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_FDA_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_FDA_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n fda: action.fda || []\r\n };\r\n case \"GET_FDA_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_KHS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_KHS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_KHS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_SUM_REQUEST\":\n return {\n ...state,\n isFetchingSum: true,\n sum: action.sum || []\n }\n case \"GET_SUM_SUCCESS\":\n return {\n ...state,\n isFetchingSum: false,\n sum: action.sum || []\n }\n case \"GET_SUM_FAILURE\":\n return {\n ...state,\n isFetchingSum: false,\n error: action.error && action.error.response && action.error.response.data,\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { INlBg, ILayer, Layers, INlBgSum, INlBgShare } from \"../actions/types\";\r\nimport { INlBgAction } from \"../actions/nl-bg-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { INode } from \"../../ui/TreeView\";\r\nimport { getLayerNodes } from \"../helpers/get-layer-nodes\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: INlBg[];\r\n layers: ILayer[];\r\n sum: INlBgSum[];\r\n share: INlBgShare[];\r\n nodes: INode[];\r\n selectedNode?: INode;\r\n nodesFilter?: string;\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n layers: [],\r\n nodes: [],\r\n sum: [],\r\n share: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: INlBgAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_NL_BGS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_NL_BGS_INITIAL_SUCCESS\":\r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.bgs || [],\r\n layers: action.layers || [],\r\n sum: action.sum || [],\r\n share: action.share || [],\r\n nodes: getLayerNodes(action.layers || [])\r\n };\r\n }\r\n case \"GET_NL_BGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.bgs || [],\r\n sum: action.sum || [],\r\n share: action.share || []\r\n };\r\n case \"GET_NL_BGS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_NL_BGS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_NL_BGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_NL_BGS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"SELECT_NODE\":\r\n return {\r\n ...state,\r\n selectedNode: action.selectedNode,\r\n nodes: action.nodes || []\r\n };\r\n case \"SET_NODE_FILTER\":\r\n return {\r\n ...state,\r\n nodesFilter: action.nodesFilter\r\n };\r\n case \"GET_NL_BGS_SUM_REQUEST\":\r\n return {\r\n ...state,\r\n isFetchingSum: true,\r\n sum: action.sum || []\r\n }\r\n case \"GET_NL_BGS_SUM_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetchingSum: false,\r\n sum: action.sum || []\r\n }\r\n case \"GET_NL_BGS_SUM_FAILURE\":\r\n return {\r\n ...state,\r\n isFetchingSum: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { INlDrgAction } from \"../actions/nl-drg-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { INlDrg, INlDrgSum } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: INlDrg[];\r\n sum: INlDrgSum[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n sum: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: INlDrgAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_NL_DRGS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_NL_DRGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.drgs || [],\r\n sum: action.sum || []\r\n };\r\n case \"GET_NL_DRGS_INITIAL_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.drgs || [],\r\n sum: action.sum || []\r\n };\r\n case \"GET_NL_DRGS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_NL_DRGS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_NL_DRGS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_NL_DRGS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_NL_DRGS_SUM_REQUEST\":\r\n return {\r\n ...state,\r\n isFetchingSum: true,\r\n sum: action.sum || []\r\n }\r\n case \"GET_NL_DRGS_SUM_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetchingSum: false,\r\n sum: action.sum || []\r\n }\r\n case \"GET_NL_DRGS_SUM_FAILURE\":\r\n return {\r\n ...state,\r\n isFetchingSum: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IThemaAction } from \"../actions/nl-thema-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IThema, IThemaSum, IThemaShare } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IThema[];\r\n sum: IThemaSum[];\r\n share: IThemaShare[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n sum: [],\r\n share: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IThemaAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_TOPICS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_TOPICS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.themen || [],\r\n sum: action.sum || [],\r\n share: action.share || []\r\n };\r\n case \"GET_TOPICS_INITIAL_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.themen || [],\r\n sum: action.sum || [],\r\n share: action.share || []\r\n };\r\n case \"GET_TOPICS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_TOPICS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_TOPICS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_TOPICS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_TOPICS_SUM_REQUEST\":\r\n return {\r\n ...state,\r\n isFetchingSum: true,\r\n sum: action.sum || []\r\n }\r\n case \"GET_TOPICS_SUM_SUCCESS\":\r\n return {\r\n ...state, \r\n isFetchingSum: false,\r\n sum: action.sum || []\r\n }\r\n case \"GET_TOPICS_SUM_FAILURE\":\r\n return {\r\n ...state,\r\n isFetchingSum: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IOpsAction } from \"../actions/nl-ops-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { INlOps, IOpsSum, IOpsShare } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: INlOps[];\r\n sum: IOpsSum[];\r\n share: IOpsShare[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n sum: [],\r\n share: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IOpsAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_OPSS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_OPSS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.opss || [],\r\n sum: action.sum || [],\r\n share: action.share || []\r\n };\r\n case \"GET_OPSS_INITIAL_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.opss || [],\r\n sum: action.sum || [],\r\n share: action.share || []\r\n };\r\n case \"GET_OPSS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_OPSS_REQUEST\":\r\n return {\r\n ...state,\r\n isPatching: true\r\n };\r\n case \"PATCH_OPSS_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_OPSS_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_OPSS_SUM_REQUEST\":\r\n return {\r\n ...state,\r\n isFetchingSum: true,\r\n sum: action.sum || []\r\n }\r\n case \"GET_OPSS_SUM_SUCCESS\":\r\n return {\r\n ...state, \r\n isFetchingSum: false,\r\n sum: action.sum || []\r\n }\r\n case \"GET_OPSS_SUM_FAILURE\":\r\n return {\r\n ...state,\r\n isFetchingSum: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IErgebnisAction } from \"../actions/ergebnis-actions\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IErgebnis, IReport, IResponseError, IFdaMod, IFdaErgebnis, IFdaMl, IMengen, IMengenDRGListe } from \"../actions/types\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IErgebnis[];\r\n itemsMl: IErgebnis[];\r\n ueberlieger: IErgebnis[];\r\n reports: IReport[];\r\n fdamod: IFdaMod[];\r\n isFetchingReports?: boolean;\r\n errorReports?: IResponseError;\r\n errorMessageReports?: string;\r\n fdathemen: string[];\r\n fdaergebnis: IFdaErgebnis[];\r\n fdaml: IFdaMl[];\r\n mengen: IMengen[];\r\n mengendrgliste: IMengenDRGListe[];\r\n selectedTabIndex?: number;\r\n verbund?: string;\r\n}\r\n\r\nconst initialState: IState = {\r\n items: [],\r\n itemsMl: [],\r\n ueberlieger: [],\r\n reports: [],\r\n fdamod: [],\r\n fdathemen: [],\r\n fdaergebnis: [],\r\n fdaml: [],\r\n mengen: [],\r\n mengendrgliste: [],\r\n verbund: \"\"\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IErgebnisAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_RESULTS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_RESULTS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.ergebnis || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTSML_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n itemsMl: action.ergebnis || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTS_CALCULATE_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.ergebnis || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTSML_CALCULATE_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n itemsMl: action.ergebnis || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTS_OL_CALCULATE_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n ueberlieger: action.ergebnis || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTSFDA_CALCULATE_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n fdaergebnis: action.fdaergebnis || [],\r\n fdamod: action.fdamod || [],\r\n fdathemen: action.fdathemen || [],\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTSFDAML_CALCULATE_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n fdaml: action.fdaml || [],\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_RESULTS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"TRANSFER_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"TRANSFER_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false\r\n };\r\n case \"TRANSFER_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_OVERLYER_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_OVERLYER_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n ueberlieger: action.ergebnis || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_OVERLYER_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message,\r\n ueberlieger: []\r\n };\r\n case \"GET_MENGEN_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_MENGEN_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n mengen: action.mengen || [],\r\n mengendrgliste: action.mengendrgliste || [],\r\n verbund: action.verbund,\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_MENGEN_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message,\r\n mengen: [],\r\n mengendrgliste : []\r\n };\r\n case \"GET_FDA_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_FDA_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n fdamod: action.fdamod || [],\r\n fdathemen: action.fdathemen || [],\r\n fdaergebnis: action.fdaergebnis || [],\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_FDA_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message,\r\n fdaergebnis: [],\r\n fdamod:[]\r\n };\r\n case \"GET_FDAERGEBNIS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_FDAERGEBNIS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n fdaergebnis: action.fdaergebnis || [],\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_FDAERGEBNIS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_FDAML_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_FDAML_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n fdaml: action.fdaml || [],\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_FDAML_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"GET_REPORTS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetchingReports: true\r\n };\r\n case \"GET_REPORTS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetchingReports: false,\r\n reports: action.reports || [],\r\n errorReports: undefined,\r\n errorMessageReports: undefined\r\n };\r\n case \"GET_REPORTS_CALCULATE_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetchingReports: false,\r\n reports: action.reports || [],\r\n errorReports: undefined,\r\n errorMessageReports: undefined\r\n };\r\n case \"GET_REPORTS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetchingReports: false,\r\n errorReports: action.error && action.error.response && action.error.response.data,\r\n errorMessageReports: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n case \"PATCH_FDAMOD_SUCCESS\":\r\n return {\r\n ...state,\r\n isPatching: false\r\n };\r\n case \"PATCH_FDAMOD_FAILURE\":\r\n return {\r\n ...state,\r\n isPatching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { Reducer } from \"redux\";\r\nimport { IReducerState } from \"./types\";\r\nimport { IZwischenergebnis } from \"../actions/types\";\r\nimport { IZwischenergebnisAction } from \"../actions/zwischenergebnis-actions\";\r\n\r\nexport interface IState extends IReducerState\r\n{\r\n items: IZwischenergebnis[];\r\n}\r\n\r\nconst initialState: IState = {\r\n items: []\r\n};\r\n\r\nexport const reducer: Reducer = (state: IState = initialState, action: IZwischenergebnisAction) =>\r\n{\r\n switch (action.type)\r\n {\r\n case \"GET_INTERIM_RESULTS_REQUEST\":\r\n return {\r\n ...state,\r\n isFetching: true\r\n };\r\n case \"GET_INTERIM_RESULTS_SUCCESS\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n items: action.ergebnis || [],\r\n error: undefined,\r\n errorMessage: undefined\r\n };\r\n case \"GET_INTERIM_RESULTS_FAILURE\":\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error && action.error.response && action.error.response.data,\r\n errorMessage: action.error && action.error.response && action.error.response.data && action.error.response.data.message\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"_39rMt5q2FFGo8dpZc5HuqZ\",\"page2\":\"_3FKlPML4Sd3qlBAoj-ZYSj\",\"page3\":\"_3DHYxsGAm7ls6Vern59Ms3\",\"page4\":\"hsKj6AcClApOT51taX5ID\",\"pageCalculateContainer\":\"e487mwfDw7ZHXj2s6APis\",\"pageCalculate\":\"_3NIb62EPQVaJhI5wjkTf3Y\",\"pageContent\":\"_1qwUkp25YGl5WD5chufVBr\",\"isLayers\":\"_2YwFSFtVGwqafsLEzoiElK\",\"isInterimResults\":\"bWG28p76j8-W4Laj1nveG\",\"isReports\":\"_3Sw-78sI8iKTXECLE36cuC\",\"pageHeaderIcon\":\"_1oERMWKLtqD5T99bKTcEC1\",\"pageHeader\":\"_1gTw8ixBpcMvzJ49V55AW3\",\"pageCollapseButton\":\"_2EVG3m22x-Vu903mItQtis\",\"pageToolbarDummy\":\"_2r7sZ7l-x-BtfLXreBdn3E\",\"withoutBorder\":\"_2pP2Suf_4BUlSxXjnBPGvR\",\"pageTable\":\"_3r5g2dG_QLfqgB6ZCauOY\",\"pageLayers\":\"_34K0pGV0q7K8g-QvDaeKMn\",\"pageContent2\":\"_1EwQfHiYoAS8zF74R5rEVy\",\"pageContent3\":\"dca7-LlxdA72jA1s5y-sT\",\"pageContent4\":\"_2M267nSXjQznTJgW64G9MO\",\"pageTabs\":\"_14qJfQ1Qu-eUNnYAQjid1U\",\"pageTabPanel\":\"_37gWKAw6IEU5zBN0bEYKRB\",\"listViewReportItem\":\"-EbMA7gcd-Iwe1_dxJ9Z5\",\"listViewReportItemIcon\":\"WZSrd0ur-AiDYu12G0Mhs\",\"listViewReportItemText\":\"_3gnlDY_umxqaLTgu5lC3nq\",\"fdawarning\":\"_1-a1FQO_udSzOZsdBloqbR\"};","const STORAGE_KEY = \"drg\";\r\n\r\n/**\r\n * Local Storage Model für temporär gespeicherte Informationen.\r\n * Key: calendar\r\n */\r\nexport interface ILocalStorage\r\n{\r\n /**\r\n * Die ID des zuletzt ausgewählten Mandanten.\r\n */\r\n tenantId?: string;\r\n\r\n /**\r\n * Enthält die benutzerdefinierten Spaltengrößen aller Tabellen.\r\n */\r\n columnWidths: {\r\n page: string;\r\n accessor: string;\r\n width: number;\r\n }[];\r\n\r\n /**\r\n * Ein Wert, der angibt ob die SideBar offen ist.\r\n */\r\n isInterimResultVisible: boolean;\r\n}\r\n\r\n/**\r\n * Gibt ein JSON-Objekt aus dem LocalStorage zurück.\r\n * @param isBase64 Angabe, ob der Wert in Base64 codiert ist.\r\n */\r\nexport function get(isBase64: boolean = true): ILocalStorage\r\n{\r\n let value = localStorage.getItem(STORAGE_KEY);\r\n if (value == undefined)\r\n {\r\n return getDefaults();\r\n }\r\n\r\n if (isBase64)\r\n {\r\n value = atob(value);\r\n }\r\n\r\n return JSON.parse(value);\r\n}\r\n\r\n/**\r\n * Speichert den übergebenen Wert im LocalStorage ab.\r\n * @param value Der Wert der gespeichert werden soll.\r\n * @param isBase64 Angabe, ob der Wert in Base64 codiert werden soll.\r\n */\r\nexport function set(value: Partial, isBase64: boolean = true)\r\n{\r\n const oldValue: ILocalStorage = get(isBase64);\r\n value = {\r\n ...oldValue,\r\n ...value\r\n };\r\n\r\n const newValue: string = isBase64 ? btoa(JSON.stringify(value)) : JSON.stringify(value);\r\n localStorage.setItem(STORAGE_KEY, newValue);\r\n}\r\n\r\n/**\r\n * Standard LocalStorage Werte.\r\n */\r\nfunction getDefaults(): ILocalStorage\r\n{\r\n return {\r\n columnWidths: [],\r\n isInterimResultVisible: true\r\n };\r\n}\r\n","import { IAction } from \"./types\";\r\nimport * as localstorage from \"../helpers/localstorage\";\r\nimport Axios from \"axios\";\r\n\r\nconst API_ENDPOINT: string = \"/api/users\";\r\n\r\nexport interface IAccountAction extends IAction\r\n{\r\n type: \"SHOW_INTERIM_RESULT\" |\r\n \"HIDE_INTERIM_RESULT\";\r\n isInterimResultVisible?: boolean;\r\n}\r\n\r\nexport const showInterimResult = (): IAccountAction =>\r\n{\r\n localstorage.set({\r\n isInterimResultVisible: true\r\n });\r\n\r\n return {\r\n type: \"SHOW_INTERIM_RESULT\",\r\n isInterimResultVisible: true\r\n };\r\n};\r\n\r\nexport const hideInterimResult = (): IAccountAction =>\r\n{\r\n localstorage.set({\r\n isInterimResultVisible: false\r\n });\r\n\r\n return {\r\n type: \"HIDE_INTERIM_RESULT\",\r\n isInterimResultVisible: false\r\n };\r\n};\r\n\r\nexport const reset = (tenantId: string) => {\r\n Axios.post(`${API_ENDPOINT}/${tenantId}/reset`);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 1000); \r\n};\r\n\r\nexport const actionCreators = {\r\n showInterimResult,\r\n hideInterimResult,\r\n reset\r\n};\r\n","import { IAction } from \"./types\";\r\nimport { ITenant } from \"../user-manager\";\r\nimport * as localstorage from \"../helpers/localstorage\";\r\nimport { getCustomFilters } from \"../../pages/helpers/get-custom-filters\";\r\n\r\nexport interface ITenantAction extends IAction\r\n{\r\n type: \"SELECT_TENANT\";\r\n tenant?: ITenant;\r\n}\r\n\r\nexport const setTenant = (tenant: ITenant): ITenantAction =>\r\n{\r\n getCustomFilters(tenant.ik);\r\n\r\n localstorage.set({\r\n tenantId: tenant.ik\r\n });\r\n\r\n return {\r\n type: \"SELECT_TENANT\",\r\n tenant\r\n };\r\n};\r\n\r\nexport const actionCreators = {\r\n setTenant\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IZwischenergebnis, InterimResultTypes } from \"./types\";\r\nimport * as localstorage from \"../../redux/helpers/localstorage\";\r\n\r\nconst API_ENDPOINT: string = \"/api/interim_results\";\r\n\r\nexport interface IZwischenergebnisAction extends IAction\r\n{\r\n type: InterimResultTypes;\r\n ergebnis?: IZwischenergebnis[];\r\n}\r\n\r\nexport const getZwischenergebnis = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n { \r\n const storage = localstorage.get();\r\n if (!storage.isInterimResultVisible) return;\r\n dispatch({ type: \"GET_INTERIM_RESULTS_REQUEST\" });\r\n\r\n var update = \"none\";\r\n const location = window.location.pathname;\r\n if (location.includes(\"uebersicht\")) update = \"ue\";\r\n else if (location.includes(\"vordefinition\")) update = \"vd\";\r\n else if (location.includes(\"modifikation\")) update = \"md\";\r\n else if (location.includes(\"neue-leistungen\")) update = \"nl\";\r\n else if (location.includes(\"e-eins-formular\")) update = \"e1\";\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/${update}`);\r\n dispatch({\r\n type: \"GET_INTERIM_RESULTS_SUCCESS\",\r\n ergebnis: response.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_INTERIM_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getZwischenergebnis\r\n};\r\n","import { IJsonPatch } from \"../actions/types\";\r\nimport { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { getZwischenergebnis } from \"../actions/zwischenergebnis-actions\";\r\n\r\nexport async function patchRequest(endpoint: string, tenantId: string, patches: IJsonPatch[], dispatch: Dispatch, types: string[], recordRef?: any, getSum?: Function, getInterim?: boolean)\r\n{\r\n try\r\n {\r\n if (patches.length > 1)\r\n {\r\n dispatch({ type: types[0] });\r\n }\r\n\r\n await Axios.patch(endpoint, patches, {\r\n params: {\r\n ik: tenantId,\r\n re: false\r\n }\r\n });\r\n\r\n // Zwischenergebnis neu kalkulieren und laden.\r\n if (getInterim == undefined || getInterim == true) {\r\n await getZwischenergebnis(tenantId)(dispatch);\r\n }\r\n\r\n const response = await Axios.patch(endpoint, patches, {\r\n params: {\r\n ik: tenantId,\r\n re: true\r\n }\r\n });\r\n\r\n if (response && response.data)\r\n {\r\n const patched = response.data;\r\n if (patches.length === 1 && (patched != undefined && patched.length > 0) && recordRef != undefined)\r\n {\r\n recordRef.fallnr_neu = patched.first().fallnr_neu;\r\n recordRef.effgew_neu = patched.first().effgew_neu;\r\n\r\n recordRef.fallzahl_absolut = patched.first().fallzahl_absolut;\r\n recordRef.fallzahl_relativ = patched.first().fallzahl_relativ;\r\n recordRef.effgew_absolut = patched.first().effgew_absolut;\r\n recordRef.effgew_relativ = patched.first().effgew_relativ;\r\n recordRef.fallzahl_vb_absolut = patched.first().fallzahl_vb_absolut;\r\n recordRef.fallzahl_vb_relativ = patched.first().fallzahl_vb_relativ;\r\n recordRef.effgew_vb_absolut = patched.first().effgew_vb_absolut;\r\n recordRef.effgew_vb_relativ = patched.first().effgew_vb_relativ;\r\n recordRef.differenz_absolut = patched.first().differenz_absolut;\r\n recordRef.differenz_relativ = patched.first().differenz_relativ;\r\n recordRef.effgew_differenz_absolut = patched.first().effgew_differenz_absolut;\r\n recordRef.effgew_differenz_relativ = patched.first().effgew_differenz_relativ;\r\n\r\n recordRef.fallzahl = patched.first().fallzahl;\r\n recordRef.effgew = patched.first().effgew;\r\n\r\n recordRef.thema = patched.first().thema;\r\n }\r\n\r\n dispatch({ type: patches.length === 1 ? types[0] : types[1] });\r\n }\r\n\r\n getSum && getSum(tenantId);\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: patches.length === 1 ? types[1] : types[2],\r\n error\r\n });\r\n }\r\n}\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IMengen, IInformationen, IEntwicklungsquoten, IEntwicklungsquotenSchnitt, IDialysen, IFaktoren } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/uebersicht\";\r\n\r\nexport interface IUebersichtAction extends IAction {\r\n type:\r\n \"GET_UEBERSICHT_INITIAL_REQUEST\" |\r\n \"GET_UEBERSICHT_INITIAL_SUCCESS\" |\r\n \"GET_UEBERSICHT_INITIAL_FAILURE\" |\r\n \"GET_ENTWICKLUNG_INITIAL_REQUEST\" |\r\n \"GET_ENTWICKLUNG_INITIAL_SUCCESS\" |\r\n \"GET_ENTWICKLUNG_INITIAL_FAILURE\" |\r\n \"GET_MENGEN_INITIAL_REQUEST\" |\r\n \"GET_MENGEN_INITIAL_SUCCESS\" |\r\n \"GET_MENGEN_INITIAL_FAILURE\" |\r\n \"GET_QUOTEN_REQUEST\" |\r\n \"GET_QUOTEN_SUCCESS\" |\r\n \"GET_QUOTEN_FAILURE\" |\r\n \"SET_ZIELWERT_REQUEST\" |\r\n \"SET_ZIELWERT_SUCCESS\" |\r\n \"SET_ZIELWERT_FAILURE\" |\r\n \"CHANGE_ABSENKUNG_SUCCESS\" |\r\n \"CHANGE_ABSENKUNG_FAILURE\" |\r\n \"SET_FAKTOR_REQUEST\" |\r\n \"SET_FAKTOR_SUCCESS\" |\r\n \"SET_FAKTOR_FAILURE\" |\r\n \"SET_QUOTEN_REQUEST\" |\r\n \"SET_QUOTEN_SUCCESS\" |\r\n \"SET_QUOTEN_FAILURE\";\r\n mengen?: IMengen[];\r\n dialysen?: IDialysen[];\r\n faktoren?: IFaktoren[];\r\n informationen?: IInformationen[];\r\n entwicklungsquoten?: IEntwicklungsquoten[];\r\n entwicklungsquotenschnitt?: IEntwicklungsquotenSchnitt[];\r\n vg?: boolean;\r\n}\r\n\r\nexport const getUebersichtInitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_UEBERSICHT_INITIAL_REQUEST\" });\r\n const informationenresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/informationen`);\r\n const dialysenresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/dialysen`);\r\n const faktorenresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/faktoren`);\r\n const vgresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/checkvg`);\r\n dispatch({\r\n type: \"GET_UEBERSICHT_INITIAL_SUCCESS\",\r\n informationen: informationenresponse.data,\r\n dialysen: dialysenresponse.data,\r\n faktoren: faktorenresponse.data,\r\n vg: vgresponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_UEBERSICHT_INITIAL_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getEntwicklungInitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_ENTWICKLUNG_INITIAL_REQUEST\" });\r\n const entwicklungsquotenresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/entwicklungsquoten`);\r\n const entwicklungsquotenschnittresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/entwicklungsquotenschnitt`);\r\n\r\n dispatch({\r\n type: \"GET_ENTWICKLUNG_INITIAL_SUCCESS\",\r\n entwicklungsquoten: entwicklungsquotenresponse.data,\r\n entwicklungsquotenschnitt: entwicklungsquotenschnittresponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_ENTWICKLUNG_INITIAL_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getMengenInitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_MENGEN_INITIAL_REQUEST\" });\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/mengen`);\r\n\r\n dispatch({\r\n type: \"GET_MENGEN_INITIAL_SUCCESS\",\r\n mengen: response.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_MENGEN_INITIAL_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getQuoten = (tenantId: string) => (dispatch: Dispatch) => {\r\n dispatch({ type: \"GET_QUOTEN_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}/entwicklungsquotenschnitt`)\r\n .then(res => res.data)\r\n .then(quoten => {\r\n dispatch({\r\n type: \"GET_QUOTEN_SUCCESS\",\r\n entwicklungsquotenschnitt: quoten\r\n });\r\n })\r\n .catch(error => {\r\n dispatch({\r\n type: \"GET_QUOTEN_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\n\r\nexport const pdfinek = () => async () => {\r\n\r\n try { \r\n const response = await Axios.get(`${API_ENDPOINT}/pdfinek`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/pdf' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"Hinweise_Leistungsplanung_Budgetverhandlung_2019_2020_20191128.pdf\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"Hinweise_Leistungsplanung_Budgetverhandlung_2019_2020_20191128.pdf\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n }\r\n catch (error) {\r\n \r\n }\r\n};\r\n\r\nexport const vereinbarungsgrouping = (tenantId: string) => async () => {\r\n\r\n try {\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/vereinbarungsgrouping`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"Vereinbarungsgrouping_\" + tenantId + \".xlsx\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"Vereinbarungsgrouping_\" + tenantId + \".xlsx\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n }\r\n catch (error) {\r\n\r\n }\r\n};\r\n\r\nexport const setZielWert = (tenantId: string, patches: IJsonPatch) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT+\"/zielwert\", tenantId, [patches], dispatch, [\"SET_ZIELWERT_SUCCESS\", \"SET_ZIELWERT_FAILURE\"], null, undefined);\r\n};\r\n\r\nexport const setFaktor = (tenantId: string, patches: IJsonPatch) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/hochrechnungsfaktor\", tenantId, [patches], dispatch, [\"SET_FAKTOR_SUCCESS\", \"SET_FAKTOR_FAILURE\"], null, undefined);\r\n};\r\n\r\nexport const changeAbsenkung = (tenantId: string, patches: IJsonPatch) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/absenkung\", tenantId, [patches], dispatch, [\"CHANGE_ABSENKUNG_SUCCESS\", \"CHANGE_ABSENKUNG_FAILURE\"], null, undefined);\r\n};\r\n\r\nexport const setQuoten = (tenantId: string, patches: IJsonPatch, recordRef: IEntwicklungsquotenSchnitt) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/quoten\", tenantId, [patches], dispatch, [\"SET_QUOTEN_SUCCESS\", \"SET_QUOTEN_FAILURE\"], recordRef, undefined, false);\r\n};\r\n\r\nexport const changeDB = (tenantId: string, db: string) => async (dispatch: Dispatch) => {\r\n await Axios.post(`${API_ENDPOINT}/${tenantId}/${db}`);\r\n}\r\n\r\nexport const setMengenVD = (tenantId: string, field: string, value: boolean, thema: string) => async (dispatch: Dispatch) => {\r\n await Axios.post(`${API_ENDPOINT}/${tenantId}/${thema}/${field}/${value}`);\r\n}\r\n\r\n\r\nexport const actionCreators = {\r\n setZielWert,\r\n setFaktor,\r\n changeAbsenkung,\r\n setQuoten,\r\n getQuoten,\r\n getUebersichtInitial,\r\n getEntwicklungInitial,\r\n getMengenInitial,\r\n pdfinek,\r\n vereinbarungsgrouping,\r\n changeDB,\r\n setMengenVD\r\n};\r\n","import { AxiosError } from \"axios\";\r\n\r\nexport interface IAction\r\n{\r\n isFetching?: boolean;\r\n isPatching?: boolean;\r\n error?: AxiosError;\r\n}\r\n\r\nexport interface IJsonPatch\r\n{\r\n id?: number;\r\n ik?: string;\r\n fab?: string;\r\n entlassender_standort?: string;\r\n layer_id?: number;\r\n layer_name?: string;\r\n patch: IPatch[];\r\n}\r\n\r\nexport interface IPatch\r\n{\r\n op: \"replace\";\r\n path: string;\r\n value: any;\r\n}\r\n\r\nexport interface IResponseError\r\n{\r\n version?: string;\r\n type: string;\r\n code: number;\r\n error: string;\r\n message?: string;\r\n messages?: string[];\r\n parameters?: string[];\r\n help_url?: string;\r\n}\r\n\r\nexport interface IBenutzer\r\n{\r\n benutzername: string;\r\n mandanten: IMandant[];\r\n}\r\n\r\nexport interface IMandant\r\n{\r\n ik: string;\r\n planjahr: number;\r\n datenbasis: number;\r\n khname: string;\r\n}\r\n\r\nexport interface IMengen {\r\n thema: string;\r\n istmenge: number;\r\n planmenge: number;\r\n mindestmenge: number;\r\n erreicht: string;\r\n nichterbringen?: boolean;\r\n nichtsteigern?: boolean;\r\n}\r\n\r\nexport interface IMengenDRGListe {\r\n thema: string;\r\n drg: string;\r\n fallzahl: number;\r\n}\r\n\r\nexport interface IDialysen {\r\n monat: string;\r\n anzahl: number;\r\n}\r\n\r\nexport interface IFaktoren {\r\n jahr: string;\r\n faktor: number;\r\n hochrechnung: number;\r\n}\r\n\r\nexport interface IInformationen {\r\n id: number;\r\n ik: string;\r\n planjahr: number;\r\n datenbasis: number;\r\n fallzahl: number;\r\n effgew: number;\r\n fehleranzahl: number;\r\n unbewertetanzahl: number;\r\n hochrechnungsfaktor: number;\r\n zielwert: number;\r\n i68d_inlyer?: boolean;\r\n i68d_ueberlieger?: boolean;\r\n i68e_inlyer?: boolean;\r\n i68e_ueberlieger?: boolean;\r\n zeitraum_von: string;\r\n zeitraum_bis: string;\r\n upload: string;\r\n selecteddb: string;\r\n selecteddb_anzeige: string;\r\n dbs: string;\r\n}\r\n\r\nexport interface IEntwicklungsquoten {\r\n jahr: number;\r\n fallzahl_ist: number;\r\n fallzahl_vorjahr: number;\r\n fallzahl_absolut: number;\r\n fallzahl_relativ: number;\r\n effgew_ist: number;\r\n effgew_vorjahr: number;\r\n effgew_absolut: number;\r\n effgew_relativ: number;\r\n fallzahl_vb_ist: number;\r\n fallzahl_vb_vorjahr: number;\r\n fallzahl_vb_absolut: number;\r\n fallzahl_vb_relativ: number;\r\n effgew_vb_ist: number;\r\n effgew_vb_vorjahr: number;\r\n effgew_vb_absolut: number;\r\n effgew_vb_relativ: number;\r\n}\r\n\r\nexport interface IEntwicklungsquotenSchnitt {\r\n id: number;\r\n quoten_jahre: number;\r\n fallzahl_absolut: number;\r\n fallzahl_relativ: number;\r\n effgew_absolut: number;\r\n effgew_relativ: number;\r\n fallzahl_vb_absolut: number;\r\n fallzahl_vb_relativ: number;\r\n effgew_vb_absolut: number;\r\n effgew_vb_relativ: number;\r\n differenz_absolut: number;\r\n effgew_differenz_absolut: number;\r\n differenz_relativ: number;\r\n effgew_differenz_relativ: number;\r\n}\r\n\r\nexport interface IOps {\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n ops_kode: string;\r\n nichterbringen?: boolean;\r\n nichtsteigern?: boolean;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n fallnr?: number;\r\n effgew?: number;\r\n fallnr_neu?: number;\r\n effgew_neu?: number;\r\n}\r\n\r\nexport interface IDrg\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n drg: string;\r\n drg_text: string;\r\n abteilungstyp: number;\r\n nichterbringen?: boolean;\r\n nichtsteigern?: boolean;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n fallnr?: number;\r\n effgew?: number;\r\n fallnr_neu?: number;\r\n effgew_neu?: number;\r\n}\r\n\r\nexport interface IFab\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n nichterbringen?: boolean;\r\n nichtsteigern?: boolean;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n fallnr?: number;\r\n effgew?: number;\r\n fallnr_neu?: number;\r\n effgew_neu?: number;\r\n}\r\n\r\nexport interface IMdc\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n mdc: string;\r\n mdc_text: string;\r\n nichterbringen?: boolean;\r\n nichtsteigern?: boolean;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n fallnr?: number;\r\n effgew?: number;\r\n fallnr_neu?: number;\r\n effgew_neu?: number;\r\n}\r\n\r\nexport enum Layers\r\n{\r\n area = 0,\r\n layer1 = 1,\r\n layer2 = 2,\r\n layer3 = 3,\r\n layer4 = 4\r\n}\r\n\r\nexport interface IBg\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n bereich: string;\r\n ebene1: string;\r\n ebene2: string;\r\n ebene3: string;\r\n nichterbringen?: boolean;\r\n nichtsteigern?: boolean;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n fallnr?: number;\r\n effgew?: number;\r\n fallnr_neu?: number;\r\n effgew_neu?: number;\r\n}\r\n\r\nexport interface ILayer\r\n{\r\n type: Layers;\r\n name: string;\r\n layers?: ILayer[];\r\n}\r\n\r\nexport interface IKh\r\n{\r\n id: number;\r\n ik: string;\r\n zeile: number;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n}\r\n\r\nexport interface IKhFda\r\n{\r\n id: number;\r\n thema: string;\r\n prozent: number;\r\n effgew_alt: number;\r\n effgew_neu: number;\r\n mehrleistung: number;\r\n abschlag: number;\r\n cm_abs?: number;\r\n cm_proz?: number;\r\n cm_beschreibung: string;\r\n}\r\n\r\nexport interface IKhSum\r\n{\r\n ik: string;\r\n fab: string;\r\n fallzahl_alt: number;\r\n effgew_alt: number;\r\n fallzahl_neu: number;\r\n effgew_neu: number;\r\n effgew_saldo: number;\r\n}\r\n\r\nexport interface IThema\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n thema: string;\r\n cm_abs: number;\r\n fallzahl_anteil_in_thema:number\r\n kriterium: string;\r\n}\r\n\r\nexport interface IThemaSum\r\n{\r\n id: number;\r\n entlassender_standort: string;\r\n fab: string;\r\n thema: string;\r\n drg: string;\r\n drg_text: string;\r\n fallzahl: number;\r\n effgew: number;\r\n fallzahl_anteil_in_thema: number;\r\n referenz: number;\r\n voraussetzung: string;\r\n}\r\n\r\nexport interface IThemaShare\r\n{\r\n id: number;\r\n katalog: string;\r\n thema: string;\r\n fallzahl_anteil_in_thema: number;\r\n fallzahl_langlieger_anteil: number;\r\n fallzahl_kurzlieger_anteil: number;\r\n fallzahl_verlegung_anteil: number;\r\n tage_langlieger: number;\r\n tage_kurzlieger: number;\r\n tage_verlegung: number;\r\n effgew: number;\r\n}\r\n\r\nexport interface INlOps {\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n ops_kode: string;\r\n ops_text: string;\r\n cm_abs: number;\r\n fallzahl_anteil_in_ops: number\r\n}\r\n\r\nexport interface IOpsSum {\r\n id: number;\r\n entlassender_standort: string;\r\n fab: string;\r\n ops_kode: string;\r\n ops_text: string;\r\n drg: string;\r\n drg_text: string;\r\n fallzahl: number;\r\n effgew: number;\r\n fallzahl_anteil_in_ops: number;\r\n referenz: number;\r\n}\r\n\r\nexport interface IOpsShare {\r\n id: number;\r\n katalog: string;\r\n ops_kode: string;\r\n fallzahl_anteil_in_ops: number;\r\n fallzahl_langlieger_anteil: number;\r\n fallzahl_kurzlieger_anteil: number;\r\n fallzahl_verlegung_anteil: number;\r\n tage_langlieger: number;\r\n tage_kurzlieger: number;\r\n tage_verlegung: number;\r\n effgew: number;\r\n}\r\n\r\nexport interface INlDrg\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n drg: string;\r\n drg_text: string;\r\n abteilungstyp: number;\r\n cm_abs: number;\r\n}\r\n\r\nexport interface INlDrgSum\r\n{\r\n entlassender_standort: string;\r\n fab: string;\r\n drg: string;\r\n drg_text: string;\r\n fallzahl: number;\r\n effgew: number;\r\n}\r\n\r\nexport interface INlBg\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n bg_key: string;\r\n bereich: string;\r\n ebene1: string;\r\n ebene2: string;\r\n ebene3: string;\r\n cm_abs: number;\r\n fallzahl_anteil_in_bg: number;\r\n}\r\n\r\nexport interface INlBgSum\r\n{\r\n id: number;\r\n entlassender_standort: string;\r\n fab: string;\r\n thema: string;\r\n drg: string;\r\n drg_text: string;\r\n fallzahl: number;\r\n effgew: number;\r\n fallzahl_anteil_in_bg: number;\r\n referenz: number;\r\n}\r\n\r\nexport interface INlBgShare\r\n{\r\n katalog: string;\r\n bg_key: string;\r\n ebene3: string;\r\n drg: string;\r\n fallzahl_anteil_in_bg: number;\r\n fallzahl_langlieger_anteil: number;\r\n fallzahl_kurzlieger_anteil: number;\r\n fallzahl_verlegung_anteil: number;\r\n tage_langlieger: number;\r\n tage_kurzlieger: number;\r\n tage_verlegung: number;\r\n effgew: number;\r\n}\r\n\r\nexport interface IErgebnis\r\n{\r\n id: number;\r\n ik: string;\r\n entlassender_standort: string;\r\n fab: string;\r\n drg: string;\r\n abteilungstyp: number;\r\n drg_text: string;\r\n fallzahl: number;\r\n relgew: number;\r\n relgew_summe: number;\r\n fallzahl_kurzlieger: number;\r\n tage_kurzlieger: number;\r\n kurzlieger_abschlag: number;\r\n kurzlieger_abschlag_summe: number;\r\n fallzahl_verlegung: number;\r\n tage_verlegung: number;\r\n verlegung_abschlag: number;\r\n verlegung_abschlag_summe: number;\r\n fallzahl_langlieger: number;\r\n tage_langlieger: number;\r\n langlieger_zuschlag: number;\r\n langlieger_zuschlag_summe: number;\r\n effgew: number;\r\n vwd: number;\r\n pflege_cm: number;\r\n pflege_summe: number;\r\n}\r\n\r\nexport interface IFdaMod\r\n{\r\n id: number;\r\n drg: string;\r\n drg_text: string;\r\n abteilungstyp: number;\r\n fallzahl_alt: number;\r\n fallzahl_neu: number;\r\n effgew_alt: number;\r\n effgew_neu: number;\r\n mehrleistung: number;\r\n thema: string;\r\n hatabschlag: string;\r\n}\r\n\r\nexport interface IFdaErgebnis\r\n{\r\n thema: string;\r\n prozent: number;\r\n effgew_alt: number;\r\n effgew_neu: number;\r\n abschlag: number;\r\n}\r\n\r\nexport interface IFdaMl\r\n{\r\n id: number;\r\n thema: string;\r\n prozent: number;\r\n effgew_alt: number;\r\n effgew_neu: number;\r\n abschlag: number;\r\n mehrleistung: number;\r\n}\r\n\r\nexport interface IReport\r\n{\r\n session_id: string;\r\n id: number;\r\n name: string;\r\n doc_type: number;\r\n file_name: string;\r\n size: number;\r\n date_added: string;\r\n user_id: string;\r\n}\r\n\r\nexport interface IZwischenergebnis\r\n{\r\n id: number;\r\n ik: string;\r\n sortierung: number;\r\n text: string;\r\n effgew: string;\r\n fallzahl: string;\r\n ist_zwischensumme: boolean;\r\n}\r\n\r\nexport type InterimResultTypes = \"GET_INTERIM_RESULTS_REQUEST\" | \"GET_INTERIM_RESULTS_SUCCESS\" | \"GET_INTERIM_RESULTS_FAILURE\";\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IOps } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/opss\";\r\n\r\nexport interface IOpsAction extends IAction\r\n{\r\n type: \"GET_OPSS_REQUEST\" |\r\n \"GET_OPSS_SUCCESS\" |\r\n \"GET_OPSS_FAILURE\" |\r\n \"PATCH_OPSS_REQUEST\" |\r\n \"PATCH_OPSS_SUCCESS\" |\r\n \"PATCH_OPSS_FAILURE\";\r\n opss?: IOps[];\r\n}\r\n\r\nexport const getOpss = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_OPSS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}`)\r\n .then(res => res.data)\r\n .then(opss =>\r\n {\r\n dispatch({\r\n type: \"GET_OPSS_SUCCESS\",\r\n opss\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_OPSS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\n\r\nexport const getOpssMod = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_OPSS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}/mod`)\r\n .then(res => res.data)\r\n .then(opss =>\r\n {\r\n dispatch({\r\n type: \"GET_OPSS_SUCCESS\",\r\n opss\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_OPSS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\n\r\nexport const patchSingleOps = (tenantId: string, patches: IJsonPatch) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_OPSS_SUCCESS\", \"GET_OPSS_FAILURE\"], null, undefined, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\n\r\nexport const patchManyOps = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_OPSS_REQUEST\", \"PATCH_OPSS_SUCCESS\", \"GET_OPSS_FAILURE\"]);\r\n};\r\nexport const patchSingleOpsMod = (tenantId: string, patches: IJsonPatch, recordRef: IOps) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/mod\", tenantId, [patches], dispatch, [\"PATCH_OPSS_SUCCESS\", \"GET_OPSS_FAILURE\"], recordRef);\r\n};\r\n\r\nexport const patchManyOpsMod = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/mod\", tenantId, patches, dispatch, [\"PATCH_OPSS_REQUEST\", \"PATCH_OPSS_SUCCESS\", \"GET_OPSS_FAILURE\"]);\r\n};\r\n\r\nexport const actionCreators = {\r\n getOpss,\r\n getOpssMod,\r\n patchSingleOps,\r\n patchManyOps,\r\n patchSingleOpsMod,\r\n patchManyOpsMod\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IDrg } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/drgs\";\r\n\r\nexport interface IDrgAction extends IAction\r\n{\r\n type: \"GET_DRGS_REQUEST\" |\r\n \"GET_DRGS_SUCCESS\" |\r\n \"GET_DRGS_FAILURE\" |\r\n \"PATCH_DRGS_REQUEST\" |\r\n \"PATCH_DRGS_SUCCESS\" |\r\n \"PATCH_DRGS_FAILURE\";\r\n drgs?: IDrg[];\r\n}\r\n\r\nexport const getDrgs = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_DRGS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}`)\r\n .then(res => res.data)\r\n .then(drgs =>\r\n {\r\n dispatch({\r\n type: \"GET_DRGS_SUCCESS\",\r\n drgs\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_DRGS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\nexport const getDrgsVordefinition = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_DRGS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}/vordefinition`)\r\n .then(res => res.data)\r\n .then(drgs =>\r\n {\r\n dispatch({\r\n type: \"GET_DRGS_SUCCESS\",\r\n drgs\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_DRGS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\n\r\nexport const patchSingleDrg = (tenantId: string, patches: IJsonPatch, recordRef: IDrg) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_DRGS_SUCCESS\", \"GET_DRGS_FAILURE\"], recordRef, undefined, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\n\r\nexport const patchManyDrg = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_DRGS_REQUEST\", \"PATCH_DRGS_SUCCESS\", \"GET_DRGS_FAILURE\"]);\r\n};\r\nexport const patchSingleDrgVordefinition = (tenantId: string, patches: IJsonPatch, recordRef: IDrg) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, [patches], dispatch, [\"PATCH_DRGS_SUCCESS\", \"GET_DRGS_FAILURE\"], recordRef);\r\n};\r\n\r\nexport const patchManyDrgVordefinition = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, patches, dispatch, [\"PATCH_DRGS_REQUEST\", \"PATCH_DRGS_SUCCESS\", \"GET_DRGS_FAILURE\"]);\r\n};\r\n\r\nexport const actionCreators = {\r\n getDrgs,\r\n getDrgsVordefinition,\r\n patchSingleDrg,\r\n patchSingleDrgVordefinition,\r\n patchManyDrg,\r\n patchManyDrgVordefinition\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IBg, ILayer, Layers, InterimResultTypes } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\nimport { INode, defaultSelectionHelper } from \"../../ui/TreeView\";\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/bgs\";\r\n\r\nexport interface IBgAction extends IAction\r\n{\r\n type: \"GET_BGS_REQUEST\" |\r\n \"GET_BGS_SUCCESS\" |\r\n \"GET_BGS_INITIAL_SUCCESS\" |\r\n \"GET_BGS_INITIAL_VORDEFINITION_SUCCESS\" |\r\n \"GET_BGS_FAILURE\" |\r\n \"PATCH_BGS_REQUEST\" |\r\n \"PATCH_BGS_SUCCESS\" |\r\n \"PATCH_BGS_FAILURE\" |\r\n \"SELECT_FAB\" |\r\n \"SELECT_STANDORT\" |\r\n \"SELECT_NODE\" |\r\n \"SET_NODE_FILTER\" |\r\n InterimResultTypes;\r\n bgs?: IBg[];\r\n fabs?: string[];\r\n standorte?: string[];\r\n layers?: ILayer[];\r\n nodes?: INode[];\r\n selectedFab?: string;\r\n selectedStandort?: string;\r\n selectedNode?: INode;\r\n nodesFilter?: string;\r\n}\r\n\r\nexport const getBgIntitial = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_BGS_REQUEST\" });\r\n\r\n const fabResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fabs`);\r\n const standortResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/standorte`);\r\n if (fabResponse != undefined && fabResponse.data != undefined && fabResponse.data.length > 0)\r\n {\r\n const bgResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const layerResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/layers`);\r\n dispatch({\r\n type: \"GET_BGS_INITIAL_SUCCESS\",\r\n bgs: bgResponse.data,\r\n fabs: fabResponse.data,\r\n standorte: standortResponse.data,\r\n layers: layerResponse.data\r\n });\r\n }\r\n else\r\n {\r\n dispatch({\r\n type: \"GET_BGS_INITIAL_SUCCESS\",\r\n fabs: fabResponse.data,\r\n standorte: standortResponse.data,\r\n themen: [],\r\n sum: [],\r\n share: []\r\n });\r\n }\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_BGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\nexport const getBgVordefinitionIntitial = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try {\r\n dispatch({ type: \"GET_BGS_REQUEST\" });\r\n\r\n const fabResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fabs/vordefinition`);\r\n const standortResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/standorte/vordefinition`);\r\n if (fabResponse != undefined && fabResponse.data != undefined && fabResponse.data.length > 0) {\r\n const bgResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/vordefinition`);\r\n const layerResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/layers/vordefinition`);\r\n dispatch({\r\n type: \"GET_BGS_INITIAL_VORDEFINITION_SUCCESS\",\r\n bgs: bgResponse.data,\r\n fabs: fabResponse.data,\r\n standorte: standortResponse.data,\r\n layers: layerResponse.data\r\n });\r\n }\r\n else {\r\n dispatch({\r\n type: \"GET_BGS_INITIAL_VORDEFINITION_SUCCESS\",\r\n fabs: fabResponse.data,\r\n standorte: standortResponse.data,\r\n themen: [],\r\n sum: [],\r\n share: []\r\n });\r\n }\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_BGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getBgs = (tenantId: string, layer?: ILayer) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_BGS_REQUEST\" });\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}`, {\r\n params: {\r\n layer: layer ? `${layer.type}|${layer.name}` : undefined\r\n }\r\n });\r\n dispatch({\r\n type: \"GET_BGS_SUCCESS\",\r\n bgs: response.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_BGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\nexport const getBgsVordefinition = (tenantId: string, layer?: ILayer) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_BGS_REQUEST\" });\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/vordefinition`, {\r\n params: {\r\n layer: layer ? `${layer.type}|${layer.name}` : undefined\r\n }\r\n });\r\n dispatch({\r\n type: \"GET_BGS_SUCCESS\",\r\n bgs: response.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_BGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchSingleBg = (tenantId: string, patches: IJsonPatch, recordRef: IBg) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_BGS_SUCCESS\", \"GET_BGS_FAILURE\"], recordRef, undefined, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\nexport const patchSingleBgVordefinition = (tenantId: string, patches: IJsonPatch, recordRef: IBg) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, [patches], dispatch, [\"PATCH_BGS_SUCCESS\", \"GET_BGS_FAILURE\"], recordRef);\r\n};\r\n\r\nexport const patchManyBg = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_BGS_REQUEST\", \"PATCH_BGS_SUCCESS\", \"GET_BGS_FAILURE\"]);\r\n};\r\nexport const patchManyBgVordefinition = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, patches, dispatch, [\"PATCH_BGS_REQUEST\", \"PATCH_BGS_SUCCESS\", \"GET_BGS_FAILURE\"]);\r\n};\r\n\r\nexport const setFab = (fab: string): IBgAction => ({\r\n type: \"SELECT_FAB\",\r\n selectedFab: fab\r\n});\r\n\r\nexport const setStandort = (standort: string): IBgAction => ({\r\n type: \"SELECT_STANDORT\",\r\n selectedStandort: standort\r\n});\r\n\r\nexport const setNode = (selectedNode: INode | undefined, currentlySelectedNode: INode | undefined, nodes: INode[]): IBgAction => ({\r\n type: \"SELECT_NODE\",\r\n ...defaultSelectionHelper(selectedNode, currentlySelectedNode, nodes)\r\n});\r\n\r\nexport const setNodeFilter = (filter: string | undefined): IBgAction => ({\r\n type: \"SET_NODE_FILTER\",\r\n nodesFilter: filter\r\n});\r\n\r\nexport const actionCreators = {\r\n getBgIntitial,\r\n getBgVordefinitionIntitial,\r\n getBgs,\r\n getBgsVordefinition,\r\n patchSingleBg,\r\n patchSingleBgVordefinition,\r\n patchManyBg,\r\n patchManyBgVordefinition,\r\n setFab,\r\n setStandort,\r\n setNode,\r\n setNodeFilter\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IMdc } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/mdcs\";\r\n\r\nexport interface IMdcAction extends IAction\r\n{\r\n type: \"GET_MDCS_REQUEST\" |\r\n \"GET_MDCS_SUCCESS\" |\r\n \"GET_MDCS_FAILURE\" |\r\n \"PATCH_MDCS_REQUEST\" |\r\n \"PATCH_MDCS_SUCCESS\" |\r\n \"PATCH_MDCS_FAILURE\";\r\n mdcs?: IMdc[];\r\n}\r\n\r\nexport const getMdcs = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_MDCS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}`)\r\n .then(res => res.data)\r\n .then(mdcs =>\r\n {\r\n dispatch({\r\n type: \"GET_MDCS_SUCCESS\",\r\n mdcs\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_MDCS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\nexport const getMdcsVordefinition = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_MDCS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}/vordefinition`)\r\n .then(res => res.data)\r\n .then(mdcs =>\r\n {\r\n dispatch({\r\n type: \"GET_MDCS_SUCCESS\",\r\n mdcs\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_MDCS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\n\r\nexport const patchSingleMdc = (tenantId: string, patches: IJsonPatch, recordRef: IMdc) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_MDCS_SUCCESS\", \"GET_MDCS_FAILURE\"], recordRef, undefined, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\n\r\nexport const patchManyMdc = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_MDCS_REQUEST\", \"PATCH_MDCS_SUCCESS\", \"GET_MDCS_FAILURE\"]);\r\n};\r\nexport const patchSingleMdcVordefinition = (tenantId: string, patches: IJsonPatch, recordRef: IMdc) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, [patches], dispatch, [\"PATCH_MDCS_SUCCESS\", \"GET_MDCS_FAILURE\"], recordRef);\r\n};\r\n\r\nexport const patchManyMdcVordefinition = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, patches, dispatch, [\"PATCH_MDCS_REQUEST\", \"PATCH_MDCS_SUCCESS\", \"GET_MDCS_FAILURE\"]);\r\n};\r\n\r\nexport const actionCreators = {\r\n getMdcs,\r\n getMdcsVordefinition,\r\n patchSingleMdc,\r\n patchSingleMdcVordefinition,\r\n patchManyMdc,\r\n patchManyMdcVordefinition\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IFab } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/fabs\";\r\n\r\nexport interface IFabAction extends IAction\r\n{\r\n type: \"GET_FABS_REQUEST\" |\r\n \"GET_FABS_SUCCESS\" |\r\n \"GET_FABS_FAILURE\" |\r\n \"PATCH_FABS_REQUEST\" |\r\n \"PATCH_FABS_SUCCESS\" |\r\n \"PATCH_FABS_FAILURE\";\r\n fabs?: IFab[];\r\n}\r\n\r\nexport const getFabs = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_FABS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}`)\r\n .then(res => res.data)\r\n .then(fabs =>\r\n {\r\n dispatch({\r\n type: \"GET_FABS_SUCCESS\",\r\n fabs\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_FABS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\nexport const getFabsVordefinition = (tenantId: string) => (dispatch: Dispatch) =>\r\n{\r\n dispatch({ type: \"GET_FABS_REQUEST\" });\r\n Axios.get(`${API_ENDPOINT}/${tenantId}/vordefinition`)\r\n .then(res => res.data)\r\n .then(fabs =>\r\n {\r\n dispatch({\r\n type: \"GET_FABS_SUCCESS\",\r\n fabs\r\n });\r\n })\r\n .catch(error =>\r\n {\r\n dispatch({\r\n type: \"GET_FABS_FAILURE\",\r\n error\r\n });\r\n });\r\n};\r\n\r\nexport const patchSingleFab = (tenantId: string, patches: IJsonPatch, recordRef: IFab) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_FABS_SUCCESS\", \"GET_FABS_FAILURE\"], recordRef, undefined, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\n\r\nexport const patchManyFab = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_FABS_REQUEST\", \"PATCH_FABS_SUCCESS\", \"GET_FABS_FAILURE\"]);\r\n};\r\nexport const patchSingleFabVordefinition = (tenantId: string, patches: IJsonPatch, recordRef: IFab) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, [patches], dispatch, [\"PATCH_FABS_SUCCESS\", \"GET_FABS_FAILURE\"], recordRef);\r\n};\r\n\r\nexport const patchManyFabVordefinition = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/vordefinition\", tenantId, patches, dispatch, [\"PATCH_FABS_REQUEST\", \"PATCH_FABS_SUCCESS\", \"GET_FABS_FAILURE\"]);\r\n};\r\n\r\nexport const actionCreators = {\r\n getFabs,\r\n getFabsVordefinition,\r\n patchSingleFab,\r\n patchSingleFabVordefinition,\r\n patchManyFab,\r\n patchManyFabVordefinition\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IKh, IKhSum, IKhFda } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/khs\";\r\n\r\nexport interface IKhAction extends IAction\r\n{\r\n type: \"GET_KHS_REQUEST\" |\r\n \"GET_KHS_SUCCESS\" |\r\n \"GET_KHS_FAILURE\" |\r\n \"GET_FDA_REQUEST\" |\r\n \"GET_FDA_SUCCESS\" |\r\n \"GET_FDA_FAILURE\" |\r\n \"GET_SUM_REQUEST\" |\r\n \"GET_SUM_SUCCESS\" |\r\n \"GET_SUM_FAILURE\" |\r\n \"PATCH_KHS_REQUEST\" |\r\n \"PATCH_KHS_SUCCESS\" |\r\n \"PATCH_KHS_FAILURE\";\r\n khs?: IKh[];\r\n fda?: IKhFda[];\r\n sum?: IKhSum[];\r\n}\r\n\r\nexport const getKhs = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_KHS_REQUEST\" });\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/sum`);\r\n dispatch({\r\n type: \"GET_KHS_SUCCESS\",\r\n khs: response.data,\r\n sum: sumResponse.data,\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_KHS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getFda = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_FDA_REQUEST\" }); \r\n const fdaresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fda`);\r\n dispatch({\r\n type: \"GET_FDA_SUCCESS\",\r\n fda: fdaresponse.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_FDA_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchSingleKh = (tenantId: string, patches: IJsonPatch, getSum: Function) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_KHS_SUCCESS\", \"GET_KHS_FAILURE\"], null, getSum, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\n\r\nexport const patchSingleFda = (tenantId: string, patches: IJsonPatch, getSum: Function) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT + \"/fda\", tenantId, [patches], dispatch, [\"PATCH_KHS_SUCCESS\", \"GET_KHS_FAILURE\"], null, getSum, !patches.patch[0].path.includes(\"beschreibung\"));\r\n};\r\n\r\nexport const patchManyKh = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) =>\r\n{\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_KHS_REQUEST\", \"PATCH_KHS_SUCCESS\", \"GET_KHS_FAILURE\"]);\r\n};\r\n\r\nexport const getKhsSum = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_SUM_REQUEST\" });\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/sum`);\r\n dispatch({\r\n type: \"GET_SUM_SUCCESS\",\r\n sum: sumResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_SUM_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getKhs,\r\n getFda,\r\n patchSingleKh,\r\n patchSingleFda,\r\n patchManyKh,\r\n getKhsSum\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, ILayer, Layers, INlBgSum, INlBgShare, INlBg } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\nimport { INode, defaultSelectionHelper } from \"../../ui/TreeView\";\r\nimport { GetFab, GetStandort } from \"../../pages/helpers/get-custom-filters\";\r\n\r\nconst API_ENDPOINT: string = \"/api/services/bgs\";\r\nconst API_LAYERS_ENDPOINT: string = \"/api/services/bgs\";\r\n\r\nexport interface INlBgAction extends IAction {\r\n type: \"GET_NL_BGS_REQUEST\" |\r\n \"GET_NL_BGS_SUCCESS\" |\r\n \"GET_NL_BGS_INITIAL_SUCCESS\" |\r\n \"GET_NL_BGS_FAILURE\" |\r\n \"GET_NL_BGS_SUM_REQUEST\" |\r\n \"GET_NL_BGS_SUM_SUCCESS\" |\r\n \"GET_NL_BGS_SUM_FAILURE\" |\r\n \"PATCH_NL_BGS_ANTEIL_REQUEST\" |\r\n \"PATCH_NL_BGS_ANTEIL_SUCCESS\" |\r\n \"PATCH_NL_BGS_ANTEIL_FAILURE\" |\r\n \"PATCH_NL_BGS_REQUEST\" |\r\n \"PATCH_NL_BGS_SUCCESS\" |\r\n \"PATCH_NL_BGS_FAILURE\" |\r\n \"SELECT_NODE\" |\r\n \"SET_NODE_FILTER\";\r\n bgs?: INlBg[];\r\n layers?: ILayer[];\r\n nodes?: INode[];\r\n sum?: INlBgSum[];\r\n share?: INlBgShare[];\r\n selectedNode?: INode;\r\n nodesFilter?: string;\r\n}\r\n\r\nexport const getBgIntitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_NL_BGS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n const bgResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n const shareResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/share`);\r\n const layerResponse = await Axios.get(`${API_LAYERS_ENDPOINT}/${tenantId}/layers`);\r\n dispatch({\r\n type: \"GET_NL_BGS_INITIAL_SUCCESS\",\r\n bgs: bgResponse.data,\r\n sum: sumResponse.data,\r\n share: shareResponse.data,\r\n layers: layerResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_NL_BGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getBgs = (tenantId: string, layer?: ILayer) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_NL_BGS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}`, {\r\n params: {\r\n layer: layer ? `${layer.type}|${layer.name}` : undefined\r\n }\r\n });\r\n const shareResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/share`, {\r\n params: {\r\n layer: layer ? `${layer.type}|${layer.name}` : undefined\r\n }\r\n });\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n\r\n dispatch({\r\n type: \"GET_NL_BGS_SUCCESS\",\r\n bgs: response.data,\r\n sum: sumResponse.data,\r\n share: shareResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_NL_BGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchAnteil = (tenantId: string, patches: IJsonPatch, recordRef: INlBgSum, f: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/anteil\", tenantId, [patches], dispatch, [\"PATCH_NL_BGS_ANTEIL_SUCCESS\", \"GET_NL_BGS_SUM_FAILURE\"], recordRef, f);\r\n};\r\n\r\nexport const patchSingleBg = (tenantId: string, patches: IJsonPatch, getSum: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_NL_BGS_SUCCESS\", \"GET_NL_BGS_FAILURE\"], null, getSum);\r\n};\r\n\r\nexport const patchManyBg = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_NL_BGS_REQUEST\", \"PATCH_NL_BGS_SUCCESS\", \"GET_NL_BGS_FAILURE\"]);\r\n};\r\n\r\nexport const setNode = (selectedNode: INode | undefined, currentlySelectedNode: INode | undefined, nodes: INode[]): INlBgAction => ({\r\n type: \"SELECT_NODE\",\r\n ...defaultSelectionHelper(selectedNode, currentlySelectedNode, nodes)\r\n});\r\n\r\nexport const setNodeFilter = (filter: string | undefined): INlBgAction => ({\r\n type: \"SET_NODE_FILTER\",\r\n nodesFilter: filter\r\n});\r\n\r\nexport const getNlBgsSum = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_NL_BGS_SUM_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n dispatch({\r\n type: \"GET_NL_BGS_SUM_SUCCESS\",\r\n sum: sumResponse.data\r\n });\r\n\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_NL_BGS_SUM_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getBgIntitial,\r\n getBgs,\r\n patchAnteil,\r\n patchSingleBg,\r\n patchManyBg,\r\n setNode,\r\n setNodeFilter,\r\n getNlBgsSum\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, INlDrg, INlDrgSum } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\nimport { GetFab, GetStandort } from \"../../pages/helpers/get-custom-filters\";\r\n\r\nconst API_ENDPOINT: string = \"/api/services/drgs\";\r\n\r\nexport interface INlDrgAction extends IAction {\r\n type: \"GET_NL_DRGS_REQUEST\" |\r\n \"GET_NL_DRGS_SUCCESS\" |\r\n \"GET_NL_DRGS_INITIAL_SUCCESS\" |\r\n \"GET_NL_DRGS_FAILURE\" |\r\n \"GET_NL_DRGS_SUM_REQUEST\" |\r\n \"GET_NL_DRGS_SUM_SUCCESS\" |\r\n \"GET_NL_DRGS_SUM_FAILURE\" |\r\n \"PATCH_NL_DRGS_REQUEST\" |\r\n \"PATCH_NL_DRGS_SUCCESS\" |\r\n \"PATCH_NL_DRGS_FAILURE\";\r\n drgs?: INlDrg[];\r\n sum?: INlDrgSum[];\r\n}\r\n\r\nexport const getNlDrgsInitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_NL_DRGS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n dispatch({\r\n type: \"GET_NL_DRGS_INITIAL_SUCCESS\",\r\n drgs: response.data,\r\n sum: sumResponse.data\r\n });\r\n\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_NL_DRGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getNlDrgs = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_NL_DRGS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n dispatch({\r\n type: \"GET_NL_DRGS_SUCCESS\",\r\n drgs: response.data,\r\n sum: sumResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_NL_DRGS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchSingleNlDrg = (tenantId: string, patches: IJsonPatch, getSum: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_NL_DRGS_SUCCESS\", \"GET_NL_DRGS_FAILURE\"], null, getSum);\r\n};\r\n\r\nexport const patchManyNlDrg = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_NL_DRGS_REQUEST\", \"PATCH_NL_DRGS_SUCCESS\", \"GET_NL_DRGS_FAILURE\"]);\r\n};\r\n\r\nexport const getNlDrgsSum = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_NL_DRGS_SUM_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n dispatch({\r\n type: \"GET_NL_DRGS_SUM_SUCCESS\",\r\n sum: sumResponse.data\r\n });\r\n\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_NL_DRGS_SUM_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getNlDrgsInitial,\r\n getNlDrgs,\r\n patchSingleNlDrg,\r\n patchManyNlDrg,\r\n getNlDrgsSum\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, IThema, IThemaSum, IThemaShare } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\nimport { GetFab, GetStandort } from \"../../pages/helpers/get-custom-filters\";\r\n\r\nconst API_ENDPOINT: string = \"/api/services/topics\";\r\n\r\nexport interface IThemaAction extends IAction {\r\n type: \"GET_TOPICS_REQUEST\" |\r\n \"GET_TOPICS_SUCCESS\" |\r\n \"GET_TOPICS_INITIAL_SUCCESS\" |\r\n \"GET_TOPICS_FAILURE\" |\r\n \"GET_TOPICS_SUM_REQUEST\" |\r\n \"GET_TOPICS_SUM_SUCCESS\" |\r\n \"GET_TOPICS_SUM_FAILURE\" |\r\n \"PATCH_ANTEIL_REQUEST\" |\r\n \"PATCH_ANTEIL_SUCCESS\" |\r\n \"PATCH_ANTEIL_FAILURE\" |\r\n \"PATCH_TOPICS_REQUEST\" |\r\n \"PATCH_TOPICS_SUCCESS\" |\r\n \"PATCH_TOPICS_FAILURE\"; \r\n themen?: IThema[];\r\n sum?: IThemaSum[];\r\n share?: IThemaShare[];\r\n}\r\n\r\nexport const getTopicsInitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_TOPICS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n const topicResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n const shareResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/share`);\r\n dispatch({\r\n type: \"GET_TOPICS_INITIAL_SUCCESS\",\r\n themen: topicResponse.data,\r\n sum: sumResponse.data,\r\n share: shareResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_TOPICS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getTopics = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_TOPICS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const topicResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n const shareResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/share`);\r\n dispatch({\r\n type: \"GET_TOPICS_SUCCESS\",\r\n themen: topicResponse.data,\r\n sum: sumResponse.data,\r\n share: shareResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_TOPICS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchAnteil = (tenantId: string, patches: IJsonPatch, recordRef: IThemaSum, f: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/anteil\", tenantId, [patches], dispatch, [\"PATCH_ANTEIL_SUCCESS\", \"GET_TOPICS_SUM_FAILURE\"], recordRef, f);\r\n};\r\n\r\nexport const patchSingleThema = (tenantId: string, patches: IJsonPatch, getSum: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_TOPICS_SUCCESS\", \"GET_TOPICS_FAILURE\"], null, getSum);\r\n};\r\n\r\nexport const patchManyThema = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_TOPICS_REQUEST\", \"PATCH_TOPICS_SUCCESS\", \"GET_TOPICS_FAILURE\"]);\r\n};\r\n\r\nexport const getTopicsSum = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_TOPICS_SUM_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n dispatch({\r\n type: \"GET_TOPICS_SUM_SUCCESS\",\r\n sum: sumResponse.data\r\n });\r\n\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_TOPICS_SUM_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getTopicsInitial,\r\n getTopics,\r\n patchAnteil,\r\n patchSingleThema,\r\n patchManyThema,\r\n getTopicsSum\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IJsonPatch, INlOps, IOpsSum, IOpsShare } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\nimport { GetFab, GetStandort } from \"../../pages/helpers/get-custom-filters\";\r\n\r\nconst API_ENDPOINT: string = \"/api/services/opss\";\r\n\r\nexport interface IOpsAction extends IAction {\r\n type: \"GET_OPSS_REQUEST\" |\r\n \"GET_OPSS_SUCCESS\" |\r\n \"GET_OPSS_INITIAL_SUCCESS\" |\r\n \"GET_OPSS_FAILURE\" |\r\n \"GET_OPSS_SUM_REQUEST\" |\r\n \"GET_OPSS_SUM_SUCCESS\" |\r\n \"GET_OPSS_SUM_FAILURE\" |\r\n \"PATCH_ANTEIL_REQUEST\" |\r\n \"PATCH_ANTEIL_SUCCESS\" |\r\n \"PATCH_ANTEIL_FAILURE\" |\r\n \"PATCH_OPSS_REQUEST\" |\r\n \"PATCH_OPSS_SUCCESS\" |\r\n \"PATCH_OPSS_FAILURE\";\r\n opss?: INlOps[];\r\n sum?: IOpsSum[];\r\n share?: IOpsShare[];\r\n}\r\n\r\nexport const getOpssInitial = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_OPSS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n const opsResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n const shareResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/share`);\r\n dispatch({\r\n type: \"GET_OPSS_INITIAL_SUCCESS\",\r\n opss: opsResponse.data,\r\n sum: sumResponse.data,\r\n share: shareResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_OPSS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getOpss = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_OPSS_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const opsResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n const shareResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/share`);\r\n dispatch({\r\n type: \"GET_OPSS_SUCCESS\",\r\n opss: opsResponse.data,\r\n sum: sumResponse.data,\r\n share: shareResponse.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_OPSS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchAnteil = (tenantId: string, patches: IJsonPatch, recordRef: IOpsSum, f: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/anteil\", tenantId, [patches], dispatch, [\"PATCH_ANTEIL_SUCCESS\", \"GET_OPSS_SUM_FAILURE\"], recordRef, f);\r\n};\r\n\r\nexport const patchSingleOps = (tenantId: string, patches: IJsonPatch, getSum: Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_OPSS_SUCCESS\", \"GET_OPSS_FAILURE\"], null, getSum);\r\n};\r\n\r\nexport const patchManyOps = (tenantId: string, patches: IJsonPatch[]) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, patches, dispatch, [\"PATCH_OPSS_REQUEST\", \"PATCH_OPSS_SUCCESS\", \"GET_OPSS_FAILURE\"]);\r\n};\r\n\r\nexport const getOpssSum = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_OPSS_SUM_REQUEST\" });\r\n\r\n const fab = GetFab();\r\n const standort = GetStandort();\r\n\r\n const sumResponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/${standort}/${fab}/sum`);\r\n dispatch({\r\n type: \"GET_OPSS_SUM_SUCCESS\",\r\n sum: sumResponse.data\r\n });\r\n\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_OPSS_SUM_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getOpssInitial,\r\n getOpss,\r\n patchAnteil,\r\n patchSingleOps,\r\n patchManyOps,\r\n getOpssSum\r\n};\r\n","import { Dispatch } from \"redux\";\r\nimport Axios from \"axios\";\r\nimport { IAction, IErgebnis, IReport, IFdaMod, IJsonPatch, IFdaErgebnis, IFdaMl, IMengen, IMengenDRGListe } from \"./types\";\r\nimport { patchRequest } from \"../helpers/patch-request\";\r\n\r\nconst API_ENDPOINT: string = \"/api/results\";\r\n\r\nexport interface IErgebnisAction extends IAction\r\n{\r\n type: \"GET_RESULTS_REQUEST\" |\r\n \"GET_RESULTS_SUCCESS\" |\r\n \"GET_RESULTSML_SUCCESS\" |\r\n \"GET_RESULTS_CALCULATE_SUCCESS\" |\r\n \"GET_RESULTSML_CALCULATE_SUCCESS\" |\r\n \"GET_RESULTS_OL_CALCULATE_SUCCESS\" |\r\n \"GET_RESULTSFDA_CALCULATE_SUCCESS\" |\r\n \"GET_RESULTSFDAML_CALCULATE_SUCCESS\" |\r\n \"GET_RESULTS_FAILURE\" |\r\n \"GET_OVERLYER_REQUEST\" |\r\n \"GET_OVERLYER_SUCCESS\" |\r\n \"GET_OVERLYER_FAILURE\" |\r\n \"GET_MENGEN_REQUEST\" |\r\n \"GET_MENGEN_SUCCESS\" |\r\n \"GET_MENGEN_FAILURE\" |\r\n \"GET_FDA_REQUEST\" |\r\n \"GET_FDA_SUCCESS\" |\r\n \"GET_FDA_FAILURE\" |\r\n \"GET_FDAERGEBNIS_REQUEST\" |\r\n \"GET_FDAERGEBNIS_SUCCESS\" |\r\n \"GET_FDAERGEBNIS_FAILURE\" |\r\n \"GET_FDAML_REQUEST\" |\r\n \"GET_FDAML_SUCCESS\" |\r\n \"GET_FDAML_FAILURE\" |\r\n \"TRANSFER_REQUEST\" |\r\n \"TRANSFER_SUCCESS\" |\r\n \"TRANSFER_FAILURE\" |\r\n \"PATCH_FDAMOD_SUCCESS\" |\r\n \"PATCH_FDAMOD_FAILURE\" |\r\n \"PATCH_FDAML_SUCCESS\" |\r\n \"PATCH_FDAML_FAILURE\" |\r\n \"GET_REPORTS_REQUEST\" |\r\n \"GET_REPORTS_SUCCESS\" |\r\n \"GET_REPORTS_CALCULATE_SUCCESS\" |\r\n \"GET_REPORTS_FAILURE\" |\r\n \"GET_EXCEL_REQUEST\" |\r\n \"GET_EXCEL_SUCCESS\" |\r\n \"GET_EXCEL_FAILURE\";\r\n ergebnis?: IErgebnis[];\r\n reports?: IReport[];\r\n fdamod?: IFdaMod[];\r\n fdathemen?: string[];\r\n fdaergebnis?: IFdaErgebnis[];\r\n fdaml?: IFdaMl[];\r\n mengen?: IMengen[];\r\n mengendrgliste?: IMengenDRGListe[];\r\n verbund?: string;\r\n}\r\n\r\nexport const getErgebnis = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTS_SUCCESS\",\r\n ergebnis: response.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getErgebnisMl = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/e1nachverhandlung`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTSML_SUCCESS\",\r\n ergebnis: response.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getUeberlieger= (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_OVERLYER_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/ueberlieger`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_OVERLYER_SUCCESS\",\r\n ergebnis: response.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_OVERLYER_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getMengen= (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_MENGEN_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/mengen`);\r\n const liste = await Axios.get(`${API_ENDPOINT}/${tenantId}/mengendrgliste`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_MENGEN_SUCCESS\",\r\n mengen: response.data,\r\n mengendrgliste: liste.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_MENGEN_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getFda= (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_FDA_REQUEST\" });\r\n\r\n const themenresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdamodthemen`);\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdamod`);\r\n const ergebnisresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdaergebnis`);\r\n\r\n dispatch({\r\n type: \"GET_FDA_SUCCESS\",\r\n fdamod: response.data,\r\n fdathemen: themenresponse.data,\r\n fdaergebnis: ergebnisresponse.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_FDA_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getFdaErgebnis= (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_FDAERGEBNIS_REQUEST\" });\r\n \r\n const ergebnisresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdaergebnis`);\r\n\r\n dispatch({\r\n type: \"GET_FDAERGEBNIS_SUCCESS\",\r\n fdaergebnis: ergebnisresponse.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_FDAERGEBNIS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const getFdaMl= (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_FDAML_REQUEST\" });\r\n \r\n const ergebnisresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdaml`);\r\n\r\n dispatch({\r\n type: \"GET_FDAML_SUCCESS\",\r\n fdaml: ergebnisresponse.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_FDAML_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const patchFdaThema = (tenantId: string, patches: IJsonPatch, recordRef: IFdaMod, f:Function) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT, tenantId, [patches], dispatch, [\"PATCH_FDAMOD_SUCCESS\", \"PATCH_FDAMOD_FAILURE\"], recordRef, f, false);\r\n};\r\n\r\nexport const patchFdaMl = (tenantId: string, patches: IJsonPatch) => async (dispatch: Dispatch) => {\r\n await patchRequest(API_ENDPOINT + \"/fdaml\", tenantId, [patches], dispatch, [\"PATCH_FDAML_SUCCESS\", \"PATCH_FDAML_FAILURE\"], undefined, undefined, false);\r\n};\r\n\r\nexport const getReports = () => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/reports`);\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\",\r\n reports: response.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const transfer = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"TRANSFER_REQUEST\" });\r\n\r\n await Axios.post(`${API_ENDPOINT}/${tenantId}/transfer`);\r\n dispatch({\r\n type: \"TRANSFER_SUCCESS\", \r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"TRANSFER_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const calculate = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n const response = await Axios.post(`${API_ENDPOINT}/${tenantId}/calculate`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTS_CALCULATE_SUCCESS\",\r\n ergebnis: response.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const calculateml = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n const response = await Axios.post(`${API_ENDPOINT}/${tenantId}/calculateml`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTSML_CALCULATE_SUCCESS\",\r\n ergebnis: response.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const calculateueberlieger = (tenantId: string) => async (dispatch: Dispatch) => {\r\n try {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n await Axios.post(`${API_ENDPOINT}/${tenantId}/calculate`);\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/ueberlieger`);\r\n const verbund = await Axios.get(`${API_ENDPOINT}/${tenantId}/verbund`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTS_OL_CALCULATE_SUCCESS\",\r\n ergebnis: response.data,\r\n verbund: verbund.data\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const calculatefda = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n await Axios.post(`${API_ENDPOINT}/${tenantId}/calculate`);\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdaergebnis`);\r\n const themenresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdamodthemen`);\r\n const modresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdamod`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTSFDA_CALCULATE_SUCCESS\",\r\n fdaergebnis: response.data,\r\n fdamod: modresponse.data,\r\n fdathemen: themenresponse.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const calculatefdaml = (tenantId: string) => async (dispatch: Dispatch) =>\r\n{\r\n try\r\n {\r\n dispatch({ type: \"GET_RESULTS_REQUEST\" });\r\n await Axios.post(`${API_ENDPOINT}/${tenantId}/calculate`);\r\n const ergebnisresponse = await Axios.get(`${API_ENDPOINT}/${tenantId}/fdaml`);\r\n\r\n dispatch({\r\n type: \"GET_RESULTSFDAML_CALCULATE_SUCCESS\",\r\n fdaml: ergebnisresponse.data\r\n });\r\n }\r\n catch (error)\r\n {\r\n dispatch({\r\n type: \"GET_RESULTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const excel = (tenantId: string) => async (dispatch: Dispatch) => {\r\n\r\n try {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/excel`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"e1_formular_\" + tenantId + \".xlsx\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"e1_formular_\" + tenantId + \".xlsx\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\"\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const excelzvmo = (tenantId: string) => async (dispatch: Dispatch) => {\r\n\r\n try {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/excelzvmo`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"AEB_Forderung_2020_inkl._FDA.xlsm\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"AEB_Forderung_2020_inkl._FDA.xlsm\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\"\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const excelzvmoherleitung = (tenantId: string) => async (dispatch: Dispatch) => {\r\n\r\n try {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/excelzvmoherleitung`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"Herleitung_Forderung_2020.xlsx\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"Herleitung_Forderung_2020.xlsx\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\"\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const excelzvmofda = (tenantId: string) => async (dispatch: Dispatch) => {\r\n\r\n try {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/excelzvmofda`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"FDA_Berechnung.xlsx\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"FDA_Berechnung.xlsx\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\"\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const excelMl = (tenantId: string) => async (dispatch: Dispatch) => {\r\n\r\n try {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/excelMl`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"e1_formular_\" + tenantId + \".xlsx\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"e1_formular_\" + tenantId + \".xlsx\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\"\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const excelzvmoMl = (tenantId: string) => async (dispatch: Dispatch) => {\r\n\r\n try {\r\n dispatch({ type: \"GET_REPORTS_REQUEST\" });\r\n\r\n const response = await Axios.get(`${API_ENDPOINT}/${tenantId}/excelzvmoMl`, { responseType: 'arraybuffer' });\r\n\r\n var file = new Blob([response.data], { type: 'application/vnd.ms-excel' });\r\n if (window.navigator.msSaveOrOpenBlob) // IE10+\r\n window.navigator.msSaveOrOpenBlob(file, \"AEB_Forderung_2020_inkl._FDA.xlsm\");\r\n else { // Others\r\n var a = document.createElement(\"a\"),\r\n url = URL.createObjectURL(file);\r\n a.href = url;\r\n a.download = \"AEB_Forderung_2020_inkl._FDA.xlsm\";\r\n document.body.appendChild(a);\r\n a.click();\r\n setTimeout(function () {\r\n document.body.removeChild(a);\r\n window.URL.revokeObjectURL(url);\r\n }, 0);\r\n }\r\n dispatch({\r\n type: \"GET_REPORTS_SUCCESS\"\r\n });\r\n }\r\n catch (error) {\r\n dispatch({\r\n type: \"GET_REPORTS_FAILURE\",\r\n error\r\n });\r\n }\r\n};\r\n\r\nexport const actionCreators = {\r\n getErgebnis,\r\n getErgebnisMl,\r\n getUeberlieger,\r\n getReports,\r\n getFda,\r\n getFdaErgebnis,\r\n getFdaMl,\r\n getMengen,\r\n calculate,\r\n calculateml,\r\n calculateueberlieger,\r\n calculatefda,\r\n calculatefdaml,\r\n excel,\r\n excelzvmo,\r\n excelzvmoherleitung,\r\n excelzvmofda,\r\n excelMl,\r\n excelzvmoMl,\r\n patchFdaThema,\r\n patchFdaMl,\r\n transfer\r\n};\r\n","// Actions\r\nimport * as AccountActions from \"./actions/account-actions\";\r\nimport * as TenantActions from \"./actions/tenant-actions\";\r\nimport * as UebersichtActions from \"./actions/uebersicht-actions\";\r\nimport * as OpsActions from \"./actions/ops-actions\";\r\nimport * as DrgActions from \"./actions/drg-actions\";\r\nimport * as BgActions from \"./actions/bg-actions\";\r\nimport * as MdcActions from \"./actions/mdc-actions\";\r\nimport * as FabActions from \"./actions/fab-actions\";\r\nimport * as KhActions from \"./actions/kh-actions\";\r\nimport * as NlBgActions from \"./actions/nl-bg-actions\";\r\nimport * as NlDrgActions from \"./actions/nl-drg-actions\";\r\nimport * as NlThemaActions from \"./actions/nl-thema-actions\";\r\nimport * as NlOpsActions from \"./actions/nl-ops-actions\";\r\nimport * as ErgebnisActions from \"./actions/ergebnis-actions\";\r\nimport * as ZwischenergebnisActions from \"./actions/zwischenergebnis-actions\";\r\n\r\n// Reducers\r\nimport * as AccountReducer from \"./reducers/account-reducer\";\r\nimport * as TenantReducer from \"./reducers/tenant-reducer\";\r\nimport * as UebersichtReducer from \"./reducers/uebersicht-reducer\";\r\nimport * as OpsReducer from \"./reducers/ops-reducer\";\r\nimport * as DrgReducer from \"./reducers/drg-reducer\";\r\nimport * as BgReducer from \"./reducers/bg-reducer\";\r\nimport * as MdcReducer from \"./reducers/mdc-reducer\";\r\nimport * as FabReducer from \"./reducers/fab-reducer\";\r\nimport * as KhReducer from \"./reducers/kh-reducer\";\r\nimport * as NlBgReducer from \"./reducers/nl-bg-reducer\";\r\nimport * as NlDrgReducer from \"./reducers/nl-drg-reducer\";\r\nimport * as NlThemaReducer from \"./reducers/nl-thema-reducer\";\r\nimport * as NlOpsReducer from \"./reducers/nl-ops-reducer\";\r\nimport * as ErgebnisReducer from \"./reducers/ergebnis-reducer\";\r\nimport * as ZwischenergebnisReducer from \"./reducers/zwischenergebnis-reducer\";\r\n\r\n// Exports\r\nexport\r\n{\r\n AccountActions,\r\n AccountReducer,\r\n TenantReducer,\r\n TenantActions,\r\n UebersichtActions,\r\n UebersichtReducer,\r\n OpsActions,\r\n OpsReducer,\r\n DrgActions,\r\n DrgReducer,\r\n BgActions,\r\n BgReducer,\r\n MdcActions,\r\n MdcReducer,\r\n FabActions,\r\n FabReducer,\r\n KhActions,\r\n KhReducer,\r\n NlBgActions,\r\n NlBgReducer,\r\n NlDrgActions,\r\n NlDrgReducer,\r\n NlThemaActions,\r\n NlThemaReducer,\r\n NlOpsActions,\r\n NlOpsReducer,\r\n ErgebnisActions,\r\n ErgebnisReducer,\r\n ZwischenergebnisActions,\r\n ZwischenergebnisReducer\r\n};\r\nexport * from \"./actions/types\";\r\nexport * from \"./configure-store\";\r\nexport * from \"./store\";\r\nexport * from \"./user-manager\";\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"Z0oJufgSldfIHLhR9JQek\",\"info\":\"_2n5bdb-nlWiSgAehON9zys\",\"warning\":\"_3THTKjtUgV5uyMKHz7MdHa\",\"error\":\"_3F5gMSMf4ic7v1spIMaI4b\",\"header\":\"_2b2etGPRcYKLUW2fisToQH\"};","import { INode } from \"../Types/INode\";\r\n\r\nexport function isMatchingFilter(node: INode, filter?: string): boolean\r\n{\r\n let isMatch: boolean = false;\r\n\r\n if (filter == undefined || filter === \"\")\r\n {\r\n isMatch = true;\r\n }\r\n else\r\n {\r\n if (node.content.toLowerCase().indexOf(filter.toLowerCase()) >= 0)\r\n {\r\n isMatch = true;\r\n }\r\n else\r\n {\r\n if (node.nodes != undefined && node.nodes.length > 0)\r\n {\r\n for (const n of node.nodes)\r\n {\r\n isMatch = isMatchingFilter(n, filter);\r\n if (isMatch)\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return isMatch;\r\n}\r\n","// Types\r\nexport * from \"./Types/INode\";\r\n\r\n// Helpers\r\nexport * from \"./Helper/getNode\";\r\nexport * from \"./Helper/defaultSelectionHelper\";\r\nexport * from \"./Helper/isMatchingFilter\";\r\n\r\n// Components\r\nexport * from \"./TreeView\";\r\nexport * from \"./TreeViewNode\";\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport EventListener from \"react-event-listener\";\r\nimport { DomNode } from \"../Utils/types\";\r\nimport ownerDocument from \"../Utils/ownerDocument\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * The wrapped element.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * The mouse event to listen to. You can disable the listener by providing `false`.\r\n */\r\n mouseEvent?: \"onClick\" | \"onMouseDown\" | \"onMouseUp\" | false;\r\n\r\n /**\r\n * Callback fired when a \"click away\" event is detected.\r\n */\r\n onClickAway: (e: React.MouseEvent) => void;\r\n\r\n /**\r\n * The touch event to listen to. You can disable the listener by providing `false`.\r\n */\r\n touchEvent?: \"onTouchStart\" | \"onTouchEnd\" | false;\r\n}\r\n\r\n/**\r\n * Listen for click events that occur somewhere in the document, outside of the element itself.\r\n * For instance, if you need to hide a menu when people click anywhere else on your page.\r\n */\r\nexport class ClickAwayListener extends React.Component\r\n{\r\n private node?: DomNode;\r\n private mounted: boolean = false;\r\n private moved: boolean = false;\r\n\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n mouseEvent: \"onMouseUp\",\r\n touchEvent: \"onTouchEnd\"\r\n };\r\n\r\n componentDidMount()\r\n {\r\n // Finds the first child when a component returns a fragment.\r\n // https://github.com/facebook/react/blob/036ae3c6e2f056adffc31dfb78d1b6f0c63272f0/packages/react-dom/src/__tests__/ReactDOMFiber-test.js#L105\r\n this.node = ReactDOM.findDOMNode(this);\r\n this.mounted = true;\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n this.mounted = false;\r\n }\r\n\r\n handleClickAway = (e: React.MouseEvent) =>\r\n {\r\n // Ignore events that have been `event.preventDefault()` marked.\r\n if (e.defaultPrevented)\r\n {\r\n return;\r\n }\r\n\r\n // IE 11 support, which trigger the handleClickAway even after the unbind\r\n if (!this.mounted)\r\n {\r\n return;\r\n }\r\n\r\n // Do not act if user performed touchmove\r\n if (this.moved)\r\n {\r\n this.moved = false;\r\n return;\r\n }\r\n\r\n // The child might render null.\r\n if (!this.node)\r\n {\r\n return;\r\n }\r\n\r\n const doc = ownerDocument(this.node);\r\n\r\n if (\r\n doc.documentElement &&\r\n doc.documentElement.contains(e.target as any) &&\r\n !this.node.contains(e.target as any)\r\n )\r\n {\r\n this.props.onClickAway(e);\r\n }\r\n }\r\n\r\n handleTouchMove = () =>\r\n {\r\n this.moved = true;\r\n }\r\n\r\n render()\r\n {\r\n const { children, mouseEvent, touchEvent, onClickAway, ...other } = this.props;\r\n const listenerProps = {};\r\n if (mouseEvent !== false)\r\n {\r\n (listenerProps as any)[mouseEvent!] = this.handleClickAway;\r\n }\r\n if (touchEvent !== false)\r\n {\r\n (listenerProps as any)[touchEvent!] = this.handleClickAway;\r\n (listenerProps as any).onTouchMove = this.handleTouchMove;\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n \r\n );\r\n }\r\n}\r\n","export * from \"./ClickAwayListener\";\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabcontrol\":\"_1fNES-lFZM1g4NW2yfXOW-\",\"tabs\":\"v85zxkydQLVaWoujHUEW9\",\"tab\":\"_1S7DtVNHg0rULOgeG-I91v\",\"isSelected\":\"iA1hPmG4DlPjZbnmayucF\"};","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { IComboBoxItem } from \"../Utils/types\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Data to bind.\r\n */\r\n dataSource: IComboBoxItem;\r\n\r\n /**\r\n * A value that indicates whether this item is selected.\r\n */\r\n isSelected?: boolean;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n */\r\n onClick?: (selectedItem: IComboBoxItem) => void;\r\n}\r\n\r\nexport class DropDownListItem extends React.Component\r\n{\r\n /**\r\n * Is raised as soon as an item is selected.\r\n */\r\n private onClick = () =>\r\n {\r\n const { dataSource, onClick } = this.props;\r\n onClick && onClick(dataSource);\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, dataSource, isSelected } = this.props;\r\n\r\n const classes = classnames(\r\n styles.dropDownListItem,\r\n {\r\n [styles.isSelected]: isSelected\r\n }\r\n );\r\n\r\n return (\r\n \r\n {dataSource.value}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { IComboBoxItem } from \"../Utils/types\";\r\nimport { DropDownListItem } from \"./DropDownListItem\";\r\nimport { ItemInfo, VirtualList } from \"../VirtualList\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Data to bind.\r\n */\r\n dataSource: IComboBoxItem[];\r\n\r\n /**\r\n * The item to select.\r\n */\r\n selectedItem?: IComboBoxItem;\r\n\r\n renderItem?: (data: IComboBoxItem) => React.ReactElement;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n */\r\n onSelectionChanged?: (selectedItem: IComboBoxItem) => void;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n /**\r\n * The currently selected item.\r\n */\r\n readonly selectedItem?: IComboBoxItem;\r\n\r\n constructor(props: IProperties)\r\n {\r\n this.selectedItem = props.selectedItem;\r\n }\r\n}\r\n\r\nexport class DropDownList extends React.Component\r\n{\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props);\r\n\r\n /**\r\n * Is raised as soon as an item is selected.\r\n */\r\n private onItemClick = (item: IComboBoxItem) =>\r\n {\r\n const { dataSource, onSelectionChanged } = this.props;\r\n const data = dataSource.where(d => d.key === item.key).first();\r\n onSelectionChanged && onSelectionChanged(data);\r\n\r\n this.setState({\r\n selectedItem: { ...data }\r\n });\r\n }\r\n\r\n private renderItems = (itemInfo: ItemInfo): React.ReactNode =>\r\n {\r\n const { dataSource, renderItem } = this.props;\r\n const { selectedItem } = this.state;\r\n const data = dataSource[itemInfo.index];\r\n const key: string = data.key != undefined ? data.key : itemInfo.index;\r\n const isSelected: boolean = selectedItem != undefined ? selectedItem.key === data.key : false;\r\n\r\n if (renderItem != undefined)\r\n {\r\n return (React.cloneElement(renderItem(data), {\r\n key,\r\n isSelected\r\n }));\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { dataSource } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { IComboBoxItem } from \"../Utils/types\";\r\nimport { OptionalLink } from \"../OptionalLink\";\r\nimport { LocationDescriptor } from \"history\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Data to bind.\r\n */\r\n dataSource: IComboBoxItem;\r\n\r\n /**\r\n * React Router Link.\r\n */\r\n to?: LocationDescriptor;\r\n\r\n /**\r\n * A value that indicates whether this item is selected.\r\n */\r\n isSelected?: boolean;\r\n}\r\n\r\nexport class DropDownListLinkItem extends React.Component\r\n{\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, dataSource, to, isSelected } = this.props;\r\n\r\n const classes = classnames(\r\n styles.dropDownListItem,\r\n {\r\n [styles.isSelected]: isSelected\r\n }\r\n );\r\n\r\n return (\r\n \r\n {dataSource.value}\r\n \r\n );\r\n }\r\n}\r\n","export * from \"./DropDownList\";\r\nexport * from \"./DropDownListItem\";\r\nexport * from \"./DropDownListLinkItem\";\r\n","import { INode } from \"../Types/INode\";\r\n\r\nexport function getNode(nodes: INode[], nodeId: number | undefined): INode | undefined\r\n{\r\n let returnVal: INode | undefined = undefined;\r\n\r\n if (nodeId != undefined)\r\n {\r\n for (const node of nodes)\r\n {\r\n if (node.id === nodeId)\r\n {\r\n returnVal = node;\r\n }\r\n else\r\n {\r\n if (node.nodes != undefined && node.nodes.length > 0)\r\n {\r\n returnVal = getNode(node.nodes, nodeId);\r\n }\r\n }\r\n\r\n if (returnVal)\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return returnVal;\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainGrid\":\"_16lMX8_oFZoLHWeBMaApE-\",\"gridChildFilterSummary\":\"_1r3J-JGgj4QADdLVZAP9FX\",\"gridChildTable\":\"OEh3Pa3XPbkI2CuwNn6sw\",\"tableContainer\":\"_4OBGXQ_XMnlhBpBEoejvP\",\"summaryIsVisible\":\"_3_dZMbAkDxwAZ6Gzzij-V0\",\"HeaderContainer\":\"maYlyYzdJDosziT12Us3n\",\"summaryContainer\":\"_2zi54qFmyU42Mlwzs0zHMs\",\"header\":\"cUASR1Z9rPV8S1MCp2IAC\",\"headerCell\":\"_3XU4YUXDls-sNKZZvr8gDo\",\"showHoverState\":\"_2H4AQB1lBonzgX9AflIEA8\",\"disabled\":\"_65Qr_6G7jVYbg4FXqELFX\",\"headerCellText\":\"_3Rxyc07nF4fsmg8MvMa906\",\"alignRight\":\"_1mTh6_81piyyFIjfNlp9sE\",\"headerCellIcon\":\"zBKTe6RZ4qFaBSnTrcvjg\",\"headerCellFilterButton\":\"_21esE-2DJWDg2bYIqT8en-\",\"headerCellSizer\":\"_2sof5uE_BWdbpWkkbLFMiA\",\"headerCellFilterPopup\":\"_1DL_hFylsd-WAIEEm77NDN\",\"filter\":\"_2y1i874qwQEhM0lQiNgF6z\",\"separator\":\"_1l38jvvtjypmZKQI1yk4TA\",\"filterItem\":\"_3zaWSXjWPY5qQMFnuL2CbX\",\"actions\":\"_1-CseZNumE8jdUWC1YjUNY\",\"summary\":\"_1mSeuZlqwj1P61rL1R4Lzb\",\"summaryCell\":\"_1Jj_0w8I2A24OiOJKPsZ8z\",\"summaryCellText\":\"_2exMwdmwUkUFxYHlGcOkQ_\",\"table\":\"_3QGjV7NFwO2FoHM_YQop6e\",\"tableRow\":\"_2YwMZtn2yQu2WIH82uYO3V\",\"tableRowCell\":\"_3ywoSxOa9OVnpZtvoZaR8Q\",\"tableRowStringCell\":\"_3alPOzqBPtCBOmePtg-chA\",\"tableRowNumberCell\":\"_2UBB8xfjvED9nRCRcClTnQ\",\"tableRowBooleanCell\":\"_2-Pm4FfcM0jLwnGG_Zludq\",\"isChecked\":\"_3XJtwwRcOMjhjOMYJWlLOd\",\"filterSummary\":\"_2_j2-ysRn1qsaZ-TTyrD0S\",\"filterSummaryHeader\":\"_21i6e4ajvrbeExjwum2Ksn\",\"filterSummaryItems\":\"_2bsh0RqHcalseRPho8Jdhd\",\"filterSummaryItem\":\"_1y8bzTsKrkyFZvSX1lOC9W\",\"itemText\":\"_1NjOiZ_7TCVQinmDrWX9dR\",\"itemBtn\":\"_1xO0JWMxj_mSUNX_eXuE9s\"};","import React, { Component } from \"react\";\r\nimport classnames from \"classnames\";\r\nimport ChevronDownIcon from \"mdi-react/ChevronDownIcon\";\r\nimport ChevronRightIcon from \"mdi-react/ChevronRightIcon\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\nimport { INode } from \"./Types/INode\";\r\nimport { isMatchingFilter } from \"./Helper/isMatchingFilter\";\r\n\r\ninterface IProperties\r\n{\r\n level?: number;\r\n node: INode;\r\n selectedNode?: INode;\r\n filter?: string;\r\n getChildNodes: (node: INode) => INode[];\r\n onNodeSelect: (node: INode) => void;\r\n}\r\n\r\nexport class TreeViewNode extends Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n level: 0\r\n };\r\n\r\n private getPaddingLeft = (level: number, type: string) =>\r\n {\r\n let paddingLeft = level * 20;\r\n if (type === \"file\")\r\n {\r\n paddingLeft += 20;\r\n }\r\n\r\n return paddingLeft;\r\n }\r\n\r\n private onNodeSelect = () =>\r\n {\r\n const { node, onNodeSelect } = this.props;\r\n onNodeSelect && onNodeSelect(node);\r\n }\r\n\r\n private onContentRef = (ref: HTMLDivElement) =>\r\n {\r\n if (ref != undefined)\r\n {\r\n if (ref.scrollWidth > ref.clientWidth)\r\n {\r\n ref.title = ref.innerText;\r\n }\r\n else\r\n {\r\n ref.title = \"\";\r\n }\r\n }\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const { level, node, selectedNode, filter, getChildNodes } = this.props;\r\n const paddingLeft = this.getPaddingLeft(level!, \"\");\r\n const classes = classnames(\r\n styles.node,\r\n {\r\n [styles.isSelected]: node.id === (selectedNode != undefined ? selectedNode.id : \"\")\r\n }\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {(node.isToggled ? : )}\r\n \r\n\r\n {node.icon &&\r\n
\r\n {node.icon}\r\n
\r\n }\r\n\r\n
\r\n {node.content}\r\n
\r\n \r\n\r\n {node.isToggled && getChildNodes(node).map(childNode =>\r\n {\r\n if (isMatchingFilter(childNode, filter))\r\n {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return false;\r\n })}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport classnames from \"classnames\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * The content of this cell.\r\n */\r\n content: string;\r\n\r\n /**\r\n * The width of this cell.\r\n */\r\n width?: number;\r\n\r\n /**\r\n * A value that indicates whether the text of the cell is aligned right.\r\n */\r\n alignRight?: boolean;\r\n}\r\n\r\n/**\r\n * Renders this component.\r\n */\r\nexport class TableRowStringCell extends Component\r\n{\r\n private _rowTextRef = React.createRef();\r\n\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n private setTitle = () =>\r\n {\r\n if (this._rowTextRef != undefined && this._rowTextRef.current != undefined)\r\n {\r\n if (this._rowTextRef.current.scrollWidth > this._rowTextRef.current.clientWidth)\r\n {\r\n this._rowTextRef.current.title = this._rowTextRef.current.innerText;\r\n }\r\n else\r\n {\r\n this._rowTextRef.current.title = \"\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { content, width, alignRight } = this.props;\r\n this.setTitle();\r\n\r\n const classes = classnames(\r\n styles.summaryCellText,\r\n {\r\n [styles.alignRight]: alignRight\r\n }\r\n );\r\n\r\n return (\r\n \r\n \r\n {content}\r\n \r\n \r\n );\r\n }\r\n}\r\n","export default function ownerDocument(node: Element | Text | null)\r\n{\r\n return (node && node.ownerDocument) || document;\r\n}\r\n","export enum ALIGNMENT\r\n{\r\n AUTO = \"auto\",\r\n START = \"start\",\r\n CENTER = \"center\",\r\n END = \"end\"\r\n}\r\n\r\nexport enum DIRECTION\r\n{\r\n HORIZONTAL = \"horizontal\",\r\n VERTICAL = \"vertical\"\r\n}\r\n\r\nexport enum SCROLL_CHANGE_REASON\r\n{\r\n OBSERVED = \"observed\",\r\n REQUESTED = \"requested\"\r\n}\r\n\r\nexport const scrollProp = {\r\n [DIRECTION.VERTICAL]: \"scrollTop\",\r\n [DIRECTION.HORIZONTAL]: \"scrollLeft\"\r\n};\r\n\r\nexport const sizeProp = {\r\n [DIRECTION.VERTICAL]: \"height\",\r\n [DIRECTION.HORIZONTAL]: \"width\"\r\n};\r\n\r\nexport const positionProp = {\r\n [DIRECTION.VERTICAL]: \"top\",\r\n [DIRECTION.HORIZONTAL]: \"left\"\r\n};\r\n\r\nexport const marginProp = {\r\n [DIRECTION.VERTICAL]: \"marginTop\",\r\n [DIRECTION.HORIZONTAL]: \"marginLeft\"\r\n};\r\n\r\nexport const oppositeMarginProp = {\r\n [DIRECTION.VERTICAL]: \"marginBottom\",\r\n [DIRECTION.HORIZONTAL]: \"marginRight\"\r\n};\r\n","/* Forked from react-virtualized 💖 */\r\nimport { ALIGNMENT } from \"./Constants\";\r\n\r\nexport type ItemSizeGetter = (index: number) => number;\r\nexport type ItemSize = number | number[] | ItemSizeGetter;\r\n\r\nexport interface SizeAndPosition\r\n{\r\n size: number;\r\n offset: number;\r\n}\r\n\r\ninterface SizeAndPositionData\r\n{\r\n [id: number]: SizeAndPosition;\r\n}\r\n\r\nexport interface Options\r\n{\r\n itemCount: number;\r\n itemSizeGetter: ItemSizeGetter;\r\n estimatedItemSize: number;\r\n}\r\n\r\nexport default class SizeAndPositionManager\r\n{\r\n private itemSizeGetter: ItemSizeGetter;\r\n private itemCount: number;\r\n private estimatedItemSize: number;\r\n private lastMeasuredIndex: number;\r\n private itemSizeAndPositionData: SizeAndPositionData;\r\n\r\n constructor({ itemCount, itemSizeGetter, estimatedItemSize }: Options)\r\n {\r\n this.itemSizeGetter = itemSizeGetter;\r\n this.itemCount = itemCount;\r\n this.estimatedItemSize = estimatedItemSize;\r\n\r\n // Cache of size and position data for items, mapped by item index.\r\n this.itemSizeAndPositionData = {};\r\n\r\n // Measurements for items up to this index can be trusted; items afterward should be estimated.\r\n this.lastMeasuredIndex = -1;\r\n }\r\n\r\n updateConfig({\r\n itemCount,\r\n itemSizeGetter,\r\n estimatedItemSize\r\n }: Partial)\r\n {\r\n if (itemCount != undefined)\r\n {\r\n this.itemCount = itemCount;\r\n }\r\n\r\n if (estimatedItemSize != undefined)\r\n {\r\n this.estimatedItemSize = estimatedItemSize;\r\n }\r\n\r\n if (itemSizeGetter != undefined)\r\n {\r\n this.itemSizeGetter = itemSizeGetter;\r\n }\r\n }\r\n\r\n getLastMeasuredIndex()\r\n {\r\n return this.lastMeasuredIndex;\r\n }\r\n\r\n /**\r\n * This method returns the size and position for the item at the specified index.\r\n * It just-in-time calculates (or used cached values) for items leading up to the index.\r\n */\r\n getSizeAndPositionForIndex(index: number)\r\n {\r\n if (index < 0 || index >= this.itemCount)\r\n {\r\n throw Error(\r\n `Requested index ${index} is outside of range 0..${this.itemCount}`\r\n );\r\n }\r\n\r\n if (index > this.lastMeasuredIndex)\r\n {\r\n const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();\r\n let offset =\r\n lastMeasuredSizeAndPosition.offset + lastMeasuredSizeAndPosition.size;\r\n\r\n for (let i = this.lastMeasuredIndex + 1; i <= index; i++)\r\n {\r\n const size = this.itemSizeGetter(i);\r\n\r\n if (size == undefined || isNaN(size))\r\n {\r\n throw Error(`Invalid size returned for index ${i} of value ${size}`);\r\n }\r\n\r\n this.itemSizeAndPositionData[i] = {\r\n offset,\r\n size\r\n };\r\n\r\n offset += size;\r\n }\r\n\r\n this.lastMeasuredIndex = index;\r\n }\r\n\r\n return this.itemSizeAndPositionData[index];\r\n }\r\n\r\n getSizeAndPositionOfLastMeasuredItem()\r\n {\r\n return this.lastMeasuredIndex >= 0\r\n ? this.itemSizeAndPositionData[this.lastMeasuredIndex]\r\n : { offset: 0, size: 0 };\r\n }\r\n\r\n /**\r\n * Total size of all items being measured.\r\n * This value will be completedly estimated initially.\r\n * As items as measured the estimate will be updated.\r\n */\r\n getTotalSize(): number\r\n {\r\n const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();\r\n\r\n return (\r\n lastMeasuredSizeAndPosition.offset +\r\n lastMeasuredSizeAndPosition.size +\r\n (this.itemCount - this.lastMeasuredIndex - 1) * this.estimatedItemSize\r\n );\r\n }\r\n\r\n /**\r\n * Determines a new offset that ensures a certain item is visible, given the alignment.\r\n *\r\n * @param align Desired alignment within container; one of \"start\" (default), \"center\", or \"end\"\r\n * @param containerSize Size (width or height) of the container viewport\r\n * @return Offset to use to ensure the specified item is visible\r\n */\r\n getUpdatedOffsetForIndex({\r\n align = ALIGNMENT.START,\r\n containerSize,\r\n currentOffset,\r\n targetIndex\r\n }: {\r\n align: ALIGNMENT | undefined;\r\n containerSize: number;\r\n currentOffset: number;\r\n targetIndex: number;\r\n }): number\r\n {\r\n if (containerSize <= 0)\r\n {\r\n return 0;\r\n }\r\n\r\n const datum = this.getSizeAndPositionForIndex(targetIndex);\r\n const maxOffset = datum.offset;\r\n const minOffset = maxOffset - containerSize + datum.size;\r\n\r\n let idealOffset;\r\n\r\n switch (align)\r\n {\r\n case ALIGNMENT.END:\r\n idealOffset = minOffset;\r\n break;\r\n case ALIGNMENT.CENTER:\r\n idealOffset = maxOffset - (containerSize - datum.size) / 2;\r\n break;\r\n case ALIGNMENT.START:\r\n idealOffset = maxOffset;\r\n break;\r\n default:\r\n idealOffset = Math.max(minOffset, Math.min(maxOffset, currentOffset));\r\n }\r\n\r\n const totalSize = this.getTotalSize();\r\n\r\n return Math.max(0, Math.min(totalSize - containerSize, idealOffset));\r\n }\r\n\r\n getVisibleRange({\r\n containerSize,\r\n offset,\r\n overscanCount\r\n }: {\r\n containerSize: number;\r\n offset: number;\r\n overscanCount: number;\r\n }): { start?: number; stop?: number }\r\n {\r\n const totalSize = this.getTotalSize();\r\n\r\n if (totalSize === 0)\r\n {\r\n return {};\r\n }\r\n\r\n const maxOffset = offset + containerSize;\r\n let start = this.findNearestItem(offset);\r\n\r\n if (typeof start === \"undefined\")\r\n {\r\n throw Error(`Invalid offset ${offset} specified`);\r\n }\r\n\r\n const datum = this.getSizeAndPositionForIndex(start);\r\n offset = datum.offset + datum.size;\r\n\r\n let stop = start;\r\n\r\n while (offset < maxOffset && stop < this.itemCount - 1)\r\n {\r\n stop++;\r\n offset += this.getSizeAndPositionForIndex(stop).size;\r\n }\r\n\r\n if (overscanCount)\r\n {\r\n start = Math.max(0, start - overscanCount);\r\n stop = Math.min(stop + overscanCount, this.itemCount - 1);\r\n }\r\n\r\n return {\r\n start,\r\n stop\r\n };\r\n }\r\n\r\n /**\r\n * Clear all cached values for items after the specified index.\r\n * This method should be called for any item that has changed its size.\r\n * It will not immediately perform any calculations; they'll be performed the next time getSizeAndPositionForIndex() is called.\r\n */\r\n resetItem(index: number)\r\n {\r\n this.lastMeasuredIndex = Math.min(this.lastMeasuredIndex, index - 1);\r\n }\r\n\r\n /**\r\n * Searches for the item (index) nearest the specified offset.\r\n *\r\n * If no exact match is found the next lowest item index will be returned.\r\n * This allows partially visible items (with offsets just before/above the fold) to be visible.\r\n */\r\n findNearestItem(offset: number)\r\n {\r\n if (isNaN(offset))\r\n {\r\n throw Error(`Invalid offset ${offset} specified`);\r\n }\r\n\r\n // Our search algorithms find the nearest match at or below the specified offset.\r\n // So make sure the offset is at least 0 or no match will be found.\r\n offset = Math.max(0, offset);\r\n\r\n const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();\r\n const lastMeasuredIndex = Math.max(0, this.lastMeasuredIndex);\r\n\r\n if (lastMeasuredSizeAndPosition.offset >= offset)\r\n {\r\n // If we've already measured items within this range just use a binary search as it's faster.\r\n return this.binarySearch({\r\n high: lastMeasuredIndex,\r\n low: 0,\r\n offset\r\n });\r\n } else\r\n {\r\n // If we haven't yet measured this high, fallback to an exponential search with an inner binary search.\r\n // The exponential search avoids pre-computing sizes for the full set of items as a binary search would.\r\n // The overall complexity for this approach is O(log n).\r\n return this.exponentialSearch({\r\n index: lastMeasuredIndex,\r\n offset\r\n });\r\n }\r\n }\r\n\r\n private binarySearch({\r\n low,\r\n high,\r\n offset\r\n }: {\r\n low: number;\r\n high: number;\r\n offset: number;\r\n })\r\n {\r\n let middle = 0;\r\n let currentOffset = 0;\r\n\r\n while (low <= high)\r\n {\r\n middle = low + Math.floor((high - low) / 2);\r\n currentOffset = this.getSizeAndPositionForIndex(middle).offset;\r\n\r\n if (currentOffset === offset)\r\n {\r\n return middle;\r\n } else if (currentOffset < offset)\r\n {\r\n low = middle + 1;\r\n } else if (currentOffset > offset)\r\n {\r\n high = middle - 1;\r\n }\r\n }\r\n\r\n if (low > 0)\r\n {\r\n return low - 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n private exponentialSearch({ index, offset }: { index: number; offset: number })\r\n {\r\n let interval = 1;\r\n\r\n while (\r\n index < this.itemCount &&\r\n this.getSizeAndPositionForIndex(index).offset < offset\r\n )\r\n {\r\n index += interval;\r\n interval *= 2;\r\n }\r\n\r\n return this.binarySearch({\r\n high: Math.min(index, this.itemCount - 1),\r\n low: Math.floor(index / 2),\r\n offset\r\n });\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport SizeAndPositionManager, { ItemSize } from \"./SizeAndPositionManager\";\r\nimport\r\n{\r\n ALIGNMENT,\r\n DIRECTION,\r\n SCROLL_CHANGE_REASON,\r\n marginProp,\r\n oppositeMarginProp,\r\n positionProp,\r\n scrollProp,\r\n sizeProp\r\n} from \"./Constants\";\r\n\r\nexport { DIRECTION as ScrollDirection } from \"./Constants\";\r\n\r\nexport type ItemPosition = \"absolute\" | \"sticky\";\r\n\r\nexport interface ItemStyle\r\n{\r\n position: ItemPosition;\r\n top?: number;\r\n left: number;\r\n width: string | number;\r\n height?: number;\r\n marginTop?: number;\r\n marginLeft?: number;\r\n marginRight?: number;\r\n marginBottom?: number;\r\n zIndex?: number;\r\n}\r\n\r\ninterface StyleCache\r\n{\r\n [id: number]: ItemStyle;\r\n}\r\n\r\nexport interface ItemInfo\r\n{\r\n index: number;\r\n style: ItemStyle;\r\n}\r\n\r\nexport interface RenderedRows\r\n{\r\n startIndex: number;\r\n stopIndex: number;\r\n}\r\n\r\nexport interface Props\r\n{\r\n [key: string]: any;\r\n innerRef?: (ref: HTMLDivElement) => void;\r\n className?: string;\r\n innerClassName?: string;\r\n estimatedItemSize?: number;\r\n height?: number | string;\r\n maxHeight?: number | string;\r\n itemCount: number;\r\n itemSize: ItemSize;\r\n overscanCount?: number;\r\n scrollOffset?: number;\r\n scrollToIndex?: number;\r\n scrollToAlignment?: ALIGNMENT;\r\n scrollDirection?: DIRECTION;\r\n stickyIndices?: number[];\r\n style?: React.CSSProperties;\r\n width?: number | string;\r\n onItemsRendered?: (renderedRows: RenderedRows) => void;\r\n onScroll?: (offset: number, event: UIEvent) => void;\r\n renderItem: (itemInfo: ItemInfo) => React.ReactNode;\r\n}\r\n\r\nexport interface State\r\n{\r\n offset: number;\r\n scrollChangeReason: SCROLL_CHANGE_REASON;\r\n}\r\n\r\nconst STYLE_WRAPPER: React.CSSProperties = {\r\n overflow: \"auto\",\r\n willChange: \"transform\",\r\n WebkitOverflowScrolling: \"touch\"\r\n};\r\n\r\nconst STYLE_INNER: React.CSSProperties = {\r\n position: \"relative\",\r\n width: \"100%\",\r\n minHeight: \"100%\"\r\n};\r\n\r\nconst STYLE_ITEM: {\r\n position: ItemStyle[\"position\"];\r\n top: ItemStyle[\"top\"];\r\n left: ItemStyle[\"left\"];\r\n width: ItemStyle[\"width\"];\r\n} = {\r\n position: \"absolute\" as ItemPosition,\r\n top: 0,\r\n left: 0,\r\n width: \"100%\"\r\n};\r\n\r\nconst STYLE_STICKY_ITEM = {\r\n ...STYLE_ITEM,\r\n position: \"sticky\" as ItemPosition\r\n};\r\n\r\nexport class VirtualList extends React.Component {\r\n static defaultProps = {\r\n overscanCount: 9,\r\n scrollDirection: DIRECTION.VERTICAL,\r\n width: \"100%\"\r\n };\r\n\r\n itemSizeGetter = (itemSize: Props[\"itemSize\"]) =>\r\n {\r\n return (index: number) => this.getSize(index, itemSize);\r\n }\r\n\r\n sizeAndPositionManager = new SizeAndPositionManager({\r\n itemCount: this.props.itemCount,\r\n itemSizeGetter: this.itemSizeGetter(this.props.itemSize),\r\n estimatedItemSize: this.getEstimatedItemSize()\r\n });\r\n\r\n readonly state: State = {\r\n offset:\r\n this.props.scrollOffset ||\r\n (this.props.scrollToIndex != undefined &&\r\n this.getOffsetForIndex(this.props.scrollToIndex)) ||\r\n 0,\r\n scrollChangeReason: SCROLL_CHANGE_REASON.REQUESTED\r\n };\r\n\r\n private rootNode?: HTMLElement = undefined;\r\n\r\n private styleCache: StyleCache = {};\r\n\r\n componentDidMount()\r\n {\r\n const { scrollOffset, scrollToIndex } = this.props;\r\n this.rootNode!.addEventListener(\"scroll\", this.handleScroll, {\r\n passive: true\r\n });\r\n\r\n if (scrollOffset != undefined)\r\n {\r\n this.scrollTo(scrollOffset);\r\n } else if (scrollToIndex != undefined)\r\n {\r\n this.scrollTo(this.getOffsetForIndex(scrollToIndex));\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps: Props)\r\n {\r\n const {\r\n estimatedItemSize,\r\n itemCount,\r\n itemSize,\r\n scrollOffset,\r\n scrollToAlignment,\r\n scrollToIndex\r\n } = this.props;\r\n const scrollPropsHaveChanged =\r\n nextProps.scrollToIndex !== scrollToIndex ||\r\n nextProps.scrollToAlignment !== scrollToAlignment;\r\n const itemPropsHaveChanged =\r\n nextProps.itemCount !== itemCount ||\r\n nextProps.itemSize !== itemSize ||\r\n nextProps.estimatedItemSize !== estimatedItemSize;\r\n\r\n if (nextProps.itemSize !== itemSize)\r\n {\r\n this.sizeAndPositionManager.updateConfig({\r\n itemSizeGetter: this.itemSizeGetter(nextProps.itemSize)\r\n });\r\n }\r\n\r\n if (\r\n nextProps.itemCount !== itemCount ||\r\n nextProps.estimatedItemSize !== estimatedItemSize\r\n )\r\n {\r\n this.sizeAndPositionManager.updateConfig({\r\n itemCount: nextProps.itemCount,\r\n estimatedItemSize: this.getEstimatedItemSize(nextProps)\r\n });\r\n }\r\n\r\n if (itemPropsHaveChanged)\r\n {\r\n this.recomputeSizes();\r\n }\r\n\r\n if (nextProps.scrollOffset !== scrollOffset)\r\n {\r\n this.setState({\r\n offset: nextProps.scrollOffset || 0,\r\n scrollChangeReason: SCROLL_CHANGE_REASON.REQUESTED\r\n });\r\n }\r\n else if (\r\n typeof nextProps.scrollToIndex === \"number\" &&\r\n (scrollPropsHaveChanged || itemPropsHaveChanged)\r\n )\r\n {\r\n this.setState({\r\n offset: this.getOffsetForIndex(\r\n nextProps.scrollToIndex,\r\n nextProps.scrollToAlignment,\r\n nextProps.itemCount\r\n ),\r\n scrollChangeReason: SCROLL_CHANGE_REASON.REQUESTED\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(_: Props, prevState: State)\r\n {\r\n const { offset, scrollChangeReason } = this.state;\r\n\r\n if (\r\n prevState.offset !== offset &&\r\n scrollChangeReason === SCROLL_CHANGE_REASON.REQUESTED\r\n )\r\n {\r\n this.scrollTo(offset);\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n this.rootNode!.removeEventListener(\"scroll\", this.handleScroll);\r\n }\r\n\r\n scrollTo(value: number)\r\n {\r\n const { scrollDirection = DIRECTION.VERTICAL } = this.props;\r\n\r\n (this.rootNode as any)[scrollProp[scrollDirection]] = value;\r\n }\r\n\r\n getOffsetForIndex(\r\n index: number,\r\n scrollToAlignment = this.props.scrollToAlignment,\r\n itemCount: number = this.props.itemCount\r\n ): number\r\n {\r\n const { scrollDirection = DIRECTION.VERTICAL } = this.props;\r\n\r\n if (index < 0 || index >= itemCount)\r\n {\r\n index = 0;\r\n }\r\n\r\n return this.sizeAndPositionManager.getUpdatedOffsetForIndex({\r\n align: scrollToAlignment,\r\n containerSize: this.props[sizeProp[scrollDirection]],\r\n currentOffset: (this.state && this.state.offset) || 0,\r\n targetIndex: index\r\n });\r\n }\r\n\r\n recomputeSizes(startIndex = 0)\r\n {\r\n this.styleCache = {};\r\n this.sizeAndPositionManager.resetItem(startIndex);\r\n }\r\n\r\n render()\r\n {\r\n const {\r\n estimatedItemSize,\r\n height,\r\n maxHeight,\r\n overscanCount = 3,\r\n renderItem,\r\n itemCount,\r\n itemSize,\r\n onItemsRendered,\r\n onScroll,\r\n scrollDirection = DIRECTION.VERTICAL,\r\n scrollOffset,\r\n scrollToIndex,\r\n scrollToAlignment,\r\n stickyIndices,\r\n style,\r\n width,\r\n innerClassName,\r\n ...props\r\n } = this.props;\r\n const { offset } = this.state;\r\n const { start, stop } = this.sizeAndPositionManager.getVisibleRange({\r\n containerSize: this.props[sizeProp[scrollDirection]] || 0,\r\n offset,\r\n overscanCount\r\n });\r\n const items: React.ReactNode[] = [];\r\n const wrapperStyle = { ...STYLE_WRAPPER, ...style, height, maxHeight, width };\r\n const innerStyle = {\r\n ...STYLE_INNER,\r\n [sizeProp[scrollDirection]]: this.sizeAndPositionManager.getTotalSize()\r\n };\r\n\r\n if (stickyIndices != undefined && stickyIndices.length !== 0)\r\n {\r\n stickyIndices.forEach((index: number) =>\r\n items.push(\r\n renderItem({\r\n index,\r\n style: this.getStyle(index, true)\r\n })\r\n )\r\n );\r\n\r\n if (scrollDirection === DIRECTION.HORIZONTAL)\r\n {\r\n innerStyle.display = \"flex\";\r\n }\r\n }\r\n\r\n if (typeof start !== \"undefined\" && typeof stop !== \"undefined\")\r\n {\r\n for (let index = start; index <= stop; index++)\r\n {\r\n if (stickyIndices != undefined && (stickyIndices as any).includes(index))\r\n {\r\n continue;\r\n }\r\n\r\n items.push(\r\n renderItem({\r\n index,\r\n style: this.getStyle(index, false)\r\n })\r\n );\r\n }\r\n\r\n if (typeof onItemsRendered === \"function\")\r\n {\r\n onItemsRendered({\r\n startIndex: start,\r\n stopIndex: stop\r\n });\r\n }\r\n }\r\n\r\n const p = { ...props };\r\n delete p.innerRef;\r\n return (\r\n
\r\n
{items}
\r\n
\r\n );\r\n }\r\n\r\n private getRef = (node: HTMLDivElement): void =>\r\n {\r\n this.rootNode = node;\r\n this.props.innerRef && this.props.innerRef(node);\r\n }\r\n\r\n private handleScroll = (event: UIEvent) =>\r\n {\r\n const { onScroll } = this.props;\r\n const offset = this.getNodeOffset();\r\n\r\n if (\r\n offset < 0 ||\r\n this.state.offset === offset ||\r\n event.target !== this.rootNode\r\n )\r\n {\r\n onScroll && onScroll(0, event);\r\n return;\r\n }\r\n\r\n this.setState({\r\n offset,\r\n scrollChangeReason: SCROLL_CHANGE_REASON.OBSERVED\r\n });\r\n\r\n if (typeof onScroll === \"function\")\r\n {\r\n onScroll(offset, event);\r\n }\r\n }\r\n\r\n private getNodeOffset()\r\n {\r\n const { scrollDirection = DIRECTION.VERTICAL } = this.props;\r\n\r\n return (this.rootNode as any)[scrollProp[scrollDirection]];\r\n }\r\n\r\n private getEstimatedItemSize(props = this.props)\r\n {\r\n return (\r\n props.estimatedItemSize ||\r\n (typeof props.itemSize === \"number\" && props.itemSize) ||\r\n 50\r\n );\r\n }\r\n\r\n private getSize(index: number, itemSize: any)\r\n {\r\n if (typeof itemSize === \"function\")\r\n {\r\n return itemSize(index);\r\n }\r\n\r\n return Array.isArray(itemSize) ? itemSize[index] : itemSize;\r\n }\r\n\r\n private getStyle(index: number, sticky: boolean)\r\n {\r\n const style = this.styleCache[index];\r\n\r\n if (style)\r\n {\r\n return style;\r\n }\r\n\r\n const { scrollDirection = DIRECTION.VERTICAL } = this.props;\r\n const {\r\n size,\r\n offset\r\n } = this.sizeAndPositionManager.getSizeAndPositionForIndex(index);\r\n\r\n return (this.styleCache[index] = sticky\r\n ? {\r\n ...STYLE_STICKY_ITEM,\r\n [sizeProp[scrollDirection]]: size,\r\n [marginProp[scrollDirection]]: offset,\r\n [oppositeMarginProp[scrollDirection]]: -(offset + size),\r\n zIndex: 1\r\n }\r\n : {\r\n ...STYLE_ITEM,\r\n [sizeProp[scrollDirection]]: size,\r\n [positionProp[scrollDirection]]: offset\r\n });\r\n }\r\n}\r\n","export * from \"./VirtualList\";\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"_97UG4LcmA1ZA_iEovEAmX\",\"placementLeft\":\"_2epBKm-nWlYG1vSjkscaLT\",\"placementRight\":\"_1XfgPxXDF40vCw9p80F0AK\",\"placementTop\":\"_3BSgjb4ykVW9_31nx8oEh2\",\"placementBottom\":\"_3oJNnceyyKSQ-NmbTRrCF2\",\"content\":\"_1o_veKRaDApna7kt5I4VGh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FormControl\":\"_1ojY6QhtDM1ugE6lP52PCa\",\"CantShrink\":\"_1e5A1X64IF_xUe6hXmMfWX\",\"AlignLeft\":\"_1dr3VxQ9vJ7JLPMtUrXFmW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"overlay\":\"_1KwjbFGaY2VKtlgBXlng8J\",\"overlayTopmost\":\"_3yTk9A-dbnsqZD7oCZB_eB\",\"container\":\"_1KzrmI8YREmvH5IgqjShT5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listView\":\"_2h1tfiZ2fhu164V-xp1Kpg\",\"listViewItemsContainer\":\"_3DW2l27QFCLL1hPyvR-6FO\",\"listViewItems\":\"_1Q2s4s7qBsufAUc8hLof62\"};","export { };\r\n\r\ndeclare global\r\n{\r\n interface String\r\n {\r\n toUpperCaseFirstChar(): string;\r\n\r\n format(...args: any[]): void;\r\n\r\n /**\r\n * Entfernt alle Zeichen die vor dem übergebenen Zeichen sind.\r\n * @param str Der string bei dem die Zeichen entfernt werden sollen.\r\n * @param char Alle, dem Zeichen, vorgestellten Zeichen werden entfernt.\r\n * @param includeChar Angabe, ob @see char ebenfalls entfernt werden soll.\r\n */\r\n removeBefore(char: string, includeChar?: boolean): string;\r\n\r\n /**\r\n * Entfernt alle Zeichen die nach dem übergebenen Zeichen sind.\r\n * @param str Der string bei dem die Zeichen entfernt werden sollen.\r\n * @param char Alle, dem Zeichen, nachgestellten Zeichen werden entfernt.\r\n * @param includeChar Angabe, ob @see char ebenfalls entfernt werden soll. Default ist false.\r\n */\r\n removeAfter(char: string, includeChar?: boolean): string;\r\n padEnd(targetLength: number, padString?: string): string;\r\n splitJoinByCaps(seperator: string): string;\r\n }\r\n}\r\n\r\nif (typeof String.prototype.toUpperCaseFirstChar !== \"function\")\r\n{\r\n String.prototype.toUpperCaseFirstChar = function(): string\r\n {\r\n return this.charAt(0).toUpperCase() + this.slice(1);\r\n };\r\n}\r\n\r\nif (typeof String.prototype.format !== \"function\")\r\n{\r\n String.prototype.format = function(...args: any[]): string\r\n {\r\n return this.toString().replace(/{(\\d+)}/g, (match, num) =>\r\n {\r\n return typeof args[num] != \"undefined\" ? args[num] : match;\r\n });\r\n };\r\n}\r\n\r\nif (typeof String.prototype.removeBefore !== \"function\")\r\n{\r\n String.prototype.removeBefore = function(char: string, includeChar: boolean = true): string\r\n {\r\n const str: string = this.toString();\r\n if (str.indexOf(char) >= 0)\r\n {\r\n if (includeChar)\r\n {\r\n return str.substr(str.indexOf(char) + 1, str.length);\r\n }\r\n else\r\n {\r\n return str.substr(str.indexOf(char), str.length);\r\n }\r\n }\r\n else\r\n {\r\n return str;\r\n }\r\n };\r\n}\r\n\r\nif (typeof String.prototype.removeAfter !== \"function\")\r\n{\r\n String.prototype.removeAfter = function(char: string, includeChar: boolean = false): string\r\n {\r\n const str: string = this.toString();\r\n if (str.indexOf(char) >= 0)\r\n {\r\n if (includeChar)\r\n {\r\n return str.substr(0, str.indexOf(char) - 1);\r\n }\r\n else\r\n {\r\n return str.substr(0, str.indexOf(char));\r\n }\r\n }\r\n else\r\n {\r\n return str;\r\n }\r\n };\r\n}\r\n\r\nif (!String.prototype.padEnd)\r\n{\r\n String.prototype.padEnd = function padEnd(targetLength: number, padString?: string)\r\n {\r\n targetLength = targetLength >> 0; //floor if number or convert non-number to 0;\r\n padString = String((typeof padString !== \"undefined\" ? padString : \" \"));\r\n if (this.length > targetLength)\r\n {\r\n return String(this);\r\n }\r\n else\r\n {\r\n targetLength = targetLength - this.length;\r\n if (targetLength > padString.length)\r\n {\r\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\r\n }\r\n return String(this) + padString.slice(0, targetLength);\r\n }\r\n };\r\n}\r\n\r\nif (typeof String.prototype.splitJoinByCaps !== \"function\")\r\n{\r\n String.prototype.splitJoinByCaps = function(seperator: string): string\r\n {\r\n return this.toString().split(/(?=[A-Z])/).join(seperator).toLowerCase();\r\n };\r\n}\r\n","import { INode } from \"../Types/INode\";\r\nimport { getNode } from \"./getNode\";\r\n\r\nexport function defaultSelectionHelper(selectedNode: INode | undefined, currentlySelectedNode: INode | undefined, nodes: INode[])\r\n{\r\n const newNodes = [...nodes!];\r\n const newSelectedNode = getNode(newNodes, selectedNode && selectedNode.id);\r\n\r\n if (newSelectedNode != undefined)\r\n {\r\n if (currentlySelectedNode != undefined && currentlySelectedNode.id === newSelectedNode.id)\r\n {\r\n newSelectedNode.isToggled = !newSelectedNode.isToggled;\r\n }\r\n else\r\n {\r\n newSelectedNode.isToggled = true;\r\n }\r\n }\r\n else\r\n {\r\n newNodes.forEach(n => n.isToggled = false);\r\n }\r\n\r\n return {\r\n nodes: newNodes,\r\n selectedNode: newSelectedNode\r\n };\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\nimport { TreeViewNode } from \"./TreeViewNode\";\r\nimport { INode } from \"./Types/INode\";\r\nimport { Textbox } from \"../Inputs\";\r\nimport { IInputEventArgs } from \"../Inputs/Types\";\r\nimport { isMatchingFilter } from \"./Helper/isMatchingFilter\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Die anzuzeigenden Nodes.\r\n */\r\n nodes: INode[];\r\n\r\n /**\r\n * Die momentan selektierte TreeViewNode.\r\n */\r\n selectedNode?: INode;\r\n\r\n /**\r\n * Der momentan gesetzte Filter.\r\n */\r\n filter?: string;\r\n\r\n /**\r\n * Angabe, ob die TreeView gefiltert werden kann.\r\n */\r\n isFilterable?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt sobald eine TreeViewNode selektiert wird.\r\n */\r\n onSelect?: (node: INode) => void;\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der Filter Textbox ändert.\r\n */\r\n onFilterChange?: (e: IInputEventArgs) => void;\r\n\r\n /**\r\n * Wird ausgeführt, sobald die selektion entfernt werden soll.\r\n */\r\n onClearSelection?: () => void;\r\n}\r\n\r\nexport class TreeView extends Component\r\n{\r\n constructor(props: IProperties)\r\n {\r\n super(props);\r\n this.setIds(props.nodes);\r\n }\r\n\r\n componentDidUpdate()\r\n {\r\n this.setIds(this.props.nodes);\r\n }\r\n\r\n private setIds = (nodes: INode[]) =>\r\n {\r\n for (const node of nodes)\r\n {\r\n node.id = node.id || Math.round(Math.random() * 1e5);\r\n\r\n if (node.nodes != undefined && node.nodes.length > 0)\r\n {\r\n this.setIds(node.nodes);\r\n }\r\n }\r\n }\r\n\r\n private getChildNodes = (node: INode) =>\r\n {\r\n if (!node.nodes)\r\n {\r\n return [];\r\n }\r\n\r\n return node.nodes.map(n => n);\r\n }\r\n\r\n private onNodeSelect = (node: INode) =>\r\n {\r\n const { onSelect } = this.props;\r\n onSelect && onSelect(node);\r\n }\r\n\r\n private onClearSelection = () =>\r\n {\r\n const { onClearSelection } = this.props;\r\n onClearSelection && onClearSelection();\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const { nodes, selectedNode, filter, isFilterable, onFilterChange } = this.props;\r\n return (\r\n
\r\n {isFilterable &&\r\n
\r\n \r\n
\r\n }\r\n {selectedNode != undefined && Selektion entfernen}\r\n
\r\n
\r\n {nodes.map(node =>\r\n {\r\n if (isMatchingFilter(node, filter))\r\n {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return false;\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport Styles from \"./Style.scss\";\r\nimport classnames from \"classnames\";\r\n\r\ninterface IProps\r\n{\r\n style?: React.CSSProperties;\r\n children?: React.ReactNode;\r\n canShrink?: boolean;\r\n alignLeft?: boolean;\r\n}\r\n\r\nexport class FormControl extends React.PureComponent\r\n{\r\n public static defaultProps: Partial = {\r\n children: [],\r\n alignLeft: false,\r\n canShrink: false\r\n };\r\n\r\n public render(): React.ReactNode\r\n {\r\n const { style, children, canShrink, alignLeft } = this.props;\r\n const classes: string = classnames(\r\n Styles.FormControl,\r\n {\r\n [Styles.CantShrink]: !canShrink,\r\n [Styles.AlignLeft]: alignLeft\r\n });\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as styles from \"../Styles/Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Content of the hint.\r\n */\r\n children?: React.ReactNode;\r\n\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n}\r\n\r\n/**\r\n * Displays a hint under an input element.\r\n */\r\nexport class InputHint extends React.Component\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport NumberFormat, { NumberFormatValues } from \"react-number-format\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\nimport { FormControl } from \"../FormControl\";\r\nimport classnames from \"classnames\";\r\nimport { InputHint } from \"./Helpers/InputHint\";\r\nimport { IInputEventArgs, IDefaultInputProperties } from \"./Types\";\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Gibt an, ob die Textbox momentan fokussiert ist.\r\n */\r\n isFocused: boolean;\r\n}\r\n\r\nexport class Textbox extends React.PureComponent\r\n{\r\n /**\r\n * Standardwerte für die Eigenschaften setzen.\r\n */\r\n public static defaultProps: Partial = {\r\n variant: \"normal\",\r\n isShrinkable: false\r\n };\r\n\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n isFocused: false\r\n };\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der `` Komponente ändert.\r\n * @param e Das ausführende Event.\r\n */\r\n private onChange = (e: React.ChangeEvent): void =>\r\n {\r\n const { name, maxLength, onChange, onValueChange, onChangeValue } = this.props;\r\n let value = e.target.value;\r\n\r\n if (maxLength != undefined && maxLength > 0)\r\n {\r\n value = value.substring(0, maxLength);\r\n }\r\n\r\n const args: IInputEventArgs = {\r\n name,\r\n stringValue: value,\r\n numberValue: e.target.valueAsNumber\r\n };\r\n\r\n onChangeValue && onChangeValue(e, args);\r\n onChange && onChange(e);\n onValueChange && onValueChange(args);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der `` Komponente ändert.\r\n * @param e Das ausführende Event.\r\n */\r\n private onChangeNumber = (value: NumberFormatValues): void =>\r\n {\r\n const { name, onValueChange, onChangeValue } = this.props;\r\n const args: IInputEventArgs = {\r\n name,\r\n stringValue: value.value,\r\n numberValue: value.floatValue\r\n };\r\n\r\n onChangeValue && onChangeValue(undefined, args);\r\n onValueChange && onValueChange(args);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald die `` Komponente den Fokus verliert.\r\n * Dieses event gibt fertig konvertierte Daten zurück.\r\n * @param e Das ausführende Event.\r\n */\r\n private onBlur = (e: React.FocusEvent): void =>\r\n {\r\n const { name, onLostFocus, onBlur } = this.props;\r\n\r\n const args: IInputEventArgs = {\r\n name,\r\n stringValue: e.target.value,\r\n numberValue: e.target.valueAsNumber\r\n };\r\n\r\n onBlur && onBlur(e);\r\n onLostFocus && onLostFocus(args);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n private renderInput = (): React.ReactNode =>\r\n {\r\n const { value, variant, type, defaultValue, onChange, onLostFocus, onValueChange, isShrinkable, ...rest } = this.props;\r\n const classes: string = classnames(\r\n styles.textbox,\r\n {\r\n [styles.normal]: this.props.variant === \"normal\",\r\n [styles.small]: this.props.variant === \"small\",\r\n [styles.smallright]: this.props.type === \"number\" || this.props.type === \"percent\"\r\n }\r\n );\r\n\r\n if (type === \"number\") {\r\n return (\r\n \r\n );\r\n }\r\n else if (type === \"percent\") {\r\n return (\r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { formControlStyle, label, hint, isShrinkable } = this.props;\r\n\r\n return (\r\n \r\n {label && }\r\n {this.renderInput()}\r\n {\r\n hint &&\r\n \r\n {hint}\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\nimport { FormControl } from \"../FormControl\";\r\nimport { InputHint } from \"./Helpers/InputHint\";\r\nimport CheckIcon from \"mdi-react/CheckIcon\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Enthält alle Child-Elemente.\r\n */\r\n children?: JSX.Element | JSX.Element[];\r\n\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Anzeigetext der Checkbox.\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Setzt einen Hilfetext.\r\n */\r\n hint?: string | JSX.Element;\r\n\r\n /**\r\n * Gibt an ob die Checkbox ausgewählt ist.\r\n */\r\n isChecked?: boolean;\r\n\r\n /**\r\n * Ein Wert der angibt, ob der Wert des Inputs nur lesbar ist.\r\n */\r\n isReadOnly?: boolean;\r\n\r\n /**\r\n * Ein Wert der angibt, ob das Input abgeschaltet ist.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald sich der Wert der Checkbox ändert.\r\n */\r\n onCheckedChanged?: (e: React.ChangeEvent) => void;\r\n}\r\n\r\n/**\r\n * The state of this component.\r\n */\r\nclass State\r\n{\r\n /**\r\n * A value that indicates whether this input is checked.\r\n */\r\n readonly isChecked?: boolean;\r\n\r\n constructor(isChecked?: boolean)\r\n {\r\n this.isChecked = isChecked || false;\r\n }\r\n}\r\n\r\nexport class Checkbox extends React.Component\r\n{\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props.isChecked);\r\n\r\n /**\r\n * Will update the value of this input if the new value property is different from the last.\r\n * @param nextProps The new properties.\r\n */\r\n componentWillReceiveProps(nextProps: IProperties)\r\n {\r\n if (nextProps.isChecked !== this.props.isChecked)\r\n {\r\n this.setState({ isChecked: nextProps.isChecked });\r\n }\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, label, hint, isReadOnly, isDisabled, onCheckedChanged } = this.props;\r\n const { isChecked } = this.state;\r\n const classes = classnames(\r\n styles.checkbox,\r\n {\r\n [styles.disabled]: isDisabled\r\n }\r\n );\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n hint &&\r\n \r\n {hint}\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\nimport { FormControl } from \"../FormControl\";\r\nimport { InputHint } from \"./Helpers/InputHint\";\r\nimport CheckIcon from \"mdi-react/CheckIcon\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Enthält alle Child-Elemente.\r\n */\r\n children?: JSX.Element | JSX.Element[];\r\n\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * The id of this input. Will be automatically created if not specified.\r\n */\r\n id?: string;\r\n\r\n /**\r\n * The name of the radio button.\r\n */\r\n name?: string;\r\n\r\n /**\r\n * The name of the radio button group.\r\n */\r\n group: string;\r\n\r\n /**\r\n * Anzeigetext der Checkbox.\r\n */\r\n label?: string;\r\n\r\n /**\r\n * Setzt einen Hilfetext.\r\n */\r\n hint?: string | JSX.Element;\r\n\r\n /**\r\n * The value of this component.\r\n */\r\n value?: string;\r\n\r\n /**\r\n * Gibt an ob die Checkbox ausgewählt ist.\r\n */\r\n isChecked?: boolean;\r\n\r\n /**\r\n * Ein Wert der angibt, ob der Wert des Inputs nur lesbar ist.\r\n */\r\n isReadOnly?: boolean;\r\n\r\n /**\r\n * Ein Wert der angibt, ob das Input abgeschaltet ist.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald sich der Wert der Checkbox ändert.\r\n */\r\n onCheckedChanged?: (name?: string, value?: string, isChecked?: boolean) => void;\r\n}\r\n\r\n/**\r\n * The state of this component.\r\n */\r\nclass State\r\n{\r\n /**\r\n * A value that indicates whether this input is checked.\r\n */\r\n readonly isChecked?: boolean;\r\n\r\n constructor(isChecked?: boolean)\r\n {\r\n this.isChecked = isChecked || false;\r\n }\r\n}\r\n\r\nexport class Radio extends React.Component\r\n{\r\n private _id: string = \"\";\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props.isChecked);\r\n\r\n /**\r\n *\r\n */\r\n constructor(props: IProperties)\r\n {\r\n super(props);\r\n this._id = props.id || `radio-${Math.round(Math.random() * 1e5)}`;\r\n }\r\n\r\n /**\r\n * Will update the value of this input if the new value property is different from the last.\r\n * @param nextProps The new properties.\r\n */\r\n componentWillReceiveProps(nextProps: IProperties)\r\n {\r\n if (nextProps.isChecked !== this.props.isChecked)\r\n {\r\n this.setState({ isChecked: nextProps.isChecked });\r\n }\r\n }\r\n\r\n /**\r\n * Is raised when the value of the input field is changed.\r\n */\r\n private onCheckedChanged = (e: React.ChangeEvent) =>\r\n {\r\n const { name, onCheckedChanged } = this.props;\r\n onCheckedChanged && onCheckedChanged(name, e.target.value, e.target.checked);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, group, value, label, hint, isReadOnly, isDisabled } = this.props;\r\n const { isChecked } = this.state;\r\n const classes = classnames(\r\n styles.radio,\r\n {\r\n [styles.disabled]: isDisabled\r\n }\r\n );\r\n\r\n return (\r\n \r\n \r\n {label}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n hint &&\r\n \r\n {hint}\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Titel Text.\r\n */\r\n title?: string;\r\n\r\n /**\r\n * Anzeige Text.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Name des Icons welches angezeigt werden soll.\r\n */\r\n icon?: React.ReactElement;\r\n\r\n /**\r\n * Der Typ des Buttons.\r\n */\r\n type: \"default\" | \"primary\" | \"danger\" | \"transparent\";\r\n\r\n /**\r\n * Gibt an ob der Button klein ist.\r\n */\r\n size?: \"normal\" | \"small\" | \"big\" | \"reset\";\r\n\r\n /**\r\n * Gibt an ob der Button abgeschaltet ist.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf das Item geklickt wird.\r\n */\r\n onClick?: (e?: React.MouseEvent) => void;\r\n}\r\n\r\nexport class Button extends React.Component\r\n{\r\n /**\r\n * Standardwerte setzen.\r\n */\r\n public static defaultProps: Partial = {\r\n type: \"default\",\r\n size: \"normal\",\r\n isDisabled: false\r\n };\r\n\r\n /**\r\n * Führt die \"onClick\" Eigenschaft aus wenn diese gesetzt wurde.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onClick = (e: React.MouseEvent) =>\r\n {\r\n this.props.onClick && this.props.onClick(e);\r\n }\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, title, text, icon, type, size, isDisabled } = this.props;\r\n const classes = classnames(\r\n styles.btn,\r\n {\r\n [styles.primary]: type === \"primary\",\r\n [styles.danger]: type === \"danger\",\r\n [styles.transparent]: type === \"transparent\",\r\n [styles.small]: size === \"small\",\r\n [styles.normal]: size === \"normal\",\r\n [styles.big]: size === \"big\",\r\n [styles.reset]: size === \"reset\",\r\n [styles.icon]: (icon != undefined && text == undefined && text === \"\")\r\n }\r\n );\r\n\r\n return (\r\n \r\n {\r\n icon != undefined &&\r\n React.cloneElement(icon, {\r\n size: 16\r\n })\r\n }\r\n {\r\n text != undefined && text !== \"\" &&\r\n {text}\r\n }\r\n \r\n );\r\n }\r\n}\r\n","export * from \"./Textbox\";\r\nexport * from \"./Checkbox\";\r\nexport * from \"./Radio\";\r\nexport * from \"./Button\";\r\n","import React, { Component } from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport CheckCircleIcon from \"mdi-react/CheckCircleIcon\";\r\nimport CheckboxBlankCircleOutlineIcon from \"mdi-react/CheckboxBlankCircleOutlineIcon\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * A value that indicates whether this row is checked.\r\n */\r\n isChecked: boolean;\r\n\r\n /**\r\n * The width of this cell.\r\n */\r\n width?: number;\r\n}\r\n\r\n/**\r\n * Renders this component.\r\n */\r\nexport class TableRowBooleanCell extends Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { isChecked, width } = this.props;\r\n const classes = classnames(\r\n styles.tableRowBooleanCell,\r\n {\r\n [styles.isChecked]: isChecked\r\n }\r\n );\r\n\r\n return (\r\n \r\n {isChecked ? : }\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * The content of this cell.\r\n */\r\n content: string;\r\n\r\n /**\r\n * The width of this cell.\r\n */\r\n width?: number;\r\n}\r\n\r\n/**\r\n * Renders this component.\r\n */\r\nexport class TableRowNumberCell extends Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { content, width } = this.props;\r\n return (\r\n \r\n {content}\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { IDefaultInputProperties, IInputEventArgs } from \"../Inputs/Types\";\r\nimport { ITableCellEventArgs } from \"./Types\";\r\nimport { Textbox } from \"../Inputs\";\r\n\r\ninterface IProperties extends IDefaultInputProperties\r\n{\r\n /**\r\n * Der Name der anzuzeigenden Spalte.\r\n */\r\n accessor: string;\r\n\r\n /*\r\n * Die gebundenen Daten.\r\n */\r\n dataSource?: any;\r\n\r\n /**\r\n * Die Breite der Zelle.\r\n */\r\n width?: number;\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der `` Komponente ändert.\r\n */\r\n onCellChange?: (e: ITableCellEventArgs) => void;\r\n\r\n /**\r\n * Wird ausgeführt sobald die `` Komponente den Fokus verliert.\r\n */\r\n onCellLostFocus?: (e: ITableCellEventArgs) => void;\r\n}\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält den momentanen Wert det `` Komponente.\r\n */\r\n value?: string;\r\n}\r\n\r\nexport class TableRowTextboxCell extends Component\r\n{\r\n /**\r\n * Standardwerte für die Eigenschaften setzen.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n value: this.props.value as string\r\n };\r\n\r\n /**\r\n * Wird ausgeführt sobald die Komponente aktualisert bzw. neu gerendert wird.\r\n * @param prevProps Ein snapshot der alten Eigentschaften.\r\n */\r\n componentDidUpdate(prevProps: IProperties): void\r\n {\r\n if (prevProps.value !== this.props.value)\r\n {\r\n this.setState({\r\n value: this.props.value as string\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der `` Komponente ändert.\r\n * @param e Das auslösende Event.\r\n */\r\n private onValueChange = (e: IInputEventArgs): void =>\r\n {\r\n const { type, nullable, accessor, dataSource, onCellChange } = this.props;\r\n const { stringValue, numberValue } = e;\r\n\r\n if (type === \"number\" || type === \"percent\")\r\n {\r\n if (nullable != undefined && nullable) {\r\n dataSource[accessor] = numberValue || null;\r\n }\r\n else dataSource[accessor] = numberValue || 0;\r\n }\r\n else\r\n {\r\n dataSource[accessor] = stringValue;\r\n }\r\n\r\n onCellChange && onCellChange({\r\n accessor,\r\n dataSource\r\n });\r\n\r\n this.setState({\r\n value: stringValue != undefined ? stringValue.toString() : \"\"\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald die `` fokussiert wird.\r\n * @param e Das auslösende Event.\r\n */\r\n private onFocus = (e: React.FocusEvent): void =>\r\n {\r\n if (e.target != undefined && e.target.tagName.toLowerCase() === \"input\")\r\n {\r\n e.target.select();\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald die `` den fokus verliert.\r\n * @param e Das auslösende Event.\r\n */\r\n private onCellLostFocus = (e: IInputEventArgs): void =>\r\n {\r\n const { accessor, dataSource, value, onCellLostFocus } = this.props;\r\n\r\n if (value !== \"-\")\r\n {\r\n onCellLostFocus && onCellLostFocus({\r\n accessor,\r\n dataSource\r\n });\r\n }\r\n else\r\n {\r\n dataSource[accessor] = 0;\r\n onCellLostFocus && onCellLostFocus({\r\n accessor,\r\n dataSource\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { accessor, dataSource, width, onChange, onCellChange, ...rest } = this.props;\r\n const { value } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n children?: React.ReactNode;\r\n innerRef?: React.Ref;\r\n}\r\n\r\nclass TableHeader extends Component\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n
\r\n {this.props.children}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default React.forwardRef((props, ref) => );\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n style?: React.CSSProperties;\r\n columnWidth: number;\r\n onDrag?: (offset: number) => void;\r\n onDragStopped?: () => void;\r\n onMouseEnter?: (e: React.MouseEvent) => void;\r\n onMouseLeave?: (e: React.MouseEvent) => void;\r\n}\r\n\r\nexport class TableHeaderCellSizer extends Component\r\n{\r\n private _ref = React.createRef();\r\n private _startOffset: number = 0;\r\n private _isLeftMouseDown: boolean = false;\r\n\r\n componentWillUnmount()\r\n {\r\n window.removeEventListener(\"mousemove\", this.onMouseMove);\r\n window.removeEventListener(\"onMouseUp\", this.onMouseUp);\r\n }\r\n\r\n private onMouseDown = (e: React.MouseEvent): void =>\r\n {\r\n if (e.button === 0 && this._ref.current != undefined)\r\n {\r\n this._isLeftMouseDown = true;\r\n this._startOffset = this.props.columnWidth - e.pageX;\r\n window.addEventListener(\"mousemove\", this.onMouseMove);\r\n window.addEventListener(\"mouseup\", this.onMouseUp);\r\n }\r\n }\r\n\r\n private onMouseUp = (e: Event): void =>\r\n {\r\n this._isLeftMouseDown = false;\r\n window.removeEventListener(\"mousemove\", this.onMouseMove);\r\n window.removeEventListener(\"mouseup\", this.onMouseUp);\r\n this.props.onDragStopped && this.props.onDragStopped();\r\n }\r\n\r\n private onMouseMove = (e: MouseEvent): void =>\r\n {\r\n if (this._isLeftMouseDown && this._ref.current != undefined)\r\n {\r\n const { onDrag } = this.props;\r\n const offset = this._startOffset + e.pageX;\r\n onDrag && onDrag(offset);\r\n }\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport \"../Prototypes/String\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { Tooltip } from \"../Tooltip\";\r\nimport { ClickAwayListener } from \"../ClickAwayListener\";\r\nimport { Textbox, Button, Radio } from \"../Inputs\";\r\nimport { getAllParents } from \"../Utils/getAllParents\";\r\nimport { ValueTypeStrings } from \"../Utils/types\";\r\nimport { ITableFilter, ITableFilterDescription, ITableFilterNodeInfo } from \"./Interfaces/ITableFilter\";\r\nimport { IInputEventArgs } from \"../Inputs/Types\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * Contains all the child elements of this component.\r\n */\r\n children: React.ReactElement;\r\n\r\n /**\r\n * The name of the column to display.\r\n */\r\n accessor: string;\r\n\r\n /**\r\n * The type of the values in this column.\r\n */\r\n accessorType: ValueTypeStrings;\r\n\r\n /**\r\n * All the bound data of this accessor/column.\r\n */\r\n accessorSource: any[];\r\n\r\n /**\r\n * All the user defined filters.\r\n */\r\n customFilters: ITableFilterDescription[];\r\n\r\n /**\r\n * All the filters applied to this header.\r\n */\r\n appliedFilters: ITableFilter[];\r\n\r\n /**\r\n * Is raised as soon as this popup opens.\r\n */\r\n onOpen: () => void;\r\n\r\n /**\r\n * Is raised as soon as this popup closes.\r\n */\r\n onClose: () => void;\r\n\r\n /**\r\n * Is raised as soon as a filter is applied.\r\n */\r\n onFilterApply: (filters: ITableFilter[]) => void;\r\n}\r\n\r\n/**\r\n * An interface that describes the state object of this component.\r\n */\r\ninterface IState\r\n{\r\n [key: string]: any;\r\n open: boolean;\r\n}\r\n\r\n/**\r\n * An object with all the default column filters.\r\n */\r\nconst filterSettings: ITableFilterDescription[] = [\r\n {\r\n key: \"freeText\",\r\n type: [\"string\"],\r\n label: \"Filter:\",\r\n command: (value1: string, value2: string) => value1.toLowerCase().indexOf(value2.toLowerCase()) >= 0\r\n },\r\n {\r\n key: \"euqalsNumber\",\r\n summaryText: \"Ist gleich\",\r\n type: [\"number\"],\r\n label: \"Ist gleich:\",\r\n command: (value1: number, value2: number) => value1 === value2,\r\n commandCanExecute: (state: IState) =>\r\n {\r\n const greaterThan: string = \"greaterThan\";\r\n const lessThan: string = \"lessThan\";\r\n const greaterOrEqual: string = \"greaterOrEqual\";\r\n const lessOrEqual: string = \"lessOrEqual\";\r\n return !(\r\n state[greaterThan] != undefined && state[greaterThan] !== \"\" ||\r\n state[lessThan] != undefined && state[lessThan] !== \"\" ||\r\n state[greaterOrEqual] != undefined && state[greaterOrEqual] !== \"\" ||\r\n state[lessOrEqual] != undefined && state[lessOrEqual] !== \"\"\r\n );\r\n }\r\n },\r\n {\r\n key: \"greaterThan\",\r\n summaryText: \"Größer als\",\r\n type: [\"number\"],\r\n label: \"Größer als:\",\r\n command: (value1: number, value2: number) => value1 > value2,\r\n commandCanExecute: (state: IState) =>\r\n {\r\n const euqalsNumber: string = \"euqalsNumber\";\r\n const greaterOrEqual: string = \"greaterOrEqual\";\r\n return !(\r\n state[euqalsNumber] != undefined && state[euqalsNumber] !== \"\" ||\r\n state[greaterOrEqual] != undefined && state[greaterOrEqual] !== \"\"\r\n );\r\n }\r\n },\r\n {\r\n key: \"greaterOrEqual\",\r\n summaryText: \"Größer gleich\",\r\n type: [\"number\"],\r\n label: \"Größer gleich:\",\r\n command: (value1: number, value2: number) => value1 >= value2,\r\n commandCanExecute: (state: IState) =>\r\n {\r\n const euqalsNumber: string = \"euqalsNumber\";\r\n const greaterThan: string = \"greaterThan\";\r\n return !(\r\n state[euqalsNumber] != undefined && state[euqalsNumber] !== \"\" ||\r\n state[greaterThan] != undefined && state[greaterThan] !== \"\"\r\n );\r\n }\r\n },\r\n {\r\n key: \"lessThan\",\r\n summaryText: \"Kleiner als\",\r\n type: [\"number\"],\r\n label: \"Kleiner als:\",\r\n command: (value1: number, value2: number) => value1 < value2,\r\n commandCanExecute: (state: IState) =>\r\n {\r\n const euqalsNumber: string = \"euqalsNumber\";\r\n const lessOrEqual: string = \"lessOrEqual\";\r\n return !(\r\n state[euqalsNumber] != undefined && state[euqalsNumber] !== \"\" ||\r\n state[lessOrEqual] != undefined && state[lessOrEqual] !== \"\"\r\n );\r\n }\r\n },\r\n {\r\n key: \"lessOrEqual\",\r\n summaryText: \"Kleiner gleich\",\r\n type: [\"number\"],\r\n label: \"Kleiner gleich:\",\r\n command: (value1: number, value2: number) => value1 <= value2,\r\n commandCanExecute: (state: IState) =>\r\n {\r\n const euqalsNumber: string = \"euqalsNumber\";\r\n const lessThan: string = \"lessThan\";\r\n return !(\r\n state[euqalsNumber] != undefined && state[euqalsNumber] !== \"\" ||\r\n state[lessThan] != undefined && state[lessThan] !== \"\"\r\n );\r\n }\r\n },\r\n {\r\n key: \"checked\",\r\n type: [\"boolean\"],\r\n command: (value1: boolean, value2: string) =>\r\n {\r\n if (value2 !== \"all\")\r\n {\r\n return value2 === \"true\" ? value1 === true : value1 === false;\r\n }\r\n\r\n return true;\r\n },\r\n node: (info: ITableFilterNodeInfo) => (\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n];\r\n\r\n/**\r\n * A table component that renders a popup which displays default and user defined filters.\r\n */\r\nexport class TableHeaderFilterPopup extends Component\r\n{\r\n /**\r\n * Set default state values.\r\n */\r\n public readonly state: IState = {\r\n open: false\r\n };\r\n\r\n /**\r\n * Initializes a new instance of @see TableHeaderFilterPopup\r\n * @param props The properties of this component.\r\n */\r\n constructor(props: IProperties)\r\n {\r\n super(props);\r\n\r\n // Merge all custom filters with the default filters and\r\n // create an ID for each filter.\r\n if (props.customFilters != undefined && props.customFilters.length > 0)\r\n {\r\n for (const cf of props.customFilters)\r\n {\r\n let fs = filterSettings.where(f => f.key === cf.key).first();\r\n if (fs != undefined)\r\n {\r\n fs = { ...cf };\r\n }\r\n else\r\n {\r\n filterSettings.push({ ...cf });\r\n }\r\n }\r\n\r\n filterSettings.forEach(fs =>\r\n {\r\n if (fs.id == undefined)\r\n {\r\n fs.id = `cf-${Math.round(Math.random() * 1e5)}`;\r\n }\r\n });\r\n }\r\n\r\n // Create empty state objects for each filter.\r\n for (const filter of filterSettings)\r\n {\r\n this.state[filter.key] = \"\";\r\n }\r\n }\r\n\r\n /**\r\n * Is raised as soon as this component gets new properties.\r\n * This function is used to set all the already applied filters to the corresponding input\r\n * so the user can see which filter is set.\r\n * @param nextProps The new received properties.\r\n */\r\n componentWillReceiveProps(nextProps: IProperties): void\r\n {\r\n const newState: IState = {\r\n open: this.state.open ? true : false\r\n };\r\n\r\n for (const key in this.state)\r\n {\r\n if (this.state.hasOwnProperty(key) && key !== \"open\")\r\n {\r\n const filterValue = nextProps.appliedFilters.where(f => f.filter.key === key).first();\r\n newState[key] = filterValue != undefined ? filterValue.value : undefined;\r\n }\r\n }\r\n\r\n //console.log(\"componentWillReceiveProps\");\r\n this.setState(newState);\r\n }\r\n\r\n /**\r\n * Handles the click on the column filter button to open this popup.\r\n */\r\n private handleTooltipOpen = (e: React.MouseEvent): void =>\r\n {\r\n this.setState({\r\n open: true\r\n });\r\n\r\n this.props.onOpen && this.props.onOpen();\r\n\r\n // Stop event bubbling to prevent column sort.\r\n e.stopPropagation();\r\n }\r\n\r\n /**\r\n * Handles the closing of this popup if the user clicked anywhere outside this popup.\r\n * @param e The raising MouseEvent.\r\n */\r\n private handleTooltipClose = (e: React.MouseEvent): void =>\r\n {\r\n const parents = getAllParents(e.target as HTMLElement);\r\n if (parents.any(p => p.id.includes(\"gsg-tooltip\")))\r\n {\r\n return;\r\n }\r\n if (!parents.any(p => p.hasAttribute(\"x-popup\")))\r\n {\r\n this.closePopup();\r\n }\r\n }\r\n\r\n /**\r\n * Handles all the ``, ``, `` and `` changes.\r\n * @param name The name of the input.\r\n * @param value The value of the input.\r\n * @param isChecked The state of the checkbox.\r\n */\r\n private handleTextChanged = (name?: string, value?: string | number, isChecked?: boolean): void =>\r\n {\r\n this.setState({\r\n [name!]: value != undefined ? value.toString() : value\r\n });\r\n }\r\n\r\n /**\r\n * Handles the `` changes.\r\n * @param e The raising change event.\r\n * @param eArgs The event args with the parsed value.\r\n */\r\n private onChange = (e?: React.ChangeEvent, eArgs?: IInputEventArgs): void =>\r\n {\r\n const args = eArgs || {};\r\n this.setState({\r\n [args.name!]: eArgs!.stringValue\r\n });\r\n }\r\n\r\n /**\r\n * handles the click on the `Anwenden` button.\r\n * @param e The raising MouseEvent.\r\n */\r\n private handleFilterApply = (e?: React.MouseEvent): void =>\r\n {\r\n const { accessorType, onFilterApply } = this.props;\r\n const filters: ITableFilter[] = [];\r\n\r\n for (const key in this.state)\r\n {\r\n if (this.state.hasOwnProperty(key) && key !== \"open\")\r\n {\r\n const value = this.state[key];\r\n if (value != undefined && value !== \"\")\r\n {\r\n filters.push({\r\n column: \"\",\r\n columnName: \"\",\r\n columnType: accessorType,\r\n value,\r\n filter: filterSettings.first(f => f.key === key)\r\n });\r\n\r\n //if (key === \"fab\" && value === \"*\") {\r\n // filters.push({\r\n // column: \"\",\r\n // columnName: \"\",\r\n // columnType: accessorType,\r\n // value,\r\n // filter: filterSettings.first(f => f.key === \"entlassender_standort\")\r\n // });\r\n //}\r\n if (key === \"entlassender_standort\" && value === \"*\") {\r\n filters.push({\r\n column: \"\",\r\n columnName: \"\",\r\n columnType: accessorType,\r\n value,\r\n filter: filterSettings.first(f => f.key === \"fab\")\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (filters.length > 0)\r\n {\r\n onFilterApply && onFilterApply(filters);\r\n }\r\n\r\n // Stop event bubbling to prevent column sort.\r\n e!.stopPropagation();\r\n this.closePopup();\r\n }\r\n\r\n /**\r\n * Closes this popup.\r\n */\r\n private closePopup = (): void =>\r\n {\r\n const { onClose } = this.props;\r\n const newState: IState = {\r\n open: false\r\n };\r\n\r\n if (this.state.open)\r\n {\r\n window.setTimeout(() =>\r\n {\r\n console.log(\"closePopup\");\r\n this.setState(newState);\r\n });\r\n onClose && onClose();\r\n }\r\n }\r\n\r\n /**\r\n * This function renders all fields according to the user defined and default filters.\r\n */\r\n private renderFilters = (): React.ReactNode =>\r\n {\r\n const { accessor, accessorType, accessorSource } = this.props;\r\n const fields: React.ReactElement[] = [];\r\n const hasColumnSpecificFilter: boolean = filterSettings.any(f => f.column != undefined && f.column === accessor);\r\n\r\n let filters: ITableFilterDescription[] = [];\r\n if (hasColumnSpecificFilter)\r\n {\r\n filters = filterSettings.where(f => f.column != undefined && f.column === accessor);\r\n }\r\n else\r\n {\r\n filters = filterSettings.where(f => f.type != undefined && f.type.length > 0 && f.type.any(f2 => f2 === accessorType));\r\n }\r\n\r\n for (const filter of filters)\r\n {\r\n const canExecute: boolean = filter.commandCanExecute != undefined ? filter.commandCanExecute(this.state) : true;\r\n\r\n if (filter.node != undefined)\r\n {\r\n fields.push(filter.node({\r\n type: accessorType,\r\n name: filter.key,\r\n stateValue: this.state[filter.key],\r\n label: filter.label,\r\n canExecute,\r\n completeDistinctData: accessorSource,\r\n handler: this.handleTextChanged\r\n }));\r\n }\r\n else\r\n {\r\n if (accessorType === \"number\")\r\n {\r\n fields.push(\r\n
\r\n {filter.label}\r\n \r\n
\r\n );\r\n }\r\n else if (accessorType === \"string\")\r\n {\r\n fields.push(\r\n
\r\n {filter.label}\r\n \r\n
\r\n );\r\n }\r\n }\r\n }\r\n\r\n return fields;\r\n }\r\n\r\n /**\r\n * Renders the content of the popup.\r\n */\r\n private renderContent = (): React.ReactNode =>\r\n {\r\n return (\r\n \r\n
\r\n {this.renderFilters()}\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { children } = this.props;\r\n\r\n return (\r\n \r\n \r\n {React.cloneElement(children, {\r\n onClick: this.handleTooltipOpen\r\n })}\r\n \r\n \r\n );\r\n }\r\n}\r\n","/**\r\n * Gets all parents of the given element.\r\n * @param elem The element of which the parents should be returned.\r\n */\r\nexport function getAllParents(elem: HTMLElement): HTMLElement[]\r\n{\r\n const elems: HTMLElement[] = [];\r\n const parent = elem.parentElement;\r\n\r\n if (parent != undefined)\r\n {\r\n elems.push(parent);\r\n elems.push(...getAllParents(parent));\r\n }\r\n\r\n return elems;\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport FilterIcon from \"mdi-react/FilterIcon\";\r\nimport FilterOutlineIcon from \"mdi-react/FilterOutlineIcon\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Is set to true if this column has any filter set.\r\n */\r\n isFilterSet: boolean;\r\n}\r\n\r\n/**\r\n * Renders this component.\r\n */\r\nexport class TableHeaderFilterButton extends Component\r\n{\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { isFilterSet, ...rest } = this.props;\r\n\r\n return (\r\n \r\n {isFilterSet && }\r\n {!isFilterSet && }\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport arrowUp from \"../../../files/icons/arrow_up.png\";\r\nimport arrowDown from \"../../../files/icons/arrow_down.png\";\r\nimport { SortDirection, ValueTypeStrings } from \"../Utils/types\";\r\nimport { TableHeaderCellSizer } from \"./TableHeaderCellSizer\";\r\nimport { TableHeaderFilterPopup } from \"./TableHeaderFilterPopup\";\r\nimport { TableHeaderFilterButton } from \"./TableHeaderFilterButton\";\r\nimport { ITableFilter, ITableFilterDescription } from \"./Interfaces/ITableFilter\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * The text to display.\r\n */\r\n text: string;\r\n\r\n /**\r\n * The name of the column to display.\r\n */\r\n accessor: string;\r\n\r\n /**\r\n * The value type of the column to display.\r\n */\r\n accessorType: ValueTypeStrings;\r\n\r\n /**\r\n * All the bound data of this accessor/column.\r\n */\r\n accessorSource: any[];\r\n\r\n /**\r\n * All the userdefined filters.\r\n */\r\n customFilters: ITableFilterDescription[];\r\n\r\n /**\r\n * All the filters applied to this header.\r\n */\r\n appliedFilters: ITableFilter[];\r\n\r\n /**\r\n * The width of the column.\r\n */\r\n width?: number;\r\n\r\n /**\r\n * The sort direction of the column.\r\n */\r\n sortDirection?: SortDirection;\r\n\r\n /**\r\n * A value that indicates whether the column is sortable.\r\n */\r\n isSortable: boolean;\r\n\r\n /**\r\n * A value that indicates whether the column is resizable.\r\n */\r\n isResizable: boolean;\r\n\r\n /**\r\n * A value that indicates whether the column is filterable.\r\n */\r\n isFilterable: boolean;\r\n\r\n /**\r\n * A value that indicates whether the text of the header is aligned right.\r\n */\r\n alignRight?: boolean;\r\n\r\n /**\r\n * Is called as soon as this column is sorted.\r\n */\r\n onSort?: (sortDirection: SortDirection, accessor: string) => void;\r\n\r\n /**\r\n * Is called as soon as a filter is applied.\r\n */\r\n onFilterApply?: (filters: ITableFilter[]) => void;\r\n\r\n /**\r\n * Is called as soon as the column is resized/resizing.\r\n */\r\n onResize?: (newWidth: number, accessor: string) => void;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n /**\r\n * The current width of this column.\r\n */\r\n readonly width?: number;\r\n\r\n /**\r\n * Is set true while resizing the column.\r\n */\r\n readonly isResizing: boolean = false;\r\n\r\n /**\r\n * Is set to true if this column should be rendered in its hover state.\r\n */\r\n readonly showHoverState: boolean = false;\r\n\r\n /**\r\n * Sets default states.\r\n * @param props The properties of this component.\r\n */\r\n constructor(props: IProperties)\r\n {\r\n this.width = props.width;\r\n }\r\n}\r\n\r\nexport class TableHeaderCell extends Component\r\n{\r\n private _headerTextRef = React.createRef();\r\n private _isFilterOpen: boolean = false;\r\n\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props);\r\n\r\n componentDidUpdate(prevProps: IProperties)\r\n {\r\n if (!this.state.isResizing && prevProps.width !== this.props.width)\r\n {\r\n this.setState({\r\n width: this.props.width\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Is raised as soon as the header cell is clicked on.\r\n */\r\n private onClick = (): void =>\r\n {\r\n if (this._isFilterOpen === false)\r\n {\r\n const { accessor, sortDirection, onSort } = this.props;\r\n const newSort: SortDirection = sortDirection === \"ascending\" ? \"descending\" : \"ascending\";\r\n onSort != undefined && onSort(newSort, accessor);\r\n }\r\n }\r\n\r\n private onResizeColumn = (offset: number): void =>\r\n {\r\n const { accessor, onResize } = this.props;\r\n\r\n this.setState({\r\n width: offset,\r\n isResizing: true\r\n }, () => onResize && onResize(offset, accessor));\r\n }\r\n\r\n private onResizeColumnStopped = (): void =>\r\n {\r\n this.setState({\r\n isResizing: false\r\n });\r\n }\r\n\r\n private onMouseEnter = (e: React.MouseEvent): void =>\r\n {\r\n if (!this.state.isResizing)\r\n {\r\n this.setState({\r\n showHoverState: true\r\n });\r\n }\r\n }\r\n\r\n private onMouseLeave = (e: React.MouseEvent): void =>\r\n {\r\n if (!this.state.isResizing)\r\n {\r\n this.setState({\r\n showHoverState: false\r\n });\r\n }\r\n }\r\n\r\n private onFilterOpen = (): void =>\r\n {\r\n this._isFilterOpen = true;\r\n }\r\n\r\n private onFilterClose = (): void =>\r\n {\r\n this._isFilterOpen = false;\r\n }\r\n\r\n private onFilterApply = (filters: ITableFilter[]): void =>\r\n {\r\n const { accessor, accessorType, text, onFilterApply } = this.props;\r\n\r\n for (const filter of filters)\r\n {\r\n filter.column = accessor;\r\n filter.columnName = text;\r\n filter.columnType = accessorType;\r\n\r\n if (filter.filter.key === \"entlassender_standort\") {\r\n filter.column = \"entlassender_standort\";\r\n filter.columnName = \"Standort\";\r\n }\r\n if (filter.filter.key === \"fab\") {\r\n filter.column = \"fab\";\r\n filter.columnName = \"FAB\";\r\n }\r\n }\r\n\r\n onFilterApply && onFilterApply(filters);\r\n }\r\n\r\n private setTitle = () =>\r\n {\r\n if (this._headerTextRef != undefined && this._headerTextRef.current != undefined)\r\n {\r\n if (this._headerTextRef.current.scrollWidth > this._headerTextRef.current.clientWidth)\r\n {\r\n this._headerTextRef.current.title = this._headerTextRef.current.innerText;\r\n }\r\n else\r\n {\r\n this._headerTextRef.current.title = \"\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { text, accessor, accessorType, accessorSource, sortDirection, isSortable, isResizable, isFilterable, alignRight, customFilters, appliedFilters } = this.props;\r\n const { width, showHoverState, isResizing } = this.state;\r\n const isFilterSet: boolean = appliedFilters.where(f => f.column === accessor).length > 0;\r\n const classes = classnames(\r\n styles.headerCell,\r\n {\r\n [styles.showHoverState]: showHoverState || isResizing\r\n }\r\n );\r\n const textClasses = classnames(\r\n styles.headerCellText,\r\n {\r\n [styles.alignRight]: alignRight\r\n }\r\n );\r\n\r\n this.setTitle();\r\n\r\n return (\r\n \r\n \r\n \r\n {text}\r\n \r\n {\r\n isFilterable &&\r\n \r\n \r\n \r\n }\r\n {\r\n isSortable && sortDirection != undefined &&\r\n \r\n }\r\n \r\n {\r\n isResizable &&\r\n \r\n }\r\n \r\n\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { ITableRowEventArgs } from \"./Interfaces/ITableRowEventArgs\";\r\n\r\ninterface IProperties\r\n{\r\n [key: string]: any;\r\n style: React.CSSProperties;\r\n\r\n /*\r\n * Gibt oder setzt den Index dieser Zeile.\r\n */\r\n rowIndex?: string;\r\n\r\n /*\r\n * Gibt oder setzt die gebundene DataSource dieser Zeile.\r\n */\r\n dataSource?: any;\r\n\r\n /*\r\n * Gibt oder setzt einen Wert der angibt ob diese Zeile selektiert ist.\r\n */\r\n isSelected?: boolean;\r\n\r\n /*\r\n * Gibt oder setzt eine callback Methode die bei einem Linksklick auf diese Zeile ausgeführt wird.\r\n */\r\n onClick?: (e: ITableRowEventArgs) => void;\r\n\r\n /*\r\n * Gibt oder setzt eine callback Methode die bei einem Doppelklick auf diese Zeile ausgeführt wird.\r\n */\r\n onDoubleClick?: (e: ITableRowEventArgs) => void;\r\n\r\n /*\r\n * Gibt oder setzt eine callback Methode die bei einem Rechtsklick auf diese Zeile ausgeführt wird.\r\n */\r\n onRightClick?: (e: ITableRowEventArgs) => void;\r\n}\r\n\r\nexport class TableRow extends Component\r\n{\r\n /**\r\n * Wird ausgeführt sobald die linke Maustaste betätigt wird.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onClick = (e: React.MouseEvent): void =>\r\n {\r\n this.emitEvent(e, \"onClick\");\r\n }\r\n\r\n /**\r\n * Wird bei einem Doppelklick ausgewählt.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onDoubleClick = (e: React.MouseEvent): void =>\r\n {\r\n this.emitEvent(e, \"onDoubleClick\");\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald die rechte Maustaste betätigt wird.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onRightClick = (e: React.MouseEvent): void =>\r\n {\r\n this.emitEvent(e, \"onRightClick\");\r\n }\r\n\r\n /**\r\n * Führt ein Ereignis aus wenn dieses vom übergeordneten Element angegeben wurde.\r\n * @param e Das auslösende Ereignis.\r\n * @param event Der Name des Ereignis welches ausgeführt werden soll.\r\n */\r\n private emitEvent(e: React.MouseEvent, event: \"onClick\" | \"onDoubleClick\" | \"onRightClick\")\r\n {\r\n const { rowIndex, dataSource } = this.props;\r\n const eventArgs: ITableRowEventArgs = {\r\n event: e,\r\n index: rowIndex,\r\n dataSource\r\n };\r\n\r\n if (this.props[event] != undefined)\r\n {\r\n this.props[event as string](eventArgs);\r\n }\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { style } = this.props;\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n","/**\r\n * Gets the name of the given property.\r\n *\r\n * Example:\r\n * return getPropertyName(() => obj.key);\r\n * @param func The function that is used to retrieve the name of the property.\r\n */\r\nexport function getPropertyName(func: any)\r\n{\r\n const propName = /\\.([^\\.;]+);?\\s*\\}$/.exec(func.toString());\r\n return propName && propName[1];\r\n}\r\n","import { SortDirection } from \"./types\";\r\n\r\n/**\r\n * Sorts the given array by the given property.\r\n * @param array The array to sort.\r\n * @param propertyName The name of the property to sort by.\r\n * @param sortDirection The sort direction.\r\n */\r\nexport function sortByProperty(array: any[], propertyName: string, sortDirection: SortDirection): any[]\r\n{\r\n return array.sort(function(a: any, b: any)\r\n {\r\n let x = a[propertyName];\r\n let y = b[propertyName];\r\n\r\n if (typeof x == \"string\")\r\n {\r\n x = (\"\" + x).toLowerCase();\r\n }\r\n if (typeof y == \"string\")\r\n {\r\n y = (\"\" + y).toLowerCase();\r\n }\r\n\r\n return ((x < y) ? -1 : ((x > y) ? 1 : 0)) * (sortDirection === \"ascending\" ? 1 : -1);\r\n });\r\n}\r\n","import { getPropertyName } from \"../Utils/getPropertyName\";\r\nimport { sortByProperty } from \"../Utils/sortByProperty\";\r\n\r\nexport { };\r\n\r\ndeclare global\r\n{\r\n interface Array\r\n {\r\n select(expr: (item: T) => any): any[];\r\n where(expr: (item: T, index?: number) => boolean): T[];\r\n first(expr?: (item: T) => boolean): T;\r\n last(): T;\r\n remove(item: T): void;\r\n removeAt(expr: (item: T) => boolean): T[];\r\n all(expr: (item: T) => boolean): boolean;\r\n any(expr: (item: T) => boolean): boolean;\r\n contains(item: T): boolean;\r\n distinct(): T[];\r\n\r\n /**\r\n * Orders the array by the given property.\r\n * @param expr A lambda expression that tells which property should be used for sorting.\r\n */\r\n orderBy(expr: (item: T) => boolean): T[];\r\n\r\n /**\r\n * Orders the array by the given property.\r\n * @param property A property name as string.\r\n */\r\n orderByString(property: string): T[];\r\n\r\n /**\r\n * Orders the array by the given property. (descending)\r\n * @param expr A lambda expression that tells which property should be used for sorting.\r\n */\r\n orderByDescending(expr: (item: T) => boolean): T[];\r\n\r\n /**\r\n * Orders the array by the given property. (descending)\r\n * @param property A property name as string.\r\n */\r\n orderByStringDescending(property: string): T[];\r\n }\r\n}\r\n\r\ninterface IPrims\r\n{\r\n [key: string]: Object;\r\n boolean: any;\r\n number: any;\r\n string: any;\r\n}\r\n\r\nif (typeof Array.prototype.select !== \"function\")\r\n{\r\n Array.prototype.select = function(expr: (item: any) => any)\r\n {\r\n return this.map(expr);\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.where !== \"function\")\r\n{\r\n Array.prototype.where = function(expr: (item: any, index: number) => boolean)\r\n {\r\n const result: any[] = [];\r\n this.some((elem: any, index: number) =>\r\n {\r\n if (expr.call(this, elem, index))\r\n {\r\n result.push(elem);\r\n return false;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n });\r\n\r\n return result;\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.all !== \"function\")\r\n{\r\n Array.prototype.all = function(expr: (item: any) => boolean): boolean\r\n {\r\n return this.every((elem) => expr.call(this, elem));\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.any !== \"function\")\r\n{\r\n Array.prototype.any = function(expr: (item: any) => boolean): boolean\r\n {\r\n return this.some((elem) => expr.call(this, elem));\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.first !== \"function\")\r\n{\r\n Array.prototype.first = function(expr?: (item: any) => boolean)\r\n {\r\n const array: any[] = this;\r\n if (array.length > 0)\r\n {\r\n let i = 0;\r\n\r\n if (expr != undefined)\r\n {\r\n array.some((elem, index) =>\r\n {\r\n i = index;\r\n return expr(elem);\r\n });\r\n }\r\n\r\n return array[i];\r\n }\r\n else\r\n {\r\n return undefined;\r\n }\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.last !== \"function\")\r\n{\r\n Array.prototype.last = function()\r\n {\r\n const array: any[] = this;\r\n if (array.length > 0)\r\n {\r\n return array[array.length - 1];\r\n }\r\n else\r\n {\r\n return undefined;\r\n }\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.removeAt !== \"function\")\r\n{\r\n Array.prototype.removeAt = function(expr: (item: any) => boolean)\r\n {\r\n const array: any[] = this;\r\n const matched = array.where(expr);\r\n if (array.length > 0)\r\n {\r\n for (const item of matched)\r\n {\r\n array.splice(array.indexOf(item), 1);\r\n }\r\n }\r\n\r\n return array;\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.remove !== \"function\")\r\n{\r\n Array.prototype.remove = function(item)\r\n {\r\n const array: any[] = this;\r\n array.splice(array.indexOf(item), 1);\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.contains !== \"function\")\r\n{\r\n Array.prototype.contains = function(item): boolean\r\n {\r\n const array: any[] = this;\r\n return array.indexOf(item) >= 0;\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.distinct !== \"function\")\r\n{\r\n Array.prototype.distinct = function()\r\n {\r\n const prims: IPrims = {\r\n boolean: {},\r\n number: {},\r\n string: {}\r\n };\r\n const objs: any[] = [];\r\n\r\n return this.filter(function(item)\r\n {\r\n const type = typeof item;\r\n if (type in prims)\r\n {\r\n return prims[type].hasOwnProperty(item) ? false : (prims[type][item] = true);\r\n }\r\n else\r\n {\r\n return objs.indexOf(item) >= 0 ? false : objs.push(item);\r\n }\r\n });\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.orderBy !== \"function\")\r\n{\r\n Array.prototype.orderBy = function(expr: (item: any) => any)\r\n {\r\n const key = getPropertyName(expr);\r\n if (key != undefined)\r\n {\r\n return sortByProperty(this, key, \"ascending\");\r\n }\r\n else\r\n {\r\n return this;\r\n }\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.orderByString !== \"function\")\r\n{\r\n Array.prototype.orderByString = function(property: string)\r\n {\r\n if (property != undefined)\r\n {\r\n return sortByProperty(this, property, \"ascending\");\r\n }\r\n else\r\n {\r\n return this;\r\n }\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.orderByDescending !== \"function\")\r\n{\r\n Array.prototype.orderByDescending = function(expr: (item: any) => any)\r\n {\r\n const key = getPropertyName(expr);\r\n if (key != undefined)\r\n {\r\n return sortByProperty(this, key, \"descending\");\r\n }\r\n else\r\n {\r\n return this;\r\n }\r\n };\r\n}\r\n\r\nif (typeof Array.prototype.orderByStringDescending !== \"function\")\r\n{\r\n Array.prototype.orderByStringDescending = function(property: string)\r\n {\r\n if (property != undefined)\r\n {\r\n return sortByProperty(this, property, \"descending\");\r\n }\r\n else\r\n {\r\n return this;\r\n }\r\n };\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { Tooltip } from \"../Tooltip\";\r\nimport CloseIcon from \"mdi-react/CloseIcon\";\r\n\r\ninterface IProperties\r\n{\r\n onClearFilter?: () => void;\r\n}\r\n\r\nexport class TableFilterSummary extends React.Component\r\n{\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { children, onClearFilter } = this.props;\r\n\r\n return (\r\n
\r\n Filter:\r\n
\r\n {children}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport CloseIcon from \"mdi-react/CloseIcon\";\r\nimport { ITableFilter } from \"./Interfaces/ITableFilter\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * The filter that is bound to this item.\r\n */\r\n filter: ITableFilter;\r\n\r\n /**\r\n * A value that indicates whether the close button is visible.\r\n */\r\n isButtonVisible?: boolean;\r\n\r\n /**\r\n * Is called as soon as this item's close button is clicked on.\r\n */\r\n onButtonClick?: (filter: ITableFilter) => void;\r\n}\r\n\r\n/**\r\n * Filter summary item.\r\n */\r\nexport class TableFilterSummaryItem extends React.Component\r\n{\r\n /**\r\n * Set default properties..\r\n */\r\n public static defaultProps: Partial = {\r\n isButtonVisible: true\r\n };\r\n\r\n /**\r\n * Handles a mouse click on this item's close button.\r\n * @param e The raising event.\r\n */\r\n private onButtonClick = (e: React.MouseEvent): void =>\r\n {\r\n const { filter, onButtonClick } = this.props;\r\n onButtonClick && onButtonClick(filter);\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { filter, isButtonVisible } = this.props;\r\n let isDefaultValueSelected: boolean = false;\r\n\r\n if (isButtonVisible)\r\n {\r\n isDefaultValueSelected = filter.value === filter.filter.defaultValue;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {`${filter.columnName}${filter.filter.summaryText != undefined && filter.filter.summaryText !== \"\" ? (` (${filter.filter.summaryText})`) : \"\"}: ${filter.value}`}\r\n
\r\n {\r\n isButtonVisible && !isDefaultValueSelected &&\r\n \r\n \r\n
\r\n }\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n children?: React.ReactNode;\r\n innerRef?: React.Ref;\r\n}\r\n\r\nclass TableSummary extends Component\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n
\r\n {this.props.children}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default React.forwardRef((props, ref) => );\r\n","import React, { Component } from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * The text to display.\r\n */\r\n text: string;\r\n\r\n /**\r\n * The width of the column.\r\n */\r\n width?: number;\r\n\r\n /**\r\n * A value that indicates whether the text of the header is aligned right.\r\n */\r\n alignRight?: boolean;\r\n}\r\n\r\nexport class TableSummaryCell extends Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { text, width, alignRight } = this.props;\r\n const classes = classnames(\r\n styles.summaryCellText,\r\n {\r\n [styles.alignRight]: alignRight\r\n }\r\n );\r\n\r\n return (\r\n \r\n {text}\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { ITableColumn } from \"./Interfaces/ITableColumn\";\r\nimport TableHeader from \"./TableHeader\";\r\nimport { TableHeaderCell } from \"./TableHeaderCell\";\r\nimport { VirtualList, ItemInfo } from \"../VirtualList\";\r\nimport { TableRow } from \"./TableRow\";\r\nimport { ITableRowEventArgs } from \"./Interfaces/ITableRowEventArgs\";\r\nimport { TableRowStringCell } from \"./TableRowStringCell\";\r\nimport { SortDirection, ValueTypeStrings } from \"../Utils/types\";\r\nimport \"../Prototypes/Array\";\r\nimport { getScrollBarWidth } from \"../Utils/getScrollBarWidth\";\r\nimport { ITableFilter, ITableFilterDescription } from \"./Interfaces/ITableFilter\";\r\nimport { TableFilterSummary } from \"./TableFilterSummary\";\r\nimport { TableFilterSummaryItem } from \"./TableFilterSummaryItem\";\r\nimport { isNumeric } from \"../Utils/isNumeric\";\r\nimport { isBoolean } from \"../Utils/isBoolean\";\r\nimport { isString } from \"util\";\r\nimport { IColumnWidth } from \"./Interfaces/ITableColumnWidth\";\r\nimport TableSummary from \"./TableSummary\";\r\nimport { TableSummaryCell } from \"./TableSummaryCell\";\r\nimport { SetFilters, GetFab, GetStandort, ResetFilters } from \"../../pages/helpers\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n [key: string]: any;\r\n\r\n /**\r\n * Die gebundenen Daten.\r\n */\r\n dataSource: any[];\r\n\r\n /**\r\n * Die spalten Konfiguration.\r\n */\r\n columns: ITableColumn[];\r\n\r\n /**\r\n * All the userdefined filters.\r\n */\r\n customFilters?: ITableFilterDescription[];\r\n\r\n /**\r\n * Name einer Eindeutigen Eigenschaft in der DataSource.\r\n */\r\n keyAccessor?: string;\r\n\r\n /**\r\n * Der Index der selekierten Zeile.\r\n */\r\n selectedRowIndex?: string;\r\n\r\n /**\r\n * A value that indicates whether the table columns are sortable.\r\n */\r\n isSortable?: boolean;\r\n\r\n /**\r\n * A value that indicates whether the table columns are resizable.\r\n */\r\n isResizable?: boolean;\r\n\r\n /**\r\n * A value that indicates whether the table columns are filterable.\r\n */\r\n isFilterable?: boolean;\r\n\r\n /**\r\n * Gibt an, ob die Tabelle abgeschaltet ist.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf eine Zeile geklickt wird.\r\n */\r\n onRowClick?: (e: ITableRowEventArgs) => void;\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf eine Zeile doppel geklickt wird.\r\n */\r\n onRowDoubleClick?: (e: ITableRowEventArgs) => void;\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf eine Zeile mit der rechten Maustaste geklickt wird.\r\n */\r\n onRowRightClick?: (e: ITableRowEventArgs) => void;\r\n\r\n /**\r\n * Is called as soon as the dataSource is renders.\r\n */\r\n onRenderDataSource?: (data: any[]) => void;\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n */\r\n onColumnResize?: (width: number, accessor: string) => void;\r\n\r\n onFilter?: () => void;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n /**\r\n * The index of the currently selected row.\r\n */\r\n readonly selectedRowIndex?: string;\r\n\r\n /**\r\n * Contains all the columns that should be visible in this table.\r\n */\r\n readonly columns: ITableColumn[] = [];\r\n\r\n /**\r\n * Contains the currently sorted column.\r\n */\r\n readonly currentSortedColumn?: {\r\n accessor: string;\r\n sortDirection: SortDirection;\r\n };\r\n\r\n /**\r\n * Contains all the widths of manual resized columns.\r\n */\r\n readonly columnWidths: IColumnWidth[] = [];\r\n\r\n /**\r\n * Contains all the manual set filters.\r\n */\r\n readonly currentFilters: ITableFilter[] = [];\r\n\r\n /**\r\n * The height of the virtual list. Changes when the browser is resizing.\r\n */\r\n readonly virtualListHeight: number = 0;\r\n\r\n /**\r\n * Tells if the virtual list has a scrollbar.\r\n */\r\n readonly virtualListHasScrollbar: boolean = false;\r\n\r\n /**\r\n * Contains the current scrollbar width of the virtual list.\r\n */\r\n readonly virtualListScrollbarWidth: number = 0;\r\n\r\n /**\r\n * Sets all default states.\r\n * @param props The properties of this component.\r\n */\r\n constructor(props: IProperties)\r\n {\r\n const sortedColumn: ITableColumn = props.columns.where(c => c.sortDirection != undefined).first();\r\n\r\n if (sortedColumn != undefined)\r\n {\r\n this.currentSortedColumn = {\r\n accessor: sortedColumn.accessor,\r\n sortDirection: sortedColumn.sortDirection!\r\n };\r\n }\r\n\r\n this.columns = props.columns;\r\n this.selectedRowIndex = props.selectedRowIndex;\r\n }\r\n}\r\n\r\n/**\r\n * Table/DataGrid component.\r\n */\r\nexport class Table extends Component\r\n{\r\n /**\r\n * Contains the filtered and sorted dataSource.\r\n * This source is used to render the rows.\r\n */\r\n private _dataSource: any[] = [];\r\n\r\n /**\r\n * Contains the DOM-Element of the table header.\r\n */\r\n private _tableHeader = React.createRef();\r\n\r\n /**\r\n * Contains the DOM-Element of the table header.\r\n */\r\n private _tableSummary = React.createRef();\r\n\r\n /**\r\n * Contains the DOM-Element of the table rows container.\r\n */\r\n private _rowsContainer = React.createRef();\r\n\r\n /**\r\n * Contains the DOM-Element of the virtual list.\r\n */\r\n private _virtualList?: HTMLDivElement = undefined;\r\n\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n isSortable: true,\r\n isResizable: true,\r\n isFilterable: false\r\n };\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props);\r\n\r\n /**\r\n * Is raised as soon as the component is mounted to the dom.\r\n */\r\n componentDidMount()\r\n {\r\n const { customFilters } = this.props;\r\n\r\n if (customFilters != undefined)\r\n {\r\n customFilters.forEach(cf =>\r\n {\r\n if (cf.id == undefined)\r\n {\r\n cf.id = `cf-${Math.round(Math.random() * 1e5)}`;\r\n }\r\n });\r\n }\r\n\r\n this.setVirtualListHeight();\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n this.setState({\r\n currentFilters: this.getFilters()\r\n });\r\n }\r\n\r\n /**\r\n * Is raised as soon as the component is released from the dom.\r\n */\r\n componentWillUnmount()\r\n {\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n }\r\n\r\n componentDidUpdate()\r\n {\r\n this.setVirtualListHeight();\r\n }\r\n\r\n /**\r\n * Gets all the default filters.\r\n */\r\n private getDefaultFilters = (): ITableFilter[] =>\r\n {\r\n const { columns, customFilters } = this.props;\r\n if (customFilters != undefined)\r\n {\r\n const filters: ITableFilter[] = [];\r\n customFilters.where(cf => cf.defaultValue != undefined).forEach(cf =>\r\n {\r\n if (!filters.any(f => f.filter.id === cf.id))\r\n {\r\n const column = columns.where(c => c.accessor === cf.defaultValueColumn).first();\r\n if (column != undefined)\r\n {\r\n const accessortype: ValueTypeStrings = this.getColumnType(column.accessor);\r\n filters.push({\r\n column: column.accessor,\r\n columnName: column.header,\r\n columnType: accessortype,\r\n value: cf.defaultValue || \"\",\r\n filter: { ...cf }\r\n });\r\n }\r\n }\r\n });\r\n\r\n return filters;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n /**\r\n * Gets the filters that should be displayed/applied.\r\n */\r\n private getFilters = (): ITableFilter[] =>\r\n {\r\n const { currentFilters } = this.state;\r\n const defaultFilters = this.getDefaultFilters();\r\n let filters: ITableFilter[] = [];\r\n\r\n if (currentFilters != undefined && currentFilters.length > 0)\r\n {\r\n filters = currentFilters;\r\n }\r\n //else if (defaultFilters != undefined && defaultFilters.length > 0)\r\n //{\r\n // filters = defaultFilters;\r\n //}\r\n\r\n defaultFilters.map(df => {\r\n if (!currentFilters.any(cf => cf.columnName === df.columnName)) {\r\n filters.push(df);\r\n }\r\n })\r\n\r\n filters.forEach(f => {\r\n if (f.column == \"fab\") f.value = GetFab();\r\n if (f.column == \"entlassender_standort\") f.value = GetStandort();\r\n })\r\n\r\n return filters;\r\n }\r\n\r\n /**\r\n * Sets the underlying DOM-Element of the virtual list.\r\n * @param ref The DOM-Element of the virtual list.\r\n */\r\n private setVirtualListRef = (ref: HTMLDivElement) =>\r\n {\r\n this._virtualList = ref;\r\n }\r\n\r\n /**\r\n * Set the height of the virtual list.\r\n */\r\n private setVirtualListHeight = () =>\r\n {\r\n if (this._rowsContainer.current)\r\n {\r\n const { virtualListHeight, virtualListHasScrollbar, virtualListScrollbarWidth } = this.state;\r\n const height: number = this._rowsContainer.current.offsetHeight;\r\n const hasScrollbar: boolean = this.isScrollbarVisible();\r\n const width: number = (hasScrollbar ? getScrollBarWidth() : 0);\r\n\r\n if (\r\n virtualListHeight !== height ||\r\n virtualListHasScrollbar !== hasScrollbar ||\r\n virtualListScrollbarWidth !== width\r\n )\r\n {\r\n this.setState({\r\n virtualListHeight: height,\r\n virtualListHasScrollbar: hasScrollbar,\r\n virtualListScrollbarWidth: width\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks if the virtual list's vertical scrollbar is visible.\r\n */\r\n private isScrollbarVisible(): boolean\r\n {\r\n if (this._virtualList != undefined)\r\n {\r\n return this._virtualList.scrollHeight > this._virtualList.clientHeight;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Führt ein Ereignis aus wenn dieses vom übergeordneten Element angegeben wurde.\r\n * @param e The calling event.\r\n * @param event Der Name des Ereignis welches ausgeführt werden soll.\r\n */\r\n private emitEvent(event: string, e: ITableRowEventArgs)\r\n {\r\n this.setState({\r\n selectedRowIndex: e.index\r\n }, () => this.props[event] != undefined && this.props[event](e));\r\n }\r\n\r\n private onRowClick = (e: ITableRowEventArgs) =>\r\n {\r\n this.emitEvent(\"onRowClick\", e);\r\n }\r\n\r\n private onRowDoubleClick = (e: ITableRowEventArgs) =>\r\n {\r\n this.emitEvent(\"onRowDoubleClick\", e);\r\n }\r\n\r\n private onRowRightClick = (e: ITableRowEventArgs) =>\r\n {\r\n this.emitEvent(\"onRowRightClick\", e);\r\n }\r\n\r\n /**\r\n * Is raised as soon as a column is sorted.\r\n */\r\n private onColumnSort = (sortDirection: SortDirection, accessor: string) =>\r\n {\r\n this.setState({\r\n currentSortedColumn: {\r\n accessor,\r\n sortDirection\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Is raised as soon as a column is sorted.\r\n */\r\n private onColumnFilter = (filters: ITableFilter[]) =>\r\n {\r\n const { currentFilters } = this.state;\r\n const { onFilter } = this.props;\r\n const newFilters: ITableFilter[] = currentFilters.map(f => ({ ...f }));\r\n\r\n // Combine the new filter with the old filters.\r\n filters.forEach(f => {\r\n //if ((f.column === \"fab\" && f.value !== \"*\") || (f.column === \"entlassender_standort\" && f.value !== \"*\")) {\r\n if ((f.column === \"fab\" && f.value !== \"*\")) {\r\n //newFilters.removeAt(f2 => (f2.column === \"fab\" && f2.value === \"*\") || (f2.column === \"entlassender_standort\" && f2.value === \"*\"));\r\n newFilters.removeAt(f2 => (f2.column === \"entlassender_standort\" && f2.value === \"*\"));\r\n }\r\n newFilters.removeAt(f2 => f2.column === f.column);\r\n });\r\n filters.forEach(f =>\r\n {\r\n newFilters.push({ ...f });\r\n\r\n if (f.column === \"fab\") SetFilters(f.value.toString(), \"\");\r\n if (f.column === \"entlassender_standort\") SetFilters(\"\", f.value.toString());\r\n });\r\n\r\n // Apply the old and new filters.\r\n this.setState({\r\n currentFilters: newFilters\r\n });\r\n\r\n onFilter && onFilter();\r\n }\r\n\r\n /**\r\n * Is raised as soon as a column is resized.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const { onColumnResize } = this.props;\r\n const { columnWidths } = this.state;\r\n const widths = [...columnWidths];\r\n const newWidth: IColumnWidth = widths.where(c => c.index === accessor).first();\r\n\r\n if (newWidth == undefined)\r\n {\r\n widths.push({\r\n index: accessor,\r\n width\r\n });\r\n }\r\n else\r\n {\r\n newWidth.width = width;\r\n }\r\n\r\n onColumnResize && onColumnResize(width, accessor);\r\n\r\n this.setState({\r\n columnWidths: widths\r\n });\r\n }\r\n\r\n private onScroll = (offset: number, e: any) =>\r\n {\r\n const scrollLeft: number = e.target != undefined ? e.target.scrollLeft : e;\r\n\r\n if (this._tableHeader.current)\r\n {\r\n this._tableHeader.current.scrollLeft = scrollLeft;\r\n }\r\n\r\n if (this._tableSummary.current)\r\n {\r\n this._tableSummary.current.scrollLeft = scrollLeft;\r\n }\r\n }\r\n\r\n private onWindowResize = () =>\r\n {\r\n this.setVirtualListHeight();\r\n }\r\n\r\n private handleFilterRemove = (filter: ITableFilter) =>\r\n {\r\n const { currentFilters } = this.state;\r\n const { onFilter } = this.props;\r\n const newFilters: ITableFilter[] = currentFilters.select(f => ({ ...f }));\r\n\r\n newFilters\r\n .removeAt(f => f.filter.id === filter.filter.id && f.filter.defaultValue == undefined)\r\n .forEach(f =>\r\n {\r\n if (f.filter.defaultValue != undefined)\r\n {\r\n if (f.filter.id == filter.filter.id) {\r\n f.value = f.filter.defaultValue!;\r\n if (filter.filter.id == \"fab\") SetFilters(f.filter.defaultValue!, \"\");\r\n if (filter.filter.id == \"entlassender_standort\") SetFilters(\"\", f.filter.defaultValue!);\r\n }\r\n }\r\n });\r\n\r\n this.setState({\r\n currentFilters: newFilters\r\n });\r\n\r\n onFilter && onFilter();\r\n }\r\n\r\n private handleFilterRemoveAll = () =>\r\n {\r\n const { onFilter } = this.props;\r\n\r\n ResetFilters();\r\n this.setState({\r\n currentFilters: this.getDefaultFilters()\r\n });\r\n\r\n onFilter && onFilter();\r\n }\r\n\r\n /**\r\n * This function gets the dataSource items that should be rendered.\r\n * The filters will be applied and after that the result will be sorted.\r\n */\r\n private getDataSource(): any[]\r\n {\r\n const { dataSource, onRenderDataSource } = this.props;\r\n const { currentSortedColumn } = this.state;\r\n const currentFilters = this.getFilters();\r\n let newDataSource: any[] = [];\r\n\r\n // Filter dataSource.\r\n newDataSource = dataSource.map(d =>\r\n {\r\n const returnValue: boolean[] = [];\r\n\r\n for (const f of currentFilters)\r\n {\r\n const value = d[f.column];\r\n\r\n if (value != undefined)\r\n {\r\n returnValue.push(\r\n f.filter.command(d[f.column], f.columnType === \"number\" ? parseFloat(f.value as string) : f.value)\r\n );\r\n }\r\n else\r\n {\r\n returnValue.push(false);\r\n }\r\n }\r\n\r\n if (returnValue.all(r => r === true))\r\n {\r\n return d;\r\n }\r\n });\r\n\r\n // Remove all `undefined` items.\r\n newDataSource.removeAt(d => d == undefined);\r\n\r\n // Sort dataSource.\r\n if (newDataSource != undefined && newDataSource.length > 0 && currentSortedColumn != undefined)\r\n {\r\n const { sortDirection, accessor } = currentSortedColumn;\r\n if (sortDirection === \"ascending\")\r\n {\r\n newDataSource = newDataSource.orderByString(accessor);\r\n }\r\n else\r\n {\r\n newDataSource = newDataSource.orderByStringDescending(accessor);\r\n }\r\n }\r\n\r\n onRenderDataSource && onRenderDataSource(newDataSource || []);\r\n return newDataSource || [];\r\n }\r\n\r\n private getColumnType = (accessor: string): ValueTypeStrings =>\r\n {\r\n const { dataSource } = this.props;\r\n const firstNonNullColumn = dataSource.first(d => d[accessor] != undefined);\r\n const testValue = firstNonNullColumn != undefined ? firstNonNullColumn[accessor] : undefined;\r\n\r\n if (testValue != undefined)\r\n {\r\n if (isString(testValue))\r\n {\r\n return \"string\";\r\n }\r\n else if (isNumeric(testValue))\r\n {\r\n return \"number\";\r\n }\r\n else if (isBoolean(testValue))\r\n {\r\n return \"boolean\";\r\n }\r\n }\r\n\r\n return \"null\";\r\n }\r\n\r\n private renderFilterSummary = (): React.ReactNode =>\r\n {\r\n const currentFilters = this.getFilters();\r\n\r\n if (currentFilters == undefined || currentFilters.length === 0)\r\n {\r\n return false;\r\n }\r\n\r\n return (\r\n \r\n {\r\n currentFilters.map(f =>\r\n {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n }\r\n\r\n private renderHeader = (): React.ReactNode =>\r\n {\r\n const { dataSource, customFilters, isSortable, isResizable, isFilterable } = this.props;\r\n const { columns, currentSortedColumn, currentFilters, virtualListHasScrollbar, virtualListScrollbarWidth } = this.state;\r\n const header: JSX.Element[] = [];\r\n\r\n columns.map((column, index) =>\r\n {\r\n let width: number = virtualListHasScrollbar && columns.length - 1 === index ? virtualListScrollbarWidth : 0;\r\n width += column.width != undefined ? column.width : 0;\r\n\r\n const filters: ITableFilter[] = currentFilters.where(f => f.column === column.accessor);\r\n const completeDistinctData = dataSource.select(d => d[column.accessor]).distinct().sort();\r\n const accessortype: ValueTypeStrings = this.getColumnType(column.accessor);\r\n\r\n header.push(\r\n \r\n );\r\n });\r\n\r\n return header;\r\n }\r\n\r\n private renderSummary = (): React.ReactNode =>\r\n {\r\n const { dataSource } = this.props;\r\n const { columns, columnWidths, virtualListHasScrollbar, virtualListScrollbarWidth } = this.state;\r\n const header: JSX.Element[] = [];\r\n\r\n columns.map((column, index) =>\r\n {\r\n let width: number = virtualListHasScrollbar && columns.length - 1 === index ? virtualListScrollbarWidth : 0;\r\n width += column.width != undefined ? column.width : 0;\r\n const customWidth = columnWidths.where(c => c.index === column.accessor).first();\r\n width = customWidth != undefined ? customWidth.width : width;\r\n\r\n const accessortype: ValueTypeStrings = this.getColumnType(column.accessor);\r\n let sum: number | undefined = undefined;\r\n if (accessortype === \"number\")\r\n {\r\n sum = dataSource.select(d => d[column.accessor]).reduce((pv, cv) => pv + cv, 0);\r\n }\r\n\r\n const text: string = column.summaryValue != undefined ? column.summaryValue(sum || 0) : \"\";\r\n\r\n header.push(\r\n \r\n );\r\n });\r\n\r\n return header;\r\n }\r\n\r\n private renderRows = (itemInfo: ItemInfo): React.ReactNode =>\r\n {\r\n const { columns, keyAccessor, selectedRowIndex } = this.props;\r\n const { columnWidths } = this.state;\r\n const data = this._dataSource[itemInfo.index];\r\n const key: string = keyAccessor != undefined ? data[keyAccessor] : itemInfo.index;\r\n const isSelected: boolean = selectedRowIndex === key.toString();\r\n\r\n return (\r\n \r\n {\r\n columns.map((column, colIndex) =>\r\n {\r\n const cell = (column.cell != undefined) ? column.cell(data) : undefined;\r\n const customWidth = columnWidths.where(c => c.index === column.accessor).first();\r\n const width = customWidth != undefined ? customWidth.width : column.width;\r\n\r\n if (cell != undefined)\r\n {\r\n return React.cloneElement(cell as any, {\r\n key: colIndex,\r\n width,\r\n dataSource: data\r\n });\r\n }\r\n else\r\n {\r\n const value: string = (column.computedValue != undefined) ? column.computedValue(data) : data[column.accessor ? column.accessor : \"\"];\r\n return (\r\n \r\n );\r\n }\r\n })\r\n }\r\n \r\n );\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const { columns, virtualListHeight } = this.state;\r\n this._dataSource = this.getDataSource();\r\n\r\n return (\r\n
\r\n
\r\n {this.renderFilterSummary()}\r\n
\r\n
\r\n
\r\n \r\n {this.renderHeader()}\r\n \r\n {\r\n columns && columns.any(c => c.summaryValue != undefined) &&\r\n \r\n {this.renderSummary()}\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n","/**\r\n * Get the width of the scrollbars.\r\n */\r\nexport function getScrollBarWidth()\r\n{\r\n const inner = document.createElement(\"p\");\r\n inner.style.width = \"100%\";\r\n inner.style.height = \"200px\";\r\n\r\n const outer = document.createElement(\"div\");\r\n outer.style.position = \"absolute\";\r\n outer.style.top = \"0px\";\r\n outer.style.left = \"0px\";\r\n outer.style.visibility = \"hidden\";\r\n outer.style.width = \"200px\";\r\n outer.style.height = \"150px\";\r\n outer.style.overflow = \"hidden\";\r\n outer.appendChild(inner);\r\n\r\n document.body.appendChild(outer);\r\n const w1 = inner.offsetWidth;\r\n outer.style.overflow = \"scroll\";\r\n let w2 = inner.offsetWidth;\r\n if (w1 == w2)\r\n {\r\n w2 = outer.clientWidth;\r\n }\r\n\r\n document.body.removeChild(outer);\r\n\r\n return (w1 - w2);\r\n}\r\n","/**\r\n * Checks an object if it is numeric.\r\n * @param obj The object to check.\r\n */\r\nexport function isNumeric(obj: any)\r\n{\r\n return typeof obj == typeof 1;\r\n}\r\n","/**\r\n * Checks an object if it is a boolean.\r\n * @param obj The object to check.\r\n */\r\nexport function isBoolean(obj: any)\r\n{\r\n return typeof obj == typeof true;\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"_2RKwTk8ETJRtDDx03Az7ST\",\"headerTop\":\"_310QNo0F2z5_nZQsTGd1t9\",\"headerBottom\":\"_3a45sZ2nm9Yw6v31r9UXt4\",\"brand\":\"_3X6VZyVva1LSWfbNq0wNjP\",\"tenant\":\"_2qegq5TkOntvKsVTQnpHl2\",\"isTenantDisabled\":\"_1JQnMUiq2_2HDAod29k5-F\",\"tenantText\":\"_1O2kQVJiyGDt4KSV_fW4cm\",\"tenantIcon\":\"_1eqyPSRvXjy0WHKEjCx-0n\",\"nav\":\"_1EFQyag_w6jcFxtAwmSOjk\",\"navItem\":\"_3_91i12tVIE3E2Es2TcPS1\",\"isActive\":\"_1Fbi5p5Q_5HnDar5HTngqE\",\"isDisabled\":\"_2fHG5tUG1PRvwwsP_EtbVj\",\"navItemText\":\"_2iD2P73kXWf4LSfScDzVkc\",\"navItemIcon\":\"_1NMs98cDKgIUh6V3roCNBT\",\"navSeparator\":\"_20HMpuTZVZqGaFlZhCOiiY\",\"menu\":\"_3RtCerflJ7OvRiVOMibPRS\",\"menuItem\":\"_2jbOwNL3zroV7MoFm57zEv\",\"menuItemText\":\"_2XnRWgH-AUV_a2su6i53Gv\",\"menuItemIcon\":\"_6-nKeNLTWQxSbLcp8idT\",\"menuSeparator\":\"iBLlMUBxaFdoEtuITMaSy\",\"subNav\":\"_14pi6Rt-RE-SnyWAy0Vq_M\",\"subNavItem\":\"_1aYLtYTgWD8IH7SaIGpFbi\",\"subNavItemText\":\"_2KEnYAzlA2mRAJdxO6Nf14\"};","module.exports = __webpack_public_path__ + \"static/media/brand.25789d91.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popper\":\"_3nEC8upxIo97i91mODafn0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"_1ZdBuLfa8dHnz76yuYjbOg\",\"MainContainer\":\"_2ga4JKixbR1YpIr_uQvt9R\",\"TenantNavItemIcon\":\"_1kmHWCm5S2b8ERsbPfBueJ\"};","module.exports = __webpack_public_path__ + \"static/media/arrow_up.ec15af30.png\";","import * as React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport classnames from \"classnames\";\r\n\r\nexport enum LoaderStyle {\r\n style1,\r\n style2,\r\n style3,\r\n style4,\r\n style5,\r\n style6,\r\n style7,\r\n style8\r\n}\r\n\r\ninterface IProperties {\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * ID des Loaders.\r\n */\r\n id?: string;\r\n\r\n /**\r\n * Der Style des Loaders.\r\n */\r\n loaderStyle: LoaderStyle;\r\n\r\n /**\r\n * Ein Text der unterhalb des Loaders dargestellt wird.\r\n */\r\n infoText?: React.ReactNode;\r\n\r\n /**\r\n * Ein Wert, der angibt ob der Loader immer über allen anderen Elementen angezeigt werden soll.\r\n */\r\n isTopMost?: boolean;\r\n\r\n small?: boolean;\r\n}\r\n\r\nexport class Loader extends React.Component\r\n{\r\n /**\r\n * Standardwerte setzen.\r\n */\r\n public static defaultProps: Partial = {\r\n loaderStyle: LoaderStyle.style1,\r\n isTopMost: false\r\n };\r\n\r\n /**\r\n * Loader Style 1.\r\n */\r\n private renderLoaderStyle1 = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 2.\r\n */\r\n private renderLoaderStyle2 = () => (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 3.\r\n */\r\n private renderLoaderStyle3 = () => (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 4.\r\n */\r\n private renderLoaderStyle4 = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 5.\r\n */\r\n private renderLoaderStyle5 = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 6.\r\n */\r\n private renderLoaderStyle6 = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 7.\r\n */\r\n private renderLoaderStyle7 = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Loader Style 8.\r\n */\r\n private renderLoaderStyle8 = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { style, id, loaderStyle, infoText, isTopMost, small } = this.props;\r\n const classes = classnames(\r\n styles.overlay,\r\n {\r\n [styles.overlayTopmost]: isTopMost\r\n }\r\n );\r\n\r\n let svg: React.ReactNode = undefined;\r\n switch (loaderStyle) {\r\n case LoaderStyle.style1:\r\n svg = this.renderLoaderStyle1();\r\n break;\r\n case LoaderStyle.style2:\r\n svg = this.renderLoaderStyle2();\r\n break;\r\n case LoaderStyle.style3:\r\n svg = this.renderLoaderStyle3();\r\n break;\r\n case LoaderStyle.style4:\r\n svg = this.renderLoaderStyle4();\r\n break;\r\n case LoaderStyle.style5:\r\n svg = this.renderLoaderStyle5();\r\n break;\r\n case LoaderStyle.style6:\r\n svg = this.renderLoaderStyle6();\r\n break;\r\n case LoaderStyle.style7:\r\n svg = this.renderLoaderStyle7();\r\n break;\r\n case LoaderStyle.style8:\r\n svg = this.renderLoaderStyle8();\r\n break;\r\n }\r\n\r\n if (small !== undefined && small === true) {\r\n return (\r\n
\r\n {svg}\r\n {infoText}\r\n
\r\n );\r\n }\r\n else {\r\n return (\r\n \r\n
\r\n {svg}\r\n {infoText}\r\n
\r\n \r\n );\r\n }\r\n }\r\n}\r\n","export * from \"./Loader\";\r\n","module.exports = __webpack_public_path__ + \"static/media/arrow_down.5f995df7.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABCCAYAAADjVADoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAATZSURBVHhe7dtbaBxVGAfwbzdrCUgpWos2XijG2KXNJmkk0sYqbQqijVoV0USsl8ZEJD60fYgPiogFRayK1KAEo6mgsdCAUC9trW1iI6FFrRh8UGnStEjRxEo1moVkdpz/7Dl7y5ndmZ2ZnTlT/+FjcmbPzO73293ZSyYhVQv9HwokhKIodObXs/TTL2P6eHnVtXT1lUuprKxMH4sSOIi5uTnq6eunnnf7SdV+kJD207GllToebaVIJKKvmxdABCWzs7Nq13MvqTVrboNAVmEdLsMcUQIDwRFiAgReuMwIIxAQZhB4GWFID2EFgZcIQ2qIYhB45WJIC2EHgRe2fXbHTlVJJOSEcAKBF/YxeHREDWsDqZJIJOiZHTvp8y+GaHRkP1tbfLCPoeFjJB3EzyfHaejoMUcQeM7+NikfRLSqkna98jyt2XAPW2M/11Uu054kEkR728x+S+f4N9+rGobweW+l6m7aqGqPMv8fLP+e/kd9vbtXX+bGLgYQenfv0fflawg0v6WzS/+cgKWTGKvWNqcQEN9CcITY6uRLJJZOYQDh408Osq2T8SVELgIvJzAw57MDR9hW6fgOwgiBVyGM1U3GGI0b7tXniOIriEIIvPJh4N7GQz93m3UbW9ST4xNs1vz4BsIsAi+O8df0NNtDOpkYONDqCKeMERBfQFhF4IX5m1ra1alz59ie0gFG/c3N6p33txVEQDyHQBMPtW+1jJBZRhiHjgyrv09OsVH+eAqBG48mRM1ZLSMMs/EMwkkEXnYwPIFwA4HXfZufZNdiLSWHcBMBrxSfHjjMrslaSgrhNoLoHaPZlAzCzwiI6xCJRML3CIirEEAYnzjjewTENQiO0HTHg8Im7JbRp8hi4wpEKRCMPkUWG8chZERAHIWQFQFxDEJmBMQRCCCMnTrtGkK+b5acim0IIJwY/VFtWLdJ2ITdKvTNklOxBcERblx/t7AJu2XmmyWnUjREKRDGJk6za3M/RUEEDQGxDKEowUNALEEA4dDgsGsI65tbPUFATENwhLrG24VN2C0vERBTEG4i4O8OXiMgBSHcRrjrgcc9R0DyQuBsM7cRJqf+YNfmbfJCfDn49QWBgOQ9h6rvw72U0LCcjIZAy665inq7X6bLFl/K1vogDESYmXhc3dy+Tb8HMdVu+fGRwJMFgQOjoihslMxMfMYRDD8jIFkQI8e/Uz8a2GeIUdtYHAYQsL1fEZAsiF1v9+k32ghj69MvWMbgCNjez8mCeOSJ7akbL8LAy6kVDFkQkBTEvzNxtX5t+pQbNLG7f2DeyZ5mMWRCQFIQOD6ImnntzXcsY9Rq7z1kQkBSEDg+iJqyioFxW2eXVAhICqLlsaeyGsossxiYhzHWyxYd4s/z5+c1n1uFMHBec/LpEGeXyBUd4uDhr4TN51Y+jDfeek+6p0NmdIgXX+0WNi4qIwzZo3/o+vbEKBam8sPIfur7YC9197wPRLZW/oRwfLhk0SI2FEd7FFAoFNL/yTysLZcsWUwrolW0vbONKpZezmbJnRCOD7c23cKGyfDGIxE0HqaKiiuoYVWMqlcsp4b6msA0n5kQjg97BvZpjYe1ezysNx69vpJqVkapvq5aa7yWFi68mE0PbkIPd2xTy8vL6Ya6GMWqo9pyJS24aAG7+EIJ0X+fBXg/abUzTwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","\r\nimport React from \"react\";\r\nimport { ITableFilterDescription, ITableFilterNodeInfo } from \"../../ui/Table/Interfaces/ITableFilter\";\r\nimport { Radio } from \"../../ui/Inputs\";\r\nimport Axios from \"axios\";\r\n\r\n/**\r\n * Generiert benutzerdefinienierte Spaltenfilter die nicht vom Anwender entfernt werden\r\n * können.\r\n */\r\n\r\nconst API_ENDPOINT: string = \"/api/mod/fabs\";\r\n\r\nvar fab_default: string;\r\nvar ort_default: string;\r\n\r\nvar fab_set: string = \"*\";\r\nvar ort_set: string = \"*\";\r\n\r\nasync function SetCustomDefault(ik: string)\r\n{\r\n const defaultResponse = await Axios.get(`${API_ENDPOINT}/${ik}/default`);\r\n fab_default = defaultResponse.data.first(); \r\n ort_default = defaultResponse.data[1]; \r\n}\r\n\r\nexport function SetFilters(fab: string, ort:string) {\r\n if(fab != \"\")fab_set = fab;\r\n if (ort != \"\") ort_set = ort;\r\n\r\n if (ort == \"*\") fab_set = \"*\";\r\n if (fab !== \"\" && fab !== \"*\" && ort_set == \"*\") ort_set = ort_default;\r\n}\r\n\r\nexport function ResetFilters() {\r\n fab_set = \"*\";\r\n ort_set = \"*\";\r\n}\r\n\r\nexport function GetFab() {\r\n if (window.location.pathname.includes(\"neue-leistung\") && fab_set == \"*\") return fab_default;\r\n else return fab_set;\r\n}\r\n\r\nexport function GetFabDefault() {\r\n return fab_default;\r\n}\r\n\r\nexport function GetStandort() {\r\n if (window.location.pathname.includes(\"neue-leistung\") && ort_set == \"*\") return ort_default;\r\n else return ort_set;\r\n}\r\n\r\nexport function GetStandortDefault() {\r\n return ort_default;\r\n}\r\n\r\nexport function getCustomFilters(ik: string = \"\"): ITableFilterDescription[]\r\n{\r\n if (ik !== \"\") {\r\n SetCustomDefault(ik);\r\n }\r\n\r\n var ort = \"*\";\r\n var fab = \"*\";\r\n\r\n if (window.location.pathname.includes(\"neue-leistung\")) {\r\n ort = ort_default;\r\n fab = fab_default;\r\n }\r\n \r\n return [\r\n {\r\n key: \"fab\",\r\n column: \"fab\",\r\n defaultValue: fab,\r\n defaultValueColumn: \"fab\",\r\n command: (value1: string, value2: string) => value1 === value2,\r\n node: (info: ITableFilterNodeInfo) =>\r\n {\r\n return (\r\n \r\n {\r\n info.completeDistinctData.map(d => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n },\r\n id: \"fab\"\r\n },\r\n {\r\n key: \"entlassender_standort\",\r\n column: \"entlassender_standort\",\r\n defaultValue: ort,\r\n defaultValueColumn: \"entlassender_standort\",\r\n command: (value1: string, value2: string) => value1 === value2,\r\n node: (info: ITableFilterNodeInfo) => {\r\n return (\r\n \r\n {\r\n info.completeDistinctData.map(d => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n },\r\n id: \"entlassender_standort\"\r\n }\r\n ,{\r\n key: \"abteilungstyp\",\r\n column: \"abteilungstyp\",\r\n command: (value1: string, value2: string) => value1 === value2,\r\n node: (info: ITableFilterNodeInfo) => {\r\n return (\r\n \r\n {\r\n info.completeDistinctData.map(d => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n },\r\n id: \"abteilungstyp\"\r\n }\r\n ,{\r\n key: \"thema\",\r\n column: \"thema\",\r\n command: (value1: string, value2: string) => value1 === value2,\r\n node: (info: ITableFilterNodeInfo) => {\r\n return (\r\n \r\n {\r\n info.completeDistinctData.map(d => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n },\r\n id: \"thema\"\r\n }\r\n ,{\r\n key: \"hatabschlag\",\r\n column: \"hatabschlag\",\r\n command: (value1: string, value2: string) => value1 === value2,\r\n node: (info: ITableFilterNodeInfo) => {\r\n return (\r\n \r\n {\r\n info.completeDistinctData.map(d => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n },\r\n id: \"hatabschlag\"\r\n }\r\n ];\r\n}","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * All the ToolbarItems to display.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * A value that indicates whether this toolbar has a top border.\r\n */\r\n hasTopBorder?: boolean;\r\n\r\n /**\r\n * A value that indicates whether this toolbar has a bottom border.\r\n */\r\n hasBottomBorder?: boolean;\r\n\r\n /**\r\n * A value that indicates whether this toolbar aligns its icons on the right.\r\n */\r\n contentAlignRight?: boolean;\r\n}\r\n\r\nexport class Toolbar extends React.Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n hasTopBorder: true,\r\n hasBottomBorder: true,\r\n contentAlignRight: false\r\n };\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { children, style, hasTopBorder, hasBottomBorder, contentAlignRight } = this.props;\r\n const classes = classnames(\r\n styles.toolbar,\r\n {\r\n [styles.noTopBorder]: !hasTopBorder,\r\n [styles.noBottomBorder]: !hasBottomBorder,\r\n [styles.contentAlignRight]: contentAlignRight\r\n }\r\n );\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { OptionalLink } from \"../OptionalLink\";\r\nimport { LocationDescriptor } from \"history\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * The type of the Toolbar.\r\n */\r\n type: \"default\" | \"primary\" | \"success\";\r\n\r\n /**\r\n * Display text.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Title text.\r\n */\r\n title?: string;\r\n\r\n /**\r\n * Icon Component.\r\n */\r\n icon?: React.ReactElement;\r\n\r\n /**\r\n * The color of the icon.\r\n */\r\n iconColor?: string;\r\n\r\n /**\r\n * Link (react-router).\r\n */\r\n linkTo?: LocationDescriptor;\r\n\r\n /**\r\n * A value that indicates whether the item is disabled.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n */\r\n onClick?: (e?: MouseEvent) => void;\r\n}\r\n\r\nexport class ToolbarItem extends React.Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n type: \"default\"\r\n };\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n * @param e The calling event.\r\n */\r\n private onClick = (e: React.MouseEvent) =>\r\n {\r\n this.props.onClick && this.props.onClick(e.nativeEvent);\r\n }\r\n\r\n private getIcon = (): React.ReactElement | boolean =>\r\n {\r\n const { icon, iconColor } = this.props;\r\n\r\n if (icon != undefined)\r\n {\r\n return React.cloneElement(icon, {\r\n color: iconColor\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { type, text, title, icon, linkTo, isDisabled, ...other } = this.props;\r\n const rest: any = { ...other };\r\n delete rest.onClick;\r\n\r\n const classes = classnames(\r\n styles.item,\r\n {\r\n [styles.primary]: type === \"primary\",\r\n [styles.success]: type === \"success\",\r\n [styles.disabled]: isDisabled\r\n }\r\n );\r\n\r\n return (\r\n \r\n {icon != undefined &&
{this.getIcon()}
}\r\n {text != undefined && {text}}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\nexport class ToolbarSeparator extends React.Component\r\n{\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n return
;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport MenuDownIcon from \"mdi-react/MenuDownIcon\";\r\nimport { ClickAwayListener } from \"../ClickAwayListener\";\r\nimport { Tooltip } from \"../Tooltip\";\r\nimport { IComboBoxItem } from \"../Utils/types\";\r\nimport { DropDownList } from \"../DropDownList\";\r\nimport { IFdaMod } from \"../../redux\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Data to bind.\r\n */\r\n dataSource: IComboBoxItem[];\r\n dataSource2?: IComboBoxItem[];\r\n\r\n /**\r\n * The item to select.\r\n */\r\n selectedItem?: IComboBoxItem;\r\n\r\n /**\r\n * Display text.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Title text.\r\n */\r\n title?: string;\r\n\r\n /**\r\n * Icon Component.\r\n */\r\n icon?: React.ReactElement;\r\n\r\n /**\r\n * The color of the icon.\r\n */\r\n iconColor?: string;\r\n\r\n /**\r\n * A value that indicates whether the item is disabled.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n */\r\n onSelectionChange?: (selectedItem: IComboBoxItem) => void;\r\n\r\n onSelectionChange2?: (selectedItem: IComboBoxItem, record: IFdaMod) => void;\r\n\r\n record?: IFdaMod;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\ninterface IState\r\n{\r\n /**\r\n * A value that indicates whether the tooltip is open or not.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport class ToolbarDropDownItem extends React.Component\r\n{\r\n private _closingTimeoutId: number = 0;\r\n\r\n /**\r\n * Init and set default state values.\r\n */\r\n public readonly state: IState = {\r\n open: false\r\n };\r\n\r\n componentWillUnmount()\r\n {\r\n window.clearTimeout(this._closingTimeoutId);\r\n }\r\n\r\n /**\r\n * Is raised as soon as a click outside the tooltip is catched.\r\n */\r\n private handleTooltipClose = (e: React.MouseEvent): void =>\r\n {\r\n if (this.state.open)\r\n {\r\n this._closingTimeoutId = window.setTimeout(() => this.setState({\r\n open: false\r\n }));\r\n }\r\n }\r\n\r\n /**\r\n * Is raised as soon as the ToolbarDropDownItem is clicked on.\r\n */\r\n private handleTooltipOpen = (e: React.MouseEvent): void =>\r\n {\r\n this.setState({\r\n open: true\r\n });\r\n\r\n e.stopPropagation();\r\n }\r\n\r\n /**\r\n * Is raised as soon as a combobox item is selected.\r\n * @param selectedItem The item that was selected.\r\n */\r\n private handleSelection = (selectedItem: IComboBoxItem): void =>\r\n {\r\n if (this.props.onSelectionChange2 != undefined && this.props.record != undefined) {\r\n this.props.onSelectionChange2(selectedItem, this.props.record);\r\n }\r\n else this.props.onSelectionChange && this.props.onSelectionChange(selectedItem);\r\n }\r\n\r\n /**\r\n * Renders the icon that is displayed on the left hand side\r\n */\r\n private renderIcon = (): React.ReactElement | boolean =>\r\n {\r\n const { icon, iconColor } = this.props;\r\n\r\n if (icon != undefined)\r\n {\r\n return React.cloneElement(icon, {\r\n color: iconColor\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Renders the content of the tooltip.\r\n */\r\n private renderContent(): React.ReactNode\r\n {\r\n const { dataSource, dataSource2, selectedItem } = this.props;\r\n\r\n if (dataSource2 != undefined) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { dataSource, selectedItem, text, title, icon, isDisabled, ...other } = this.props;\r\n const { open } = this.state;\r\n const rest: any = { ...other };\r\n delete rest.onClick;\r\n delete rest.onSelectionChange;\r\n\r\n const classes = classnames(\r\n styles.item,\r\n {\r\n [styles.disabled]: isDisabled\r\n }\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {icon != undefined &&
{this.renderIcon()}
}\r\n {text != undefined && {text + \": \" + (selectedItem != undefined ? selectedItem.value : \"-\")}}\r\n {text == undefined && {(selectedItem != undefined ? selectedItem.value : \"-\")}}\r\n
{}
\r\n
\r\n \r\n \r\n\r\n );\r\n }\r\n}\r\n","export * from \"./Toolbar\";\r\nexport * from \"./ToolbarItem\";\r\nexport * from \"./ToolbarSeparator\";\r\nexport * from \"./ToolbarDropDownItem\";\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hint\":\"rfgMz2VFhCKpJeBEVfO2i\",\"label\":\"_1oqBQUEFrnW4YLUiPDxKZL\",\"textbox\":\"_2E-XeS3HjPhIe_CXbAfGR0\",\"small\":\"_3-c0NCfpfLLFBC7ETWXwJD\",\"smallright\":\"_1KXL96mcyZ-6_z1ClAlDSd\",\"normal\":\"M4ggFiyce4WWpFKdXTuet\",\"checkbox\":\"_1AfYipXHe4GYPWXkSEKX1L\",\"disabled\":\"jN-fFZ3n48vW0KWhrr27u\",\"checkmark\":\"_2WE-Cs-XQS7mqK2feih_IF\",\"radio\":\"_1UQ7tW6-hlBcVvcBeHpIWK\",\"btn\":\"N2O1VI5t-shzKT7_-hVYY\",\"primary\":\"ElAOWJugyEs6RDWlNolES\",\"danger\":\"_1dwF5T-ajH0Fbv2nQ5GlO2\",\"transparent\":\"_1t0sWVJeKZ051_7zhwDbwR\",\"big\":\"_2aBhqm8tE4x9kI8PRHwOEj\",\"reset\":\"_3vGSCD5FZR0wIJdfKACM15\",\"icon\":\"_206DPkAVBToTnQz1gAVzQy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toolbar\":\"t1gKBqZM9wOQgtDYEyWmI\",\"noTopBorder\":\"_1P0bDQ0-m5Rq8FqelCYXkK\",\"noBottomBorder\":\"_2oUcatzotqksmpus2caWsY\",\"contentAlignRight\":\"_3wo7vgZvums4D_JV7tnfZl\",\"item\":\"_20G5vvCqEe_Xt3VgOqZQN7\",\"primary\":\"_1bmgDDHgwNGLjgVtdY8lY0\",\"itemIcon\":\"_3WQd1Qr4WtG09DajBrMMR6\",\"success\":\"_1Cl1smF4XNmSjzItjR5eL0\",\"disabled\":\"_2V-4aCHFYyHglYiDeYtKeu\",\"itemText\":\"_16Mpktr7uBTNUtTTVyuQ35\",\"itemDropDownIcon\":\"_1a-_uUcprVvCjAxUKioZAx\",\"separator\":\"ssdQERSjz_OutRPWIig7L\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"formulaTree\":\"_1sid99E6LDZcCkkEhtUMIO\",\"formulaTreeHeader\":\"_1YIfdJUmzkOJzY0pok2IZa\",\"formulaTreeHeaderText\":\"_21TWQWhHdTa00o_WcpgEWH\",\"formulaTreeHeaderItems\":\"_2mQ9sMoSk5z_vbXbYC0GIA\",\"formulaTreeHeaderItem\":\"_2HI9VDU74H74sufB9AEhqs\",\"formulaTreeItems\":\"_1fZobSrzr1P3IngMDVfNuC\",\"formulaTreeItem\":\"XOhKFgom7rnTaFnN9x2YS\",\"alignRight\":\"_3xRZHOOslw0-NSJpQ8PK-M\"};","import React, { Component } from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { Checkbox } from \"../Inputs\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * The name of the column to display.\r\n */\r\n accessor: string;\r\n\r\n /*\r\n * The binded datasource.\r\n */\r\n dataSource?: any;\r\n\r\n /**\r\n * A value that indicates whether this row is checked.\r\n */\r\n isChecked: boolean;\r\n\r\n isDisabled: boolean;\r\n\r\n /**\r\n * The width of this cell.\r\n */\r\n width?: number;\r\n\r\n /**\r\n * Is raised as soon as the state of the checkbox is changed.\r\n */\r\n onCheckedChanged?: (checked: boolean, dataSource: any) => void;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n readonly isChecked: boolean;\r\n\r\n constructor(props: IProperties)\r\n {\r\n this.isChecked = props.isChecked;\r\n }\r\n}\r\n\r\n/**\r\n * Renders this component.\r\n */\r\nexport class TableRowCheckboxCell extends Component\r\n{\r\n /**\r\n * Sets all the default values of the properties.\r\n */\r\n public static defaultProps: Partial = {\r\n width: 180\r\n };\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props);\r\n\r\n /**\r\n * Will update the value of this input if the new value property is different from the last.\r\n * @param nextProps The new properties.\r\n */\r\n componentWillReceiveProps(nextProps: IProperties)\r\n {\r\n this.setState({ isChecked: nextProps.isChecked });\r\n }\r\n\r\n private onCheckedChanged = (e: React.ChangeEvent): void =>\r\n {\r\n const { accessor, dataSource, onCheckedChanged } = this.props;\r\n const isChecked: boolean = e.currentTarget.checked;\r\n\r\n dataSource[accessor] = isChecked;\r\n onCheckedChanged && onCheckedChanged(isChecked, dataSource);\r\n\r\n this.setState({\r\n isChecked\r\n });\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { width, isDisabled } = this.props;\r\n const { isChecked } = this.state;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport ChevronDownIcon from \"mdi-react/ChevronDownIcon\";\r\nimport { ClickAwayListener } from \"../ClickAwayListener\";\r\nimport { Tooltip } from \"../Tooltip\";\r\nimport { IComboBoxItem } from \"../Utils/types\";\r\nimport { DropDownList, DropDownListLinkItem } from \"../DropDownList\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Data to bind.\r\n */\r\n dataSource: IComboBoxItem[];\r\n\r\n /**\r\n * The item to select.\r\n */\r\n selectedItem?: IComboBoxItem;\r\n\r\n /**\r\n * Display text.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n */\r\n onSelectionChange?: (selectedItem: IComboBoxItem) => void;\r\n}\r\n\r\ninterface IState\r\n{\r\n /**\r\n * A value that indicates whether the tooltip is open or not.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport class HeaderTenantItem extends React.Component\r\n{\r\n private _closingTimeoutId: number = 0;\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n state: IState = {\r\n open: false\r\n };\r\n\r\n componentWillUnmount()\r\n {\r\n window.clearTimeout(this._closingTimeoutId);\r\n }\r\n\r\n /**\r\n * Is raised as soon as a click outside the tooltip is catched.\r\n */\r\n private handleTooltipClose = (): void =>\r\n {\r\n if (this.state.open)\r\n {\r\n this._closingTimeoutId = window.setTimeout(() => this.setState({\r\n open: false\r\n }));\r\n }\r\n }\r\n\r\n /**\r\n * Is raised as soon as the HeaderTenantItem is clicked on.\r\n * @param e The raising event.\r\n */\r\n private handleTooltipOpen = (e: React.MouseEvent): void =>\r\n {\r\n if (this.props.dataSource != undefined && this.props.dataSource.length > 1)\r\n {\r\n this.setState({\r\n open: true\r\n });\r\n\r\n e.stopPropagation();\r\n }\r\n }\r\n\r\n /**\r\n * Is raised as soon as a combobox item is selected.\r\n * @param selectedItem The item that was selected.\r\n */\r\n private handleSelection = (selectedItem: IComboBoxItem): void =>\r\n {\r\n const { onSelectionChange } = this.props;\r\n\r\n onSelectionChange && onSelectionChange(selectedItem);\r\n }\r\n\r\n private renderDropDownItem = (data: IComboBoxItem): React.ReactElement => (\r\n \r\n )\r\n\r\n /**\r\n * Renders the content of the tooltip.\r\n */\r\n private renderContent(): React.ReactNode\r\n {\r\n const { dataSource, selectedItem } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { children, dataSource, selectedItem, text, onSelectionChange, ...other } = this.props;\r\n const { open } = this.state;\r\n\r\n const isEnabled: boolean = dataSource != undefined && dataSource.length > 1;\r\n const classes = classnames(\r\n styles.tenant,\r\n {\r\n [styles.isTenantDisabled]: !isEnabled\r\n }\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n {selectedItem != undefined && selectedItem.value}\r\n {\r\n isEnabled &&\r\n
{}
\r\n }\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport brand from \"../../../files/img/brand.svg\";\r\nimport { HeaderTenantItem } from \"./HeaderTenantItem\";\r\nimport { IComboBoxItem } from \"../Utils/types\";\r\n\r\ninterface IProperties\r\n{\r\n style?: React.CSSProperties;\r\n brand: React.ReactNode;\r\n tenantItems?: IComboBoxItem[];\r\n selectedTenantItem?: IComboBoxItem;\r\n navItems?: React.ReactNode;\r\n subNavItems?: React.ReactNode;\r\n menuItems?: React.ReactNode;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked.\r\n */\r\n onTenantSelectionChange?: (selectedItem: IComboBoxItem) => void;\r\n}\r\n\r\nexport class Header extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { style, tenantItems, selectedTenantItem, navItems, subNavItems, menuItems, onTenantSelectionChange } = this.props;\r\n return (\r\n \r\n
\r\n
\r\n \r\n 1.2\r\n
\r\n \r\n
\r\n {navItems}\r\n
\r\n
\r\n {menuItems}\r\n
\r\n
\r\n {\r\n subNavItems &&\r\n
\r\n
\r\n {subNavItems}\r\n
\r\n
\r\n }\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { OptionalLink } from \"../OptionalLink\";\r\nimport { LocationDescriptor } from \"history\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline style. Is mostly used to create grid child settings.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * The Icon of this item.\r\n */\r\n icon?: React.ReactElement;\r\n\r\n /**\r\n * The header/text of this item.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Sets the link to where this item should navigate.\r\n */\r\n linkTo?: LocationDescriptor;\r\n\r\n /**\r\n * A value that indicates whether this item is currently active/selected.\r\n */\r\n isActive?: boolean;\r\n\r\n /**\r\n * A value that indicates whether this item is disabled.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked on.\r\n */\r\n onClick?: (e: React.MouseEvent, name?: string) => void;\r\n}\r\n\r\n/**\r\n * Header Nav Item Component.\r\n */\r\nexport class HeaderNavItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { style, icon, text, linkTo, isActive, isDisabled, onClick, ...other } = this.props;\r\n const classes = classnames(styles.navItem, {\r\n [styles.isActive]: isActive,\r\n [styles.isDisabled]: isDisabled\r\n });\r\n\r\n return (\r\n \r\n {icon &&
{icon}
}\r\n {text &&
{text}
}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { OptionalLink } from \"../OptionalLink\";\r\nimport { LocationDescriptor } from \"history\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline style. Is mostly used to create grid child settings.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * The Icon of this item.\r\n */\r\n icon?: React.ReactElement;\r\n\r\n /**\r\n * The header/text of this item.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Sets the link to where this item should navigate.\r\n */\r\n linkTo?: LocationDescriptor;\r\n\r\n /**\r\n * A value that indicates whether this item is disabled.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked on.\r\n */\r\n onClick?: (e: React.MouseEvent, name?: string) => void;\r\n}\r\n\r\n/**\r\n * Header Menu Item Component.\r\n */\r\nexport class HeaderMenuItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { style, icon, text, linkTo, isDisabled, onClick, ...other } = this.props;\r\n const classes = classnames(styles.menuItem, {\r\n [styles.isDisabled]: isDisabled\r\n });\r\n\r\n return (\r\n \r\n {icon &&
{icon}
}\r\n {text &&
{text}
}\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline style.\r\n */\r\n style?: React.CSSProperties;\r\n}\r\n\r\n/**\r\n * Header Nav Separator Item Component.\r\n */\r\nexport class HeaderNavSeparatorItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { style, ...other } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline style.\r\n */\r\n style?: React.CSSProperties;\r\n}\r\n\r\n/**\r\n * Header Menu Separator Item Component.\r\n */\r\nexport class HeaderMenuSeparatorItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { style, ...other } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { OptionalLink } from \"../OptionalLink\";\r\nimport { LocationDescriptor } from \"history\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * The header/text of this item.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Sets the link to where this item should navigate.\r\n */\r\n linkTo?: LocationDescriptor;\r\n\r\n /**\r\n * A value that indicates whether this item is currently active/selected.\r\n */\r\n isActive?: boolean;\r\n\r\n /**\r\n * A value that indicates whether this item is disabled.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Is raised as soon as the item is clicked on.\r\n */\r\n onClick?: (e: React.MouseEvent, name?: string) => void;\r\n}\r\n\r\n/**\r\n * Header Sub Nav Item Component.\r\n */\r\nexport class HeaderSubNavItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { style, text, linkTo, isActive, isDisabled, onClick, ...other } = this.props;\r\n const classes = classnames(styles.subNavItem, {\r\n [styles.isActive]: isActive,\r\n [styles.isDisabled]: isDisabled\r\n });\r\n\r\n return (\r\n \r\n {text &&
{text}
}\r\n \r\n );\r\n }\r\n}\r\n","import { IRoute } from \"../../ui/Utils/types\";\r\nimport React from \"react\";\r\nimport { HeaderNavItem, HeaderSubNavItem } from \"../../ui/Header\";\r\n\r\nexport const routes: IRoute = {\r\n navItems: (pathname: string, search: string) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n subNavItems: (pathname: string, search: string) =>\r\n {\r\n if (pathname.indexOf(\"vordefinition\") >= 0 || pathname === \"/\")\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (pathname.indexOf(\"modifikation\") >= 0 && pathname.indexOf(\"krankenhaus\") < 0 && pathname.indexOf(\"fda\") < 0)\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (pathname.indexOf(\"neue-leistungen\") >= 0)\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (pathname.indexOf(\"e-eins-formular\") >= 0) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (pathname.indexOf(\"uebersicht\") >= 0) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (pathname.indexOf(\"modifikation\") >= 0 && (pathname.indexOf(\"krankenhaus\") >= 0 || pathname.indexOf(\"fda\") >= 0)) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return false;\r\n },\r\n auth: {\r\n signin: \"/signin\",\r\n signinCallback: \"/signin-callback\",\r\n signoutCallback: \"/signout-callback\"\r\n },\r\n uebersicht: {\r\n main: \"/uebersicht\",\r\n mindestmengen: \"/uebersicht/mindestmengen\",\r\n entwicklung: \"/uebersicht/entwicklung\",\r\n isAnyRouteActive: (pathname: string) => (\r\n pathname === routes.uebersicht.main ||\r\n pathname === routes.uebersicht.mindestmengen ||\r\n pathname === routes.uebersicht.entwicklung ||\r\n pathname === \"/\"\r\n )\r\n },\r\n vordefinition: {\r\n ops: \"/vordefinition/ops\",\r\n drg: \"/vordefinition/drg\",\r\n bg: \"/vordefinition/bg\",\r\n mdc: \"/vordefinition/mdc\",\r\n fab: \"/vordefinition/fab\",\r\n isAnyRouteActive: (pathname: string) => (\r\n pathname === routes.vordefinition.ops ||\r\n pathname === routes.vordefinition.drg ||\r\n pathname === routes.vordefinition.bg ||\r\n pathname === routes.vordefinition.mdc ||\r\n pathname === routes.vordefinition.fab\r\n )\r\n },\r\n modifikation: {\r\n ops: \"/modifikation/ops\",\r\n drg: \"/modifikation/drg\",\r\n bg: \"/modifikation/bg\",\r\n mdc: \"/modifikation/mdc\",\r\n fab: \"/modifikation/fab\",\r\n isAnyRouteActive: (pathname: string) => (\r\n pathname === routes.modifikation.ops ||\r\n pathname === routes.modifikation.drg ||\r\n pathname === routes.modifikation.bg ||\r\n pathname === routes.modifikation.mdc ||\r\n pathname === routes.modifikation.fab\r\n )\r\n },\r\n neueLeistungen: {\r\n neueThemen: \"/neue-leistungen/neue-themen\",\r\n bg: \"/neue-leistungen/bg\",\r\n drg: \"/neue-leistungen/drg\",\r\n ops: \"/neue-leistungen/ops\",\r\n isAnyRouteActive: (pathname: string) => (\r\n pathname === routes.neueLeistungen.neueThemen ||\r\n pathname === routes.neueLeistungen.bg ||\r\n pathname === routes.neueLeistungen.ops ||\r\n pathname === routes.neueLeistungen.drg\r\n )\r\n },\r\n modifikationKH: {\r\n fda: \"/modifikation/fda\",\r\n route: \"/modifikation/krankenhaus\",\r\n isAnyRouteActive: (pathname: string) => (\r\n pathname === routes.modifikationKH.fda ||\r\n pathname === routes.modifikationKH.route\r\n )\r\n },\r\n e1Formular: {\r\n route: \"/e-eins-formular\",\r\n ueberlieger: \"/e-eins-formular/ueberlieger\",\r\n mindestmengen: \"/e-eins-formular/mindestmengen\",\r\n fda: \"/e-eins-formular/fda\",\r\n fdanachverhandlung: \"/e-eins-formular/fdanachverhandlung\",\r\n e1nachverhandlung: \"/e-eins-formular/e1nachverhandlung\",\r\n isAnyRouteActive: (pathname: string) => (\r\n pathname === routes.e1Formular.route ||\r\n pathname === routes.e1Formular.fda ||\r\n pathname === routes.e1Formular.ueberlieger ||\r\n pathname === routes.e1Formular.mindestmengen ||\r\n pathname === routes.e1Formular.fdanachverhandlung ||\r\n pathname === routes.e1Formular.e1nachverhandlung\r\n )\r\n }, \r\n reports: {\r\n route: \"/berichte\",\r\n isAnyRouteActive: (pathname: string) => pathname === routes.reports.route\r\n }\r\n};\r\n","import * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { CallbackComponent } from \"redux-oidc\";\r\nimport { User } from \"oidc-client\";\r\nimport userManager from \"../../redux/user-manager\";\r\n\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { push } from \"connected-react-router\";\r\n\r\nclass CallbackPage extends React.Component & { dispatch: any }, {}> {\r\n\r\n successCallback = (user: User) =>\r\n {\r\n // get the user's previous location, passed during signinRedirect()\r\n const redirectPath = (user.state && user.state.path as string) || (process.env.NODE_ENV === \"development\" ? \"/\" : process.env.REACT_APP_BASENAME as string);\r\n this.props.dispatch(push(redirectPath));\r\n }\r\n\r\n errorCallback = (error: Error) =>\r\n {\r\n console.log(error);\r\n this.props.dispatch(push(process.env.NODE_ENV === \"development\" ? \"/\" : process.env.REACT_APP_BASENAME as string));\r\n }\r\n\r\n render()\r\n {\r\n return (\r\n \r\n
Loading...
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default connect()(CallbackPage);\r\n","import * as React from \"react\";\r\nimport \"../Styles/theme-light.scss\";\r\n\r\nexport class LightTheme extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport \"../Styles/theme-dark.scss\";\r\n\r\nexport class DarkTheme extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { LightTheme } from \"./LightTheme\";\r\nimport { DarkTheme } from \"./DarkTheme\";\r\nimport { ThemeTypes } from \"../Enums\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n children?: React.ReactNode;\r\n type: keyof typeof ThemeTypes;\r\n}\r\n\r\nexport class Theming extends React.PureComponent\r\n{\r\n /**\r\n * Sets default values for the components properties.\r\n */\r\n public static defaultProps: Partial = {\r\n type: \"light\"\r\n };\r\n\r\n /**\r\n * Renders the component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { children, type } = this.props;\r\n\r\n if (type === \"light\")\r\n {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n }\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline Style.\r\n */\r\n style?: React.CSSProperties;\r\n}\r\n\r\nexport class ContextMenu extends React.Component\r\n{\r\n /**\r\n * Renders the component.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { children, ...other } = this.props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport classnames from \"classnames\";\r\nimport { OptionalLink } from \"../OptionalLink\";\r\nimport { LocationDescriptor } from \"history\";\r\nimport { IEmptyObject } from \"../Utils/types\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Ein gebundenes Objekt.\r\n */\r\n dataSource?: any;\r\n\r\n /**\r\n * Anzeige Text.\r\n */\r\n header: string;\r\n\r\n /**\r\n * Name des Icons welches angezeigt werden soll.\r\n */\r\n icon?: React.ReactElement;\r\n\r\n /**\r\n * Die Farbe des Icons.\r\n */\r\n iconColor?: string;\r\n\r\n /**\r\n * Link (react-router).\r\n */\r\n linkTo?: LocationDescriptor;\r\n\r\n /**\r\n * Link.\r\n */\r\n externalLink?: string;\r\n\r\n /**\r\n * Angabe, ob das Item größer gerendert werden soll.\r\n */\r\n isBig?: boolean;\r\n\r\n /**\r\n * Angabe, ob das Item abgeschaltet ist.\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Angabe, ob das Item sichtbar ist.\r\n */\r\n isVisible?: boolean;\r\n\r\n /**\r\n * Angabe, ob das Item einen Einzug hat.\r\n */\r\n noIndent?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf das Item geklickt wird.\r\n */\r\n onClick?: (e: React.MouseEvent, dataSource?: any) => void;\r\n}\r\n\r\nexport class ContextMenuItem extends React.Component\r\n{\r\n /**\r\n * Standardwerte setzen.\r\n */\r\n public static defaultProps: Partial = {\r\n icon: undefined,\r\n isBig: false,\r\n isDisabled: false,\r\n isVisible: true,\r\n noIndent: false\r\n };\r\n\r\n /**\r\n * Führt die \"onClick\" Eigenschaft aus wenn diese gesetzt wurde.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onClick = (e: React.MouseEvent) =>\r\n {\r\n const { dataSource, onClick } = this.props;\r\n\r\n if (onClick != undefined)\r\n {\r\n onClick(e, dataSource);\r\n }\r\n }\r\n\r\n private onContextMenu = (e: React.MouseEvent) =>\r\n {\r\n e.preventDefault();\r\n }\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { header, icon, iconColor, linkTo, externalLink, isBig, isDisabled, isVisible, noIndent } = this.props;\r\n\r\n if (!isVisible)\r\n {\r\n return false;\r\n }\r\n\r\n const attributes: IEmptyObject = {};\r\n if (isDisabled)\r\n {\r\n attributes.disabled = \"disabled\";\r\n }\r\n\r\n if (externalLink != undefined)\r\n {\r\n attributes.href = externalLink;\r\n attributes.target = \"_blank\";\r\n }\r\n\r\n let clonedIcon: React.ReactElement | undefined;\r\n if (icon != undefined)\r\n {\r\n clonedIcon = React.cloneElement(icon, {\r\n color: iconColor,\r\n size: 18,\r\n className: styles.itemIcon\r\n });\r\n }\r\n\r\n const classes = classnames(\r\n styles.item,\r\n {\r\n [styles.noIndent]: noIndent,\r\n [styles.big]: isBig\r\n }\r\n );\r\n\r\n return (\r\n \r\n {clonedIcon != undefined && clonedIcon}\r\n {header}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n isVisible?: boolean;\r\n}\r\n\r\nexport class COntextMenuSeparator extends React.Component\r\n{\r\n public static defaultProps: Partial = {\r\n isVisible: true\r\n };\r\n\r\n render()\r\n {\r\n if (!this.props.isVisible)\r\n {\r\n return false;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport { Tooltip } from \"../Tooltip\";\r\nimport { ContextMenuItem, ContextMenu } from \".\";\r\nimport { Placements } from \"../Enums\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Tooltip reference element.\r\n */\r\n children: React.ReactElement;\r\n\r\n /**\r\n * MenuItems for the contextmenu.\r\n */\r\n items: React.ReactElement | React.ReactElement[];\r\n\r\n /**\r\n * Tooltip placement.\r\n */\r\n placement?: keyof typeof Placements;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n /**\r\n * A value that indicates whether the tooltip is open or not.\r\n */\r\n readonly open: boolean = false;\r\n}\r\n\r\nexport class ContextMenuPopup extends React.Component\r\n{\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State();\r\n\r\n /**\r\n * Renders the content of the tooltip.\r\n */\r\n private renderContent(): React.ReactNode\r\n {\r\n const { items } = this.props;\r\n\r\n return (\r\n
\r\n \r\n {items}\r\n \r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Renders this component.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, children, placement } = this.props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Theming } from \"../../ui/Theming\";\r\nimport * as styles from \"./style.scss\";\r\nimport { Header, HeaderMenuItem, HeaderMenuSeparatorItem } from \"../../ui/Header\";\r\nimport { IComboBoxItem } from \"../../ui/Utils/types\";\r\nimport { routes } from \"./routing\";\r\nimport { Tooltip } from \"../../ui/Tooltip\";\r\nimport SigmaIcon from \"mdi-react/SigmaIcon\";\r\nimport AccountCircleIcon from \"mdi-react/AccountCircleIcon\";\r\nimport TextboxPasswordIcon from \"mdi-react/TextboxPasswordIcon\";\r\nimport LogoutIcon from \"mdi-react/LogoutIcon\";\r\nimport { connect } from \"react-redux\";\r\nimport { IApplicationState, AccountActions } from \"../../redux\";\r\nimport { ContextMenuPopup, ContextMenuItem } from \"../../ui/ContextMenu\";\r\nimport userManager, { User } from \"../../redux/user-manager\";\r\n\r\ntype Properties = Partial &\r\n Partial;\r\n\r\ninterface IProperties extends Properties\r\n{\r\n isConnected: boolean;\r\n tenants: IComboBoxItem[];\r\n selectedTenant: IComboBoxItem;\r\n}\r\n\r\ninterface INavPropertiers\r\n{\r\n tenantItems: IComboBoxItem[];\r\n selectedTenantItem?: IComboBoxItem;\r\n navItems: React.ReactNode;\r\n subNavItems: React.ReactNode;\r\n menuItems: React.ReactNode;\r\n onTenantSelectionChange?: (selectedItem: IComboBoxItem) => void;\r\n}\r\n\r\ninterface IMenuPropertiers\r\n{\r\n user: User;\r\n onClick?: (e: React.MouseEvent, name?: string) => void;\r\n onLogoutClick?: () => void;\r\n}\r\n\r\nconst Container: React.SFC<{}> = (props) => (\r\n
\r\n {props.children}\r\n
\r\n);\r\n\r\nconst Navigation: React.SFC = (props) => (\r\n \r\n);\r\n\r\nconst ProfileMenuItems: React.SFC = (props) => (\r\n \r\n {!props.user.profile.is_ad_auth &&\r\n }\r\n externalLink={`${process.env.NODE_ENV === \"development\" ? process.env.REACT_APP_IDENTITY_SERVER_DEV : process.env.REACT_APP_IDENTITY_SERVER_PROD}/Account/PasswordChange?returnUrl=${location.href}`}\r\n />\r\n }\r\n }\r\n onClick={props.onLogoutClick}\r\n />\r\n \r\n);\r\n\r\nconst NavigationMenuItems: React.SFC = (props) => (\r\n \r\n \r\n }\r\n onClick={props.onClick}\r\n />\r\n \r\n \r\n }>\r\n } />\r\n \r\n \r\n);\r\n\r\nclass Layout extends Component\r\n{\r\n private onTenantSelectionChange = (selectedItem: IComboBoxItem) =>\r\n {\r\n location.href = location.pathname + `?ik=${selectedItem.key}`;\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button zum schließen der `` Komponente geklickt wird.\r\n */\r\n private onInterimResultCloseClick = () =>\r\n {\r\n const { account, showInterimResult, hideInterimResult } = this.props;\r\n if (account && account.isInterimResultVisible)\r\n {\r\n hideInterimResult && hideInterimResult();\r\n }\r\n else\r\n {\r\n showInterimResult && showInterimResult();\r\n }\r\n }\r\n\r\n private onLogoutClick = () =>\r\n {\r\n userManager.signoutRedirect();\r\n }\r\n\r\n render()\r\n {\r\n const { oidc, isConnected, tenants, selectedTenant, children } = this.props;\r\n\r\n if (!isConnected)\r\n {\r\n return false;\r\n }\r\n\r\n return (\r\n \r\n \r\n }\r\n onTenantSelectionChange={this.onTenantSelectionChange}\r\n />\r\n {children}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n oidc: state.oidc,\r\n account: state.account\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators })(Layout);\r\n","import * as React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\nimport classnames from \"classnames\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * The header text of the alert.\r\n */\r\n header?: string;\r\n\r\n /**\r\n * The message of the alert.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * The type of the notification.\r\n */\r\n type: \"default\" | \"info\" | \"warning\" | \"error\";\r\n}\r\n\r\nexport class Alert extends React.Component\r\n{\r\n /**\r\n * Set default values.\r\n */\r\n public static defaultProps: Partial = {\r\n type: \"default\"\r\n };\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { header, children, type } = this.props;\r\n const classes = classnames(\r\n styles.alert,\r\n {\r\n [styles.default]: type === \"default\",\r\n [styles.info]: type === \"info\",\r\n [styles.warning]: type === \"warning\",\r\n [styles.error]: type === \"error\"\r\n }\r\n );\r\n\r\n return (\r\n
\r\n
{header}
\r\n
{children}
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell, TableRowCheckboxCell, TableRowStringCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem, IComboBoxItem } from \"../../../ui/Utils/types\";\r\nimport { PageContainer, PageLoader, PageFormulaTree, PageTable } from \"../../helpers\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport { IApplicationState, AccountActions, UebersichtActions, IInformationen, IDialysen, IFaktoren } from \"../../../redux\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\nimport { ToolbarDropDownItem } from \"../../../ui/Toolbar\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof UebersichtActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nexport class Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n private _informationencolumns: ITableColumn[] = [\r\n {\r\n header: \"Planjahr\",\r\n accessor: \"planjahr\",\r\n width: 80,\r\n alignRight: true\r\n },\r\n {\r\n header: \"Datenbasis\",\r\n accessor: \"datenbasis\",\r\n width: 80,\r\n alignRight: true\r\n },\r\n {\r\n header: \"Katalog\",\r\n accessor: \"planjahr\",\r\n width: 80,\r\n alignRight: true\r\n },\r\n {\r\n header: \"Datengrundlage\",\r\n accessor: \"\",\r\n width: 100,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Zeitraum von\",\r\n accessor: \"zeitraum_von\",\r\n width: 120,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Zeitraum Bis\",\r\n accessor: \"zeitraum_bis\",\r\n width: 120,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Upload\",\r\n accessor: \"upload\",\r\n width: 120\r\n },\r\n ];\r\n\r\n private _datenbankcolumns: ITableColumn[] = [\r\n {\r\n header: \"EffGew. Zielwert\",\r\n accessor: \"zielwert\",\r\n width: 100,\r\n cell: (data: IInformationen) => (\r\n \r\n ),\r\n alignRight: true\r\n },\r\n {\r\n header: \"Hochrechnungsfaktor\",\r\n accessor: \"hochrechnungsfaktor\",\r\n width: 80,\r\n cell: (data: IInformationen) => (\r\n \r\n ),\r\n alignRight: true\r\n },\r\n {\r\n header: \"Datenbank\",\r\n accessor: \"selecteddb\",\r\n width: 100,\r\n cell: (data: IInformationen) => (\r\n ({ key: f, value: f }))}\r\n dataSource2={data.dbs.split(',').map(f => ({ key: f, value: f }))}\r\n\r\n selectedItem={{\r\n key: data.selecteddb_anzeige,\r\n value: data.selecteddb_anzeige\r\n }}\r\n\r\n onSelectionChange={this.changedb}\r\n />\r\n )\r\n }\r\n ];\r\n\r\n private _datensatzcolumns: ITableColumn[] = [\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fehler-DRGs\",\r\n accessor: \"fehleranzahl\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Unbewertet\",\r\n accessor: \"unbewertetanzahl\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Ø EffGew/Monat\",\r\n accessor: \"\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n ];\r\n\r\n private _faktorencolumns: ITableColumn[] = [\r\n {\r\n header: \"Basis\",\r\n accessor: \"jahr\",\r\n width: 80,\r\n alignRight: true\r\n },\r\n {\r\n header: \"Faktor\",\r\n accessor: \"faktor\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IFaktoren) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew bei Hochrechnung\",\r\n accessor: \"hochrechnung\",\r\n width: 180,\r\n alignRight: true,\r\n cell: (data: IFaktoren) => (\r\n \r\n )\r\n },\r\n ];\r\n\r\n private _absenkungencolumns: ITableColumn[] = [\r\n {\r\n header: \"I68D Inlier\",\r\n accessor: \"i68d_inlyer\",\r\n width: 130,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"I68D Überlieger\",\r\n accessor: \"i68d_ueberlieger\",\r\n width: 130,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"I68E Inlier\",\r\n accessor: \"i68e_inlyer\",\r\n width: 130,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"I68E Überlieger\",\r\n accessor: \"i68e_ueberlieger\",\r\n width: 130,\r\n cell: (data: IInformationen) => (\r\n \r\n )\r\n },\r\n ];\r\n\r\n private _dialysencolumns: ITableColumn[] = [\r\n {\r\n header: \"Monat\",\r\n accessor: \"monat\",\r\n width: 120,\r\n alignRight: true\r\n },\r\n {\r\n header: \"Anzahl\",\r\n accessor: \"anzahl\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IDialysen) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n componentDidMount() {\r\n const { tenant, getUebersichtInitial } = this.props;\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getUebersichtInitial && getUebersichtInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getUebersichtInitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getUebersichtInitial && getUebersichtInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n private saveZielWert = (e: ITableCellEventArgs) => {\r\n const { tenant, setZielWert } = this.props;\r\n const { dataSource } = e;\r\n\r\n setZielWert && setZielWert(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/zielwert\",\r\n value: dataSource.zielwert\r\n }\r\n ]\r\n });\r\n }\r\n\r\n private changedb = (selectedItem: IComboBoxItem) => {\r\n const { tenant, changeDB } = this.props;\r\n changeDB && changeDB(tenant!.selectedTenant!.ik, selectedItem.key);\r\n location.reload();\r\n }\r\n\r\n private saveFaktor = (e: ITableCellEventArgs) => {\r\n const { tenant, setFaktor } = this.props;\r\n const { dataSource } = e;\r\n\r\n var faktor = dataSource.hochrechnungsfaktor;\r\n var maxmonth = dataSource.zeitraum_bis.substr(4, 2);\r\n faktor = faktor / parseInt(maxmonth);\r\n\r\n if (faktor <= 0) faktor = 1;\r\n\r\n setFaktor && setFaktor(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/hochrechnungsfaktor\",\r\n value: faktor\r\n }\r\n ]\r\n });\r\n }\r\n\r\n //private changeAbsenkung_i68d_ha = (checked: boolean, dataSource: IInformationen) => {\r\n // const { tenant, changeAbsenkung } = this.props;\r\n // changeAbsenkung && changeAbsenkung(tenant!.selectedTenant!.ik, {\r\n // ik: dataSource.ik,\r\n // patch: [\r\n // {\r\n // op: \"replace\",\r\n // path: \"/i68d_ha\",\r\n // value: checked\r\n // }\r\n // ]\r\n // });\r\n //}\r\n //private changeAbsenkung_i68d_ba = (checked: boolean, dataSource: IInformationen) => {\r\n // const { tenant, changeAbsenkung } = this.props;\r\n // changeAbsenkung && changeAbsenkung(tenant!.selectedTenant!.ik, {\r\n // ik: dataSource.ik,\r\n // patch: [\r\n // {\r\n // op: \"replace\",\r\n // path: \"/i68d_ba\",\r\n // value: checked\r\n // }\r\n // ]\r\n // });\r\n //}\r\n //private changeAbsenkung_i68e_ha = (checked: boolean, dataSource: IInformationen) => {\r\n // const { tenant, changeAbsenkung } = this.props;\r\n // changeAbsenkung && changeAbsenkung(tenant!.selectedTenant!.ik, {\r\n // ik: dataSource.ik,\r\n // patch: [\r\n // {\r\n // op: \"replace\",\r\n // path: \"/i68e_ha\",\r\n // value: checked\r\n // }\r\n // ]\r\n // });\r\n //}\r\n //private changeAbsenkung_i68e_ba = (checked: boolean, dataSource: IInformationen) => {\r\n // const { tenant, changeAbsenkung } = this.props;\r\n // changeAbsenkung && changeAbsenkung(tenant!.selectedTenant!.ik, {\r\n // ik: dataSource.ik,\r\n // patch: [\r\n // {\r\n // op: \"replace\",\r\n // path: \"/i68e_ba\",\r\n // value: checked\r\n // }\r\n // ]\r\n // });\r\n //}\r\n\r\n private pdfinek = () => {\r\n const { pdfinek } = this.props;\r\n pdfinek && pdfinek();\r\n }\r\n\r\n private vereinbarungsgrouping = () => {\r\n const { tenant, vereinbarungsgrouping } = this.props;\r\n vereinbarungsgrouping && vereinbarungsgrouping(tenant!.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { uebersicht } = this.props;\r\n\r\n var dlink = undefined;\r\n\r\n var linkStyle = {\r\n marginTop: 15,\r\n marginLeft: 15\r\n }\r\n if (uebersicht.vg == true) { dlink = Vereinbarungsgrouping }\r\n\r\n return (\r\n \r\n
\r\n {uebersicht && uebersicht.errorMessage &&\r\n \r\n {uebersicht.errorMessage}\r\n \r\n }\r\n Hinweise des InEK zur Leistungsplanung und Budgetverhandlung\r\n {dlink}\r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n uebersicht: state.uebersicht\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...UebersichtActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowCheckboxCell,} from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { PageContainer, PageLoader, PageFormulaTree, PageTable } from \"../../helpers\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport { IApplicationState, AccountActions, UebersichtActions, IMengen } from \"../../../redux\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof UebersichtActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nexport class Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n private _mengencolumns: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 325\r\n },\r\n {\r\n header: \"Ist\",\r\n accessor: \"istmenge\",\r\n width: 75,\r\n alignRight: true,\r\n cell: (data: IMengen) => (\r\n \r\n )\r\n },\r\n //{\r\n // header: \"Plan\",\r\n // accessor: \"planmenge\",\r\n // width: 75,\r\n // alignRight: true,\r\n // cell: (data: IMengen) => (\r\n // \r\n // )\r\n //},\r\n {\r\n header: \"Ziel\",\r\n accessor: \"mindestmenge\",\r\n width: 75,\r\n alignRight: true,\r\n cell: (data: IMengen) => (\r\n \r\n )\r\n },\r\n //{\r\n // header: \"Prognose\",\r\n // accessor: \"erreicht\",\r\n // width: 125\r\n //},\r\n {\r\n header: \"nicht erbringen\",\r\n accessor: \"nichterbringen\",\r\n width: 130,\r\n cell: (data: IMengen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"einfrieren\",\r\n accessor: \"nichtsteigern\",\r\n width: 130,\r\n cell: (data: IMengen) => {\r\n if (data.thema != \"Früh- und Neugeborene\") {\r\n return < TableRowCheckboxCell\r\n accessor=\"nichtsteigern\"\r\n isChecked={data.nichtsteigern}\r\n onCheckedChanged={this.onNotIncreaseChecked}\r\n\r\n />\r\n }\r\n else return
\r\n }\r\n },\r\n ]; \r\n\r\n componentDidMount() {\r\n const { tenant, getMengenInitial } = this.props;\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getMengenInitial && getMengenInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getMengenInitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getMengenInitial && getMengenInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n private onNotProvideChecked = (checked: boolean, dataSource: IMengen) => {\r\n const { tenant, setMengenVD } = this.props;\r\n setMengenVD && setMengenVD(tenant!.selectedTenant!.ik, \"nichterbringen\", checked, dataSource.thema);\r\n }\r\n private onNotIncreaseChecked = (checked: boolean, dataSource: IMengen) => {\r\n const { tenant, setMengenVD } = this.props;\r\n setMengenVD && setMengenVD(tenant!.selectedTenant!.ik, \"nichtsteigern\", checked, dataSource.thema);\r\n }\r\n\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { uebersicht } = this.props;\r\n\r\n return (\r\n \r\n {uebersicht && uebersicht.errorMessage &&\r\n \r\n {uebersicht.errorMessage}\r\n \r\n }\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n uebersicht: state.uebersicht\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...UebersichtActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell, TableRowStringCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { PageContainer, PageLoader, PageFormulaTree, PageTabControl2 } from \"../../helpers\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport { IApplicationState, AccountActions, UebersichtActions, IEntwicklungsquoten, IEntwicklungsquotenSchnitt } from \"../../../redux\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof UebersichtActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n\r\n selectedTabIndex?: number;\r\n}\r\n\r\nexport class Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n private _entwicklungsquotencolumns: ITableColumn[] = [\r\n {\r\n header: \"Jahr\",\r\n accessor: \"jahr\",\r\n width: 60,\r\n sortDirection: \"descending\"\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl_ist\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"VB Fallzahl\",\r\n accessor: \"fallzahl_vb_ist\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Differenz\",\r\n accessor: \"differenz_absolut\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n return ; \r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"differenz_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n return ;\r\n }\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew_ist\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"VB EffGew\",\r\n accessor: \"effgew_vb_ist\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Differenz\",\r\n accessor: \"effgew_differenz_absolut\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"effgew_differenz_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n return ;\r\n }\r\n },\r\n ];\r\n\r\n private _entwicklungsquotencolumns2: ITableColumn[] = [\r\n {\r\n header: \"Jahr\",\r\n accessor: \"jahr\",\r\n width: 60,\r\n sortDirection: \"descending\"\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl_ist\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Vorjahr\",\r\n accessor: \"fallzahl_vorjahr\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.fallzahl_vorjahr != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"Veränderung\",\r\n accessor: \"fallzahl_absolut\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.fallzahl_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"fallzahl_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.fallzahl_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew_ist\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Vorjahr\",\r\n accessor: \"effgew_vorjahr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.effgew_vorjahr != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"Veränderung\",\r\n accessor: \"effgew_absolut\",\r\n width: 100,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.effgew_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"effgew_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.effgew_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n ];\r\n\r\n private _entwicklungsquotencolumns3: ITableColumn[] = [\r\n {\r\n header: \"Jahr\",\r\n accessor: \"jahr\",\r\n width: 60,\r\n sortDirection: \"descending\"\r\n },\r\n {\r\n header: \"VB Fallzahl\",\r\n accessor: \"fallzahl_vb_ist\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Vorjahr\",\r\n accessor: \"fallzahl_vb_vorjahr\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.fallzahl_vb_vorjahr != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"Veränderung\",\r\n accessor: \"fallzahl_vb_absolut\",\r\n width: 90,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.fallzahl_vb_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"fallzahl_vb_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.fallzahl_vb_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"VB EffGew\",\r\n accessor: \"effgew_vb_ist\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Vorjahr\",\r\n accessor: \"effgew_vb_vorjahr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.effgew_vb_vorjahr != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"Veränderung\",\r\n accessor: \"effgew_vb_absolut\",\r\n width: 100,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.effgew_vb_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"effgew_vb_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquoten) => {\r\n if (data.effgew_vb_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n ];\r\n\r\n private _entwicklungsquotenschnittcolumns: ITableColumn[] = [\r\n {\r\n header: \"Jahre\",\r\n accessor: \"quoten_jahre\",\r\n width: 60,\r\n cell: (data: IEntwicklungsquotenSchnitt) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"differenz_absolut\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.differenz_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"differenz_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.differenz_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew_differenz_absolut\",\r\n width: 88,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.effgew_differenz_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"effgew_differenz_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.effgew_differenz_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n ];\r\n\r\n private _entwicklungsquotenschnittcolumns2: ITableColumn[] = [\r\n {\r\n header: \"Jahre\",\r\n accessor: \"quoten_jahre\",\r\n width: 60,\r\n cell: (data: IEntwicklungsquotenSchnitt) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl_absolut\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.fallzahl_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"fallzahl_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.fallzahl_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew_absolut\",\r\n width: 88,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.effgew_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"effgew_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.effgew_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n ];\r\n\r\n private _entwicklungsquotenschnittcolumns3: ITableColumn[] = [\r\n {\r\n header: \"Jahre\",\r\n accessor: \"quoten_jahre\",\r\n width: 60,\r\n cell: (data: IEntwicklungsquotenSchnitt) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"VB Fallzahl\",\r\n accessor: \"fallzahl_vb_absolut\",\r\n width: 80,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.fallzahl_vb_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"fallzahl_vb_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.fallzahl_vb_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"VB EffGew\",\r\n accessor: \"effgew_vb_absolut\",\r\n width: 88,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.effgew_vb_absolut != 0) return \r\n else return ;\r\n }\r\n },\r\n {\r\n header: \"in %\",\r\n accessor: \"effgew_vb_relativ\",\r\n width: 70,\r\n alignRight: true,\r\n cell: (data: IEntwicklungsquotenSchnitt) => {\r\n if (data.effgew_vb_relativ != 0) return \r\n else return ;\r\n }\r\n },\r\n ];\r\n\r\n componentDidMount() {\r\n const { tenant, getEntwicklungInitial } = this.props;\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getEntwicklungInitial && getEntwicklungInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getEntwicklungInitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getEntwicklungInitial && getEntwicklungInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n private onTabChanged = (index: number) => {\r\n this.setState({\r\n selectedTabIndex: index\r\n });\r\n }\r\n\r\n private saveQuoten = (e: ITableCellEventArgs) => {\r\n const { tenant, setQuoten } = this.props;\r\n const { dataSource } = e;\r\n\r\n setQuoten && setQuoten(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/quoten_jahre\",\r\n value: dataSource.quoten_jahre\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { uebersicht } = this.props;\r\n const { selectedTabIndex } = this.state;\r\n\r\n return (\r\n \r\n {uebersicht && uebersicht.errorMessage &&\r\n \r\n {uebersicht.errorMessage}\r\n \r\n }\r\n \r\n
\r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n uebersicht: state.uebersicht\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...UebersichtActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ToolbarItem } from \"../../../ui/Toolbar\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { TableRowCheckboxCell } from \"../../../ui/Table/TableRowCheckboxCell\";\r\nimport CheckAllIcon from \"mdi-react/CheckAllIcon\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { PageContainer, PageLoader, PageTable, getCustomFilters, PageFormulaTree } from \"../../helpers\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport { OpsActions, IApplicationState, IJsonPatch, AccountActions, IOps } from \"../../../redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof OpsActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"v_ops\";\r\n\r\nexport class Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Enthält die gefilterten Daten der Tabelle.\r\n */\r\n private _filterDataSource: IOps[] = [];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"OPS\",\r\n accessor: \"ops_kode\",\r\n width: 85,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"ops_text\",\r\n width: 640\r\n },\r\n {\r\n header: \"nicht erbringen\",\r\n accessor: \"nichterbringen\",\r\n width: 130,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"einfrieren\",\r\n accessor: \"nichtsteigern\",\r\n width: 130,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getOpss } = this.props;\r\n\r\n const storage = localstorage.get();\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getOpss && getOpss(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getOpss } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getOpss && getOpss(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht erbringen` betätigt wird.\r\n */\r\n private onProvideAll = () => {\r\n if (this._filterDataSource.length > 0) {\r\n const { tenant, patchManyOps } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichterbringen === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource) {\r\n data.nichterbringen = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyOps && patchManyOps(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n private onIncreaseAll = () => {\r\n if (this._filterDataSource.length > 0) {\r\n const { tenant, patchManyOpsMod } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichtsteigern === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource) {\r\n data.nichtsteigern = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyOpsMod && patchManyOpsMod(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichterbringen` verändert.\r\n */\r\n private onNotProvideChecked = (checked: boolean, dataSource: IOps) => {\r\n const { tenant, patchSingleOps } = this.props;\r\n patchSingleOps && patchSingleOps(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: checked\r\n }\r\n ]\r\n });\r\n }\r\n private onNotIncreaseChecked = (checked: boolean, dataSource: IOps) => {\r\n const { tenant, patchSingleOps } = this.props;\r\n patchSingleOps && patchSingleOps(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: checked\r\n }\r\n ]\r\n });\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Tabelle gefiltert wird.\r\n * @param data Die gefilterten Daten.\r\n */\r\n private onTableDataFiltered = (data: IOps[]): void => {\r\n this._filterDataSource = data;\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { ops } = this.props;\r\n\r\n return (\r\n \r\n {ops && ops.errorMessage &&\r\n \r\n {ops.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n }\r\n text={`Alle \"nicht erbringen\"`}\r\n onClick={this.onProvideAll}\r\n />\r\n }\r\n text={`Alle \"einfrieren\"`}\r\n onClick={this.onIncreaseAll}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ops: state.ops\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...OpsActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ToolbarItem } from \"../../../ui/Toolbar\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { TableRowCheckboxCell } from \"../../../ui/Table/TableRowCheckboxCell\";\r\nimport CheckAllIcon from \"mdi-react/CheckAllIcon\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { PageContainer, PageLoader, PageTable, getCustomFilters, PageFormulaTree } from \"../../helpers\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport { DrgActions, IApplicationState, IJsonPatch, AccountActions, IDrg } from \"../../../redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof DrgActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"v_drg\";\r\n\r\nexport class Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Enthält die gefilterten Daten der Tabelle.\r\n */\r\n private _filterDataSource: IDrg[] = [];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 85,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 85\r\n },\r\n {\r\n header: \"Text\",\r\n accessor: \"drg_text\",\r\n width: 540\r\n },\r\n {\r\n header: \"nicht erbringen\",\r\n accessor: \"nichterbringen\",\r\n width: 130,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"einfrieren\",\r\n accessor: \"nichtsteigern\",\r\n width: 130,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IDrg) => (\r\n //\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getDrgsVordefinition } = this.props;\r\n\r\n const storage = localstorage.get();\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getDrgsVordefinition && getDrgsVordefinition(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getDrgsVordefinition } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getDrgsVordefinition && getDrgsVordefinition(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht erbringen` betätigt wird.\r\n */\r\n private onProvideAll = () => {\r\n if (this._filterDataSource.length > 0) {\r\n const { tenant, patchManyDrgVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichterbringen === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource) {\r\n data.nichterbringen = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyDrgVordefinition && patchManyDrgVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht steigern` betätigt wird.\r\n */\r\n private onIncreaseAll = () => {\r\n if (this._filterDataSource.length > 0) {\r\n const { tenant, patchManyDrgVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichtsteigern === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource) {\r\n data.nichtsteigern = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyDrgVordefinition && patchManyDrgVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichterbringen` verändert.\r\n */\r\n private onNotProvideChecked = (checked: boolean, dataSource: IDrg) => {\r\n const { tenant, patchSingleDrgVordefinition } = this.props;\r\n patchSingleDrgVordefinition && patchSingleDrgVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichtsteigern` verändert.\r\n */\r\n private onNotIncreaseChecked = (checked: boolean, dataSource: IDrg) => {\r\n const { tenant, patchSingleDrgVordefinition } = this.props;\r\n patchSingleDrgVordefinition && patchSingleDrgVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Tabelle gefiltert wird.\r\n * @param data Die gefilterten Daten.\r\n */\r\n private onTableDataFiltered = (data: IDrg[]): void => {\r\n this._filterDataSource = data;\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { drg } = this.props;\r\n\r\n return (\r\n \r\n {drg && drg.errorMessage &&\r\n \r\n {drg.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n }\r\n text={`Alle \"nicht erbringen\"`}\r\n onClick={this.onProvideAll}\r\n />\r\n }\r\n text={`Alle \"einfrieren\"`}\r\n onClick={this.onIncreaseAll}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n drg: state.drg\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...DrgActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ToolbarItem } from \"../../../ui/Toolbar\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { TableRowCheckboxCell } from \"../../../ui/Table/TableRowCheckboxCell\";\r\nimport CheckAllIcon from \"mdi-react/CheckAllIcon\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { INode } from \"../../../ui/TreeView\";\r\nimport { IInputEventArgs } from \"../../../ui/Inputs/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageTreeView, PageFormulaTree, getCustomFilters } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, BgActions, Layers, IBg, IJsonPatch } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof BgActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"v_bg\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Enthält die gefilterten Daten der Tabelle.\r\n */\r\n private _filterDataSource: IBg[] = [];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"Ebene 3\",\r\n accessor: \"ebene3\",\r\n width: 370,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"nicht erbringen\",\r\n accessor: \"nichterbringen\",\r\n width: 130,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"einfrieren\",\r\n accessor: \"nichtsteigern\",\r\n width: 130,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IBg) => (\r\n //\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getBgVordefinitionIntitial } = this.props;\r\n\r\n const storage = localstorage.get();\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getBgVordefinitionIntitial && getBgVordefinitionIntitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getBgVordefinitionIntitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getBgVordefinitionIntitial && getBgVordefinitionIntitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der selektierten Fachabteilung ändert.\r\n * @param selectedItem Die neu ausgewählte Fachabteilung.\r\n */\r\n //private onSelectionChange = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getBgsVordefinition, setFab, setStandort, bg } = this.props;\r\n\r\n // setFab && setFab(selectedItem.key);\r\n // if (selectedItem.key === \"*\") {\r\n // //setStandort && setStandort(selectedItem.key);\r\n // getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, bg.selectedStandort!.key, selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // if (bg.selectedStandort!.key === \"*\") {\r\n // setStandort && setStandort(bg.standorte[1]);\r\n // getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, bg.standorte[1], selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, bg.selectedStandort!.key, selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // }\r\n //}\r\n\r\n //private onSelectionChangeStandort = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getBgsVordefinition, setStandort, setFab, bg } = this.props;\r\n\r\n // setStandort && setStandort(selectedItem.key);\r\n // if (selectedItem.key === \"*\") {\r\n // setFab && setFab(selectedItem.key);\r\n // getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, selectedItem.key, selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // if (bg.selectedFab!.key === \"*\") {\r\n // //setFab && setFab(bg.fabs[1]);\r\n // getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, selectedItem.key, bg.selectedFab!.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, selectedItem.key, bg.selectedFab!.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // }\r\n //}\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht erbringen` betätigt wird.\r\n */\r\n private onProvideAll = () =>\r\n {\r\n if (this._filterDataSource.length > 0)\r\n {\r\n const { tenant, patchManyBgVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichterbringen === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource)\r\n {\r\n data.nichterbringen = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyBgVordefinition && patchManyBgVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht steigern` betätigt wird.\r\n */\r\n private onIncreaseAll = () =>\r\n {\r\n if (this._filterDataSource.length > 0)\r\n {\r\n const { tenant, patchManyBgVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichtsteigern === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource)\r\n {\r\n data.nichtsteigern = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyBgVordefinition && patchManyBgVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichterbringen` verändert.\r\n */\r\n private onNotProvideChecked = (checked: boolean, dataSource: IBg) =>\r\n {\r\n const { tenant, patchSingleBgVordefinition } = this.props;\r\n patchSingleBgVordefinition && patchSingleBgVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichtsteigern` verändert.\r\n */\r\n private onNotIncreaseChecked = (checked: boolean, dataSource: IBg) =>\r\n {\r\n const { tenant, patchSingleBgVordefinition } = this.props;\r\n patchSingleBgVordefinition && patchSingleBgVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Tabelle gefiltert wird.\r\n * @param data Die gefilterten Daten.\r\n */\r\n private onTableDataFiltered = (data: IBg[]): void =>\r\n {\r\n this._filterDataSource = data;\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Filter der `` Komponente ändert.\r\n * @param e Das auslösende Event.\r\n */\r\n private onNodeFilterChange = (e: IInputEventArgs) =>\r\n {\r\n this.props.setNodeFilter && this.props.setNodeFilter(e.stringValue);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald die selektion der TreeView entfernt werden soll.\r\n */\r\n private onNodeClearSelection = () =>\r\n {\r\n const { tenant, setNode, getBgsVordefinition, bg } = this.props;\r\n setNode && setNode(undefined, undefined, bg.nodes);\r\n this.props.setNodeFilter && this.props.setNodeFilter(\"\");\r\n getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald ein `TreeViewNode` Item selektiert wird.\r\n * @param e Das selektierte Node.\r\n */\r\n private onNodeSelect = (node: INode) =>\r\n {\r\n const { tenant, setNode, getBgsVordefinition, bg } = this.props;\r\n setNode && setNode(node, bg.selectedNode!, bg.nodes);\r\n getBgsVordefinition && getBgsVordefinition(tenant.selectedTenant!.ik, {\r\n type: node.data!,\r\n name: node.content\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { bg } = this.props;\r\n\r\n return (\r\n \r\n {bg && bg.errorMessage &&\r\n \r\n {bg.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n }\r\n text={`Alle \"nicht erbringen\"`}\r\n onClick={this.onProvideAll}\r\n />\r\n }\r\n text={`Alle \"einfrieren\"`}\r\n onClick={this.onIncreaseAll}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n bg: state.bg\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...BgActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ToolbarItem } from \"../../../ui/Toolbar\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { TableRowCheckboxCell } from \"../../../ui/Table/TableRowCheckboxCell\";\r\nimport CheckAllIcon from \"mdi-react/CheckAllIcon\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { getCustomFilters, PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { connect } from \"react-redux\";\r\nimport { IApplicationState, AccountActions, MdcActions, IMdc, IJsonPatch } from \"../../../redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof MdcActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"v_mdc\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Enthält die gefilterten Daten der Tabelle.\r\n */\r\n private _filterDataSource: IMdc[] = [];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"MDC\",\r\n accessor: \"mdc\",\r\n width: 100,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Text\",\r\n accessor: \"mdc_text\",\r\n width: 600\r\n },\r\n {\r\n header: \"nicht erbringen\",\r\n accessor: \"nichterbringen\",\r\n width: 130,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"einfrieren\",\r\n accessor: \"nichtsteigern\",\r\n width: 130,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IMdc) => (\r\n //\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getMdcsVordefinition } = this.props;\r\n\r\n const storage = localstorage.get();\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getMdcsVordefinition && getMdcsVordefinition(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getMdcsVordefinition } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getMdcsVordefinition && getMdcsVordefinition(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht erbringen` betätigt wird.\r\n */\r\n private onProvideAll = () =>\r\n {\r\n if (this._filterDataSource.length > 0)\r\n {\r\n const { tenant, patchManyMdcVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichterbringen === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource)\r\n {\r\n data.nichterbringen = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyMdcVordefinition && patchManyMdcVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht steigern` betätigt wird.\r\n */\r\n private onIncreaseAll = () =>\r\n {\r\n if (this._filterDataSource.length > 0)\r\n {\r\n const { tenant, patchManyMdcVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichtsteigern === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource)\r\n {\r\n data.nichtsteigern = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyMdcVordefinition && patchManyMdcVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichterbringen` verändert.\r\n */\r\n private onNotProvideChecked = (checked: boolean, dataSource: IMdc) =>\r\n {\r\n const { tenant, patchSingleMdcVordefinition } = this.props;\r\n patchSingleMdcVordefinition && patchSingleMdcVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichtsteigern` verändert.\r\n */\r\n private onNotIncreaseChecked = (checked: boolean, dataSource: IMdc) =>\r\n {\r\n const { tenant, patchSingleMdcVordefinition } = this.props;\r\n patchSingleMdcVordefinition && patchSingleMdcVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Tabelle gefiltert wird.\r\n * @param data Die gefilterten Daten.\r\n */\r\n private onTableDataFiltered = (data: IMdc[]): void =>\r\n {\r\n this._filterDataSource = data;\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { mdc } = this.props;\r\n\r\n return (\r\n \r\n {mdc && mdc.errorMessage &&\r\n \r\n {mdc.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n }\r\n text={`Alle \"nicht erbringen\"`}\r\n onClick={this.onProvideAll}\r\n />\r\n }\r\n text={`Alle \"einfrieren\"`}\r\n onClick={this.onIncreaseAll}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n mdc: state.mdc\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...MdcActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ToolbarItem } from \"../../../ui/Toolbar\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { TableRowCheckboxCell } from \"../../../ui/Table/TableRowCheckboxCell\";\r\nimport CheckAllIcon from \"mdi-react/CheckAllIcon\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { FabActions, IApplicationState, AccountActions, IFab, IJsonPatch } from \"../../../redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof FabActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"v_fab\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Enthält die gefilterten Daten der Tabelle.\r\n */\r\n private _filterDataSource: IFab[] = [];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"nicht erbringen\",\r\n accessor: \"nichterbringen\",\r\n width: 130,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"einfrieren\",\r\n accessor: \"nichtsteigern\",\r\n width: 130,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IFab) => (\r\n //\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getFabsVordefinition } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getFabsVordefinition && getFabsVordefinition(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getFabsVordefinition } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getFabsVordefinition && getFabsVordefinition(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht erbringen` betätigt wird.\r\n */\r\n private onProvideAll = () =>\r\n {\r\n if (this._filterDataSource.length > 0)\r\n {\r\n const { tenant, patchManyFabVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichterbringen === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource)\r\n {\r\n data.nichterbringen = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyFabVordefinition && patchManyFabVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button `Alle \"Nicht steigern` betätigt wird.\r\n */\r\n private onIncreaseAll = () =>\r\n {\r\n if (this._filterDataSource.length > 0)\r\n {\r\n const { tenant, patchManyFabVordefinition } = this.props;\r\n const newValue = !this._filterDataSource.all(d => d.nichtsteigern === true);\r\n const patches: IJsonPatch[] = [];\r\n\r\n for (const data of this._filterDataSource)\r\n {\r\n data.nichtsteigern = newValue;\r\n patches.push({\r\n id: data.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: newValue\r\n }\r\n ]\r\n });\r\n }\r\n\r\n patchManyFabVordefinition && patchManyFabVordefinition(tenant!.selectedTenant!.ik, patches);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichterbringen` verändert.\r\n */\r\n private onNotProvideChecked = (checked: boolean, dataSource: IFab) =>\r\n {\r\n const { tenant, patchSingleFabVordefinition } = this.props;\r\n patchSingleFabVordefinition && patchSingleFabVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichterbringen\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der CheckBox Zelle `nichtsteigern` verändert.\r\n */\r\n private onNotIncreaseChecked = (checked: boolean, dataSource: IFab) =>\r\n {\r\n const { tenant, patchSingleFabVordefinition } = this.props;\r\n patchSingleFabVordefinition && patchSingleFabVordefinition(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/nichtsteigern\",\r\n value: checked\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Tabelle gefiltert wird.\r\n * @param data Die gefilterten Daten.\r\n */\r\n private onTableDataFiltered = (data: IFab[]): void =>\r\n {\r\n this._filterDataSource = data;\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { fab } = this.props;\r\n\r\n return (\r\n \r\n {fab && fab.errorMessage &&\r\n \r\n {fab.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n }\r\n text={`Alle \"nicht erbringen\"`}\r\n onClick={this.onProvideAll}\r\n />\r\n }\r\n text={`Alle \"einfrieren\"`}\r\n onClick={this.onIncreaseAll}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n fab: state.fab\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...FabActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowTextboxCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { getCustomFilters, PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, OpsActions, IOps } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof OpsActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"mod_ops\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"OPS\",\r\n accessor: \"ops_kode\",\r\n width: 85,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Text\",\r\n accessor: \"ops_text\",\r\n width: 300\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 80,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 80,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IOps) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl (neu)\",\r\n accessor: \"fallnr_neu\",\r\n width: 110,\r\n alignRight: true,\r\n cell: (data: IOps) => (\r\n //\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew (neu)\",\r\n accessor: \"effgew_neu\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IOps) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getOpssMod } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getOpssMod && getOpssMod(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getOpssMod } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getOpssMod && getOpssMod(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleOpsMod } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleOpsMod && patchSingleOpsMod(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmProz` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmProz = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleOpsMod } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleOpsMod && patchSingleOpsMod(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `Beschreibung` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveDescription = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleOpsMod } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleOpsMod && patchSingleOpsMod(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { ops } = this.props;\r\n\r\n return (\r\n \r\n {ops && ops.errorMessage &&\r\n \r\n {ops.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ops: state.ops\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...OpsActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowTextboxCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { getCustomFilters, PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, DrgActions, IDrg } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof DrgActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"mod_drg\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 85,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 85\r\n },\r\n {\r\n header: \"Text\",\r\n accessor: \"drg_text\",\r\n width: 240\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 80,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 80,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IDrg) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl (neu)\",\r\n accessor: \"fallnr_neu\",\r\n width: 110,\r\n alignRight: true,\r\n cell: (data: IDrg) => (\r\n //\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew (neu)\",\r\n accessor: \"effgew_neu\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IDrg) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getDrgs } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getDrgs && getDrgs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getDrgs } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getDrgs && getDrgs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleDrg } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleDrg && patchSingleDrg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmProz` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmProz = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleDrg } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleDrg && patchSingleDrg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `Beschreibung` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveDescription = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleDrg } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleDrg && patchSingleDrg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { drg } = this.props;\r\n\r\n return (\r\n \r\n {drg && drg.errorMessage &&\r\n \r\n {drg.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n drg: state.drg\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...DrgActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowTextboxCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { INode } from \"../../../ui/TreeView\";\r\nimport { IInputEventArgs } from \"../../../ui/Inputs/Types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageTreeView, PageFormulaTree, getCustomFilters } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, BgActions, Layers, IBg } from \"../../../redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof BgActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"mod_bg\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"Ebene 3\",\r\n accessor: \"ebene3\",\r\n width: 150,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 80,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 80,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IBg) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl (neu)\",\r\n accessor: \"fallnr_neu\",\r\n width: 110,\r\n alignRight: true,\r\n cell: (data: IBg) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew (neu)\",\r\n accessor: \"effgew_neu\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IBg) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getBgIntitial } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getBgIntitial && getBgIntitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getBgIntitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getBgIntitial && getBgIntitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der selektierten Fachabteilung ändert.\r\n * @param selectedItem Die neu ausgewählte Fachabteilung.\r\n */\r\n //private onSelectionChange = (selectedItem: IComboBoxItem) =>\r\n //{\r\n // const { tenant, getBgs, setFab, setStandort, bg } = this.props;\r\n\r\n // //setFab && setFab(selectedItem.key);\r\n // //getBgs && getBgs(tenant.selectedTenant!.ik, bg.selectedStandort!.key, selectedItem.key, bg.selectedNode && {\r\n // // type: bg.selectedNode.data!,\r\n // // name: bg.selectedNode.content\r\n // //});\r\n\r\n // setFab && setFab(selectedItem.key);\r\n // if (selectedItem.key === \"*\") {\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, bg.selectedStandort!.key, selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // if (bg.selectedStandort!.key === \"*\") {\r\n // setStandort && setStandort(bg.standorte[1]);\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, bg.standorte[1], selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, bg.selectedStandort!.key, selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // }\r\n //}\r\n\r\n //private onSelectionChangeStandort = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getBgs, setFab, setStandort, bg } = this.props;\r\n\r\n // //setStandort && setStandort(selectedItem.key);\r\n // //getBgs && getBgs(tenant.selectedTenant!.ik, selectedItem.key, bg.selectedFab!.key, bg.selectedNode && {\r\n // // type: bg.selectedNode.data!,\r\n // // name: bg.selectedNode.content\r\n // //});\r\n\r\n // setStandort && setStandort(selectedItem.key);\r\n // if (selectedItem.key === \"*\") {\r\n // setFab && setFab(selectedItem.key);\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, selectedItem.key, selectedItem.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // if (bg.selectedFab!.key === \"*\") {\r\n // //setFab && setFab(bg.fabs[1]);\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, selectedItem.key, bg.selectedFab!.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // else {\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, selectedItem.key, bg.selectedFab!.key, bg.selectedNode && {\r\n // type: bg.selectedNode.data!,\r\n // name: bg.selectedNode.content\r\n // });\r\n // }\r\n // }\r\n //}\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleBg } = this.props;\r\n const { dataSource } = e;\r\n patchSingleBg && patchSingleBg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmProz` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmProz = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleBg } = this.props;\r\n const { dataSource } = e;\r\n patchSingleBg && patchSingleBg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `Beschreibung` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveDescription = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleBg } = this.props;\r\n const { dataSource } = e;\r\n patchSingleBg && patchSingleBg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Filter der `` Komponente ändert.\r\n * @param e Das auslösende Event.\r\n */\r\n private onNodeFilterChange = (e: IInputEventArgs) =>\r\n {\r\n this.props.setNodeFilter && this.props.setNodeFilter(e.stringValue);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald die selektion der TreeView entfernt werden soll.\r\n */\r\n private onNodeClearSelection = () =>\r\n {\r\n const { tenant, setNode, getBgs, bg } = this.props;\r\n setNode && setNode(undefined, undefined, bg.nodes);\r\n getBgs && getBgs(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald ein `TreeViewNode` Item selektiert wird.\r\n * @param e Das selektierte Node.\r\n */\r\n private onNodeSelect = (node: INode) =>\r\n {\r\n const { tenant, setNode, getBgs, bg } = this.props;\r\n setNode && setNode(node, bg.selectedNode!, bg.nodes);\r\n getBgs && getBgs(tenant.selectedTenant!.ik, {\r\n type: node.data!,\r\n name: node.content\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { bg } = this.props;\r\n\r\n return (\r\n \r\n {bg && bg.errorMessage &&\r\n \r\n {bg.errorMessage}\r\n \r\n }\r\n \r\n \r\n Daten werden gespeichert...
Dies kann einen Moment dauern\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n bg: state.bg\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...BgActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowTextboxCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { getCustomFilters, PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { IApplicationState, AccountActions, MdcActions, IMdc } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof MdcActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"mod_mdc\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"MDC\",\r\n accessor: \"mdc\",\r\n width: 95,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Text\",\r\n accessor: \"mdc_text\",\r\n width: 320\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 80,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 80,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IMdc) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl (neu)\",\r\n accessor: \"fallnr_neu\",\r\n width: 110,\r\n alignRight: true,\r\n cell: (data: IMdc) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew (neu)\",\r\n accessor: \"effgew_neu\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IMdc) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getMdcs } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getMdcs && getMdcs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getMdcs } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getMdcs && getMdcs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleMdc } = this.props;\r\n const { dataSource } = e;\r\n patchSingleMdc && patchSingleMdc(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmProz` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmProz = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleMdc } = this.props;\r\n const { dataSource } = e;\r\n patchSingleMdc && patchSingleMdc(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `Beschreibung` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveDescription = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleMdc } = this.props;\r\n const { dataSource } = e;\r\n patchSingleMdc && patchSingleMdc(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { mdc } = this.props;\r\n\r\n return (\r\n \r\n {mdc && mdc.errorMessage &&\r\n \r\n {mdc.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n mdc: state.mdc\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...MdcActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowTextboxCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { IApplicationState, FabActions, AccountActions, IFab } from \"../../../redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof FabActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState\r\n{\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEY: string = \"mod_fab\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 80,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 80,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallnr\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IFab) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl (neu)\",\r\n accessor: \"fallnr_neu\",\r\n width: 110,\r\n alignRight: true,\r\n cell: (data: IFab) => (\r\n // \r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew (neu)\",\r\n accessor: \"effgew_neu\",\r\n width: 110,\r\n alignRight: true,\r\n cell: (data: IFab) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getFabs } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getFabs && getFabs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getFabs } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getFabs && getFabs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleFab } = this.props;\r\n const { dataSource } = e;\r\n patchSingleFab && patchSingleFab(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmProz` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmProz = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleFab } = this.props;\r\n const { dataSource } = e;\r\n patchSingleFab && patchSingleFab(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `Beschreibung` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveDescription = (e: ITableCellEventArgs) =>\r\n {\r\n const { tenant, patchSingleFab } = this.props;\r\n const { dataSource } = e;\r\n patchSingleFab && patchSingleFab(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, dataSource);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { fab } = this.props;\r\n\r\n return (\r\n \r\n {fab && fab.errorMessage &&\r\n \r\n {fab.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n fab: state.fab\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...FabActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell } from \"../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../ui/Table/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../helpers\";\r\nimport { IApplicationState, KhActions, AccountActions, IKh, IKhSum } from \"../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../ui/Alert\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof KhActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEYS = {\r\n table: \"mod_kh\",\r\n summary: \"mod_sum_kh\"\r\n};\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Zeile\",\r\n accessor: \"zeile\",\r\n width: 100\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 100,\r\n cell: (data: IKh) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 100,\r\n cell: (data: IKh) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IKh) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Ergebnistabelle.\r\n */\r\n private _summaryColumns: ITableColumn[] = [\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe\"\r\n },\r\n {\r\n header: \"Fallzahl (alt)\",\r\n accessor: \"fallzahl_alt\",\r\n width: 100,\r\n alignRight: true,\r\n //cell: data => (\r\n // \r\n //),\r\n //summaryValue: data => data.toString()\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"EffGew (alt)\",\r\n accessor: \"effgew_alt\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"Fallzahl (neu)\",\r\n accessor: \"fallzahl_neu\",\r\n width: 100,\r\n alignRight: true,\r\n //cell: data => (\r\n // \r\n //),\r\n //summaryValue: data => data.toString()\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 1, maximumFractionDigits: 1 }).format(data)\r\n },\r\n {\r\n header: \"EffGew (neu)\",\r\n accessor: \"effgew_neu\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew Saldo\",\r\n accessor: \"effgew_saldo\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getKhs } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.table && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._summaryColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.summary && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getKhs && getKhs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getKhs } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getKhs && getKhs(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleKh, getKhsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleKh && patchSingleKh(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, getKhsSum);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmProz` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmProz = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleKh, getKhsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleKh && patchSingleKh(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, getKhsSum);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald ein `TreeViewNode` Item selektiert wird.\r\n * @param e Das selektierte Node.\r\n */\r\n private saveDescription = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleKh, getKhsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleKh && patchSingleKh(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, getKhsSum);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.table, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onSummaryColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.summary, width, accessor);\r\n }\r\n\r\n private setStorage = (key: string, width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === key && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: key,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { kh } = this.props;\r\n\r\n return (\r\n \r\n {kh && kh.errorMessage &&\r\n \r\n {kh.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n kh: state.kh\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...KhActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageFormulaTree } from \"../../helpers\";\r\nimport { IApplicationState, KhActions, AccountActions, IKhFda } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof KhActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */ \r\n private _fdacolumns: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 350\r\n },\r\n {\r\n header: \"EffGew Plan\",\r\n accessor: \"effgew_neu\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew Vereinbarung alt\",\r\n accessor: \"effgew_alt\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Mehr-/Minderleistung\",\r\n accessor: \"diff\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Abschlag\",\r\n accessor: \"prozent\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM-Abschlag\",\r\n accessor: \"abschlag\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 100,\r\n cell: (data: IKhFda) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM %\",\r\n accessor: \"cm_proz\",\r\n width: 100,\r\n cell: (data: IKhFda) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Beschreibung\",\r\n accessor: \"cm_beschreibung\",\r\n width: 200,\r\n cell: (data: IKhFda) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getFda } = this.props;\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getFda && getFda(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getFda } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getFda && getFda(tenant.selectedTenant.ik);\r\n }\r\n }\r\n \r\n private saveCmAbsFda = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleFda, getKhsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleFda && patchSingleFda(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, getKhsSum);\r\n }\r\n \r\n private saveCmProzFda = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleFda, getKhsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleFda && patchSingleFda(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_proz\",\r\n value: dataSource.cm_proz\r\n }\r\n ]\r\n }, getKhsSum);\r\n }\r\n\r\n private saveDescriptionFda = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleFda, getKhsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleFda && patchSingleFda(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_beschreibung\",\r\n value: dataSource.cm_beschreibung\r\n }\r\n ]\r\n }, getKhsSum);\r\n } \r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { kh, uebersicht } = this.props;\r\n\r\n var fdawarning = undefined;\r\n if (uebersicht.vg == false) fdawarning = Eine Berechnung des FDA kann erfolgen, sofern Sie die Vereinbarungsüberleitung bei der GSG beauftragt haben. Mehr Informationen zur Vereinbarungsüberleitung der GSG erhalten Sie über unseren GSG Online-Shop.\r\n\r\n return (\r\n \r\n {kh && kh.errorMessage &&\r\n \r\n {kh.errorMessage}\r\n \r\n }\r\n \r\n
\r\n \r\n {fdawarning}\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n kh: state.kh,\r\n uebersicht: state.uebersicht\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...KhActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { INode } from \"../../../ui/TreeView\";\r\nimport { IInputEventArgs } from \"../../../ui/Inputs/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageTreeView, PageFormulaTree, PageTabControl, getCustomFilters } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, NlBgActions, INlBg, INlBgShare, INlBgSum, Layers } from \"../../../redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { connect } from \"react-redux\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof NlBgActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n\r\n /**\r\n * Das momentan selektierte TabItem.\r\n */\r\n selectedTabIndex?: number;\r\n}\r\n\r\nconst TABLE_STORAGE_KEYS = {\r\n table: \"nl_bg\",\r\n share: \"nl_share_bg\",\r\n summary: \"nl_sum_bg\"\r\n};\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"MLG\",\r\n accessor: \"ebene3\",\r\n width: 100,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 100,\r\n cell: (data: INlBg) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_bg\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Verteilungstabelle.\r\n */\r\n private _shareColumns: ITableColumn[] = [\r\n {\r\n header: \"MLG\",\r\n accessor: \"ebene3\",\r\n width: 370,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 55\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_bg\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Ergebnistabelle.\r\n */\r\n private _summaryColumns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 50\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe:\"\r\n },\r\n {\r\n header: \"MLG\",\r\n accessor: \"ebene3\",\r\n width: 70\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 65\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 70\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_bg\",\r\n width: 70,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Anteil Referenz\",\r\n accessor: \"referenz\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 85,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getBgIntitial } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.table && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._shareColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.share && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._summaryColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.summary && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getBgIntitial && getBgIntitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getBgIntitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getBgIntitial && getBgIntitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald sich das selektierte TabItem ändert.\r\n * @param index Der neue Index.\r\n */\r\n private onTabChanged = (index: number) => {\r\n this.setState({\r\n selectedTabIndex: index\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der selektierten Fachabteilung ändert.\r\n * @param selectedItem Die neu ausgewählte Fachabteilung.\r\n */\r\n //private onSelectionChange = (selectedItem: IComboBoxItem) =>\r\n //{\r\n // const { tenant, getBgs, setFab, nlBg } = this.props;\r\n\r\n // setFab && setFab(selectedItem.key);\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, nlBg.selectedStandort!.key, selectedItem.key, nlBg.selectedNode && {\r\n // type: nlBg.selectedNode.data!,\r\n // name: nlBg.selectedNode.content\r\n // });\r\n //}\r\n\r\n //private onSelectionChangeStandort = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getBgs, setStandort, nlBg } = this.props;\r\n\r\n // setStandort && setStandort(selectedItem.key);\r\n // getBgs && getBgs(tenant.selectedTenant!.ik, selectedItem.key, nlBg.selectedFab!.key, nlBg.selectedNode && {\r\n // type: nlBg.selectedNode.data!,\r\n // name: nlBg.selectedNode.content\r\n // });\r\n //}\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleBg, getNlBgsSum } = this.props;\r\n const { dataSource } = e;\r\n patchSingleBg && patchSingleBg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, (ik: string) => getNlBgsSum(ik));\r\n }\r\n\r\n private saveAnteil = (e: ITableCellEventArgs) => {\r\n const { tenant, patchAnteil, getBgs } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchAnteil && patchAnteil(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/fallzahl_anteil_in_bg\",\r\n value: dataSource.fallzahl_anteil_in_bg\r\n }\r\n ]\r\n }, dataSource, (ik: string) => getBgs(ik));\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Filter der `` Komponente ändert.\r\n * @param e Das auslösende Event.\r\n */\r\n private onNodeFilterChange = (e: IInputEventArgs) => {\r\n this.props.setNodeFilter && this.props.setNodeFilter(e.stringValue);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald die selektion der TreeView entfernt werden soll.\r\n */\r\n private onNodeClearSelection = () => {\r\n const { tenant, setNode, getBgs, nlBg } = this.props;\r\n setNode && setNode(undefined, undefined, nlBg.nodes);\r\n getBgs && getBgs(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald ein `TreeViewNode` Item selektiert wird.\r\n * @param e Das selektierte Node.\r\n */\r\n private onNodeSelect = (node: INode) => {\r\n const { tenant, setNode, getBgs, nlBg } = this.props;\r\n setNode && setNode(node, nlBg.selectedNode!, nlBg.nodes);\r\n getBgs && getBgs(tenant.selectedTenant!.ik, {\r\n type: node.data!,\r\n name: node.content\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.table, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onShareColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.share, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onSummaryColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.summary, width, accessor);\r\n }\r\n\r\n private setStorage = (key: string, width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === key && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: key,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private onFilter = () => {\r\n const { tenant, getNlBgsSum } = this.props;\r\n getNlBgsSum(tenant!.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { nlBg } = this.props;\r\n const { selectedTabIndex } = this.state;\r\n\r\n return (\r\n \r\n {nlBg && nlBg.errorMessage &&\r\n \r\n {nlBg.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Hinweis: Zur CM-Steigerung / -Reduzierung neuer Leistungen bitte eine FAB auswählen.\r\n \r\n \r\n Hinweis: Der Anteil der verteilten CM-Punkte je MLG sollte 100% entsprechen.\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n nlBg: state.nlBg\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...NlBgActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { PageContainer, PageLoader, PageTable, PageFormulaTree, getCustomFilters } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, NlDrgActions, INlDrg, INlDrgSum } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof NlDrgActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n}\r\n\r\nconst TABLE_STORAGE_KEYS = {\r\n table: \"nl_drg\",\r\n summary: \"nl_sum_drg\"\r\n};\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 100\r\n },\r\n\r\n {\r\n header: \"Text\",\r\n accessor: \"drg_text\",\r\n width: 150\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 100\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 100,\r\n cell: (data: INlDrg) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Ergebnistabelle.\r\n */\r\n private _summaryColumns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe:\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 75\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 220\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 85,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getNlDrgsInitial } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.table && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._summaryColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.summary && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getNlDrgsInitial && getNlDrgsInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getNlDrgsInitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getNlDrgsInitial && getNlDrgsInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der selektierten Fachabteilung ändert.\r\n * @param selectedItem Die neu ausgewählte Fachabteilung.\r\n */\r\n //private onSelectionChange = (selectedItem: IComboBoxItem) =>\r\n //{\r\n // const { tenant, getNlDrgs, setFab, nlDrg } = this.props;\r\n\r\n // setFab && setFab(selectedItem.key);\r\n // getNlDrgs && getNlDrgs(tenant.selectedTenant!.ik, nlDrg.selectedStandort!.key, selectedItem.key);\r\n //}\r\n\r\n //private onSelectionChangeStandort = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getNlDrgs, setStandort, nlDrg } = this.props;\r\n\r\n // setStandort && setStandort(selectedItem.key);\r\n // getNlDrgs && getNlDrgs(tenant.selectedTenant!.ik, selectedItem.key, nlDrg.selectedFab!.key);\r\n //}\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleNlDrg, getNlDrgsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleNlDrg && patchSingleNlDrg(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, (ik: string) => getNlDrgsSum(ik));\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.table, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onSummaryColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.summary, width, accessor);\r\n }\r\n\r\n private setStorage = (key: string, width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === key && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: key,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private onFilter = () => {\r\n const { tenant, getNlDrgsSum } = this.props;\r\n getNlDrgsSum(tenant!.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { nlDrg } = this.props;\r\n\r\n return (\r\n \r\n {nlDrg && nlDrg.errorMessage &&\r\n \r\n {nlDrg.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Hinweis: Zur CM-Steigerung / -Reduzierung neuer Leistungen bitte eine FAB auswählen.\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n nlDrg: state.nlDrg\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...NlDrgActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { PageTabControl, PageTable, PageFormulaTree, PageContainer, PageLoader, getCustomFilters } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, NlThemaActions, IThema, IThemaShare, IThemaSum } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof NlThemaActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n\r\n /**\r\n * Das momentan selektierte TabItem.\r\n */\r\n selectedTabIndex?: number;\r\n}\r\n\r\nconst TABLE_STORAGE_KEYS = {\r\n table: \"nl_themen\",\r\n share: \"nl_share_themen\",\r\n summary: \"nl_sum_themen\"\r\n};\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 180,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 100,\r\n cell: (data: IThema) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_thema\",\r\n width: 80,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Kriterium\",\r\n accessor: \"kriterium\",\r\n width: 120\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Verteilungstabelle.\r\n */\r\n private _shareColumns: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 250,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 55\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_thema\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Ergebnistabelle.\r\n */\r\n private _summaryColumns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 60\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe:\"\r\n },\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 120,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 65,\r\n cell: data => (\r\n \r\n {(data.voraussetzung != '' ? data.drg + '*' : data.drg)} \r\n \r\n )\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 100\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_thema\",\r\n width: 70,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Anteil Referenz\",\r\n accessor: \"referenz\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 80,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getTopicsInitial } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.table && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._shareColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.share && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._summaryColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.summary && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getTopicsInitial && getTopicsInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getTopicsInitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getTopicsInitial && getTopicsInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n private saveAnteil = (e: ITableCellEventArgs) => {\r\n const { tenant, patchAnteil, getTopics } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchAnteil && patchAnteil(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/fallzahl_anteil_in_thema\",\r\n value: dataSource.fallzahl_anteil_in_thema\r\n }\r\n ]\r\n }, dataSource, (ik: string) => getTopics(ik));\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald sich das selektierte TabItem ändert.\r\n * @param index Der neue Index.\r\n */\r\n private onTabChanged = (index: number) => {\r\n this.setState({\r\n selectedTabIndex: index\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der selektierten Fachabteilung ändert.\r\n * @param selectedItem Die neu ausgewählte Fachabteilung.\r\n */\r\n //private onSelectionChange = (selectedItem: IComboBoxItem) =>\r\n //{\r\n // const { tenant, getTopics, setFab, nlThema } = this.props;\r\n\r\n // setFab && setFab(selectedItem.key);\r\n // getTopics && getTopics(tenant.selectedTenant!.ik, nlThema.selectedStandort!.key, selectedItem.key);\r\n //}\r\n\r\n //private onSelectionChangeStandort = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getTopics, setStandort, nlThema } = this.props;\r\n\r\n // setStandort && setStandort(selectedItem.key);\r\n // getTopics && getTopics(tenant.selectedTenant!.ik, selectedItem.key, nlThema.selectedFab!.key);\r\n //}\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleThema, getTopicsSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleThema && patchSingleThema(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, (ik: string) => getTopicsSum(ik));\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.table, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onShareColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.share, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onSummaryColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.summary, width, accessor);\r\n }\r\n\r\n private setStorage = (key: string, width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === key && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: key,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private onFilter = () => {\r\n const { tenant, getTopicsSum } = this.props;\r\n getTopicsSum(tenant!.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { nlThema } = this.props;\r\n const { selectedTabIndex } = this.state;\r\n\r\n var vs = 'Voraussetzung für die Erbringung der DRG'\r\n for (var i = 0; i < nlThema.sum.length; i++) {\r\n let item = nlThema.sum[i];\r\n if (item.voraussetzung != '') {\r\n vs += '
*' + item.drg + ': ' + item.voraussetzung + '';\r\n }\r\n }\r\n if (nlThema.sum.all(x => x.voraussetzung == '')) vs = '';\r\n\r\n return (\r\n \r\n {nlThema && nlThema.errorMessage &&\r\n \r\n {nlThema.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Hinweis: Zur CM-Steigerung / -Reduzierung neuer Leistungen bitte eine FAB auswählen.\r\n \r\n \r\n Hinweis: Der Anteil der verteilten CM-Punkte je Thema sollte 100% entsprechen.\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n nlThema: state.nlThema\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...NlThemaActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowTextboxCell, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { IFilterSummaryItem } from \"../../../ui/Utils/types\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\nimport { PageTabControl, PageTable, PageFormulaTree, PageContainer, PageLoader, getCustomFilters } from \"../../helpers\";\r\nimport { IApplicationState, AccountActions, NlOpsActions, INlOps, IOpsShare, IOpsSum } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof NlOpsActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\ninterface IState {\r\n /**\r\n * Enthält die momentan gesetzten Filter.\r\n */\r\n filterSummary: IFilterSummaryItem[];\r\n\r\n /**\r\n * Das momentan selektierte TabItem.\r\n */\r\n selectedTabIndex?: number;\r\n}\r\n\r\nconst TABLE_STORAGE_KEYS = {\r\n table: \"nl_opss\",\r\n share: \"nl_share_opss\",\r\n summary: \"nl_sum_opss\"\r\n};\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Standardwerte für das State Objekt setzen.\r\n */\r\n state: IState = {\r\n filterSummary: []\r\n };\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 75\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135\r\n },\r\n {\r\n header: \"Ops\",\r\n accessor: \"ops_kode\",\r\n width: 80,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Ops-Text\",\r\n accessor: \"ops_text\",\r\n width: 180\r\n },\r\n {\r\n header: \"CM\",\r\n accessor: \"cm_abs\",\r\n width: 100,\r\n cell: (data: INlOps) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_ops\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Verteilungstabelle.\r\n */\r\n private _shareColumns: ITableColumn[] = [\r\n {\r\n header: \"Ops\",\r\n accessor: \"ops_kode\",\r\n width: 80,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 55\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_ops\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n /**\r\n * Spalten definitionen für die Ergebnistabelle.\r\n */\r\n private _summaryColumns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 60\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe:\"\r\n },\r\n {\r\n header: \"Ops\",\r\n accessor: \"ops_kode\",\r\n width: 80,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"Ops-Text\",\r\n accessor: \"ops_text\",\r\n width: 70,\r\n sortDirection: \"ascending\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 65\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 70\r\n },\r\n {\r\n header: \"Anteil\",\r\n accessor: \"fallzahl_anteil_in_ops\",\r\n width: 70,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Anteil Referenz\",\r\n accessor: \"referenz\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 70,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 80,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n }\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getOpssInitial } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.table && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._shareColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.share && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n this._summaryColumns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEYS.summary && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getOpssInitial && getOpssInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getOpssInitial } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getOpssInitial && getOpssInitial(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n private saveAnteil = (e: ITableCellEventArgs) => {\r\n const { tenant, patchAnteil, getOpss } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchAnteil && patchAnteil(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/fallzahl_anteil_in_ops\",\r\n value: dataSource.fallzahl_anteil_in_ops\r\n }\r\n ]\r\n }, dataSource, (ik: string) => getOpss(ik));\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald sich das selektierte TabItem ändert.\r\n * @param index Der neue Index.\r\n */\r\n private onTabChanged = (index: number) => {\r\n this.setState({\r\n selectedTabIndex: index\r\n });\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der selektierten Fachabteilung ändert.\r\n * @param selectedItem Die neu ausgewählte Fachabteilung.\r\n */\r\n //private onSelectionChange = (selectedItem: IComboBoxItem) =>\r\n //{\r\n // const { tenant, getOpss, setFab, nlOps } = this.props;\r\n\r\n // setFab && setFab(selectedItem.key);\r\n // getOpss && getOpss(tenant.selectedTenant!.ik, nlOps.selectedStandort!.key, selectedItem.key);\r\n //}\r\n\r\n //private onSelectionChangeStandort = (selectedItem: IComboBoxItem) => {\r\n // const { tenant, getOpss, setStandort, nlOps } = this.props;\r\n\r\n // setStandort && setStandort(selectedItem.key);\r\n // getOpss && getOpss(tenant.selectedTenant!.ik, selectedItem.key, nlOps.selectedFab!.key);\r\n //}\r\n\r\n /**\r\n * Wird ausgeführt sobald eine `` Komponente den fokus verliert.\r\n * Hier werden alle `CmAbs` Zellen Änderungen in der Datenbank gespeichert.\r\n * @param e Das auslösende Event.\r\n */\r\n private saveCmAbs = (e: ITableCellEventArgs) => {\r\n const { tenant, patchSingleOps, getOpssSum } = this.props;\r\n const { dataSource } = e;\r\n\r\n patchSingleOps && patchSingleOps(tenant!.selectedTenant!.ik, {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/cm_abs\",\r\n value: dataSource.cm_abs\r\n }\r\n ]\r\n }, (ik: string) => getOpssSum(ik));\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.table, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onShareColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.share, width, accessor);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onSummaryColumnResize = (width: number, accessor: string) => {\r\n this.setStorage(TABLE_STORAGE_KEYS.summary, width, accessor);\r\n }\r\n\r\n private setStorage = (key: string, width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === key && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: key,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private onFilter = () => {\r\n const { tenant, getOpssSum } = this.props;\r\n getOpssSum(tenant!.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { nlOps } = this.props;\r\n const { selectedTabIndex } = this.state;\r\n\r\n return (\r\n \r\n {nlOps && nlOps.errorMessage &&\r\n \r\n {nlOps.errorMessage}\r\n \r\n }\r\n \r\n \r\n \r\n \r\n Hinweis: Zur CM-Steigerung / -Reduzierung neuer Leistungen bitte eine FAB auswählen.\r\n \r\n \r\n Hinweis: Der Anteil der verteilten CM-Punkte je OPS sollte 100% entsprechen.\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n nlOps: state.nlOps\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...NlOpsActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../ui/Table\";\r\nimport { Button } from \"../../ui/Inputs\";\r\nimport { Alert } from \"../../ui/Alert\";\r\nimport { IApplicationState, ErgebnisActions, AccountActions, IErgebnis } from \"../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { PageFormulaTree, PageContainer, PageLoader, PageTable } from \"../helpers\";\r\n /**\r\n * import { PageFormulaTree, PageContainer, PageLoader, PageTable, PageReports } from \"../helpers\";\r\n */\r\nimport * as localstorage from \"../../redux/helpers/localstorage\";\r\nimport { LoaderStyle, Loader } from \"../../ui/Loader\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof ErgebnisActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\nconst TABLE_STORAGE_KEY: string = \"e1_ergebnis\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 60\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 80\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 60\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 85\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"RelGew\",\r\n accessor: \"relgew\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ RelGew\",\r\n accessor: \"relgew_summe\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"KL-FZ\",\r\n accessor: \"fallzahl_kurzlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"KL-Tage\",\r\n accessor: \"tage_kurzlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"KL-Abschlag\",\r\n accessor: \"kurzlieger_abschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ KL-Abschlag\",\r\n accessor: \"kurzlieger_abschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"VL-FZ\",\r\n accessor: \"fallzahl_verlegung\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"VL-Tage\",\r\n accessor: \"tage_verlegung\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"VL-Abschlag\",\r\n accessor: \"verlegung_abschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ VL-Abschlag\",\r\n accessor: \"verlegung_abschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"LL-FZ\",\r\n accessor: \"fallzahl_langlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"LL-Tage\",\r\n accessor: \"tage_langlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"LL-Zuschlag\",\r\n accessor: \"langlieger_zuschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ LL-Zuschlag\",\r\n accessor: \"langlieger_zuschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"Pflegetage\",\r\n accessor: \"vwd\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { maximumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"Pflege-Relation\",\r\n accessor: \"pflege_cm\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ Pflege-Relation\",\r\n accessor: \"pflege_summe\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 4 }).format(data)\r\n },\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getErgebnis } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getErgebnis && getErgebnis(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getErgebnis } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getErgebnis && getErgebnis(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald der Benutzer will, dass das Ergebnis neu berechnet werden soll.\r\n */\r\n private calculateResults = async () =>\r\n {\r\n const { tenant, calculate } = this.props;\r\n await calculate(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private getExcel = async () =>\r\n {\r\n const { tenant, excel } = this.props;\r\n await excel(tenant.selectedTenant!.ik);\r\n }\r\n\r\n private getExcelZVMO = async () =>\r\n {\r\n const { tenant, excelzvmo } = this.props;\r\n await excelzvmo(tenant.selectedTenant!.ik);\r\n }\r\n\r\n private getExcelZVMOHerleitung = async () => {\r\n const { tenant, excelzvmoherleitung } = this.props;\r\n await excelzvmoherleitung(tenant.selectedTenant!.ik);\r\n }\r\n\r\n //private getExcelZVMOFDA = async () => {\r\n // const { tenant, excelzvmofda } = this.props;\r\n // await excelzvmofda(tenant.selectedTenant!.ik);\r\n //}\r\n\r\n private transfer = async () => {\r\n const { tenant, transfer } = this.props;\r\n await transfer(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { ergebnis } = this.props;\r\n //const { ergebnis, tenant } = this.props;\r\n\r\n return (\r\n \r\n {ergebnis && ergebnis.errorMessageReports &&\r\n \r\n {ergebnis.errorMessageReports}\r\n \r\n }\r\n \r\n \r\n {\r\n (ergebnis.errorMessage != undefined && ergebnis.errorMessage.startsWith(\"Das ergebnis muss neu berechnet\")) &&\r\n
\r\n
\r\n Es wurden Daten verändert die das Ergebnis beeinflussen könnten. Um das Ergebnis anzeigen zu können, müssen Sie es neu berechnen.\r\n \r\n Dies kann einige Minuten dauern.\r\n \r\n {!ergebnis.isFetching ? : \r\n }\r\n
\r\n
\r\n }\r\n \r\n {!ergebnis.isFetchingReports ?\r\n\r\n ergebnis.verbund && ergebnis.verbund.toLowerCase() === \"zvmo\" ?\r\n
\r\n \r\n \r\n \r\n
\r\n :\r\n \r\n :\r\n }\r\n \r\n \r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n /**\r\n * \r\n */\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ergebnis: state.ergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ErgebnisActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { Button } from \"../../../ui/Inputs\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { IApplicationState, ErgebnisActions, AccountActions, IErgebnis } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { PageFormulaTree, PageContainer, PageLoader, PageTable } from \"../../helpers\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Loader, LoaderStyle } from \"../../../ui/Loader\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof ErgebnisActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\nconst TABLE_STORAGE_KEY: string = \"e1_ueberlieger\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 60\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 80\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 60\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 85\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"RelGew\",\r\n accessor: \"relgew\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ RelGew\",\r\n accessor: \"relgew_summe\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"KL-FZ\",\r\n accessor: \"fallzahl_kurzlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"KL-Tage\",\r\n accessor: \"tage_kurzlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"KL-Abschlag\",\r\n accessor: \"kurzlieger_abschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ KL-Abschlag\",\r\n accessor: \"kurzlieger_abschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"VL-FZ\",\r\n accessor: \"fallzahl_verlegung\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"VL-Tage\",\r\n accessor: \"tage_verlegung\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"VL-Abschlag\",\r\n accessor: \"verlegung_abschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ VL-Abschlag\",\r\n accessor: \"verlegung_abschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"LL-FZ\",\r\n accessor: \"fallzahl_langlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"LL-Tage\",\r\n accessor: \"tage_langlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"LL-Zuschlag\",\r\n accessor: \"langlieger_zuschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ LL-Zuschlag\",\r\n accessor: \"langlieger_zuschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"VWD\",\r\n accessor: \"vwd\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getUeberlieger } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getUeberlieger && getUeberlieger(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getUeberlieger } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getUeberlieger && getUeberlieger(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private getExcel = async () => {\r\n const { tenant, excel } = this.props;\r\n await excel(tenant.selectedTenant!.ik);\r\n }\r\n\r\n private getExcelZVMO = async () => {\r\n const { tenant, excelzvmo } = this.props;\r\n await excelzvmo(tenant.selectedTenant!.ik);\r\n }\r\n\r\n private getExcelZVMOHerleitung = async () => {\r\n const { tenant, excelzvmoherleitung } = this.props;\r\n await excelzvmoherleitung(tenant.selectedTenant!.ik);\r\n }\r\n\r\n //private getExcelZVMOFDA = async () => {\r\n // const { tenant, excelzvmofda } = this.props;\r\n // await excelzvmofda(tenant.selectedTenant!.ik);\r\n //}\r\n\r\n private calculateResults = async () => {\r\n const { tenant, calculateueberlieger } = this.props;\r\n await calculateueberlieger(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { ergebnis } = this.props;\r\n //const { ergebnis, tenant } = this.props;\r\n\r\n return (\r\n \r\n {ergebnis && ergebnis.errorMessageReports &&\r\n \r\n {ergebnis.errorMessageReports}\r\n \r\n }\r\n \r\n \r\n\r\n {\r\n (ergebnis.errorMessage != undefined && ergebnis.errorMessage.startsWith(\"Das ergebnis muss neu berechnet\")) &&\r\n
\r\n
\r\n Es wurden Daten verändert die das Ergebnis beeinflussen könnten. Um das Ergebnis anzeigen zu können, müssen Sie es neu berechnen.\r\n \r\n Dies kann einige Minuten dauern.\r\n \r\n {!ergebnis.isFetching ? :\r\n }\r\n
\r\n
\r\n }\r\n\r\n \r\n {!ergebnis.isFetchingReports ?\r\n \r\n ergebnis.verbund && ergebnis.verbund.toLowerCase() === \"zvmo\" ?\r\n
\r\n \r\n \r\n
\r\n :\r\n \r\n :\r\n }\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n/**\r\n * \r\n */\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ergebnis: state.ergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ErgebnisActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { Button } from \"../../../ui/Inputs\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { IApplicationState, ErgebnisActions, AccountActions, IMengen, IMengenDRGListe} from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { PageFormulaTree, PageContainer, PageLoader, PageTabControl } from \"../../helpers\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { Loader, LoaderStyle } from \"../../../ui/Loader\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof ErgebnisActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\nconst TABLE_STORAGE_KEY: string = \"e1_mindestmengen\";\r\n\r\ninterface IState {\r\n /**\r\n * Das momentan selektierte TabItem.\r\n */\r\n selectedTabIndex?: number;\r\n}\r\n\r\nclass Page extends Component\r\n{\r\n state: IState = {};\r\n\r\n private onTabChanged = (index: number) => {\r\n this.setState({\r\n selectedTabIndex: index\r\n });\r\n }\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 325\r\n },\r\n {\r\n header: \"Ist\",\r\n accessor: \"istmenge\",\r\n width: 75,\r\n alignRight: true,\r\n cell: (data: IMengen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Plan\",\r\n accessor: \"planmenge\",\r\n width: 75,\r\n alignRight: true,\r\n cell: (data: IMengen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Ziel\",\r\n accessor: \"mindestmenge\",\r\n width: 75,\r\n alignRight: true,\r\n cell: (data: IMengen) => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Prognose\",\r\n accessor: \"erreicht\",\r\n width: 125\r\n },\r\n ]; \r\n\r\n private _columnsliste: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 325\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 80\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 100,\r\n alignRight: true,\r\n cell: (data: IMengenDRGListe) => (\r\n \r\n )\r\n }\r\n ]; \r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getMengen } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c => {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined) {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getMengen && getMengen(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getMengen } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getMengen && getMengen(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n //private getExcel = async () => {\r\n // const { tenant, excel } = this.props;\r\n // await excel(tenant.selectedTenant!.ik);\r\n //}\r\n\r\n //private getExcelZVMO = async () => {\r\n // const { tenant, excelzvmo } = this.props;\r\n // await excelzvmo(tenant.selectedTenant!.ik);\r\n //}\r\n\r\n //private getExcelZVMOHerleitung = async () => {\r\n // const { tenant, excelzvmoherleitung } = this.props;\r\n // await excelzvmoherleitung(tenant.selectedTenant!.ik);\r\n //}\r\n\r\n //private getExcelZVMOFDA = async () => {\r\n // const { tenant, excelzvmofda } = this.props;\r\n // await excelzvmofda(tenant.selectedTenant!.ik);\r\n //}\r\n\r\n private calculateResults = async () => {\r\n const { tenant, calculateueberlieger } = this.props;\r\n await calculateueberlieger(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { ergebnis } = this.props;\r\n const { selectedTabIndex } = this.state;\r\n\r\n return (\r\n \r\n {ergebnis && ergebnis.errorMessageReports &&\r\n \r\n {ergebnis.errorMessageReports}\r\n \r\n }\r\n \r\n \r\n\r\n {\r\n (ergebnis.errorMessage != undefined && ergebnis.errorMessage.startsWith(\"Das ergebnis muss neu berechnet\")) &&\r\n
\r\n
\r\n Es wurden Daten verändert die das Ergebnis beeinflussen könnten. Um das Ergebnis anzeigen zu können, müssen Sie es neu berechnen.\r\n \r\n Dies kann einige Minuten dauern.\r\n \r\n {!ergebnis.isFetching ? :\r\n }\r\n
\r\n
\r\n }\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n/**\r\n * \r\n */\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ergebnis: state.ergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ErgebnisActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { IApplicationState, ErgebnisActions, AccountActions, IFdaMod, IFdaErgebnis } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { getCustomFilters, PageFormulaTree, PageContainer, PageLoader, PageTabControl } from \"../../helpers\";\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { ToolbarDropDownItem } from \"../../../ui/Toolbar\";\r\nimport { IComboBoxItem } from \"../../../ui/Utils/types\";\r\nimport { Button } from \"../../../ui/Inputs\";\r\nimport { LoaderStyle, Loader } from \"../../../ui/Loader\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof ErgebnisActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\nconst TABLE_STORAGE_KEY: string = \"fda\";\r\n\r\ninterface IState {\r\n /**\r\n * Das momentan selektierte TabItem.\r\n */\r\n selectedTabIndex?: number;\r\n}\r\n\r\nclass Page extends Component\r\n{\r\n state: IState = {};\r\n\r\n private onTabChanged = (index: number) => {\r\n this.setState({\r\n selectedTabIndex: index\r\n });\r\n }\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private getcolumns(themen: { key: string, value: string }[]): ITableColumn[] {\r\n return [\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 100\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 100\r\n },\r\n {\r\n header: \"Text\",\r\n accessor: \"drg_text\",\r\n width: 200\r\n },\r\n {\r\n header: \"Fallzahl Neu\",\r\n accessor: \"fallzahl_neu\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"Fallzahl Alt\",\r\n accessor: \"fallzahl_alt\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"EffGew Plan\",\r\n accessor: \"effgew_neu\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"EffGew Vereinbarung alt\",\r\n accessor: \"effgew_alt\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Mehr-/Minderleistung\",\r\n accessor: \"mehrleistung\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Abschlag\",\r\n accessor: \"hatabschlag\",\r\n width: 100\r\n },\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 250,\r\n cell: (data: IFdaMod) => (\r\n \r\n )\r\n },\r\n ];\r\n }\r\n\r\n private _ergebniscolumns: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 220,\r\n summaryValue: data => \"Summe\"\r\n },\r\n {\r\n header: \"EffGew Plan\",\r\n accessor: \"effgew_neu\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew Vereinbarung alt\",\r\n accessor: \"effgew_alt\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"Mehr-/Minderleistung\",\r\n accessor: \"diff\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Abschlag\",\r\n accessor: \"prozent\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM-Abschlag\",\r\n accessor: \"abschlag\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n }\r\n ];\r\n\r\n private calculateResults = async () => {\r\n const { tenant, calculatefda } = this.props;\r\n await calculatefda(tenant.selectedTenant!.ik);\r\n }\r\n\r\n private onSelectionChange = (selectedItem: IComboBoxItem, record: IFdaMod) => {\r\n const { patchFdaThema, getFdaErgebnis, tenant } = this.props;\r\n\r\n patchFdaThema && patchFdaThema(tenant!.selectedTenant!.ik, {\r\n id: record.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/thema\",\r\n value: selectedItem.key\r\n }\r\n ]\r\n }, record, getFdaErgebnis);\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getFda } = this.props;\r\n //const storage = localstorage.get();\r\n\r\n //this._columns.forEach(c =>\r\n //{\r\n // const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n // if (column != undefined)\r\n // {\r\n // c.width = column.width;\r\n // }\r\n //});\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getFda && getFda(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getFda } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getFda && getFda(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) => {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined) {\r\n column.width = width;\r\n }\r\n else {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { ergebnis, uebersicht } = this.props;\r\n const { selectedTabIndex } = this.state;\r\n\r\n const themen = ergebnis.fdathemen.map(f => ({ key: f, value: f }))\r\n\r\n var fdawarning = undefined;\r\n if (uebersicht.vg == false) fdawarning = Eine Berechnung des FDA kann erfolgen, sofern Sie die Vereinbarungsüberleitung bei der GSG beauftragt haben. Mehr Informationen zur Vereinbarungsüberleitung der GSG erhalten Sie über unseren GSG Online-Shop.\r\n\r\n return (\r\n \r\n {ergebnis && ergebnis.errorMessageReports &&\r\n \r\n {ergebnis.errorMessageReports}\r\n \r\n }\r\n \r\n \r\n\r\n {\r\n (ergebnis.errorMessage != undefined && ergebnis.errorMessage.startsWith(\"Das ergebnis muss neu berechnet\")) &&\r\n
\r\n
\r\n Es wurden Daten verändert, die das Ergebnis beeinflussen könnten. Um das Ergebnis anzeigen zu können, müssen Sie es neu berechnen.\r\n \r\n Dies kann einige Minuten dauern.\r\n \r\n {!ergebnis.isFetching ? :\r\n }\r\n
\r\n
\r\n }\r\n\r\n \r\n {fdawarning}\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n/**\r\n * \r\n */\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ergebnis: state.ergebnis,\r\n uebersicht: state.uebersicht\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ErgebnisActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport { ITableColumn, TableRowNumberCell, TableRowTextboxCell } from \"../../../ui/Table\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { IApplicationState, ErgebnisActions, AccountActions, IFdaMl, IJsonPatch } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { PageFormulaTree, PageContainer, PageLoader, PageTable } from \"../../helpers\";\r\nimport { Button } from \"../../../ui/Inputs\";\r\nimport { LoaderStyle, Loader } from \"../../../ui/Loader\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\nimport { ITableCellEventArgs } from \"../../../ui/Table/Types\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof ErgebnisActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\nclass Page extends Component\r\n{\r\n\r\n private _ergebniscolumns: ITableColumn[] = [\r\n {\r\n header: \"Thema\",\r\n accessor: \"thema\",\r\n width: 220,\r\n summaryValue: data => \"Summe\"\r\n },\r\n {\r\n header: \"EffGew Plan\",\r\n accessor: \"effgew_neu\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew Vereinbarung alt\",\r\n accessor: \"effgew_alt\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"Mehr-/Minderleistung\",\r\n accessor: \"diff\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Abschlag\",\r\n accessor: \"prozent\",\r\n width: 100,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"CM-Abschlag\",\r\n accessor: \"abschlag\",\r\n width: 120,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"Verhandelte Mehrleistung\",\r\n accessor: \"mehrleistung\",\r\n width: 100,\r\n cell: (data: IFdaMl) => (\r\n \r\n )\r\n }\r\n ];\r\n\r\n private saveMl = (e: ITableCellEventArgs) => {\r\n const { tenant, patchFdaMl } = this.props;\r\n const { dataSource } = e;\r\n\r\n let f: IJsonPatch = {\r\n id: dataSource.id,\r\n patch: [\r\n {\r\n op: \"replace\",\r\n path: \"/mehrleistung\",\r\n value: dataSource.mehrleistung\r\n }\r\n ]\r\n };\r\n\r\n patchFdaMl && patchFdaMl(tenant!.selectedTenant!.ik, f);\r\n }\r\n\r\n private calculateResults = async () => {\r\n const { tenant, calculatefdaml } = this.props;\r\n await calculatefdaml(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount() {\r\n const { tenant, getFdaMl } = this.props;\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined) {\r\n getFdaMl && getFdaMl(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties) {\r\n const { tenant, getFdaMl } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n ) {\r\n getFdaMl && getFdaMl(tenant.selectedTenant.ik);\r\n }\r\n } \r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode {\r\n const { ergebnis } = this.props;\r\n\r\n return (\r\n \r\n {ergebnis && ergebnis.errorMessageReports &&\r\n \r\n {ergebnis.errorMessageReports}\r\n \r\n }\r\n \r\n \r\n\r\n {\r\n (ergebnis.errorMessage != undefined && ergebnis.errorMessage.startsWith(\"Das ergebnis muss neu berechnet\")) &&\r\n
\r\n
\r\n Es wurden Daten verändert, die das Ergebnis beeinflussen könnten. Um das Ergebnis anzeigen zu können, müssen Sie es neu berechnen.\r\n \r\n Dies kann einige Minuten dauern.\r\n \r\n {!ergebnis.isFetching ? :\r\n }\r\n
\r\n
\r\n }\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n/**\r\n * \r\n */\r\nfunction mapStateToProps(state: IApplicationState) {\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ergebnis: state.ergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ErgebnisActions.actionCreators })(Page as any);\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"../../global-page-style.scss\";\r\nimport { ITableColumn, TableRowNumberCell } from \"../../../ui/Table\";\r\nimport { Button } from \"../../../ui/Inputs\";\r\nimport { Alert } from \"../../../ui/Alert\";\r\nimport { IApplicationState, ErgebnisActions, AccountActions, IErgebnis } from \"../../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { RouteComponentProps } from \"react-router\";\r\nimport { PageFormulaTree, PageContainer, PageLoader, PageTable } from \"../../helpers\";\r\n /**\r\n * import { PageFormulaTree, PageContainer, PageLoader, PageTable, PageReports } from \"../helpers\";\r\n */\r\nimport * as localstorage from \"../../../redux/helpers/localstorage\";\r\nimport { LoaderStyle, Loader } from \"../../../ui/Loader\";\r\n\r\ntype Properties = IApplicationState &\r\n typeof AccountActions.actionCreators &\r\n typeof ErgebnisActions.actionCreators &\r\n RouteComponentProps<{}>;\r\n\r\nconst TABLE_STORAGE_KEY: string = \"e1_ergebnis_nachverhandlung\";\r\n\r\nclass Page extends Component\r\n{\r\n /**\r\n * Spalten definitionen.\r\n */\r\n private _columns: ITableColumn[] = [\r\n {\r\n header: \"Standort\",\r\n accessor: \"entlassender_standort\",\r\n width: 60\r\n },\r\n {\r\n header: \"FAB\",\r\n accessor: \"fab\",\r\n width: 135,\r\n summaryValue: data => \"Summe\"\r\n },\r\n {\r\n header: \"DRG\",\r\n accessor: \"drg\",\r\n width: 80\r\n },\r\n {\r\n header: \"Abt-Typ\",\r\n accessor: \"abteilungstyp\",\r\n width: 60\r\n },\r\n {\r\n header: \"DRG-Text\",\r\n accessor: \"drg_text\",\r\n width: 85\r\n },\r\n {\r\n header: \"Fallzahl\",\r\n accessor: \"fallzahl\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"RelGew\",\r\n accessor: \"relgew\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ RelGew\",\r\n accessor: \"relgew_summe\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"KL-FZ\",\r\n accessor: \"fallzahl_kurzlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"KL-Tage\",\r\n accessor: \"tage_kurzlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"KL-Abschlag\",\r\n accessor: \"kurzlieger_abschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ KL-Abschlag\",\r\n accessor: \"kurzlieger_abschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"VL-FZ\",\r\n accessor: \"fallzahl_verlegung\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"VL-Tage\",\r\n accessor: \"tage_verlegung\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"VL-Abschlag\",\r\n accessor: \"verlegung_abschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ VL-Abschlag\",\r\n accessor: \"verlegung_abschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"LL-FZ\",\r\n accessor: \"fallzahl_langlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"LL-Tage\",\r\n accessor: \"tage_langlieger\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"LL-Zuschlag\",\r\n accessor: \"langlieger_zuschlag\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ LL-Zuschlag\",\r\n accessor: \"langlieger_zuschlag_summe\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"EffGew\",\r\n accessor: \"effgew\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 3 }).format(data)\r\n },\r\n {\r\n header: \"Pflegetage\",\r\n accessor: \"vwd\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { maximumFractionDigits: 0 }).format(data)\r\n },\r\n {\r\n header: \"Pflege-Relation\",\r\n accessor: \"pflege_cm\",\r\n width: 90,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n )\r\n },\r\n {\r\n header: \"Σ Pflege-Relation\",\r\n accessor: \"pflege_summe\",\r\n width: 110,\r\n alignRight: true,\r\n cell: data => (\r\n \r\n ),\r\n summaryValue: data => new Intl.NumberFormat(\"de-DE\", { minimumFractionDigits: 4 }).format(data)\r\n },\r\n ];\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM geladen wurde.\r\n * Hier werden erstmalig alle benötigten Daten aus der Datenbank geladen.\r\n */\r\n componentDidMount()\r\n {\r\n const { tenant, getErgebnisMl } = this.props;\r\n const storage = localstorage.get();\r\n\r\n this._columns.forEach(c =>\r\n {\r\n const column = storage.columnWidths.where(cw => cw.page === TABLE_STORAGE_KEY && cw.accessor === c.accessor).first();\r\n if (column != undefined)\r\n {\r\n c.width = column.width;\r\n }\r\n });\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n getErgebnisMl && getErgebnisMl(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisiert wird.\r\n * Wird dafür verwendet um die Daten neuzuladen wenn sich der Mandant ändert.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { tenant, getErgebnisMl } = this.props;\r\n\r\n if (\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant != undefined && prevProps.tenant.selectedTenant != undefined && prevProps.tenant.selectedTenant.ik !== tenant.selectedTenant.ik)) ||\r\n ((tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (prevProps.tenant == undefined || prevProps.tenant.selectedTenant == undefined))\r\n )\r\n {\r\n getErgebnisMl && getErgebnisMl(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald der Benutzer will, dass das Ergebnis neu berechnet werden soll.\r\n */\r\n private calculateResults = async () =>\r\n {\r\n const { tenant, calculateml } = this.props;\r\n await calculateml(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n * @param width Die momentane größe der Spalte.\r\n * @param accessor Der Name der Spalte.\r\n */\r\n private onColumnResize = (width: number, accessor: string) =>\r\n {\r\n const storage = localstorage.get();\r\n const columns = [...storage.columnWidths];\r\n const column = columns.where(c => c.page === TABLE_STORAGE_KEY && c.accessor === accessor).first();\r\n\r\n if (column != undefined)\r\n {\r\n column.width = width;\r\n }\r\n else\r\n {\r\n columns.push({\r\n page: TABLE_STORAGE_KEY,\r\n accessor,\r\n width\r\n });\r\n }\r\n\r\n localstorage.set({\r\n columnWidths: columns\r\n });\r\n }\r\n\r\n private getExcel = async () =>\r\n {\r\n const { tenant, excelMl } = this.props;\r\n await excelMl(tenant.selectedTenant!.ik);\r\n }\r\n\r\n private getExcelZVMO = async () =>\r\n {\r\n const { tenant, excelzvmoMl } = this.props;\r\n await excelzvmoMl(tenant.selectedTenant!.ik);\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { ergebnis } = this.props;\r\n //const { ergebnis, tenant } = this.props;\r\n\r\n return (\r\n \r\n {ergebnis && ergebnis.errorMessageReports &&\r\n \r\n {ergebnis.errorMessageReports}\r\n \r\n }\r\n \r\n \r\n {\r\n (ergebnis.errorMessage != undefined && ergebnis.errorMessage.startsWith(\"Das ergebnis muss neu berechnet\")) &&\r\n
\r\n
\r\n Es wurden Daten verändert die das Ergebnis beeinflussen könnten. Um das Ergebnis anzeigen zu können, müssen Sie es neu berechnen.\r\n \r\n Dies kann einige Minuten dauern.\r\n \r\n {!ergebnis.isFetching ? : \r\n }\r\n
\r\n
\r\n }\r\n \r\n {!ergebnis.isFetchingReports ?\r\n\r\n ergebnis.verbund && ergebnis.verbund.toLowerCase() === \"zvmo\" ?\r\n
\r\n \r\n \r\n
\r\n :\r\n \r\n :\r\n }\r\n \r\n \r\n
\r\n
\r\n\r\n );\r\n }\r\n}\r\n /**\r\n * \r\n */\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n ergebnis: state.ergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ErgebnisActions.actionCreators })(Page as any);\r\n","import * as React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport { RouteComponentProps, Redirect } from \"react-router\";\r\nimport { routes } from \"./routing\";\r\nimport { Callback } from \"../auth\";\r\nimport Layout from \"./layout\";\r\nimport Uebersicht from \"../uebersicht/main\";\r\nimport Mindestmengen from \"../uebersicht/mindestmengen\";\r\nimport Entwicklung from \"../uebersicht/entwicklung\";\r\nimport VordefinitionOps from \"../vordefinition/ops\";\r\nimport VordefinitionDrg from \"../vordefinition/drg\";\r\nimport VordefinitionBg from \"../vordefinition/bg\";\r\nimport VordefinitionMdc from \"../vordefinition/mdc\";\r\nimport VordefinitionFab from \"../vordefinition/fab\";\r\nimport ModifikationOps from \"../modifikation/ops\";\r\nimport ModifikationDrg from \"../modifikation/drg\";\r\nimport ModifikationBg from \"../modifikation/bg\";\r\nimport ModifikationMdc from \"../modifikation/mdc\";\r\nimport ModifikationFab from \"../modifikation/fab\";\r\nimport ModifikationKh from \"../modifikation-kh\";\r\nimport ModifikationFda from \"../modifikation-kh/fda\";\r\nimport NlBg from \"../neue-leistungen/bg\";\r\nimport NlDrg from \"../neue-leistungen/drg\";\r\nimport NeueThemen from \"../neue-leistungen/neue-themen\";\r\nimport NlOps from \"../neue-leistungen/ops\";\r\nimport Ergebnis from \"../e1-formular\";\r\nimport Ueberlieger from \"../e1-formular/ueberlieger\";\r\nimport MindestmengenErgebnis from \"../e1-formular/mindestmengen\";\r\nimport Fda from \"../e1-formular/fda\";\r\nimport FdaNachVerhandlung from \"../e1-formular/fdanachverhandlung\";\r\nimport E1NachVerhandlung from \"../e1-formular/e1nachverhandlung\";\r\nimport { Loader, LoaderStyle } from \"../../ui/Loader\";\r\nimport { IApplicationState, AccountActions, TenantActions, ITenant } from \"../../redux\";\r\nimport { getHost } from \"../helpers/get-host\";\r\nimport { IComboBoxItem } from \"../../ui/Utils/types\";\r\nimport * as localstorage from \"../../redux/helpers/localstorage\";\r\n\r\ntype RoutesModuleProps = Partial &\r\n Partial &\r\n Partial\r\n & RouteComponentProps<{}>\r\n & { dispatch?: any };\r\n\r\nclass RoutesModule extends React.Component\r\n{\r\n private _tenantWasSet: boolean = false;\r\n\r\n componentDidMount()\r\n {\r\n const { showInterimResult, hideInterimResult } = this.props;\r\n const storage = localstorage.get();\r\n\r\n if (storage.isInterimResultVisible)\r\n {\r\n showInterimResult && showInterimResult();\r\n }\r\n else\r\n {\r\n hideInterimResult && hideInterimResult();\r\n }\r\n }\r\n\r\n componentDidUpdate()\r\n {\r\n const { oidc, tenant: tenantState, setTenant } = this.props;\r\n const isUserUnset: boolean = (oidc == undefined || oidc.user == undefined);\r\n const isTenantUnset: boolean = (tenantState == undefined || tenantState.selectedTenant == undefined);\r\n const searchValue: string = this.getSearch();\r\n\r\n if (!isUserUnset && (isTenantUnset || !this._tenantWasSet))\r\n {\r\n const userTenants = oidc!.user.profile.tenants;\r\n const isArray = (userTenants as ITenant[]).first != undefined;\r\n\r\n if (isArray)\r\n {\r\n const tenants = userTenants as ITenant[];\r\n let selectedTenant: ITenant = tenants.where(t => t.ik === searchValue).first() || tenants.first();\r\n\r\n if (isTenantUnset)\r\n {\r\n const storage = localstorage.get();\r\n if (storage.tenantId != undefined && storage.tenantId !== \"\")\r\n {\r\n selectedTenant = tenants.where(t => t.ik === storage.tenantId).first() || tenants.first();\r\n setTenant && setTenant(selectedTenant);\r\n }\r\n else\r\n {\r\n setTenant && setTenant(selectedTenant);\r\n }\r\n }\r\n else\r\n {\r\n setTenant && setTenant(selectedTenant);\r\n }\r\n }\r\n else\r\n {\r\n const tenant = userTenants as ITenant;\r\n setTenant && setTenant(tenant);\r\n }\r\n\r\n this._tenantWasSet = true;\r\n }\r\n }\r\n\r\n private getSearch(): string\r\n {\r\n const { location } = this.props;\r\n const uri: URL = new URL(getHost(location.pathname + location.search));\r\n return uri.searchParams.get(\"ik\") || \"\";\r\n }\r\n\r\n private getTenants = (): IComboBoxItem[] =>\r\n {\r\n const { oidc } = this.props;\r\n const tenants = oidc!.user!.profile.tenants;\r\n if ((tenants as ITenant[]).map)\r\n {\r\n return (tenants as ITenant[]).map(t => ({\r\n key: t.ik,\r\n value: `${t.khname} (${t.ik})`\r\n }));\r\n }\r\n else\r\n {\r\n return [\r\n {\r\n key: (tenants as ITenant).ik,\r\n value: `${(tenants as ITenant).khname} (${(tenants as ITenant).ik})`\r\n }\r\n ];\r\n }\r\n }\r\n\r\n private getSelectedTenant = (): IComboBoxItem =>\r\n {\r\n const { tenant } = this.props;\r\n\r\n if (tenant != undefined && tenant.selectedTenant != undefined)\r\n {\r\n return {\r\n key: tenant.selectedTenant.ik,\r\n value: `${tenant.selectedTenant.khname} (${tenant.selectedTenant.ik})`\r\n };\r\n }\r\n else\r\n {\r\n return this.getTenants().first();\r\n }\r\n }\r\n\r\n render()\r\n {\r\n const { location, oidc, tenant } = this.props;\r\n\r\n // Handle IdentityServer Callback.\r\n if (location.pathname == \"/callback\")\r\n {\r\n return ;\r\n }\r\n \r\n // Warten bis alles geladen ist.\r\n if (oidc!.isLoadingUser || !location || (tenant == undefined || tenant.selectedTenant == undefined))\r\n {\r\n if (!oidc!.isLoadingUser && location.pathname == \"/\" && oidc!.user == null && (tenant == undefined || tenant.selectedTenant == undefined)) {\r\n setTimeout(() => {\r\n if (!oidc!.isLoadingUser && location.pathname == \"/\" && oidc!.user == null && (tenant == undefined || tenant.selectedTenant == undefined)) window.location.reload();\r\n }, 3000);\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n const search = this.getSearch();\r\n if (search === \"\" || search !== tenant.selectedTenant.ik)\r\n {\r\n if (location.pathname === \"/\")\r\n {\r\n return ;\r\n }\r\n else\r\n {\r\n return ;\r\n }\r\n }\r\n\r\n setTimeout(() =>\r\n {\r\n this._tenantWasSet = false;\r\n }, 1000);\r\n const isConnected: boolean = !!oidc!.user;\r\n const tenants = this.getTenants();\r\n const selectedTenant = this.getSelectedTenant();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n oidc: state.oidc,\r\n account: state.account,\r\n tenant: state.tenant\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch: any)\r\n{\r\n return {\r\n dispatch\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...mapDispatchToProps, ...AccountActions.actionCreators, ...TenantActions.actionCreators })(RoutesModule);\r\n","/**\r\n * Gibt den Host des Terminplaners zurück.\r\n * @param url Die übergebene URL wird an den Host angehängt und zurückgegeben.\r\n */\r\nexport function getHost(url?: string): string\r\n{\r\n const host: string[] = [];\r\n host.push(window.location.origin);\r\n\r\n if (url)\r\n {\r\n if (url.charAt(0) === \"/\")\r\n {\r\n host.push(url);\r\n }\r\n else\r\n {\r\n host.push(\"/\" + url);\r\n }\r\n }\r\n\r\n return host.join(\"\");\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { RouteComponentProps, Route } from \"react-router-dom\";\r\nimport configureStore from \"./packages/redux/configure-store\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport { Provider } from \"react-redux\";\r\nimport RoutesModule from \"./packages/pages/main/routes\";\r\nimport { ConnectedRouter } from \"connected-react-router\";\r\n\r\n// Create browser history to use in the Redux store\r\nconst history = createBrowserHistory({ basename: process.env.NODE_ENV === \"development\" ? \"/\" : process.env.REACT_APP_BASENAME });\r\nconst store = configureStore(history);\r\n\r\nclass App extends Component\r\n{\r\n\r\n private getRoutesModule = (props: RouteComponentProps) =>\r\n {\r\n return (\r\n \r\n );\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"@babel/polyfill\";\r\nimport \"url-polyfill\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport userManager, { setToken } from \"./packages/redux/user-manager\";\r\nimport { Loader, LoaderStyle } from \"./packages/ui/Loader\";\r\n\r\nif (window.location.pathname === \"/silent-renew\")\r\n{\r\n userManager.signinSilentCallback();\r\n}\r\nelse if (window.location.pathname === \"/callback\")\r\n{\r\n ReactDOM.render(, document.getElementById(\"root\"));\r\n}\r\nelse\r\n{\r\n ReactDOM.render(\r\n ,\r\n document.getElementById(\"root\")\r\n );\r\n\r\n userManager\r\n .getUser()\r\n .then(user =>\r\n {\r\n if (user && !user.expired)\r\n {\r\n setToken(user);\r\n ReactDOM.render(, document.getElementById(\"root\"));\r\n }\r\n else\r\n {\r\n userManager.signinRedirect({\r\n state: {\r\n data: window.location.pathname\r\n }\r\n });\r\n }\r\n })\r\n .catch(error =>\r\n {\r\n console.log(error);\r\n });\r\n\r\n}\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import { createUserManager } from \"redux-oidc\";\r\nimport { UserManagerSettings, User as OidcUser } from \"oidc-client\";\r\nimport Axios from \"axios\";\r\n\r\nconst userManagerConfig: UserManagerSettings = {\r\n authority: process.env.NODE_ENV === \"development\" ? process.env.REACT_APP_IDENTITY_SERVER_DEV : process.env.REACT_APP_IDENTITY_SERVER_PROD,\r\n client_id: \"drg_planungstool\",\r\n redirect_uri: `${!process.env.PUBLIC_URL ? location.origin : process.env.PUBLIC_URL}/callback`,\r\n post_logout_redirect_uri: `${!process.env.PUBLIC_URL ? location.origin : process.env.PUBLIC_URL}/callback`,\r\n response_type: \"token id_token\",\r\n scope: \"openid profile user drg_api\",\r\n silent_redirect_uri: `${!process.env.PUBLIC_URL ? location.origin : process.env.PUBLIC_URL}/silent-renew`,\r\n automaticSilentRenew: true,\r\n filterProtocolClaims: true,\r\n loadUserInfo: true,\r\n monitorSession: true\r\n};\r\n\r\nconst userManager = createUserManager(userManagerConfig);\r\n\r\nuserManager.events.addUserSignedOut(() =>\r\n{\r\n userManager.removeUser();\r\n userManager.signinRedirect();\r\n});\r\n\r\nuserManager.events.addUserLoaded((user: OidcUser) =>\r\n{\r\n setToken(user);\r\n});\r\n\r\nuserManager.events.addSilentRenewError(error =>\r\n{\r\n console.error(\"error while renewing the access token\", error);\r\n});\r\n\r\nexport default userManager;\r\n\r\nexport interface ITenant\r\n{\r\n ik: string;\r\n planjahr: number;\r\n datenbasis: number;\r\n khname: string;\r\n ist_ergebnis_alt: string;\r\n verbund: string;\r\n}\r\n\r\nexport interface UserClaims\r\n{\r\n amr: string[];\r\n auth_time: number;\r\n idp: string;\r\n name: string;\r\n sid: string;\r\n sub: string;\r\n tenants: ITenant | ITenant[];\r\n is_ad_auth: boolean;\r\n}\r\n\r\nexport interface User extends OidcUser\r\n{\r\n profile: UserClaims;\r\n}\r\n\r\nexport const setToken = (user: User) =>\r\n{\r\n Axios.defaults.headers.common.Authorization = `${user.token_type} ${user.access_token}`;\r\n};\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contexmenuWrapper\":\"_1YuxUIf5azqNCJcgGMFTB8\",\"contextmenu\":\"_16Sv0T0rqcVACaP8t0UnJI\",\"item\":\"_1zC4icTjPo1a0GS9Imqh5N\",\"itemIcon\":\"_32i5vQBwfC346HG-mOMdDJ\",\"noIndent\":\"_3vZ8b9fxBInhP3Zo1R2rqx\",\"itemText\":\"IPQ6Jqk0n-bYV1JHPaFrf\",\"big\":\"-Il5EdDu320-v_05b1XCM\",\"separatorContainer\":\"_1Mv7SBFw_WZFzkA4vofpx2\",\"separator\":\"_3d7gy30iGcQSoI_fi7-hfu\",\"header\":\"_30eJwhVXuqZ8oMoMm2xVwu\",\"popup\":\"_1TTmo8-UmxW_d6TwD9antg\",\"placementLeft\":\"_3mo6D9ixyOOxX-bdayAtOv\",\"placementRight\":\"_1RjfItZkLxbAuZk-G2jUWe\",\"placementTop\":\"_1Oa44s-NTU-94he2KoZqtM\",\"placementBottom\":\"uImETdYNgggKrkJP1VsxC\"};","import * as React from \"react\";\r\nimport { DomNode } from \"./types\";\r\n\r\nexport function setRef(ref: DomNode | React.Ref, value: DomNode)\r\n{\r\n if (typeof ref === \"function\")\r\n {\r\n ref(value as Element);\r\n }\r\n else if (ref != undefined)\r\n {\r\n ref = value;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { setRef } from \"../Utils/setRef\";\r\nimport { DomNode } from \"../Utils/types\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * The wrapped element.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Provide a way to access the DOM node of the wrapped element.\r\n * You can provide a callback ref or a `React.createRef()` ref.\r\n */\r\n rootRef: DomNode | React.Ref;\r\n}\r\n\r\n/**\r\n * Helper component to allow attaching a ref to a\r\n * wrapped element to access the underlying DOM element.\r\n *\r\n * Highly inspired by https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/RootRef/RootRef.js.\r\n */\r\nexport class RootRef extends React.PureComponent\r\n{\r\n // tslint:disable-next-line:no-null-keyword\r\n private _ref: DomNode = null;\r\n\r\n componentDidMount()\r\n {\r\n this._ref = ReactDOM.findDOMNode(this);\r\n setRef(this.props.rootRef, this._ref);\r\n }\r\n\r\n componentDidUpdate(prevProps: IProperties)\r\n {\r\n const { rootRef } = this.props;\r\n const { rootRef: prevRootRef } = prevProps;\r\n const ref = ReactDOM.findDOMNode(this);\r\n\r\n if (prevRootRef !== rootRef || this._ref !== ref)\r\n {\r\n if (prevRootRef !== rootRef)\r\n {\r\n // tslint:disable-next-line:no-null-keyword\r\n setRef(prevRootRef, null);\r\n }\r\n\r\n this._ref = ref;\r\n setRef(rootRef, this._ref);\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n // tslint:disable-next-line:no-null-keyword\r\n this._ref = null;\r\n\r\n // tslint:disable-next-line:no-null-keyword\r\n setRef(this.props.rootRef, null);\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n return this.props.children;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport ownerDocument from \"../Utils/ownerDocument\";\r\nimport { HTMLElementFunc, DomNode } from \"../Utils/types\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * A node, component instance, or function that returns either.\r\n * The \"container\" will have the portal children appended to it.\r\n * By default, it uses the body of the top-level document object,\r\n * so it's simply \"document.body\" most of the time.\r\n */\r\n container: HTMLElement | HTMLElementFunc;\r\n\r\n /**\r\n * Disable the portal behavior.\r\n * The children stay within it's parent DOM hierarchy.\r\n */\r\n disablePortal?: boolean;\r\n\r\n /**\r\n * Callback fired once the children has been mounted into the \"container\".\r\n */\r\n onRendered: () => void;\r\n}\r\n\r\n/**\r\n * Portals provide a first-class way to render children into a DOM node\r\n * that exists outside the DOM hierarchy of the parent component.\r\n */\r\nexport class Portal extends React.PureComponent\r\n{\r\n // tslint:disable-next-line:no-null-keyword\r\n private _mountNode: DomNode = null;\r\n\r\n componentDidMount()\r\n {\r\n this.setMountNode(this.props.container);\r\n\r\n // Only rerender if needed\r\n if (!this.props.disablePortal)\r\n {\r\n this.forceUpdate(this.props.onRendered);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: IProperties)\r\n {\r\n if (\r\n prevProps.container !== this.props.container ||\r\n prevProps.disablePortal !== this.props.disablePortal\r\n )\r\n {\r\n this.setMountNode(this.props.container);\r\n\r\n // Only rerender if needed.\r\n if (!this.props.disablePortal)\r\n {\r\n this.forceUpdate(this.props.onRendered);\r\n }\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n // tslint:disable-next-line:no-null-keyword\r\n this._mountNode = null;\r\n }\r\n\r\n private setMountNode(container: HTMLElement | HTMLElementFunc)\r\n {\r\n if (this.props.disablePortal)\r\n {\r\n const node = ReactDOM.findDOMNode(this);\r\n\r\n if (node != undefined)\r\n {\r\n this._mountNode = node.parentElement;\r\n }\r\n\r\n return;\r\n }\r\n\r\n this._mountNode = this.getContainer(container, this.getOwnerDocument(this).body);\r\n }\r\n\r\n private getContainer(container: HTMLElement | HTMLElementFunc, defaultContainer: Element): Element | Text\r\n {\r\n container = typeof container === \"function\" ? container() : container;\r\n return ReactDOM.findDOMNode(container) || defaultContainer;\r\n }\r\n\r\n private getOwnerDocument(element: React.ReactInstance)\r\n {\r\n return ownerDocument(ReactDOM.findDOMNode(element));\r\n }\r\n\r\n public getMountNode = () =>\r\n {\r\n return this._mountNode;\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const { children, disablePortal } = this.props;\r\n\r\n if (disablePortal)\r\n {\r\n return children;\r\n }\r\n\r\n return this._mountNode ? ReactDOM.createPortal(children, this._mountNode as Element) : false;\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport PopperJS from \"popper.js\";\r\nimport { Placements } from \"../Enums\";\r\nimport { Portal } from \"../Portal\";\r\nimport { HTMLElementFunc, PopperChildrenFunc } from \"../Utils/types\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * This is the DOM element, or a function that returns the DOM element,\r\n * that may be used to set the position of the popover.\r\n * The return value will passed as the reference object of the Popper\r\n * instance.\r\n */\r\n anchorEl: HTMLElement | HTMLElementFunc;\r\n\r\n /**\r\n * Popper render function or node.\r\n */\r\n children: JSX.Element | PopperChildrenFunc;\r\n\r\n /**\r\n * A node, component instance, or function that returns either.\r\n * The \"container\" will passed to the Modal component.\r\n * By default, it uses the body of the anchorEl's top-level document object,\r\n * so it's simply \"document.body\" most of the time.\r\n */\r\n container: HTMLElement | HTMLElementFunc;\r\n\r\n /**\r\n * Disable the portal behavior.\r\n * The children stay within it's parent DOM hierarchy.\r\n */\r\n disablePortal?: boolean;\r\n\r\n /**\r\n * Always keep the children in the DOM.\r\n * This property can be useful in SEO situation or\r\n * when you want to maximize the responsiveness of the Popper.\r\n */\r\n keepMounted?: boolean;\r\n\r\n /**\r\n * Popper.js is based on a \"plugin-like\" architecture,\r\n * most of its features are fully encapsulated \"modifiers\".\r\n *\r\n * A modifier is a function that is called each time Popper.js needs to\r\n * compute the position of the popper.\r\n * For this reason, modifiers should be very performant to avoid bottlenecks.\r\n * To learn how to create a modifier, [read the modifiers documentation](https://github.com/FezVrasta/popper.js/blob/master/docs/_includes/popper-documentation.md#modifiers--object).\r\n */\r\n modifiers: any;\r\n\r\n /**\r\n * If \"true\", the popper is visible.\r\n */\r\n open: boolean;\r\n\r\n /**\r\n * Popper placement.\r\n */\r\n placement?: keyof typeof Placements;\r\n\r\n /**\r\n * Options provided to the [\"popper.js\"](https://github.com/FezVrasta/popper.js) instance.\r\n */\r\n popperOptions?: any;\r\n\r\n /**\r\n * Help supporting a react-transition-group/Transition component.\r\n */\r\n transition?: boolean;\r\n\r\n /**\r\n * The opacity of this component.\r\n */\r\n opacity?: number;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n readonly exited?: boolean = false;\r\n readonly placement?: PopperJS.Placement;\r\n\r\n constructor(props: IProperties)\r\n {\r\n this.exited = !props.open;\r\n }\r\n}\r\n\r\n/**\r\n * Popper Base Component.\r\n * Poppers rely on the 3rd party library [Popper.js](https://github.com/FezVrasta/popper.js) for positioning.\r\n */\r\nexport class Popper extends React.PureComponent\r\n{\r\n private _popper?: PopperJS;\r\n\r\n /**\r\n * Sets default values for the components properties.\r\n */\r\n public static defaultProps: Partial = {\r\n disablePortal: false,\r\n placement: \"bottom\",\r\n transition: false,\r\n opacity: 0.8\r\n };\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props);\r\n\r\n componentDidUpdate(prevProps: IProperties)\r\n {\r\n if (prevProps.open !== this.props.open && !this.props.open && !this.props.transition)\r\n {\r\n // Otherwise handleExited will call this.\r\n this.handleClose();\r\n }\r\n\r\n // Let's update the popper position.\r\n if (\r\n prevProps.open !== this.props.open ||\r\n prevProps.anchorEl !== this.props.anchorEl ||\r\n prevProps.popperOptions !== this.props.popperOptions ||\r\n prevProps.modifiers !== this.props.modifiers ||\r\n prevProps.disablePortal !== this.props.disablePortal ||\r\n prevProps.placement !== this.props.placement\r\n )\r\n {\r\n this.handleOpen();\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n this.handleClose();\r\n }\r\n\r\n private handleOpen = () =>\r\n {\r\n const { anchorEl, modifiers, open, placement, popperOptions = {}, disablePortal } = this.props;\r\n const popperNode = ReactDOM.findDOMNode(this) as Element;\r\n\r\n if (!popperNode || !anchorEl || !open)\r\n {\r\n return;\r\n }\r\n\r\n if (this._popper)\r\n {\r\n this._popper.destroy();\r\n this._popper = undefined;\r\n }\r\n\r\n this._popper = new PopperJS(this.getAnchorEl(anchorEl), popperNode, {\r\n placement,\r\n ...popperOptions,\r\n modifiers: {\r\n ...(disablePortal\r\n ? {}\r\n : {\r\n // It's using scrollParent by default, we can use the viewport when using a portal.\r\n preventOverflow: {\r\n boundariesElement: \"window\"\r\n }\r\n }),\r\n ...modifiers,\r\n ...popperOptions.modifiers\r\n },\r\n // We could have been using a custom modifier like react-popper is doing.\r\n // But it seems this is the best public API for this use case.\r\n onCreate: this.handlePopperUpdate,\r\n onUpdate: this.handlePopperUpdate\r\n });\r\n }\r\n\r\n handleExited = () =>\r\n {\r\n this.setState({ exited: true });\r\n this.handleClose();\r\n }\r\n\r\n handleClose = () =>\r\n {\r\n if (!this._popper)\r\n {\r\n return;\r\n }\r\n\r\n this._popper.destroy();\r\n this._popper = undefined;\r\n }\r\n\r\n private handlePopperUpdate = (data: PopperJS.Data) =>\r\n {\r\n if (data.placement !== this.state.placement)\r\n {\r\n this.setState({\r\n placement: data.placement\r\n });\r\n }\r\n }\r\n\r\n private getAnchorEl(anchorEl: HTMLElement | HTMLElementFunc)\r\n {\r\n return typeof anchorEl === \"function\" ? anchorEl() : anchorEl;\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const {\r\n children,\r\n container,\r\n disablePortal,\r\n keepMounted,\r\n open,\r\n placement: placementProps,\r\n transition,\r\n opacity,\r\n anchorEl,\r\n ...other\r\n } = this.props;\r\n const { exited } = this.state;\r\n\r\n if (!keepMounted && !open && (!transition || exited))\r\n {\r\n return false;\r\n }\r\n\r\n // if (transition)\r\n // {\r\n // childProps.TransitionProps = {\r\n // in: open,\r\n // onExited: this.handleExited\r\n // };\r\n // }\r\n\r\n return (\r\n \r\n \r\n {typeof children === \"function\" ? children(placementProps) : children}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport { Placements } from \"../Enums\";\r\nimport classnames from \"classnames\";\r\nimport { RootRef } from \"../RootRef\";\r\nimport { Popper } from \"../Popper\";\r\nimport warning from \"warning\";\r\nimport * as styles from \"./Style.scss\";\r\nimport \"../Prototypes/String\";\r\n\r\n/**\r\n * An interface that describes the properties of this component.\r\n */\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline Style.\r\n */\r\n style: React.CSSProperties;\r\n\r\n /**\r\n * Tooltip reference element.\r\n */\r\n children: React.ReactElement;\r\n\r\n /**\r\n * The relationship between the tooltip and the wrapper component is not clear from the DOM.\r\n * This property is used with aria-describedby to solve the accessibility issue.\r\n * If you don't provide this property. It falls back to a randomly generated id.\r\n */\r\n id?: string;\r\n\r\n /**\r\n * Tooltip title. Zero-length titles string are never displayed.\r\n */\r\n title?: string;\r\n\r\n /**\r\n * Tooltip content. The content that the tooltip should display. (eg: ContextMenu)\r\n */\r\n content?: React.ReactNode;\r\n\r\n /**\r\n * Tooltip max-width.\r\n */\r\n maxWidth?: number;\r\n\r\n /**\r\n * Tooltip placement.\r\n */\r\n placement?: keyof typeof Placements;\r\n\r\n /**\r\n * If \"true\", the tooltip is shown.\r\n */\r\n open: boolean;\r\n\r\n /**\r\n * Properties applied to the [\"Popper\"](/api/popper/) element.\r\n */\r\n popperProps?: any;\r\n\r\n /**\r\n * The number of milliseconds to wait before showing the tooltip.\r\n * This property won't impact the enter touch delay (\"enterTouchDelay\").\r\n */\r\n enterDelay?: number;\r\n\r\n /**\r\n * The number of milliseconds a user must touch the element before showing the tooltip.\r\n */\r\n enterTouchDelay?: number;\r\n\r\n /**\r\n * Makes a tooltip interactive, i.e. will not close when the user\r\n * hovers over the tooltip before the \"leaveDelay\" is expired.\r\n */\r\n interactive?: boolean;\r\n\r\n /**\r\n * The number of milliseconds to wait before hiding the tooltip.\r\n * This property won't impact the leave touch delay (\"leaveTouchDelay\").\r\n */\r\n leaveDelay?: number;\r\n\r\n /**\r\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\r\n */\r\n leaveTouchDelay?: number;\r\n\r\n /**\r\n * Do not respond to focus events.\r\n */\r\n disableFocusListener?: boolean;\r\n\r\n /**\r\n * Do not respond to hover events.\r\n */\r\n disableHoverListener?: boolean;\r\n\r\n /**\r\n * Do not respond to long press touch events.\r\n */\r\n disableTouchListener?: boolean;\r\n\r\n /**\r\n * The opacity of the toolip.\r\n */\r\n opacity?: number;\r\n\r\n /**\r\n * Callback fired when the tooltip requests to be closed.\r\n *\r\n * @param {object} e The event source of the callback\r\n */\r\n onClose: (e: React.MouseEvent) => void;\r\n\r\n /**\r\n * Callback fired when the tooltip requests to be open.\r\n *\r\n * @param {object} e The event source of the callback\r\n */\r\n onOpen: (e: React.MouseEvent) => void;\r\n}\r\n\r\n/**\r\n * A class that describes the state object.\r\n */\r\nclass State\r\n{\r\n readonly open?: boolean = undefined;\r\n\r\n constructor(props: IProperties)\r\n {\r\n if (props.open == undefined)\r\n {\r\n // not controlled, use internal state\r\n this.open = false;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Tooltip Component.\r\n */\r\nexport class Tooltip extends React.PureComponent\r\n{\r\n private _ignoreNonTouchEvents: boolean = false;\r\n private _isControlled: boolean = this.props.open != undefined;\r\n private _defaultId: string = \"\";\r\n private _closeTimer: number = 0;\r\n private _enterTimer: number = 0;\r\n private _focusTimer: number = 0;\r\n private _leaveTimer: number = 0;\r\n private _touchTimer: number = 0;\r\n private _childrenRef?: Element;\r\n\r\n /**\r\n * Sets default values for the components properties.\r\n */\r\n public static defaultProps: Partial = {\r\n disableFocusListener: false,\r\n disableHoverListener: false,\r\n disableTouchListener: false,\r\n enterDelay: 0,\r\n enterTouchDelay: 1000,\r\n interactive: false,\r\n leaveDelay: 0,\r\n leaveTouchDelay: 1500,\r\n placement: \"bottom\"\r\n };\r\n\r\n /**\r\n * Initializes the state of the component.\r\n */\r\n readonly state = new State(this.props);\r\n\r\n componentDidMount()\r\n {\r\n if (this._childrenRef != undefined)\r\n {\r\n warning(\r\n !(this._childrenRef as HTMLButtonElement).disabled ||\r\n ((this._childrenRef as HTMLButtonElement).disabled && this.props.title === \"\") ||\r\n this._childrenRef.tagName.toLowerCase() !== \"button\",\r\n [\r\n \"GSG-UI: you are providing a disabled 'button' child to the Tooltip component.\",\r\n \"A disabled element does not fire events.\",\r\n \"Tooltip needs to listen to the child element's events to display the title.\",\r\n \"\",\r\n \"Place a 'div' container on top of the element.\"\r\n ].join(\"\\n\")\r\n );\r\n }\r\n\r\n // Fallback to this default id when possible.\r\n // Use the random value for client side rendering only.\r\n // We can't use it server side.\r\n this._defaultId = `gsg-tooltip-${Math.round(Math.random() * 1e5)}`;\r\n\r\n // Rerender with this.defaultId and this.childrenRef.\r\n if (this.props.open)\r\n {\r\n this.forceUpdate();\r\n }\r\n }\r\n\r\n componentWillUnmount()\r\n {\r\n clearTimeout(this._closeTimer);\r\n clearTimeout(this._enterTimer);\r\n clearTimeout(this._focusTimer);\r\n clearTimeout(this._leaveTimer);\r\n clearTimeout(this._touchTimer);\r\n }\r\n\r\n onRootRef = (ref: Element) =>\r\n {\r\n this._childrenRef = ref;\r\n }\r\n\r\n handleFocus = (e: React.MouseEvent) =>\r\n {\r\n e.persist();\r\n\r\n // The autoFocus of React might trigger the event before the componentDidMount.\r\n // We need to account for this eventuality.\r\n this._focusTimer = window.setTimeout(() =>\r\n {\r\n // We need to make sure the focus hasn't moved since the event was triggered.\r\n if (this._childrenRef === document.activeElement)\r\n {\r\n this.handleEnter(e);\r\n }\r\n }, 0);\r\n\r\n const childrenProps = (this.props.children as any).props;\r\n if (childrenProps.onFocus)\r\n {\r\n childrenProps.onFocus(e);\r\n }\r\n }\r\n\r\n handleEnter = (e: React.MouseEvent) =>\r\n {\r\n const { children, enterDelay } = this.props;\r\n const childrenProps = children.props;\r\n\r\n if (e.type === \"mouseover\" && childrenProps.onMouseOver)\r\n {\r\n childrenProps.onMouseOver(e);\r\n }\r\n\r\n if (this._ignoreNonTouchEvents && e.type !== \"touchstart\")\r\n {\r\n return;\r\n }\r\n\r\n // Remove the title ahead of time.\r\n // We don't want to wait for the next render commit.\r\n // We would risk displaying two tooltips at the same time (native + this one).\r\n if (this._childrenRef != undefined)\r\n {\r\n this._childrenRef.setAttribute(\"title\", \"\");\r\n }\r\n\r\n clearTimeout(this._enterTimer);\r\n clearTimeout(this._leaveTimer);\r\n\r\n if (enterDelay)\r\n {\r\n e.persist();\r\n this._enterTimer = window.setTimeout(() =>\r\n {\r\n this.handleOpen(e);\r\n }, enterDelay);\r\n } else\r\n {\r\n this.handleOpen(e);\r\n }\r\n }\r\n\r\n handleOpen = (e: React.MouseEvent) =>\r\n {\r\n // The mouseover event will trigger for every nested element in the tooltip.\r\n // We can skip rerendering when the tooltip is already open.\r\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\r\n if (!this._isControlled && !this.state.open)\r\n {\r\n this.setState({ open: true });\r\n }\r\n\r\n if (this.props.onOpen)\r\n {\r\n this.props.onOpen(e);\r\n }\r\n }\r\n\r\n handleLeave = (e: React.MouseEvent) =>\r\n {\r\n const { children, leaveDelay } = this.props;\r\n const childrenProps = children.props;\r\n\r\n if (e.type === \"blur\" && childrenProps.onBlur)\r\n {\r\n childrenProps.onBlur(e);\r\n }\r\n\r\n if (e.type === \"mouseleave\" && childrenProps.onMouseLeave)\r\n {\r\n childrenProps.onMouseLeave(e);\r\n }\r\n\r\n clearTimeout(this._enterTimer);\r\n clearTimeout(this._leaveTimer);\r\n\r\n if (leaveDelay)\r\n {\r\n e.persist();\r\n this._leaveTimer = window.setTimeout(() =>\r\n {\r\n this.handleClose(e);\r\n }, leaveDelay);\r\n } else\r\n {\r\n this.handleClose(e);\r\n }\r\n }\r\n\r\n handleClose = (e: React.MouseEvent) =>\r\n {\r\n if (!this._isControlled)\r\n {\r\n this.setState({ open: false });\r\n }\r\n\r\n if (this.props.onClose)\r\n {\r\n this.props.onClose(e);\r\n }\r\n\r\n clearTimeout(this._closeTimer);\r\n\r\n this._closeTimer = window.setTimeout(() =>\r\n {\r\n this._ignoreNonTouchEvents = false;\r\n }, 150);\r\n }\r\n\r\n handleTouchStart = (e: React.MouseEvent) =>\r\n {\r\n this._ignoreNonTouchEvents = true;\r\n const { children, enterTouchDelay } = this.props;\r\n\r\n if (children.props.onTouchStart)\r\n {\r\n children.props.onTouchStart(e);\r\n }\r\n\r\n clearTimeout(this._leaveTimer);\r\n clearTimeout(this._closeTimer);\r\n clearTimeout(this._touchTimer);\r\n e.persist();\r\n\r\n this._touchTimer = window.setTimeout(() =>\r\n {\r\n this.handleEnter(e);\r\n }, enterTouchDelay);\r\n }\r\n\r\n handleTouchEnd = (e: React.MouseEvent) =>\r\n {\r\n const { children, leaveTouchDelay } = this.props;\r\n\r\n if (children.props.onTouchEnd)\r\n {\r\n children.props.onTouchEnd(e);\r\n }\r\n\r\n clearTimeout(this._touchTimer);\r\n clearTimeout(this._leaveTimer);\r\n e.persist();\r\n this._leaveTimer = setTimeout(() =>\r\n {\r\n this.handleClose(e);\r\n }, leaveTouchDelay);\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const {\r\n style,\r\n children,\r\n disableFocusListener,\r\n disableHoverListener,\r\n disableTouchListener,\r\n id,\r\n interactive,\r\n open: openProp,\r\n placement,\r\n popperProps,\r\n title,\r\n content,\r\n maxWidth,\r\n opacity\r\n } = this.props;\r\n\r\n let open = this._isControlled ? openProp : this.state.open;\r\n\r\n // There is no point in displaying an empty tooltip.\r\n if ((title == undefined || title === \"\") && content == undefined)\r\n {\r\n open = false;\r\n }\r\n\r\n // For accessibility and SEO concerns, we render the title to the DOM node when\r\n // the tooltip is hidden. However, we have made a tradeoff when\r\n // `disableHoverListener` is set. This title logic is disabled.\r\n // It's allowing us to keep the implementation size minimal.\r\n // We are open to change the tradeoff.\r\n const shouldShowNativeTitle = !open && !disableHoverListener;\r\n const childrenProps = {\r\n \"aria-describedby\": open ? id || this._defaultId : undefined,\r\n title: shouldShowNativeTitle && typeof title === \"string\" ? title : undefined,\r\n ...children.props\r\n //className: classnames(children.props.className)\r\n };\r\n\r\n if (!disableTouchListener)\r\n {\r\n childrenProps.onTouchStart = this.handleTouchStart;\r\n childrenProps.onTouchEnd = this.handleTouchEnd;\r\n }\r\n\r\n if (!disableHoverListener)\r\n {\r\n childrenProps.onMouseOver = this.handleEnter;\r\n childrenProps.onMouseLeave = this.handleLeave;\r\n }\r\n\r\n if (!disableFocusListener)\r\n {\r\n childrenProps.onFocus = this.handleFocus;\r\n childrenProps.onBlur = this.handleLeave;\r\n }\r\n\r\n const interactiveWrapperListeners = interactive\r\n ? {\r\n onMouseOver: childrenProps.onMouseOver,\r\n onMouseLeave: childrenProps.onMouseLeave,\r\n onFocus: childrenProps.onFocus,\r\n onBlur: childrenProps.onBlur\r\n }\r\n : {};\r\n\r\n warning(\r\n !children.props.title,\r\n [\r\n \"GSG-UI: you have provided a 'title' property to the child of .\",\r\n `Remove this title property \\`${children.props.title}\\` or the Tooltip component.`\r\n ].join(\"\\n\")\r\n );\r\n\r\n warning(\r\n (!title && content) || (title && !content),\r\n [\r\n \"GSG-UI: you have provided a 'title' property and a 'content' property to the .\",\r\n `Remove either the title property or the content property to display the Tooltip component properly.`\r\n ].join(\"\\n\")\r\n );\r\n\r\n if (title && content)\r\n {\r\n return (\r\n \r\n {React.cloneElement(children, childrenProps)}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {React.cloneElement(children, childrenProps)}\r\n \r\n {placementInner => (\r\n \r\n {title && title}\r\n {content && content}\r\n
\r\n )}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","export * from \"./Tooltip\";\r\n","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { LocationDescriptor } from \"history\";\r\n\r\ninterface IProps\r\n{\r\n anchorRef?: (ref: HTMLAnchorElement | null) => void;\r\n to?: LocationDescriptor;\r\n target?: string;\r\n activeClassName?: string;\r\n}\r\n\r\nexport class OptionalLink extends React.Component>\r\n{\r\n public render(): JSX.Element\r\n {\r\n const { anchorRef, to, target, ...other } = this.props;\r\n\r\n if (to != undefined)\r\n {\r\n return ;\r\n }\r\n else\r\n {\r\n const props = { ...this.props };\r\n delete props.activeClassName;\r\n return ;\r\n }\r\n }\r\n}\r\n","export * from \"./OptionalLink\";\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"treeView\":\"_1OMAkhghHy5cKaQ8HqooQX\",\"filter\":\"dguLWakjW2gwWB4GWmiy6\",\"clearSelectionLink\":\"_3AoVVakW-Rc2MTTccOjeFe\",\"nodesContainer\":\"_2-2S7dv8PvCQ6Q8KIuBsDR\",\"nodes\":\"_2HoQVeE9hwZjej20mVAFxP\",\"node\":\"LLsY8ccyO6KhzybCAIzdE\",\"isSelected\":\"_1WcBvbnk-6NN0sww7vG7gv\",\"nodeText\":\"_3xLtdtWphr2Xdfp6s1Y2Zn\",\"nodeIcon\":\"_39IDjxgb7zqB5Pn956zvXa\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropDownList\":\"_2LLNX0cTc8sag-kjzdyrR8\",\"dropDownListItem\":\"_3JaQAw-da4P8jlfNSCTUNs\",\"isSelected\":\"_2nAnoru5kAtGSyf31UUYhR\"};","import React from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\n\r\n/**\r\n * Stateless Functional Component für das erstellen eines containers.\r\n * @param props Eigenschaften der Komponente.\r\n */\r\nexport const PageContainer: React.SFC<{}> = (props) => (\r\n
\r\n {props.children}\r\n
\r\n);\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\nexport class FormulaTree extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\nexport class FormulaTreeHeader extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n text: string;\r\n alignRight?: boolean;\r\n}\r\n\r\nexport class FormulaTreeHeaderText extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { text, alignRight } = this.props;\r\n const classes = classnames(\r\n styles.formulaTreeHeaderText,\r\n {\r\n [styles.alignRight]: alignRight\r\n }\r\n );\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n text: string;\r\n alignRight?: boolean;\r\n}\r\n\r\nexport class FormulaTreeHeaderItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { text, alignRight } = this.props;\r\n const classes = classnames(\r\n styles.formulaTreeHeaderItem,\r\n {\r\n [styles.alignRight]: alignRight\r\n }\r\n );\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\nexport class FormulaTreeHeaderItems extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n text: string;\r\n alignRight?: boolean;\r\n}\r\n\r\nexport class FormulaTreeItem extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n const { text, alignRight } = this.props;\r\n const classes = classnames(\r\n styles.formulaTreeItem,\r\n {\r\n [styles.alignRight]: alignRight\r\n }\r\n );\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\nexport class FormulaTreeItems extends React.PureComponent\r\n{\r\n public render(): React.ReactNode\r\n {\r\n return (\r\n
\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\nimport classnames from \"classnames\";\r\nimport SigmaIcon from \"mdi-react/SigmaIcon\";\r\nimport { Button } from \"../../ui/Inputs\";\r\nimport CloseIcon from \"mdi-react/CloseIcon\";\r\nimport { FormulaTree, FormulaTreeHeader, FormulaTreeHeaderText, FormulaTreeHeaderItems, FormulaTreeHeaderItem, FormulaTreeItems, FormulaTreeItem } from \"../../ui/FormulaTree\";\r\nimport { IApplicationState, AccountActions, ZwischenergebnisActions } from \"../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { PageLoader } from \".\";\r\n\r\ntype Properties = Partial &\r\n Partial &\r\n Partial;\r\n\r\n/**\r\n * Class Component für das erstellen eines ``.\r\n */\r\nclass PageFormulaTree extends Component\r\n{\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM gesetzt wird.\r\n */\r\n componentDidMount()\r\n {\r\n const { account, tenant, getZwischenergebnis } = this.props;\r\n const isInterimResultVisible = (account != undefined && account.isInterimResultVisible) || false;\r\n\r\n if (\r\n (tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (isInterimResultVisible)\r\n )\r\n {\r\n getZwischenergebnis && getZwischenergebnis(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente aktualisert wird.\r\n */\r\n componentDidUpdate(prevProps: Properties)\r\n {\r\n const { account, tenant, getZwischenergebnis } = this.props;\r\n const wasInterimResultVisible = (prevProps.account != undefined && prevProps.account.isInterimResultVisible) || false;\r\n const isInterimResultVisible = (account != undefined && account.isInterimResultVisible) || false;\r\n\r\n if (\r\n (tenant != undefined && tenant.selectedTenant != undefined) &&\r\n (wasInterimResultVisible === false && isInterimResultVisible === true)\r\n )\r\n {\r\n getZwischenergebnis && getZwischenergebnis(tenant.selectedTenant.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Wird ausgeführt sobald der Button zum schließen der `` Komponente geklickt wird.\r\n */\r\n private onCloseClick = () =>\r\n {\r\n const { account, showInterimResult, hideInterimResult } = this.props;\r\n if (account!.isInterimResultVisible)\r\n {\r\n hideInterimResult && hideInterimResult();\r\n }\r\n else\r\n {\r\n showInterimResult && showInterimResult();\r\n }\r\n }\r\n\r\n private Reset = async () => {\r\n const { tenant, reset } = this.props;\r\n if (\r\n tenant != undefined && reset != undefined\r\n )\r\n {\r\n if(confirm(\"Sind Sie sicher, dass alle Eingaben gelöscht werden sollen?\"))\r\n await reset(tenant.selectedTenant!.ik);\r\n }\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { account, zwischenergebnis } = this.props;\r\n const pageHeaderClasses = classnames(styles.pageHeader, \"ps-h1\");\r\n\r\n if (!account!.isInterimResultVisible)\r\n {\r\n // tslint:disable-next-line:no-null-keyword\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
Zwischenergebnisse
\r\n
\r\n }\r\n type=\"transparent\"\r\n onClick={this.onCloseClick}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {zwischenergebnis && zwischenergebnis.items && zwischenergebnis.items.map(data =>\r\n {\r\n if (data.ist_zwischensumme)\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n else\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n })}\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n account: state.account,\r\n tenant: state.tenant,\r\n zwischenergebnis: state.zwischenergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...AccountActions.actionCreators, ...ZwischenergebnisActions.actionCreators })(PageFormulaTree as any);\r\n","import React from \"react\";\r\nimport { Loader, LoaderStyle } from \"../../ui/Loader\";\r\n\r\ninterface IProps\r\n{\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Angabe, ob gerade Daten geladen werden.\r\n */\r\n isLoading?: boolean;\r\n\r\n /**\r\n * Angabe, ob gerade Daten aktualisiert werden.\r\n */\r\n isUpdating?: boolean;\r\n\r\n /**\r\n * Die Text die eingezeigt werden sollen je nach Status.\r\n */\r\n message?: {\r\n whenLoading?: React.ReactNode;\r\n whenUpdating?: React.ReactNode;\r\n };\r\n}\r\n\r\n/**\r\n * Stateless Functional Component für das erstellen eines ``.\r\n * @param props Eigenschaften der Komponente.\r\n */\r\nexport const PageLoader: React.SFC = (props) =>\r\n{\r\n if (props.isLoading || props.isUpdating)\r\n {\r\n let message: React.ReactNode = \"\";\r\n if (props.isLoading && props.message != undefined && props.message.whenLoading != undefined)\r\n {\r\n message = props.message.whenLoading;\r\n }\r\n else if (props.isLoading)\r\n {\r\n message = \"Daten werden geladen...\";\r\n }\r\n\r\n if (props.isUpdating && props.message != undefined && props.message.whenUpdating != undefined)\r\n {\r\n message = props.message.whenUpdating;\r\n }\r\n else if (props.isUpdating)\r\n {\r\n message = \"Daten werden gespeichert...\";\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n // tslint:disable-next-line:no-null-keyword\r\n return null;\r\n};\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"./Styles/Style.scss\";\r\n\r\ntype childrenFunc = (data: any) => React.ReactNode;\r\n\r\ninterface IProperties\r\n{\r\n children?: React.ReactNode | childrenFunc;\r\n /**\r\n * Die anzuzeigenden Nodes.\r\n */\r\n dataSource: any[];\r\n}\r\n\r\nexport class ListView extends Component\r\n{\r\n private isFunction(functionToCheck: any)\r\n {\r\n return functionToCheck && {}.toString.call(functionToCheck) === \"[object Function]\";\r\n }\r\n\r\n public render(): React.ReactNode\r\n {\r\n const { dataSource, children } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {this.isFunction(children) && dataSource.map(data => (children as childrenFunc)(data))}\r\n {!this.isFunction(children) && children}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\nimport classnames from \"classnames\";\r\nimport { IApplicationState, ErgebnisActions, IReport } from \"../../redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { PageLoader } from \".\";\r\nimport { ListView } from \"../../ui/ListView\";\r\nimport FileDocumentIcon from \"mdi-react/FileDocumentIcon\";\r\n\r\ntype Properties = Partial &\r\n Partial;\r\n\r\nexport const ListViewItem: React.SFC<{ forwardRef: React.Ref, report: IReport }> = (props) => (\r\n \r\n
\r\n \r\n
\r\n {props.report.name}\r\n
\r\n);\r\n\r\n/**\r\n * Class Component für das erstellen eines ``.\r\n */\r\nclass PageReports extends Component\r\n{\r\n\r\n /**\r\n * Wird aufgerufen sobald die Komponente ins DOM gesetzt wird.\r\n */\r\n componentDidMount()\r\n {\r\n const { getReports } = this.props;\r\n getReports && getReports();\r\n }\r\n\r\n private onDocNameRef = (ref: HTMLSpanElement) =>\r\n {\r\n if (ref != undefined)\r\n {\r\n if (ref.scrollWidth > ref.clientWidth)\r\n {\r\n ref.title = ref.innerText;\r\n }\r\n else\r\n {\r\n ref.title = \"\";\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Rendert die Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { ergebnis } = this.props;\r\n const pageHeaderClasses = classnames(styles.pageHeader, \"ps-h1\");\r\n\r\n return (\r\n
\r\n
Reports
\r\n
\r\n \r\n \r\n {(data: IReport) => (\r\n \r\n )}\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state: IApplicationState)\r\n{\r\n return {\r\n ergebnis: state.ergebnis\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, { ...ErgebnisActions.actionCreators })(PageReports as any);\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Benutzerdefinierte Inline-Styles für die einzelnen `` Elemente.\r\n */\r\n style?: {\r\n tabControl?: React.CSSProperties;\r\n tabs?: React.CSSProperties;\r\n panels?: React.CSSProperties;\r\n };\r\n\r\n /**\r\n * Benutzerdefinierte CSS-Klassen für die einzelnen `` Elemente.\r\n */\r\n classNames?: {\r\n tabControl?: string;\r\n tabs?: string;\r\n panels?: string;\r\n };\r\n\r\n /**\r\n * Alle Child-Elemente.\r\n */\r\n children?: React.ReactNode;\r\n\r\n /**\r\n * Der selektierte Index der beim Erststart verwendet wird.\r\n */\r\n defaultIndex?: number;\r\n\r\n /**\r\n * Der momentane selektierte Index.\r\n */\r\n selectedIndex?: number;\r\n\r\n /**\r\n * Wird ausgelöst, sobald sich das selektierte Tab ändert.\r\n */\r\n onTabChange?: (index: number) => void;\r\n}\r\n\r\nexport class TabControl extends React.Component\r\n{\r\n /**\r\n * Erstellt eine neue Instanz der Klasse @see TabControl.\r\n * @param props Alle gesetzten Eigenschaften.\r\n */\r\n constructor(props: IProperties)\r\n {\r\n super(props);\r\n }\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf ein Tab geklickt wird.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onTabChanged = (index: number) =>\r\n {\r\n this.props.onTabChange && this.props.onTabChange(index);\r\n }\r\n\r\n /**\r\n * Rendert die Tabs des TabControls.\r\n */\r\n private renderTabs(): React.ReactNode\r\n {\r\n const { children, defaultIndex, selectedIndex } = this.props;\r\n\r\n return React.Children.map(children, (child, index) =>\r\n {\r\n let selected = selectedIndex != undefined ? selectedIndex : defaultIndex;\r\n selected = selected || 0;\r\n\r\n if (React.isValidElement(child))\r\n {\r\n return React.cloneElement(child as React.ReactElement, {\r\n index,\r\n isSelected: index === selected,\r\n onClick: this.onTabChanged\r\n });\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Rendert die Panels der Tabs.\r\n */\r\n private renderPanels(): React.ReactNode\r\n {\r\n const { children, defaultIndex, selectedIndex } = this.props;\r\n\r\n return React.Children.map(children, (child, index) =>\r\n {\r\n let selected = selectedIndex != undefined ? selectedIndex : defaultIndex;\r\n selected = selected || 0;\r\n\r\n if (index === selected)\r\n {\r\n return (child as React.ReactElement).props.children;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): JSX.Element\r\n {\r\n const { style, classNames } = this.props;\r\n const tabControlClasses: string = classnames(\r\n styles.tabcontrol,\r\n (classNames && classNames.tabControl)\r\n );\r\n const tabsClasses: string = classnames(\r\n styles.tabs,\r\n (classNames && classNames.tabs)\r\n );\r\n const panelsClasses: string = classnames(classNames && classNames.panels);\r\n\r\n return (\r\n \r\n \r\n {this.renderTabs()}\r\n
\r\n \r\n {this.renderPanels()}\r\n
\r\n \r\n );\r\n }\r\n}\r\n","import * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport * as styles from \"./Style.scss\";\r\n\r\ninterface IProperties\r\n{\r\n /**\r\n * Inline-Style.\r\n */\r\n style?: React.CSSProperties;\r\n\r\n /**\r\n * Alle Child-Elemente.\r\n */\r\n children?: React.ReactNode;\r\n\r\n /**\r\n * Der Index des Tabs.\r\n */\r\n index?: number;\r\n\r\n /**\r\n * Anzeige Text.\r\n */\r\n text?: string;\r\n\r\n /**\r\n * Gibt an, ob dieses Tab selektiert ist.\r\n */\r\n isSelected?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald auf das Tab geklickt wird.\r\n */\r\n onClick?: (index: number) => void;\r\n}\r\n\r\nexport class Tab extends React.Component\r\n{\r\n /**\r\n * Standardwerte setzen.\r\n */\r\n public static defaultProps: Partial = {\r\n isSelected: false\r\n };\r\n\r\n /**\r\n * Führt die \"onClick\" Eigenschaft aus wenn diese gesetzt wurde.\r\n * @param e Das auslösende Ereignis.\r\n */\r\n private onClick = (e: React.MouseEvent) =>\r\n {\r\n this.props.onClick && this.props.onClick(this.props.index!);\r\n }\r\n\r\n /**\r\n * Rendert diese Komponente.\r\n */\r\n public render(): React.ReactNode\r\n {\r\n const { style, text, isSelected } = this.props;\r\n const classes = classnames(\r\n styles.tab,\r\n \"ps-h1\",\r\n {\r\n [styles.isSelected]: isSelected\r\n }\r\n );\r\n\r\n return (\r\n \r\n {text && {text}}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\nimport { ITableColumn, Table, ITableFilterDescription } from \"../../ui/Table\";\r\nimport { Toolbar } from \"../../ui/Toolbar\";\r\nimport { TabControl, Tab } from \"../../ui/TabControl\";\r\nimport { PageTable } from \"../helpers\";\r\n\r\ninterface ITab {\r\n /**\r\n * Die Überschrift die angezeigt werden soll.\r\n */\r\n header: string;\r\n\r\n /**\r\n * Toolbar Items.\r\n */\r\n toolbarItems?: React.ReactNode;\r\n\r\n /**\r\n * Die Daten die in der Tabelle angezeigt werden sollen.\r\n */\r\n dataSource: any[];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n columnDefinition: ITableColumn[];\r\n\r\n /**\r\n * Benutzerdefinierte Spaltenfilter.\r\n */\r\n customFilters?: ITableFilterDescription[];\r\n\r\n /**\r\n * Angabe, ob die Tabelle gefiltert werden kann.\r\n */\r\n isFilterable: boolean;\r\n\r\n /**\r\n * Angabe, ob ein leerer Platzhalter anstelle der Toolbar dargestellt werden soll.\r\n */\r\n isToolbarDummyVisible?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n */\r\n onColumnResize?: (width: number, accessor: string) => void;\r\n\r\n onFilter?: () => void;\r\n}\r\n\r\ninterface IProps {\r\n /**\r\n * Eigenschaften des ersten Tabs.\r\n */\r\n tab1: ITab;\r\n tab1_s?: ITab;\r\n tab1_h?: string;\r\n\r\n /**\r\n * Eigenschaften des zweiten Tabs.\r\n */\r\n tab2: ITab;\r\n tab2_s?: ITab;\r\n tab2_h?: string;\r\n\r\n tab3?: ITab;\r\n tab3_s?: ITab;\r\n tab3_h?: string;\r\n\r\n /**\r\n * Der momentane selektierte Index.\r\n */\r\n selectedIndex?: number;\r\n\r\n /**\r\n * Wird ausgelöst, sobald sich das selektierte Tab ändert.\r\n */\r\n onTabChange: (index: number) => void;\r\n}\r\n\r\n/**\r\n * Stateless Functional Component für das erstellen einer `` Komponente.\r\n * @param props Eigenschaften der Komponente.\r\n */\r\nexport const PageTabControl: React.SFC = (props) => {\r\n return (\r\n
\r\n {props.children}\r\n \r\n \r\n {\r\n props.tab1.toolbarItems &&\r\n
\r\n \r\n {props.tab1.toolbarItems}\r\n \r\n
\r\n }\r\n {\r\n !props.tab1.toolbarItems && props.tab1.isToolbarDummyVisible &&\r\n
\r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n props.tab2.toolbarItems &&\r\n
\r\n \r\n {props.tab2.toolbarItems}\r\n \r\n
\r\n }\r\n {\r\n !props.tab2.toolbarItems && props.tab2.isToolbarDummyVisible &&\r\n
\r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport const PageTabControl2: React.SFC = (props) => {\r\n if (props.tab1_s == undefined || props.tab2_s == undefined || props.tab3 == undefined || props.tab3_s == undefined) {\r\n return null;\r\n }\r\n else\r\n return (\r\n
\r\n \r\n \r\n {\r\n props.tab1.toolbarItems &&\r\n
\r\n \r\n {props.tab1.toolbarItems}\r\n \r\n
\r\n }\r\n {\r\n !props.tab1.toolbarItems && props.tab1.isToolbarDummyVisible &&\r\n
\r\n }\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n {\r\n props.tab2.toolbarItems &&\r\n
\r\n \r\n {props.tab2.toolbarItems}\r\n \r\n
\r\n }\r\n {\r\n !props.tab2.toolbarItems && props.tab2.isToolbarDummyVisible &&\r\n
\r\n }\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n {\r\n props.tab3.toolbarItems &&\r\n
\r\n \r\n {props.tab3.toolbarItems}\r\n \r\n
\r\n }\r\n {\r\n !props.tab3.toolbarItems && props.tab3.isToolbarDummyVisible &&\r\n
\r\n }\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n","import React from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\nimport classnames from \"classnames\";\r\nimport { ITableColumn, Table, ITableFilterDescription } from \"../../ui/Table\";\r\nimport { Toolbar } from \"../../ui/Toolbar\";\r\nimport iconStift from \"../../../files/icons/stift-icon.png\";\r\nimport iconInfo from \"../../../files/icons/Icon-info.png\";\r\n\r\ninterface IProps {\r\n /**\r\n * Die Überschrift die angezeigt werden soll.\r\n */\r\n header: string;\r\n subheader?: string;\r\n footer?: string;\r\n\r\n /**\r\n * Die Daten die in der Tabelle angezeigt werden sollen.\r\n */\r\n dataSource: any[];\r\n\r\n /**\r\n * Spalten definitionen.\r\n */\r\n columnDefinition: ITableColumn[];\r\n\r\n /**\r\n * Benutzerdefinierte Spaltenfilter.\r\n */\r\n customFilters?: ITableFilterDescription[];\r\n\r\n /**\r\n * Angabe, ob die Tabelle gefiltert werden kann.\r\n */\r\n isFilterable: boolean;\r\n\r\n /**\r\n * Angabe, ob ein leerer Platzhalter anstelle der Toolbar dargestellt werden soll.\r\n */\r\n isToolbarDummyVisible?: boolean;\r\n\r\n /**\r\n * Wird ausgeführt sobald die Daten gerendert werden.\r\n */\r\n onRenderDataSource?: (data: any[]) => void;\r\n\r\n /**\r\n * Wird ausgeführt, sobald eine Spalte vergrößert oder verkleinert wird.\r\n */\r\n onColumnResize?: (width: number, accessor: string) => void;\r\n\r\n style?: string;\r\n\r\n onFilter?: () => void;\r\n}\r\n\r\n/**\r\n * Stateless Functional Component für das erstellen einer `
` Komponente.\r\n * @param props Eigenschaften der Komponente.\r\n */\r\nexport const PageTable: React.SFC = (props) => {\r\n const pageHeaderClasses = classnames(styles.pageHeader, \"ps-h1\");\r\n const pageSubHeaderClasses = classnames(styles.pageHeader, \"ps-h4\");\r\n const header =
{props.header}
;\r\n const subheader =
{props.subheader}
;\r\n const icon_info = ;\r\n const icon_stift = ;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n props.header === \"INFORMATIONEN\" ? icon_info : null\r\n }\r\n {\r\n props.header === \"EINSTELLUNGEN\" ? icon_stift : null\r\n }\r\n
\r\n
\r\n {\r\n props.header === \"\" ? null : header\r\n }\r\n
\r\n
\r\n {\r\n props.subheader === \"\" ? null : subheader\r\n }\r\n {\r\n props.children &&\r\n
\r\n \r\n {props.children}\r\n \r\n
\r\n }\r\n {\r\n !props.children && props.isToolbarDummyVisible &&\r\n
\r\n }\r\n
\r\n \r\n
\r\n {\r\n props.footer && props.footer != '' &&\r\n
\r\n }\r\n
\r\n );\r\n};\r\n","import React from \"react\";\r\nimport * as styles from \"../global-page-style.scss\";\r\nimport classnames from \"classnames\";\r\nimport { TreeView, INode } from \"../../ui/TreeView\";\r\nimport { IInputEventArgs } from \"../../ui/Inputs/Types\";\r\n\r\ninterface IProps\r\n{\r\n /**\r\n * Die anzuzeigenden Nodes.\r\n */\r\n nodes: INode[];\r\n\r\n /**\r\n * Die momentan selektierte TreeViewNode.\r\n */\r\n selectedNode?: INode;\r\n\r\n /**\r\n * Der momentan gesetzte Filter.\r\n */\r\n filter?: string;\r\n\r\n /**\r\n * Wird ausgeführt sobald eine TreeViewNode selektiert wird.\r\n */\r\n onSelect?: (node: INode) => void;\r\n\r\n /**\r\n * Wird ausgeführt sobald sich der Wert der Filter Textbox ändert.\r\n */\r\n onFilterChange?: (e: IInputEventArgs) => void;\r\n\r\n /**\r\n * Wird ausgeführt, sobald die selektion entfernt werden soll.\r\n */\r\n onClearSelection?: () => void;\r\n}\r\n\r\n/**\r\n * Stateless Functional Component für das erstellen einer `` Komponente.\r\n * @param props Eigenschaften der Komponente.\r\n */\r\nexport const PageTreeView: React.SFC = (props) =>\r\n{\r\n const pageHeaderClasses = classnames(styles.pageHeader, \"ps-h1\");\r\n\r\n return (\r\n
\r\n
Ebenen
\r\n
\r\n \r\n
\r\n );\r\n};\r\n","export * from \"./get-custom-filters\";\r\nexport * from \"./page-container\";\r\nexport { default as PageFormulaTree } from \"./page-formula-tree\";\r\nexport * from \"./page-loader\";\r\nexport { default as PageReports } from \"./page-reports\";\r\nexport * from \"./page-tab-control\";\r\nexport * from \"./page-table\";\r\nexport * from \"./page-tree-view\";\r\n","import React from \"react\";\r\nimport LayersIcon from \"mdi-react/LayersIcon\";\r\nimport Numeric1BoxIcon from \"mdi-react/Numeric1BoxIcon\";\r\nimport Numeric2BoxIcon from \"mdi-react/Numeric2BoxIcon\";\r\nimport Numeric3BoxIcon from \"mdi-react/Numeric3BoxIcon\";\r\nimport { INode } from \"../../ui/TreeView\";\r\nimport { ILayer, Layers } from \"../actions/types\";\r\n\r\n/**\r\n * Generiert eine Liste von TreeViewNodes aus all den geladenen\r\n * medizinischen Leistungsgruppen und gibt diese zurück.\r\n * @param layers Ein Array mit all den zur Verfügung stehenden Ebenen.\r\n */\r\nexport function getLayerNodes(layers: ILayer[]): INode[]\r\n{\r\n return layers.map(a => ({\r\n content: a.name,\r\n icon: ,\r\n data: a.type,\r\n isToggled: false,\r\n nodes: a.layers!.map(l => ({\r\n content: l.name,\r\n icon: ,\r\n data: l.type,\r\n isToggled: false,\r\n nodes: l.layers!.map(l2 => ({\r\n content: l2.name,\r\n icon: ,\r\n data: l2.type,\r\n isToggled: false,\r\n nodes: l2.layers!.map(l3 => ({\r\n content: l3.name,\r\n icon: ,\r\n data: l3.type,\r\n isToggled: false\r\n }))\r\n }))\r\n }))\r\n }));\r\n}\r\n"],"sourceRoot":""}