{"version":3,"sources":["images/socanor.png","images/adria_logo.png","images/sunliving_logo.png","images/districamp.png","images/elios_logo.png","helpers.js","history.js","components/Auth/reducer.js","components/Orders/reducer.js","components/Filters/reducer.js","components/CreateOrderForm/actions.js","components/CreateOrderForm/reducer.js","reducers.js","components/Auth/actions.js","components/Orders/actions.js","components/Filters/actions.js","store.js","request.js","confs.js","components/Auth/sdk.js","routes/index.js","components/Auth/useAuth.js","pages/Notfound.js","components/Header.js","pages/HomePage.js","components/Auth/AuthForm.js","pages/LoginPage.js","components/Orders/sdk.js","components/Orders/useOrders.js","utils.js","components/Filters/useFilters.js","components/Loader.js","components/Orders/OrdersList.js","components/Filters/Collections.js","components/Filters/Filters.js","components/Orders/Orders.js","pages/OrdersPage.js","components/SubHeader.js","components/CreateOrderForm/EmptyData.js","components/CreateOrderForm/CollectionStep.js","components/CreateOrderForm/useOrderForm.js","components/CreateOrderForm/FooterStep.js","components/CreateOrderForm/ProductStep.js","components/CreateOrderForm/ModelStep.js","components/CreateOrderForm/StandardOptionsStep.js","components/CreateOrderForm/AdditionalOptionsStep.js","components/CreateOrderForm/DeliveryTab.js","components/CreateOrderForm/ClientTab.js","components/CreateOrderForm/CommentTab.js","components/CreateOrderForm/OrderInformationStep.js","pages/CreateOrderPage.js","pages/OrderPage.js","routes/routeConfigurations.js","components/Auth/PrivateRoute.js","App.js","serviceWorker.js","theme.js","index.js"],"names":["module","exports","String","prototype","ucfirst","this","slice","toUpperCase","toLowerCase","Array","findAndReplace","cb","item","index","findIndex","cleanDate","createBrowserHistory","initialState","user","token","orders","collection","withDeliveredOrders","SELECT_MODEL","SET_ARTICLE","article","product","model","standardOptions","additionalOptions","options","added","removed","deliveryTab","clientTab","commentTab","combineReducers","auth","state","action","type","payload","client","JSON","parse","atob","split","o","NUMCDE","filter","filters","period","orderForm","actions","map","categ","code","KATEG","option","addedOptions","removedOptions","defaultOptions","allAddOptions","reduce","acc","clickedOption","find","SIFRA","flatConnections","CONNECTIONS","currentOptions","push","AO","co","OPPO_OPCIJ","OPPO_VRSTA","OBVEZNO","default","forEach","fresh","relativeOption","ao","o1","o2","getByCateg","it","name","KATE_NAZIV","LIEULIVSOUHAIT","NOMCON","ADLIV1","AD1","ADLIV2","AD2","CPLIV","CODPOS","VILLIV","VILLE","DTELIVSOUHAIT","moment","format","key","value","DESTINATION","middleware","thunk","getToken","localStorage","getItem","request","post","url","params","headers","fetch","method","body","stringify","then","data","json","upload","formData","qs","societes","HOST","window","location","hostname","SocanorConfiguration","URL_API","MANIFEST","FAVICON","TITLE","THEME","CODSOC","LOGO","socanorLogo","SUPPLIER_LOGO","socanorSupplierLogo","SUPPLIER_2_LOGO","sunLivingSupplierLogo","DistricampConfiguration","districampLogo","districampSupplierLogo","configuration","getConfiguration","ConfigurationObject","manifestEl","document","getElementById","faviconEl","titleEl","themeEl","setAttribute","innerHTML","applyConfigurations","confs","credentials","get","getRouteByName","routes","r","getRoutePathByName","routeName","route","path","replace","match","param","hasOwnProperty","navigate","queryString","query","hashString","hash","console","log","history","goBack","notFound","useAuth","useSelector","dispatch","useDispatch","login","sdk","res","success","confirm","logout","Notfound","Box","p","minHeight","display","justifyContent","alignItems","textAlign","Typography","variant","my","Button","color","onClick","fullWidth","useStyles","makeStyles","theme","logo","height","width","marginRight","Header","menu","classes","useState","m","setMenu","anchorEl","setAnchorEl","Fragment","AppBar","position","mx","alt","src","className","code_societe","Tabs","onChange","e","v","textColor","aria-label","Tab","label","aria-controls","aria-haspopup","event","currentTarget","endIcon","ArrowDropDown","size","Menu","id","keepMounted","open","Boolean","onClose","manager","MenuItem","Toolbar","HomePage","form","backgroundColor","borderRadius","shape","boxShadow","maxWidth","image","input","marginBottom","spacing","AuthForm","loging","isLoging","setCredentials","enqueueSnackbar","useSnackbar","target","useEffect","source","EventSource","onmessage","close","style","mb","onSubmit","preventDefault","err","TextField","required","disabled","startIcon","undefined","ExitToApp","disableElevation","CircularProgress","LoginPage","useOrders","getMyOrders","catch","putOrder","deleteOrder","isMobile","navigator","userAgent","access","obj","properties","props","length","splice","join","price","num","parts","toString","indexOf","formatedPrice","frDate","dateStr","formatedText","text","useFilters","changeCollection","changePeriod","changeWithDeliveredOrders","Loader","columns","align","fontWeight","STATUT","LIBARTCON","ADRIA_name","MO_LIBARTCON","ADRIA_MO_naziv","minWidth","container","marginTop","maxHeight","headerStyle","table","fontSize","cell","padding","usePVMinesStyles","head","PVMinesDialog","selectedOrder","today","PVMINES_DATE","pv","setPv","puting","isPuting","handleChange","Dialog","fullScreen","DTECDE","IconButton","Close","gutterBottom","component","Grid","sm","xs","inputProps","min","defaultValue","PV_MINES_NUMFAC","DTEVENTE","InputLabelProps","shrink","CLIFNOM","CLIFAD1","CLIFAD2","CLIFCP","CLIFVILLE","CLIFTEL1","CLIFTEL2","mt","Divider","py","px","comparativeDate","inputDate","isBefore","isValid","PVMINES","UpdateClientDialog","multiline","rows","COMMENTAIRE","OrdersList","fetching","onChangingCollection","setSelectedOrder","selectedClient","setSelectedClient","getWebCDEActions","order","Tooltip","title","numcde","Visibility","updateClient","Edit","CDE_EN_NEGO","HourglassEmpty","Delete","AccountCircle","ShowChart","TableContainer","Table","stickyHeader","TableHead","TableRow","TableCell","column","TableBody","colSpan","Collapse","in","c","dangerouslySetInnerHTML","__html","getPVMines","Collections","collections","setCollections","isFetching","Error","defaultCol","now","startCol","DTEDEB","endCol","DTEFIN","isAfter","COLLECTION","FormControl","InputLabel","Select","labelId","col","Filters","mr","FormControlLabel","control","Checkbox","disableRipple","checked","Orders","setOnChangingCollection","autoHideDuration","Container","flexDirection","flex","OrdersPage","currentUser","root","borderBottom","SubHeader","children","EmptyData","button","alert","useCollectionStyles","border","cursor","date","onSelectCollection","lg","md","CollectionStep","nextStep","selectCollection","setIsFetching","fail","useOrderForm","selectProduct","selectModel","selectStandardOptions","selectStandardOption","selectAdditionalOptions","selectAdditionalOption","setArticle","prefillOrderInformation","changeDeliveryTab","changeClientTab","changeCommentTab","changeDestination","saveOrder","bottom","left","FooterStep","prevStep","ArrowBack","useProductStyles","img","Products","products","onSelectProduct","LIBFAMART","prod","ADRIA_model_equipement","ADRIA_image","LIBSFA","ProductStep","setProducts","useModelStyles","Models","models","onSelectModel","ADRIA_day_layout","packages","pack","ADRIA_code","ADRIA_packages_variant","LIBARTADRIA","ADRIA_packages_name","ModelStep","setModels","nextButton","useArticleRecapStyles","ul","margin","listStyle","liHeader","li","ArticleRecap","selectedOptions","LIBOPTCON","NAZIV","useOptionStyles","headerCell","optionRow","optionRowSelected","Options","onSelectOption","isSelected","isInvalid","invalid","TARIFNETHT","StandardOptionsStep","selectOptions","selectOption","setOptions","useTheme","upperMD","useMediaQuery","breakpoints","up","optionsByCateg","getOptionsByCateg","setDefaultOptions","standardConfig","RENDERABLE","defaultOption","direction","top","ArrowForward","selectedOption","opt","isDefault","isAdded","isRemoved","useStandardConfigStyle","ApplyStandardConfigButton","applyStandardConfig","standardConfigOptions","React","setOpen","aria-owns","ml","VisibilityOff","Packs","packs","isOptionSelected","flattenOptionsCode","CODPAK","packOptionsCode","CONFIG_PakOptions","isPackSelected","every","includes","Chip","icon","Check","optionsCode","handleSelectPackOptions","AdditionalOptionsStep","setPacks","setStandardConfigOptions","addOpts","setAddOpt","engine","stdCfgOpts","getStandardConfigOptions","pak_options","setDefaultAdditionalOptions","defaultOptsFromParent","configOpts","row","DeliveryTab","_var","helperText","ClientTab","CommentTab","useSwitchStyles","switchButtonActive","palette","secondary","main","contrastText","switchButton","primary","TabPanel","other","role","hidden","aria-labelledby","useTabsStyles","flexGrow","OrderInformationTabs","tabs","setValue","elevation","newValue","tab","Warning","a11yProps","OrderInformationStep","isGenerating","setIsGenerating","openDestinationModal","setOpenDestinationModal","destination","setDestination","switchClasses","isDeliveryTabValid","useCallback","isClientTabValid","useMemo","DialogTitle","DialogActions","t","commande","DONNEUR_ORDRE","NOM_RESPONSABLE","CODCON","CONFIG_StandardOptions","CONFIG_AdditionalOptions","a","i","CONFIG_Prix","acc1","item1","TARIFOPTCDE","message","steps","CreateOrderPage","step","stepIndex","_step","getStep","RTFTemplate","docs","defaults","content","header","OrderPage","exact","private","useParams","report","setReport","status_msg","print","selectedStdOpts","selectedAddOpts","cartoucheHaut","setCartoucheHaut","cartoucheBas","setCartoucheBas","rtfToHTML","fromString","template","html","footer","printableRef","useRef","filteredStandardOptions","stdOpt","CONFIG_ListeOptions","filteredSortedAdditionalOptions","addOpt","CONFIG_PakListeOptions","sort","b","Alert","severity","documentTitle","trigger","Print","current","ref","NUMCHASSIS","ADRIA_model","CODPAC","LIBPAC","CONFIG_Pak","render","to","FullScreenLoader","PrivateRoute","confirming","isConfirming","App","typography","fontFamily","overrides","MuiTableCell","borderRight","MuiTableContainer","store","createStore","Reducers","applyMiddleware","subscribe","setItem","getState","initializeStore","createMuiTheme","customTheme","ReactDOM","StrictMode","maxSnack","ThemeProvider","serviceWorker","ready","registration","unregister","error"],"mappings":"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","file":"static/js/main.09c81dbc.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/socanor.597394e9.png\";","module.exports = __webpack_public_path__ + \"static/media/adria_logo.60a2277b.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAACSCAYAAACzDDh5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAF6WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDItMDdUMTg6MzU6NDcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTAyLTA3VDE4OjM2OjIzKzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTAyLTA3VDE4OjM2OjIzKzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBiODc0MzAzLTg5MTItNDBiMy05MDg2LTA3ZTk0YmNkOTBmYyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozYzM4NmUyYS1jZWJkLTQ1OGItYjVhYi1iY2UxZmYzMzE0NDgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozYzM4NmUyYS1jZWJkLTQ1OGItYjVhYi1iY2UxZmYzMzE0NDgiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjNjMzg2ZTJhLWNlYmQtNDU4Yi1iNWFiLWJjZTFmZjMzMTQ0OCIgc3RFdnQ6d2hlbj0iMjAyMC0wMi0wN1QxODozNTo0NyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjBiODc0MzAzLTg5MTItNDBiMy05MDg2LTA3ZTk0YmNkOTBmYyIgc3RFdnQ6d2hlbj0iMjAyMC0wMi0wN1QxODozNjoyMyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+XUu+KQAAH9FJREFUeNrtnXn8DdX/xyelKEvIT5QKJdlLC0WEViQVX+EjssdHlELKHvXNt2T7pIWoxFfIFknoq+JrKW1UFGVJJYQsWe73ffSe3+M03XvnnNnuzL2vP54PPvfOPefMmZnznDlzzvsYxsw9BrAlH1GNaEb0JkYT04llxDpiI7GV2M5sI74lPiM+IOYQLxADiTZELaIw6jUA3okZ5cctNR7v0Nront3DyO7eEwAA0hI0+PG5mGhL5BBriCNEzGOOEuuJKURP4ioiF+oeQgcAAAjdOWcQjYjxxGYf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\"","module.exports = __webpack_public_path__ + \"static/media/districamp.2e9582e2.png\";","module.exports = __webpack_public_path__ + \"static/media/elios_logo.4443de62.png\";","\r\nString.prototype.ucfirst = function() {\r\n return this.slice(0,1).toUpperCase() + this.slice(1).toLowerCase();\r\n}\r\n\r\nArray.prototype.findAndReplace = function(cb, item) {\r\n const index = this.findIndex(cb);\r\n\r\n if (!(index >= 0)) return this;\r\n\r\n this[index] = item;\r\n\r\n return this;\r\n}\r\n\r\nString.prototype.cleanDate = function() {\r\n return (this > '1900-01-01') ? this : '';\r\n}","import { createBrowserHistory } from 'history';\r\n\r\nexport default createBrowserHistory();\r\n","import * as actions from './actions';\r\n\r\nconst initialState = {\r\n user: null,\r\n token: null,\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n\r\n case actions.LOGIN_SUCCESS:{\r\n const { token, client } = action.payload;\r\n return {\r\n user: JSON.parse(atob(token.split('.')[1])),\r\n client,\r\n token,\r\n };\r\n break;\r\n }\r\n \r\n case actions.LOGOUT: \r\n case actions.CONFIRM_FAILED: \r\n return initialState\r\n break;\r\n\r\n /**\r\n * We only define this 2 actions causes others do not affect our state\r\n */\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as actions from './actions';\r\n\r\nconst initialState = {\r\n orders: [],\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch(action.type) {\r\n \r\n case actions.CGET_ORDERS_SUCCESS:\r\n return {\r\n ...state,\r\n orders: action.payload,\r\n };\r\n break;\r\n \r\n case actions.PUT_ORDER_SUCCESS:\r\n return {\r\n ...state,\r\n orders: state.orders.findAndReplace(o => o.NUMCDE === action.payload.NUMCDE, action.payload),\r\n };\r\n break;\r\n \r\n case actions.DELETE_ORDER_SUCCESS:\r\n return {\r\n ...state,\r\n orders: state.orders.filter(o => o.NUMCDE !== action.payload.NUMCDE),\r\n };\r\n break;\r\n \r\n default:\r\n return state;\r\n }\r\n}","import * as actions from './actions';\r\nimport moment from 'moment';\r\n\r\nconst initialState = {\r\n collection: null,\r\n withDeliveredOrders: 0,\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n\r\n case actions.CHANGE_COLLECTION: \r\n return {\r\n ...state,\r\n collection: action.payload,\r\n };\r\n break;\r\n \r\n case actions.CHANGE_PERIOD: \r\n return {\r\n ...state,\r\n period: action.payload,\r\n };\r\n break;\r\n\r\n case actions.CHANGE_WITH_DELIVERED_ORDERS: \r\n return {\r\n ...state,\r\n withDeliveredOrders: action.payload ? 1 : 0,\r\n };\r\n break;\r\n\r\n default:\r\n return state;\r\n break;\r\n }\r\n}","export const SELECT_COLLECTION = \"@createOrder/selectCollection\";\r\nexport const SELECT_PRODUCT = \"@createOrder/selectProduct\";\r\nexport const SELECT_MODEL = \"@createOrder/selectModel\";\r\nexport const SELECT_STANDARD_OPTIONS = \"@createOrder/selectStandardOptions\";\r\nexport const SELECT_STANDARD_OPTION = \"@createOrder/selectStandardOption\";\r\nexport const SELECT_ADDITIONAL_OPTIONS = \"@createOrder/selectAdditionalOptions\";\r\nexport const SELECT_ADDITIONAL_OPTION = \"@createOrder/selectAdditionalOption\";\r\nexport const SET_ARTICLE = \"@createOrder/setArticle\";\r\nexport const PREFILL_ORDER_INFORMATION = \"@createOrder/prefillOrderInformation\";\r\nexport const CHANGE_DELIVERY_TAB = \"@createOrder/changeDeliveryTab\";\r\nexport const CHANGE_CLIENT_TAB = \"@createOrder/changeClientTab\";\r\nexport const CHANGE_COMMENT_TAB = \"@createOrder/changeCommentTab\";\r\nexport const SAVE_ORDER = \"@createOrder/saveOrder\";\r\nexport const CHANGE_DESTINATION = \"@createOrder/changeDestination\";\r\n","import * as actions from \"./actions\";\r\nimport moment from \"moment\";\r\n\r\nconst initialState = {\r\n article: null,\r\n collection: null,\r\n product: null,\r\n model: null,\r\n standardOptions: null,\r\n additionalOptions: {\r\n options: null,\r\n added: [],\r\n removed: [],\r\n },\r\n deliveryTab: {},\r\n clientTab: {},\r\n commentTab: {},\r\n};\r\n\r\nexport default function (state = initialState, action) {\r\n switch (action.type) {\r\n case actions.SET_ARTICLE:\r\n return {\r\n ...state,\r\n //\r\n article: action.payload,\r\n };\r\n break;\r\n\r\n case actions.SELECT_COLLECTION:\r\n return {\r\n ...initialState,\r\n //\r\n collection: action.payload,\r\n };\r\n break;\r\n\r\n case actions.SELECT_PRODUCT:\r\n return {\r\n ...initialState,\r\n collection: state.collection,\r\n //\r\n product: action.payload,\r\n };\r\n break;\r\n\r\n case actions.SELECT_MODEL:\r\n return {\r\n ...initialState,\r\n collection: state.collection,\r\n product: state.product,\r\n //\r\n model: action.payload,\r\n };\r\n break;\r\n\r\n case actions.SELECT_STANDARD_OPTIONS:\r\n return {\r\n ...initialState,\r\n collection: state.collection,\r\n product: state.product,\r\n model: state.model,\r\n article: state.article,\r\n //\r\n standardOptions: action.payload,\r\n };\r\n break;\r\n\r\n case actions.SELECT_STANDARD_OPTION:\r\n return {\r\n ...initialState,\r\n collection: state.collection,\r\n product: state.product,\r\n model: state.model,\r\n article: state.article,\r\n //\r\n standardOptions: state.standardOptions.map((categ) =>\r\n categ.code === action.payload.KATEG\r\n ? { ...categ, option: action.payload }\r\n : categ\r\n ),\r\n };\r\n break;\r\n case actions.SELECT_ADDITIONAL_OPTIONS:\r\n return {\r\n ...initialState,\r\n collection: state.collection,\r\n product: state.product,\r\n model: state.model,\r\n standardOptions: state.standardOptions,\r\n article: state.article,\r\n //\r\n additionalOptions: {\r\n options: action.payload,\r\n added: [],\r\n removed: [],\r\n },\r\n };\r\n break;\r\n\r\n case actions.SELECT_ADDITIONAL_OPTION: {\r\n const { option, options } = action.payload;\r\n // let newAdditionalOptions = state.additionalOptions.map(categ => categ.code === option.KATEG ? (({...categ, options: !!(categ.options.find(opt => opt.SIFRA === option.SIFRA)) ? categ.options.filter(opt => opt.SIFRA !== option.SIFRA) : [...categ.options, option]})) : categ).filter(opt => opt !== null);\r\n\r\n let addedOptions = [];\r\n let removedOptions = [];\r\n let defaultOptions = [];\r\n\r\n const allAddOptions = options.reduce(\r\n (acc, item) => [...acc, ...item.options],\r\n []\r\n );\r\n const clickedOption = allAddOptions.find((o) => o.SIFRA === option.SIFRA);\r\n const flatConnections = state.standardOptions\r\n .reduce((acc, item) => [...acc, item.option], [])\r\n .reduce((acc, item) => [...acc, ...item.CONNECTIONS], []);\r\n let currentOptions = state.additionalOptions.options\r\n .reduce((acc, item) => [...acc, ...item.options], [])\r\n .filter((o) => o.removed !== true);\r\n\r\n // Does the option must be added or remove ?\r\n if (!currentOptions.find((o) => o.SIFRA === clickedOption.SIFRA)) {\r\n // Must be added\r\n addedOptions.push({ ...clickedOption, fresh: true });\r\n // Run connections\r\n clickedOption.CONNECTIONS.forEach((co) => {\r\n const relativeOption = allAddOptions.find(\r\n (ao) => ao.SIFRA === co.OPPO_OPCIJ\r\n );\r\n if (relativeOption) {\r\n if (\r\n co.OPPO_VRSTA === \"A\" &&\r\n !currentOptions.find((o) => o.SIFRA === relativeOption.SIFRA)\r\n )\r\n addedOptions.push({ ...relativeOption, fresh: true });\r\n if (\r\n co.OPPO_VRSTA === \"D\" &&\r\n !!currentOptions.find((o) => o.SIFRA === relativeOption.SIFRA)\r\n )\r\n removedOptions.push(relativeOption);\r\n }\r\n });\r\n } else {\r\n //\r\n removedOptions.push(clickedOption);\r\n allAddOptions.map((AO) => {\r\n const connection = flatConnections.find(\r\n (co) => co.OPPO_OPCIJ === AO.SIFRA && co.OPPO_VRSTA === \"A\"\r\n );\r\n if (connection || AO.OBVEZNO === \"D\")\r\n defaultOptions.push({ ...AO, OBVEZNO: \"O\", default: true });\r\n });\r\n clickedOption.CONNECTIONS.forEach((co) => {\r\n defaultOptions.forEach((o) => {\r\n if (o.SIFRA === co.OPPO_OPCIJ && co.OPPO_VRSTA === \"D\") {\r\n // There is a connection on removed option that has uncheck a default\r\n // We have te recheck the default\r\n addedOptions.push({ ...o, default: true });\r\n }\r\n });\r\n });\r\n }\r\n\r\n // New Current options\r\n currentOptions = [...currentOptions, ...addedOptions].filter(\r\n (o1) => !removedOptions.find((o2) => o1.SIFRA === o2.SIFRA)\r\n );\r\n\r\n const getByCateg = (options) => {\r\n return options.reduce((acc, o) => {\r\n const index = acc.findIndex((it) => it.code === o.KATEG);\r\n if (index >= 0) {\r\n // We already have this KATEG\r\n acc[index].options.push(o);\r\n } else {\r\n acc.push({\r\n code: o.KATEG,\r\n name: o.KATE_NAZIV,\r\n options: [o],\r\n });\r\n }\r\n return acc;\r\n }, []);\r\n };\r\n return {\r\n ...initialState,\r\n collection: state.collection,\r\n product: state.product,\r\n model: state.model,\r\n standardOptions: state.standardOptions,\r\n article: state.article,\r\n //\r\n additionalOptions: {\r\n options: getByCateg(currentOptions),\r\n added: addedOptions,\r\n removed: removedOptions,\r\n },\r\n };\r\n break;\r\n }\r\n\r\n case actions.PREFILL_ORDER_INFORMATION: {\r\n const client = action.payload;\r\n\r\n return {\r\n ...state,\r\n deliveryTab: {\r\n LIEULIVSOUHAIT: client.NOMCON,\r\n ADLIV1: client.AD1,\r\n ADLIV2: client.AD2,\r\n CPLIV: client.CODPOS,\r\n VILLIV: client.VILLE,\r\n DTELIVSOUHAIT: moment().format(\"YYYY-MM-DD\"),\r\n },\r\n };\r\n\r\n break;\r\n }\r\n\r\n case actions.CHANGE_DELIVERY_TAB: {\r\n const { key, value } = action.payload;\r\n return {\r\n ...state,\r\n deliveryTab: {\r\n ...state.deliveryTab,\r\n [key]: value,\r\n },\r\n };\r\n break;\r\n }\r\n\r\n case actions.CHANGE_CLIENT_TAB: {\r\n const { key, value } = action.payload;\r\n return {\r\n ...state,\r\n clientTab: {\r\n ...state.clientTab,\r\n [key]: value,\r\n },\r\n };\r\n break;\r\n }\r\n\r\n case actions.CHANGE_COMMENT_TAB: {\r\n const { key, value } = action.payload;\r\n return {\r\n ...state,\r\n commentTab: {\r\n ...state.commentTab,\r\n [key]: value,\r\n },\r\n };\r\n break;\r\n }\r\n\r\n case actions.CHANGE_DESTINATION:\r\n return {\r\n ...state,\r\n DESTINATION: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n break;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n// Import reducers here\r\nimport authReducer from './components/Auth/reducer';\r\nimport ordersReducer from './components/Orders/reducer';\r\nimport filtersReducer from './components/Filters/reducer';\r\nimport orderFormReducer from './components/CreateOrderForm/reducer';\r\n\r\nexport default combineReducers({\r\n // Connect reducers to the store here\r\n auth: authReducer,\r\n orders: ordersReducer,\r\n filters: filtersReducer,\r\n orderForm: orderFormReducer,\r\n});","export const REGISTER_SUCCESS = '@register/success';\r\nexport const REGISTER_FAILED = '@register/failed';\r\n\r\nexport const LOGIN_SUCCESS = '@login/success';\r\nexport const LOGIN_FAILED = '@login/failed';\r\n\r\nexport const LOGOUT = '@logout';\r\n\r\nexport const CONFIRM_SUCCESS = '@confirm/success';\r\nexport const CONFIRM_FAILED = '@confirm/failed';\r\n","export const CGET_ORDERS_SUCCESS = '@cGetOrders/success';\r\nexport const PUT_ORDER_SUCCESS = '@putOrder/success';\r\nexport const DELETE_ORDER_SUCCESS = '@deleteOrder/success';","export const CHANGE_COLLECTION = '@changeCollection/filters';\r\nexport const CHANGE_PERIOD = '@changePeriod/filters';\r\nexport const CHANGE_WITH_DELIVERED_ORDERS = '@changeWithDeliveredOrders/filters';","import { createStore, applyMiddleware, compose } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport Reducers from './reducers.js';\r\n/* Redux thunk middleware */\r\nconst middleware = [thunk];\r\n\r\nexport const SESSION_STATE_KEY = 'app.pwa.83EgbdHKlI84nZsd7etRp';\r\n\r\nexport const initializeStore = () => {\r\n const initialState = JSON.parse(localStorage.getItem(SESSION_STATE_KEY))||{};\r\n \r\n const store = createStore(\r\n Reducers,\r\n initialState,\r\n getMiddleWare()\r\n );\r\n\r\n store.subscribe(() => {\r\n localStorage.setItem(SESSION_STATE_KEY, JSON.stringify(store.getState()));\r\n });\r\n \r\n return store;\r\n \r\n};\r\n\r\nfunction getMiddleWare() {\r\n if ((!process.env.NODE_ENV || process.env.NODE_ENV === 'development') /*&& !isMobile()*/) {\r\n return compose(\r\n applyMiddleware(\r\n ...middleware),\r\n window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()\r\n );\r\n }else {\r\n return applyMiddleware(...middleware);\r\n }\r\n}","import qs from 'qs';\r\nimport { SESSION_STATE_KEY } from './store';\r\n\r\nfunction getToken() {\r\n const state = JSON.parse(localStorage.getItem(SESSION_STATE_KEY));\r\n let token = '';\r\n if (state && state.auth) {\r\n token = state.auth.token;\r\n };\r\n\r\n return token;\r\n}\r\n\r\nexport const request = {\r\n post: (url, params = {}, headers = {}) => fetch(url, {\r\n method: 'POST',\r\n body: JSON.stringify(params),\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + getToken(),\r\n ...headers,\r\n },\r\n }).then(data => data.json()),\r\n upload: (url, formData) => fetch(url, {\r\n method: 'POST',\r\n body: formData,\r\n headers: {\r\n 'Content-type': 'multipart/form-data',\r\n },\r\n }).then(data => data.json()),\r\n post: (url, params = {}, headers = {}) => fetch(url, {\r\n method: 'POST',\r\n body: JSON.stringify(params),\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + getToken(),\r\n ...headers,\r\n },\r\n }).then(data => data.json()),\r\n get: (url, params = {}, headers = {}) => fetch(`${url}?${qs.stringify(params)}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Authorization': 'Bearer ' + getToken(),\r\n ...headers,\r\n },\r\n }).then(data => data.json()),\r\n delete: (url, params = {}, headers = {}) => fetch(url, {\r\n method: 'DELETE',\r\n data: qs.stringify(params),\r\n headers: {\r\n 'Authorization': 'Bearer ' + getToken(),\r\n ...headers,\r\n },\r\n }).then(data => data.json()),\r\n put: (url, params = {}, headers = {}) => fetch(url, {\r\n method: 'PUT',\r\n body: qs.stringify(params),\r\n headers: {\r\n 'Authorization': 'Bearer ' + getToken(),\r\n ...headers,\r\n },\r\n }).then(data => data.json()),\r\n postImage: (url, body, headers = {}) => fetch(url, {\r\n method: 'POST',\r\n body: body,\r\n headers: {\r\n 'Authorization': 'Bearer ' + getToken(),\r\n ...headers,\r\n },\r\n }).then(data => data.json()),\r\n}","import socanorLogo from \"./images/socanor.png\";\r\nimport socanorSupplierLogo from \"./images/adria_logo.png\";\r\nimport sunLivingSupplierLogo from \"./images/sunliving_logo.png\";\r\nimport districampLogo from \"./images/districamp.png\";\r\nimport districampSupplierLogo from \"./images/elios_logo.png\";\r\n\r\nconst DEV_MODE = process.env.NODE_ENV !== \"production\";\r\n\r\nconst societes = {\r\n SOCANOR: \"cdes.socanor.fr\",\r\n DISTRICAMP: \"cdes.districamp.fr\",\r\n};\r\n\r\nconst DEV_HOST = societes.SOCANOR;\r\n\r\nconst HOST = DEV_MODE ? DEV_HOST : window.location.hostname;\r\n\r\nconst SocanorConfiguration = {\r\n URL_API: DEV_MODE\r\n ? \"http://localhost/api\"\r\n : `https://${societes.SOCANOR}/api`,\r\n MANIFEST: \"/socanor/manifest.json\",\r\n FAVICON: \"/socanor/favicon.png\",\r\n TITLE: \"Socanor\",\r\n THEME: \"#fff\",\r\n CODSOC: \"ADRIA\",\r\n LOGO: socanorLogo,\r\n SUPPLIER_LOGO: socanorSupplierLogo,\r\n SUPPLIER_2_LOGO: sunLivingSupplierLogo,\r\n};\r\n\r\nconst DistricampConfiguration = {\r\n URL_API: DEV_MODE\r\n ? \"http://localhost/api\"\r\n : `https://${societes.DISTRICAMP}/api`,\r\n MANIFEST: \"/districamp/manifest.json\",\r\n FAVICON: \"/districamp/favicon.png\",\r\n TITLE: \"Districamp\",\r\n THEME: \"#fff\",\r\n CODSOC: \"DISTRICAMP\",\r\n LOGO: districampLogo,\r\n SUPPLIER_LOGO: districampSupplierLogo,\r\n};\r\n\r\n// Apply the choosen config\r\nconst applyConfigurations = (ConfigurationObject) => {\r\n const manifestEl = document.getElementById(\"manifest\");\r\n const faviconEl = document.getElementById(\"favicon\");\r\n const titleEl = document.getElementById(\"title\");\r\n const themeEl = document.getElementById(\"theme\");\r\n\r\n manifestEl.setAttribute(\"href\", ConfigurationObject.MANIFEST);\r\n faviconEl.setAttribute(\"href\", ConfigurationObject.FAVICON);\r\n titleEl.innerHTML = ConfigurationObject.TITLE;\r\n themeEl.setAttribute(\"content\", ConfigurationObject.THEME);\r\n};\r\n\r\nconst getConfiguration = () => {\r\n switch (HOST) {\r\n case societes.SOCANOR:\r\n return SocanorConfiguration;\r\n case societes.DISTRICAMP:\r\n return DistricampConfiguration;\r\n }\r\n};\r\n\r\nconst configuration = getConfiguration();\r\n\r\napplyConfigurations(configuration);\r\n\r\nexport default configuration;\r\n","// Let's import request object to simply our request lecture\r\n// Please take a look at request object, cause it does smthg with response before you get it\r\nimport { request } from \"../../request\";\r\nimport confs from '../../confs';\r\n\r\nconst { URL_API } = confs;\r\n\r\n// Create a small sdk able to communicate with our API\r\nexport default {\r\n\r\n // Login action\r\n login: credentials => request.post(URL_API + '/concessionnaires/auth', credentials),\r\n\r\n // Confirm action\r\n confirm: () => request.get(URL_API + '/concessionnaires/auth/confirm'),\r\n \r\n};\r\n","import React from 'react';\r\nimport routes from './routeConfigurations';\r\nimport history from '../history';\r\nimport qs from 'querystring';\r\nimport { Route } from 'react-router';\r\n\r\nconst getRouteByName = (name) => routes.find(r => r.name === name);\r\n\r\nexport const getRoutePathByName = (routeName, params = {}) => {\r\n\r\n const route = getRouteByName(routeName);\r\n\r\n if (!route.path) return;\r\n\r\n return route.path.replace(/:+(.\\w)*/g, (match) => {\r\n for (let param in params) {\r\n if (params.hasOwnProperty(param)) {\r\n if (param === match.replace(':', '')) {\r\n return params[param];\r\n }\r\n }\r\n }\r\n navigate.push(getRoutePathByName('NotFoundPage'));\r\n }); \r\n};\r\n\r\nexport const navigate = {\r\n push: (routeName, params = {}, options = {}) => {\r\n const queryString = '?' + qs.stringify(options.query || {});\r\n const hashString = options.hash ? '#' + options.hash : '';\r\n\r\n console.log(getRoutePathByName(routeName, params) + queryString + hashString);\r\n\r\n return history.push(getRoutePathByName(routeName, params) + queryString + hashString);\r\n },\r\n replace: (routeName, params = {}, options = {}) => {\r\n const queryString = '?' + qs.stringify(options.query || {});\r\n const hashString = options.hash ? '#' + options.hash : '';\r\n\r\n return history.replace(getRoutePathByName(routeName, params) + queryString + hashString);\r\n },\r\n goBack: () => history.goBack(),\r\n notFound: () => {\r\n history.replace(getRoutePathByName('NotFoundPage'));\r\n }\r\n};\r\n\r\nexport default () => routes.map(routeProps => );\r\n","import * as actions from './actions';\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport sdk from \"./sdk\";\r\nimport { navigate } from '../../routes';\r\n\r\n// Lets create our custom Hook that linked interface with state interractions\r\nfunction useAuth() {\r\n\r\n const auth = useSelector(state => state.auth);\r\n const dispatch = useDispatch();\r\n\r\n const methods = {\r\n\r\n login: (credentials, cb) => sdk.login(credentials).then(res => {\r\n if (res.success) {\r\n dispatch({ type: actions.LOGIN_SUCCESS, payload: res.payload });\r\n // Fire the cb\r\n if (cb) cb(null, res);\r\n } else {\r\n // Fire the cb\r\n if (cb) cb(res, null);\r\n }\r\n }),\r\n\r\n confirm: (cb) => sdk.confirm().then(res => {\r\n if (res.success) {\r\n dispatch({ type: actions.CONFIRM_SUCCESS, payload: res.payload });\r\n // Fire the cb\r\n if (cb) cb(null, res);\r\n } else {\r\n // Fire the cb\r\n if (cb) cb(res, null);\r\n }\r\n }),\r\n\r\n logout: () => {\r\n navigate.push('LoginPage');\r\n dispatch({ type: actions.LOGOUT })\r\n },\r\n \r\n };\r\n\r\n return [ auth, methods ];\r\n \r\n}\r\n\r\nexport default useAuth;","import React from 'react';\r\nimport { Box, Typography, Button } from '@material-ui/core';\r\nimport useAuth from '../components/Auth/useAuth';\r\nimport { navigate } from '../routes';\r\n\r\nfunction Notfound() {\r\n const [{user}] = useAuth();\r\n return (\r\n \r\n \r\n \r\n 404\r\n \r\n \r\n Cette page n'existe pas.\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Notfound;","import React from \"react\";\r\nimport {\r\n AppBar,\r\n Box,\r\n makeStyles,\r\n Button,\r\n Tab,\r\n Tabs,\r\n Menu,\r\n MenuItem,\r\n Typography,\r\n Toolbar,\r\n} from \"@material-ui/core\";\r\nimport { ArrowDropDown as ArrowDropDownIcon } from \"@material-ui/icons\";\r\nimport { useState } from \"react\";\r\nimport { navigate } from \"../routes\";\r\nimport useAuth from \"./Auth/useAuth\";\r\nimport confs from \"../confs\";\r\n\r\nconst { LOGO, SUPPLIER_LOGO, SUPPLIER_2_LOGO } = confs;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n logo: {\r\n height: 15,\r\n width: \"auto\",\r\n marginRight: \"16px\",\r\n },\r\n}));\r\n\r\nfunction Header({ user, menu }) {\r\n const classes = useStyles();\r\n const [_, { logout }] = useAuth();\r\n const [m, setMenu] = useState(menu);\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {/* Left pane */}\r\n \r\n \"Logo\"\r\n \r\n \r\n setMenu(v)}\r\n textColor=\"secondary\"\r\n aria-label=\"simple tabs example\"\r\n >\r\n navigate.push(\"OrdersPage\")}\r\n label=\"Mes commandes\"\r\n />\r\n \r\n navigate.push(\"CreateOrderPage\", {}, { hash: \"collection\" })\r\n }\r\n label=\"Passer une commande\"\r\n />\r\n \r\n \r\n \r\n\r\n {/* Right pane */}\r\n \r\n {user && (\r\n \r\n }\r\n >\r\n {user.name}\r\n \r\n \r\n \r\n Donneur d'ordre\r\n {user.manager}\r\n \r\n Déconnexion\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Header;\r\n","import React from 'react'\r\nimport useAuth from '../components/Auth/useAuth';\r\nimport { Box } from '@material-ui/core';\r\nimport Header from '../components/Header';\r\n\r\nfunction HomePage() {\r\n\r\n const [{ user }, { logout }] = useAuth();\r\n \r\n return (\r\n \r\n
\r\n \r\n HomePage\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default HomePage\r\n","import React, { useState, useEffect } from 'react'\r\nimport useAuth from './useAuth'\r\nimport { navigate } from '../../routes';\r\nimport { Box, TextField, Button, CircularProgress, Typography } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport { ExitToApp as ExitToAppIcon } from '@material-ui/icons';\r\nimport { useSnackbar } from 'notistack';\r\nimport confs from '../../confs';\r\n\r\nconst { LOGO } = confs;\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n form: {\r\n backgroundColor: '#fff',\r\n borderRadius: theme.shape.borderRadius,\r\n boxShadow: '0 0 10px 0 rgba(0,0,0,.1)',\r\n maxWidth: '400px',\r\n },\r\n image: {\r\n width: '300px',\r\n height: 'auto',\r\n },\r\n input: {\r\n marginBottom: theme.spacing(4),\r\n }\r\n}));\r\n\r\nfunction AuthForm() {\r\n\r\n const [{ user, token }, { login }] = useAuth();\r\n const [loging, isLoging] = useState(false);\r\n\r\n const [credentials, setCredentials] = useState({});\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n const classes = useStyles();\r\n \r\n const onChange = e => setCredentials({...credentials, [e.target.name]: e.target.value});\r\n\r\n const onSubmit = (e, v) => {\r\n e.preventDefault();\r\n isLoging(true);\r\n // Call login from hook\r\n login(credentials, (err, res) => {\r\n if (!err) {\r\n // Success\r\n return navigate.push('OrdersPage');\r\n }\r\n isLoging(false);\r\n enqueueSnackbar('Erreur: Code ou mot de passe invalide', { variant: 'error' });\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n // Redirect to dashboard if current user already logged in\r\n if (user && token) navigate.push('OrdersPage');\r\n }, []);\r\n\r\n useEffect(() => {\r\n // Redirect to dashboard if current user already logged in\r\n \r\n\t // Create a new HTML5 EventSource\r\n\t var source = new EventSource('http://localhost:80/events');\r\n\r\n\t // Create a callback for when a new message is received.\r\n\t source.onmessage = function(e) {\r\n\r\n\t // Append the `data` attribute of the message to the DOM.\r\n\t document.body.innerHTML += e.data + '
';\r\n };\r\n \r\n return () => {\r\n source.close();\r\n }\r\n }, []);\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AuthForm\r\n","import React from 'react'\r\nimport AuthForm from '../components/Auth/AuthForm'\r\n\r\nfunction LoginPage() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default LoginPage\r\n","import confs from '../../confs';\r\nimport { request } from '../../request';\r\n\r\nconst { URL_API } = confs;\r\n\r\nexport default {\r\n\r\n // Get orders\r\n cGet: (params) => request.get(`${URL_API}/me/orders`, params),\r\n put: (id, data) => request.post(`${URL_API}/orders/${id}`, data),\r\n delete: (id) => request.get(`${URL_API}/orders/${id}/delete`),\r\n \r\n};","import * as actions from './actions';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport sdk from './sdk';\r\n\r\nfunction useOrders() {\r\n\r\n const orders = useSelector(state => state.orders);\r\n const dispatch = useDispatch();\r\n \r\n const methods = {\r\n\r\n getMyOrders: (params, cb) => sdk.cGet(params).then(res => {\r\n if (res.success) {\r\n dispatch({ type: actions.CGET_ORDERS_SUCCESS, payload: res.payload });\r\n if (cb) cb(null, res.payload);\r\n } else {\r\n if (cb) cb(res, null);\r\n }\r\n }).catch(err => cb(err, null)),\r\n\r\n putOrder: (id, data, cb) => sdk.put(id, data).then(res => {\r\n if (res.success) {\r\n dispatch({ type: actions.PUT_ORDER_SUCCESS, payload: res.payload });\r\n if (cb) cb(null, res.payload);\r\n } else {\r\n if (cb) cb(res, null);\r\n }\r\n }).catch(err => cb(err, null)),\r\n\r\n deleteOrder: (id, cb) => sdk.delete(id).then(res => {\r\n if (res.success) {\r\n dispatch({ type: actions.DELETE_ORDER_SUCCESS, payload: res.payload });\r\n if (cb) cb(null, res.payload);\r\n } else {\r\n if (cb) cb(res, null);\r\n }\r\n }).catch(err => cb(err, null)),\r\n\r\n };\r\n\r\n return [orders, methods];\r\n}\r\n\r\nexport default useOrders;","import atob from 'atob';\r\nimport moment from 'moment';\r\n\r\nexport function isMobile() {\r\n if( navigator.userAgent.match(/Android/i)\r\n || navigator.userAgent.match(/webOS/i)\r\n || navigator.userAgent.match(/iPhone/i)\r\n || navigator.userAgent.match(/iPod/i)\r\n || navigator.userAgent.match(/BlackBerry/i)\r\n || navigator.userAgent.match(/Windows Phone/i)\r\n ){\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\nexport function dataURItoBlob(dataURI) {\r\n // convert base64/URLEncoded data component to raw binary data held in a string\r\n var byteString;\r\n if (dataURI.split(',')[0].indexOf('base64') >= 0)\r\n byteString = atob(dataURI.split(',')[1]);\r\n else\r\n byteString = unescape(dataURI.split(',')[1]);\r\n\r\n // separate out the mime component\r\n var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\r\n\r\n // write the bytes of the string to a typed array\r\n var ia = new Uint8Array(byteString.length);\r\n for (var i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n\r\n return new Blob([ia], {type:mimeString});\r\n}\r\n\r\n\r\nexport function access(obj, properties) {\r\n if (!properties) return obj;\r\n\r\n const props = properties.split('.');\r\n\r\n if (props.length > 1) {\r\n return access(obj[props[0]], props.splice(1).join('.'));\r\n } else {\r\n return obj[props[0]];\r\n }\r\n}\r\n\r\nexport function price(num) {\r\n num = formatedPrice(num);\r\n var parts = num.toString().split(\",\");\r\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, \" \");\r\n return parts.join(\",\");\r\n}\r\n\r\nexport function formatedPrice(price) {\r\n price = price.toString().replace('.', ',');\r\n var hasComma = price.toString().indexOf(',');\r\n if (hasComma > -1) {\r\n /* there are som decimal */\r\n var arr = price.split(',');\r\n if (arr[1].length < 2) {\r\n price += \"0\";\r\n }\r\n }else {\r\n price += \",00\";\r\n }\r\n\r\n return price\r\n}\r\n\r\nexport function frDate(dateStr) {\r\n return moment(dateStr).format('DD/MM/YYYY');\r\n}\r\n\r\nexport function formatedText(text) {\r\n return text.replace(/(?:\\r\\n|\\r|\\n)/g, '
');\r\n}","import { useSelector, useDispatch } from 'react-redux';\r\nimport * as actions from './actions';\r\n\r\nfunction useFilters() {\r\n\r\n const filters = useSelector(state => state.filters);\r\n const dispatch = useDispatch();\r\n \r\n const methods = {\r\n changeCollection: (collection) => dispatch({ type: actions.CHANGE_COLLECTION, payload: collection }),\r\n changePeriod: (period) => dispatch({ type: actions.CHANGE_PERIOD, payload: period }),\r\n changeWithDeliveredOrders: (withDeliveredOrders) => dispatch({ type: actions.CHANGE_WITH_DELIVERED_ORDERS, payload: withDeliveredOrders }),\r\n };\r\n \r\n return [filters, methods];\r\n}\r\n\r\nexport default useFilters;\r\n","import React from 'react'\r\nimport { Box, CircularProgress } from '@material-ui/core'\r\n\r\nfunction Loader({ size, spacing }) {\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Loader\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n makeStyles,\r\n Box,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableRow,\r\n TableCell,\r\n TableBody,\r\n Typography,\r\n Button,\r\n IconButton,\r\n Tooltip,\r\n Dialog,\r\n AppBar,\r\n Toolbar,\r\n TextField,\r\n Grid,\r\n Divider,\r\n CircularProgress,\r\n Collapse,\r\n Checkbox,\r\n} from \"@material-ui/core\";\r\nimport { access, isMobile, formatedText } from \"../../utils\";\r\nimport moment from \"moment\";\r\nimport useFilters from \"../Filters/useFilters\";\r\nimport {\r\n Visibility as VisibilityIcon,\r\n Close as CloseIcon,\r\n Delete as DeleteIcon,\r\n HourglassEmpty as HourglassEmptyIcon,\r\n AccountCircle as AccountCircleIcon,\r\n ShowChart as ShowChartIcon,\r\n Edit as EditIcon,\r\n} from \"@material-ui/icons\";\r\nimport { navigate } from \"../../routes\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { toFR } from \"../../config/periods.config\";\r\nimport Loader from \"../Loader\";\r\n\r\nconst columns = [\r\n {\r\n label: \"Collection\",\r\n code: \"COLLECTION\",\r\n props: {\r\n align: \"center\",\r\n style: {\r\n backgroundColor: \"#6D6D6D\",\r\n color: \"white\",\r\n fontWeight: \"bold\",\r\n },\r\n },\r\n },\r\n {\r\n label: \"N° de commande\",\r\n format: (v) =>\r\n v.STATUT !== \"W\" ? v.NUMCDE : (\r\n `${v.NUMCDE}`\r\n ),\r\n // code: 'NUMCDE',\r\n props: {\r\n style: {\r\n fontWeight: \"bold\",\r\n maxWidth: 75,\r\n },\r\n },\r\n },\r\n {\r\n label: \"Date\",\r\n code: \"DTECDE\",\r\n format: (v) => v && moment(v).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n label: \"Statut\",\r\n code: \"STATUT\",\r\n format: (v) => (v === \"W\" ? \"En attente\" : \"Commande\"),\r\n },\r\n {\r\n label: \"Article\",\r\n code: \"article\",\r\n format: (v) =>\r\n (v.LIBARTCON || v.ADRIA_name || \"\") +\r\n \" \" +\r\n (v.MO_LIBARTCON || v.ADRIA_MO_naziv || \"\"),\r\n props: {\r\n style: {\r\n minWidth: \"200px\",\r\n },\r\n },\r\n },\r\n {\r\n label: 'Options',\r\n code: 'LISTE_OPTIONS_PLUS',\r\n format: (v) => v && formatedText(v),\r\n },\r\n {\r\n label: \"Livraison souhaitée\",\r\n code: \"DTELIVSOUHAIT\",\r\n format: (v) => v && v.cleanDate() && moment(v).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n label: \"Client final\",\r\n code: \"CLIFNOM\",\r\n props: {\r\n style: {\r\n minWidth: \"150px\",\r\n },\r\n },\r\n },\r\n {\r\n label: \"N° de chassis\",\r\n code: \"NUMCHASSIS\",\r\n },\r\n {\r\n label: \"Livrée\",\r\n code: \"DTEEXPEDITION\",\r\n format: (v) => v && v.cleanDate() ? 'Oui' : 'Non',\r\n },\r\n // {\r\n // label: \"Affectation\",\r\n // code: \"DTELIVAFFECTE\",\r\n // format: (v) =>\r\n // v &&\r\n // v.cleanDate() &&\r\n // toFR(moment(v).format(\"MMM\")) + \". \" + moment(v).format(\"YYYY\"),\r\n // },\r\n {\r\n label: \"Production\",\r\n code: \"IMPACT_SUPPLY_PLAN\",\r\n format: (v) => v,\r\n },\r\n {\r\n label: \"PV\",\r\n },\r\n];\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n width: \"100%\",\r\n marginTop: theme.spacing(2),\r\n maxHeight: \"100%\",\r\n height: \"100%\",\r\n },\r\n headerStyle: {\r\n color: \"#E2001A\",\r\n },\r\n table: {\r\n fontSize: 10,\r\n },\r\n cell: {\r\n padding: \"6px\",\r\n },\r\n}));\r\n\r\nfunction OrdersList({\r\n orders = [],\r\n putOrder,\r\n deleteOrder,\r\n fetching,\r\n onChangingCollection,\r\n}) {\r\n const classes = useStyles();\r\n\r\n const [filters] = useFilters();\r\n const [selectedOrder, setSelectedOrder] = useState(null);\r\n const [selectedClient, setSelectedClient] = useState(null);\r\n\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n const periodFilter = (order) => {\r\n if (filters.period === \"all\") return true;\r\n\r\n if (filters.period === \"none\" && !order.DTELIVAFFECTE) return true;\r\n\r\n return filters.period === order.DTELIVAFFECTE;\r\n };\r\n\r\n const getPVMines = (order) => {\r\n const { PVMINES, PVMINES_DATE, STATUT } = order;\r\n const pv = PVMINES;\r\n const canAskForPV = STATUT === \"O\" || STATUT === \"S\";\r\n\r\n if (!canAskForPV) return null;\r\n\r\n if (pv === \"D\" && PVMINES_DATE > \"1900-01-01\") {\r\n return (\r\n \r\n setSelectedOrder(order)}\r\n color=\"secondary\"\r\n variant=\"outlined\"\r\n >\r\n Modifier\r\n \r\n \r\n );\r\n } else if (pv === \"D\") {\r\n return (\r\n setSelectedOrder(order)}\r\n color=\"secondary\"\r\n variant=\"outlined\"\r\n >\r\n Modifier\r\n \r\n );\r\n } else if (!pv || pv === \"\") {\r\n return (\r\n setSelectedOrder(order)}\r\n color=\"secondary\"\r\n variant=\"outlined\"\r\n >\r\n Demander\r\n \r\n );\r\n } else if (pv === \"A\") {\r\n return null;\r\n }\r\n };\r\n\r\n const updateClient = (order) => {\r\n if (!(order.PVMINES === \"A\")) {\r\n setSelectedClient(order);\r\n } else {\r\n enqueueSnackbar(\"Erreur: La commande est déjà affectée.\", {\r\n variant: \"error\",\r\n });\r\n }\r\n };\r\n\r\n const getWebCDEActions = (order) => {\r\n return (\r\n \r\n {order.NUMCDE && order.STATUT !== \"O\" && (\r\n \r\n \r\n navigate.push(\"OrderPage\", { numcde: String(order.NUMCDE) })\r\n }\r\n >\r\n \r\n \r\n \r\n )}\r\n {order.PVMINES !== \"A\" && (\r\n \r\n updateClient(order)}>\r\n \r\n \r\n \r\n )}\r\n {order.CDE_EN_NEGO === \"O\" ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n order.STATUT === \"W\" && (\r\n \r\n \r\n window.confirm(\r\n \"La suppression est définitive. Souhaitez-vous poursuivre?\"\r\n ) && deleteOrder(order.NUMCDE)\r\n }\r\n >\r\n \r\n \r\n \r\n )\r\n )}\r\n {order.DESTINATION === \"C\" && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {order.DESTINATION === \"S\" && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n {orders.length > 0 &&\r\n `${orders.length} commandes`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {columns.map((column) => (\r\n \r\n {column.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!onChangingCollection &&\r\n orders.map((order) => (\r\n \r\n \r\n {getWebCDEActions(order)}\r\n \r\n {columns\r\n .filter((c) => c.code || c.format)\r\n .map((column) => (\r\n \r\n ))}\r\n \r\n {getPVMines(order)}\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n setSelectedOrder(null)}\r\n selectedOrder={selectedOrder}\r\n putOrder={putOrder}\r\n />\r\n setSelectedClient(null)}\r\n selectedOrder={selectedClient}\r\n putOrder={putOrder}\r\n />\r\n
\r\n );\r\n}\r\n\r\nconst usePVMinesStyles = makeStyles((theme) => ({\r\n head: {\r\n backgroundColor: \"#eee\",\r\n },\r\n}));\r\n\r\nconst PVMinesDialog = ({ selectedOrder, putOrder, ...props }) => {\r\n const classes = usePVMinesStyles();\r\n const today = moment(\r\n (selectedOrder?.PVMINES_DATE && selectedOrder?.PVMINES_DATE.cleanDate()) ||\r\n undefined\r\n ).format(\"YYYY-MM-DD\");\r\n const [pv, setPv] = useState({ PVMINES_DATE: today, ...selectedOrder });\r\n const [puting, isPuting] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n useEffect(() => {\r\n setPv({ PVMINES_DATE: today, ...selectedOrder })\r\n }, [selectedOrder, today])\r\n\r\n if (!selectedOrder) return null;\r\n\r\n const handleChange = (e) => {\r\n if (e.target.name === 'DTEVENTE') {\r\n setPv({ ...(pv || {}), [e.target.name]: e.target.value, salesDateUpdated: true });\r\n } else {\r\n setPv({ ...(pv || {}), [e.target.name]: e.target.value });\r\n }\r\n }\r\n\r\n\r\n const isFormValid = (formData) => \r\n formData.CLIFNOM && \r\n formData.CLIFAD1 && \r\n formData.CLIFVILLE && \r\n formData.CLIFCP && \r\n formData.CLIFTEL1;\r\n \r\n const put = () => {\r\n if (!isFormValid(pv)) {\r\n enqueueSnackbar(\"Erreur: Certains champs requis sont manquants.\", {\r\n variant: \"error\",\r\n });\r\n return;\r\n }\r\n\r\n const comparativeDate = selectedOrder.DTEVENTE.cleanDate() !== '' ? moment(selectedOrder.DTEVENTE) : moment().format('YYYY-MM-DD');\r\n const inputDate = pv.DTEVENTE !== '' ? pv.DTEVENTE : '1900-01-01';\r\n \r\n if (pv.DTEVENTE !== selectedOrder.DTEVENTE && moment(inputDate).isBefore(comparativeDate)) {\r\n enqueueSnackbar(\"Erreur: La date de vente doit être supérieure ou égale à la date du jour / la date de vente antérieurement saisie.\", {\r\n variant: \"error\",\r\n });\r\n return;\r\n }\r\n\r\n if (!moment(pv.PVMINES_DATE).isValid()) {\r\n return enqueueSnackbar(\"Erreur: La date saisie n'est pas valide\", {\r\n variant: \"error\",\r\n });\r\n }\r\n\r\n isPuting(true);\r\n putOrder(selectedOrder.NUMCDE, { ...pv, PVMINES: \"D\" }, (err, data) => {\r\n isPuting(false);\r\n if (err)\r\n return enqueueSnackbar(\"Erreur: Réessayez plus tard.\", {\r\n variant: \"error\",\r\n });\r\n setPv(null);\r\n props.onClose();\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {selectedOrder.NUMCDE}\r\n \r\n {moment(selectedOrder.DTECDE).format(\"DD/MM/YYYY\")}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Demande de PV\r\n \r\n \r\n {(selectedOrder.article.LIBARTCON ||\r\n selectedOrder.article.ADRIA_name ||\r\n \"\") +\r\n \" \" +\r\n (selectedOrder.article.MO_LIBARTCON ||\r\n selectedOrder.article.ADRIA_MO_naziv ||\r\n \"\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\r\n ? selectedOrder.PV_MINES_NUMFAC\r\n : \"\"\r\n }\r\n onChange={handleChange}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (*) Les champs munis d'un astérisque sont obligatoires\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {puting && (\r\n \r\n )}\r\n Enregistrer\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst UpdateClientDialog = ({ selectedOrder, putOrder, ...props }) => {\r\n const [pv, setPv] = useState(selectedOrder);\r\n const [puting, isPuting] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n \r\n useEffect(() => {\r\n setPv(selectedOrder)\r\n }, [selectedOrder])\r\n \r\n if (!selectedOrder) return null;\r\n\r\n const handleChange = (e) => {\r\n if (e.target.name === 'DTEVENTE') {\r\n setPv({ ...(pv || {}), [e.target.name]: e.target.value, salesDateUpdated: true });\r\n } else {\r\n setPv({ ...(pv || {}), [e.target.name]: e.target.value });\r\n }\r\n }\r\n\r\n const isFormValid = (formData) => \r\n formData.CLIFNOM && \r\n formData.CLIFAD1 && \r\n formData.CLIFVILLE && \r\n formData.CLIFCP && \r\n formData.CLIFTEL1;\r\n\r\n const put = () => {\r\n const comparativeDate = selectedOrder.DTEVENTE.cleanDate() !== '' ? moment(selectedOrder.DTEVENTE) : moment().format('YYYY-MM-DD');\r\n const inputDate = pv.DTEVENTE !== '' ? pv.DTEVENTE : '1900-01-01';\r\n \r\n if (pv.DTEVENTE !== selectedOrder.DTEVENTE && moment(inputDate).isBefore(comparativeDate)) {\r\n enqueueSnackbar(\"Erreur: La date de vente doit être supérieure ou égale à la date du jour / la date de vente antérieurement saisie.\", {\r\n variant: \"error\",\r\n });\r\n return;\r\n }\r\n \r\n if (!isFormValid(pv)) {\r\n enqueueSnackbar(\"Erreur: Certains champs requis sont manquants.\", {\r\n variant: \"error\",\r\n });\r\n return;\r\n }\r\n\r\n isPuting(true);\r\n putOrder(selectedOrder.NUMCDE, { ...pv }, (err, data) => {\r\n isPuting(false);\r\n if (err)\r\n return enqueueSnackbar(\"Erreur: Réessayez plus tard.\", {\r\n variant: \"error\",\r\n });\r\n setPv(null);\r\n props.onClose();\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {selectedOrder.NUMCDE}\r\n \r\n {moment(selectedOrder.DTECDE).format(\"DD/MM/YYYY\")}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Informations Client\r\n \r\n \r\n {(selectedOrder.article.LIBARTCON ||\r\n selectedOrder.article.ADRIA_name ||\r\n \"\") +\r\n \" \" +\r\n (selectedOrder.article.MO_LIBARTCON ||\r\n selectedOrder.article.ADRIA_MO_naziv ||\r\n \"\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (*) Les champs munis d'un astérisque sont obligatoires\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {puting && (\r\n \r\n )}\r\n Enregistrer\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default OrdersList;\r\n","import React, { useEffect, useState } from 'react'\r\nimport { FormControl, InputLabel, Select, MenuItem, CircularProgress } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport { request } from '../../request';\r\nimport confs from '../../confs';\r\nimport { useSnackbar } from 'notistack';\r\n\r\nconst { URL_API } = confs;\r\n\r\n\r\nfunction Collections({ collection, changeCollection, disabled }) {\r\n\r\n const [collections, setCollections] = useState([]);\r\n const [fetching, isFetching] = useState(false);\r\n\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n useEffect(() => {\r\n isFetching(true);\r\n request.get(`${URL_API}/collections?active=true`).then(data => {\r\n isFetching(false);\r\n if (!data.success) throw new Error('Erreur au chargement de la donnée. Réessayez plus tard');\r\n setCollections(data.payload);\r\n // Set default date\r\n const defaultCol = data.payload.find(c => {\r\n const now = moment();\r\n const startCol = moment(c.DTEDEB);\r\n const endCol = moment(c.DTEFIN);\r\n return (now.isAfter(startCol) && endCol.isAfter(now));\r\n });\r\n if (defaultCol && !collection) changeCollection(defaultCol.COLLECTION);\r\n }).catch(err => enqueueSnackbar(err, { variant: 'error' }));\r\n }, []);\r\n \r\n const handleChange = e => changeCollection(e.target.value);\r\n\r\n return (\r\n \r\n Collection\r\n \r\n {/* \r\n {fetching && }\r\n Toutes les collections\r\n */}\r\n {\r\n collections.map((col) => (\r\n {col.COLLECTION}\r\n ))\r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Collections\r\n","import React from 'react'\r\nimport { Box, Checkbox, FormControlLabel, FormLabel } from '@material-ui/core'\r\nimport Collections from './Collections';\r\nimport Periods from './Periods';\r\n\r\nfunction Filters({ filters, changeCollection, disabled, changeWithDeliveredOrders }) {\r\n\r\n const { collection, withDeliveredOrders } = filters;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n changeWithDeliveredOrders(!withDeliveredOrders)} control={} label=\"Ajouter les commandes livrées dans la liste\"/>\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default Filters\r\n","import React from \"react\";\r\nimport { Container, Box } from \"@material-ui/core\";\r\nimport useOrders from \"./useOrders\";\r\nimport { useEffect } from \"react\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { useState } from \"react\";\r\nimport OrdersList from \"./OrdersList\";\r\nimport Filters from \"../Filters/Filters\";\r\nimport useFilters from \"../Filters/useFilters\";\r\n\r\nfunction Orders() {\r\n const [{ orders }, { getMyOrders, putOrder, deleteOrder }] = useOrders();\r\n const [fetching, isFetching] = useState(true);\r\n const [onChangingCollection, setOnChangingCollection] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n const [filters, { changeCollection, changePeriod, changeWithDeliveredOrders }] = useFilters();\r\n\r\n \r\n useEffect(() => {\r\n // Get orders\r\n isFetching(true);\r\n\r\n getMyOrders({ collection: filters.collection, withDeliveredOrders: filters.withDeliveredOrders }, (err) => {\r\n isFetching(false);\r\n setOnChangingCollection(false);\r\n // Error case\r\n if (err)\r\n return enqueueSnackbar(\"Erreur au chargement des commandes\", {\r\n variant: \"error\",\r\n autoHideDuration: 3000,\r\n });\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [filters.collection, filters.withDeliveredOrders]);\r\n\r\n const changeCol = (col) => {\r\n setOnChangingCollection(true);\r\n changeCollection(col);\r\n };\r\n\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Orders list */}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Orders;\r\n","import React from \"react\";\r\nimport Header from \"../components/Header\";\r\nimport Orders from \"../components/Orders/Orders\";\r\n\r\nfunction OrdersPage({ currentUser }) {\r\n return (\r\n \r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default OrdersPage;\r\n","import React from 'react'\r\nimport { Box, makeStyles, Typography, Container } from '@material-ui/core'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n backgroundColor: '#eee',\r\n borderBottom: '.5rem solid #5D6F7A',\r\n },\r\n}));\r\n\r\nfunction SubHeader({ children }) {\r\n const classes = useStyles();\r\n \r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SubHeader\r\n","import React from 'react'\r\nimport { Box, Typography, Button } from '@material-ui/core'\r\nimport { navigate } from '../../routes';\r\n\r\nfunction EmptyData({ button = { label: 'Précédent', action: () => alert('Ok') }, text = 'Aucune données à afficher'}) {\r\n return (\r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default EmptyData;\r\n","import React, { useEffect, useState } from 'react'\r\nimport SubHeader from '../SubHeader'\r\nimport { Box, makeStyles, Grid, Container, Typography } from '@material-ui/core'\r\nimport { request } from '../../request';\r\nimport confs from '../../confs';\r\nimport { useSnackbar } from 'notistack';\r\nimport Loader from '../Loader';\r\nimport { frDate } from '../../utils';\r\nimport EmptyData from './EmptyData';\r\n\r\nconst { URL_API } = confs;\r\n\r\nfunction CollectionStep({ nextStep, selectCollection, value }) {\r\n\r\n const [isFetching, setIsFetching] = useState(false);\r\n const [collections, setCollections] = useState([]);\r\n const { enqueueSnackbar } = useSnackbar();\r\n \r\n useEffect(() => {\r\n const fail = () => {\r\n setIsFetching(false);\r\n enqueueSnackbar('Erreur au chargement de la donnée.', { variant: 'error' });\r\n };\r\n // Get collections\r\n setIsFetching(true);\r\n request.get(`${URL_API}/api/collections`).then(res => {\r\n if (res.success) {\r\n setCollections(res.payload);\r\n setIsFetching(false);\r\n } else {\r\n fail();\r\n }\r\n }).catch(err => fail());\r\n }, []);\r\n\r\n const onSelectCollection = (col) => {\r\n selectCollection(col);\r\n nextStep();\r\n };\r\n \r\n return (\r\n \r\n \r\n \r\n Séléctionner une collection\r\n \r\n \r\n \r\n\r\n {isFetching && (\r\n \r\n )}\r\n\r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nconst useCollectionStyles = makeStyles({\r\n root: {\r\n border: '3px solid #ccc',\r\n borderRadius: '.25rem',\r\n cursor: 'pointer',\r\n height: '100%',\r\n },\r\n date: {\r\n fontSize: '11px',\r\n }\r\n});\r\n\r\nconst Collections = ({ collections, onSelectCollection }) => {\r\n\r\n const classes = useCollectionStyles();\r\n console.log(collections);\r\n return (\r\n \r\n \r\n {collections.map(collection => (\r\n \r\n onSelectCollection(collection.COLLECTION)}\r\n >\r\n \r\n {collection.COLLECTION}\r\n \r\n \r\n {frDate(collection.DTEDEB)} - {frDate(collection.DTEFIN)}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CollectionStep\r\n","import * as actions from \"./actions\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { request } from \"../../request\";\r\nimport confs from \"../../confs\";\r\n\r\nconst { URL_API } = confs;\r\n\r\nfunction useOrderForm() {\r\n const orderForm = useSelector((state) => state.orderForm);\r\n const dispatch = useDispatch();\r\n\r\n const methods = {\r\n selectCollection: (collection) =>\r\n dispatch({ type: actions.SELECT_COLLECTION, payload: collection }),\r\n selectProduct: (product) =>\r\n dispatch({ type: actions.SELECT_PRODUCT, payload: product }),\r\n selectModel: (model) =>\r\n dispatch({ type: actions.SELECT_MODEL, payload: model }),\r\n selectStandardOptions: (options) =>\r\n dispatch({ type: actions.SELECT_STANDARD_OPTIONS, payload: options }),\r\n selectStandardOption: (option) =>\r\n dispatch({ type: actions.SELECT_STANDARD_OPTION, payload: option }),\r\n selectAdditionalOptions: (options) =>\r\n dispatch({ type: actions.SELECT_ADDITIONAL_OPTIONS, payload: options }),\r\n selectAdditionalOption: (option, options) =>\r\n dispatch({\r\n type: actions.SELECT_ADDITIONAL_OPTION,\r\n payload: { option, options },\r\n }),\r\n setArticle: (article) =>\r\n dispatch({ type: actions.SET_ARTICLE, payload: article }),\r\n prefillOrderInformation: (client) =>\r\n dispatch({ type: actions.PREFILL_ORDER_INFORMATION, payload: client }),\r\n changeDeliveryTab: (key, value) =>\r\n dispatch({ type: actions.CHANGE_DELIVERY_TAB, payload: { key, value } }),\r\n changeClientTab: (key, value) =>\r\n dispatch({ type: actions.CHANGE_CLIENT_TAB, payload: { key, value } }),\r\n changeCommentTab: (key, value) =>\r\n dispatch({ type: actions.CHANGE_COMMENT_TAB, payload: { key, value } }),\r\n changeDestination: (value) =>\r\n dispatch({ type: actions.CHANGE_DESTINATION, payload: value }),\r\n saveOrder: (order, cb) =>\r\n request\r\n .post(`${URL_API}/orders/generate`, order)\r\n .then((data) => {\r\n if (data.success && cb) return cb(null, data.payload);\r\n\r\n throw new Error(\"Request has failed\");\r\n })\r\n .catch((err) => cb && cb(err, null)),\r\n };\r\n\r\n return [orderForm, methods];\r\n}\r\n\r\nexport default useOrderForm;\r\n","import React from 'react'\r\nimport { makeStyles, Box, Button, Container } from '@material-ui/core'\r\nimport { ArrowBack as ArrowBackIcon } from '@material-ui/icons'\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n root: {\r\n backgroundColor: '#f8f9fa',\r\n position: 'fixed',\r\n bottom: 0,\r\n left: 0,\r\n width: '100%',\r\n }, \r\n}));\r\n\r\nfunction FooterStep({ prevStep, children }) {\r\n const classes = useStyles();\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FooterStep\r\n","import React, { useState, useEffect } from 'react'\r\nimport SubHeader from '../SubHeader';\r\nimport { Box, Typography, Container, Grid, makeStyles } from '@material-ui/core';\r\nimport { useSnackbar } from 'notistack';\r\nimport confs from '../../confs';\r\nimport { request } from '../../request';\r\nimport Loader from '../Loader';\r\nimport FooterStep from './FooterStep';\r\nimport EmptyData from './EmptyData';\r\nimport { navigate } from '../../routes';\r\n\r\nconst { URL_API } = confs;\r\n\r\nfunction ProductStep({ orderForm, nextStep, selectProduct, prevStep }) {\r\n\r\n const [isFetching, setIsFetching] = useState(true);\r\n const [products, setProducts] = useState([]);\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n useEffect(() => {\r\n\r\n setIsFetching(true);\r\n const fail = () => {\r\n setIsFetching(false);\r\n enqueueSnackbar('Erreur au chargement de la donnée', { variant: 'error' });\r\n };\r\n\r\n request.get(`${URL_API}/products`, { collection: orderForm.collection }).then(res => {\r\n if (res.success){\r\n setProducts(res.payload);\r\n setIsFetching(false);\r\n } else {\r\n throw new Error('');\r\n }\r\n }).catch(err => fail());\r\n \r\n }, []);\r\n\r\n const onSelectProduct = (product) => {\r\n selectProduct(product);\r\n nextStep();\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n Séléctionner un produit\r\n \r\n \r\n \r\n\r\n {isFetching && (\r\n \r\n )}\r\n\r\n {(!isFetching && products.length === 0) && (\r\n \r\n )}\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nconst useProductStyles = makeStyles({\r\n root: {\r\n border: '3px solid #ccc',\r\n borderRadius: '.25rem',\r\n cursor: 'pointer',\r\n height: '100%',\r\n },\r\n img: {\r\n width: '100%',\r\n height: 'auto',\r\n },\r\n});\r\n\r\nconst Products = ({ products, onSelectProduct }) => {\r\n\r\n const classes = useProductStyles();\r\n \r\n return (\r\n \r\n \r\n {products.map(product => (\r\n \r\n {product.LIBFAMART}\r\n \r\n {(product.products.map(prod => (\r\n \r\n onSelectProduct(prod.ADRIA_model_equipement)}\r\n >\r\n \r\n \r\n {prod.LIBSFA}\r\n \r\n \r\n \r\n )))}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ProductStep\r\n","import React, { useState, useEffect } from \"react\";\r\nimport SubHeader from \"../SubHeader\";\r\nimport {\r\n Box,\r\n Typography,\r\n Container,\r\n Grid,\r\n makeStyles,\r\n Divider,\r\n} from \"@material-ui/core\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport confs from \"../../confs\";\r\nimport { request } from \"../../request\";\r\nimport Loader from \"../Loader\";\r\nimport FooterStep from \"./FooterStep\";\r\nimport EmptyData from \"./EmptyData\";\r\n\r\nconst { URL_API } = confs;\r\n\r\nfunction ModelStep({ orderForm, nextStep, selectModel, prevStep }) {\r\n const [isFetching, setIsFetching] = useState(true);\r\n const [models, setModels] = useState([]);\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n useEffect(() => {\r\n setIsFetching(true);\r\n const fail = () => {\r\n setIsFetching(false);\r\n enqueueSnackbar(\"Erreur au chargement de la donnée\", {\r\n variant: \"error\",\r\n });\r\n };\r\n\r\n request\r\n .get(`${URL_API}/models`, {\r\n collection: orderForm.collection,\r\n product: orderForm.product,\r\n })\r\n .then((res) => {\r\n if (res.success) {\r\n setModels(res.payload);\r\n setIsFetching(false);\r\n } else {\r\n throw new Error(\"\");\r\n }\r\n })\r\n .catch((err) => fail());\r\n }, []);\r\n\r\n const onSelectModel = (model) => {\r\n selectModel(model);\r\n nextStep();\r\n };\r\n\r\n return (\r\n \r\n \r\n Séléctionner un model\r\n \r\n \r\n {isFetching && }\r\n\r\n {!isFetching && models.length === 0 && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst useModelStyles = makeStyles({\r\n root: {\r\n border: \"3px solid #ccc\",\r\n borderRadius: \".25rem\",\r\n cursor: \"pointer\",\r\n height: \"100%\",\r\n },\r\n});\r\n\r\nconst Models = ({ models, onSelectModel }) => {\r\n const classes = useModelStyles();\r\n console.log(\"models\", models);\r\n\r\n return (\r\n \r\n \r\n {models.map((model) => (\r\n \r\n \r\n {Boolean(model.ADRIA_day_layout) && (\r\n \r\n )}\r\n \r\n {model.LIBARTCON}\r\n \r\n \r\n {model.packages.map((pack) => (\r\n \r\n \r\n onSelectModel({\r\n code: pack.ADRIA_code,\r\n variant: pack.ADRIA_packages_variant,\r\n name: pack.LIBARTADRIA,\r\n })\r\n }\r\n >\r\n \r\n {pack.ADRIA_packages_name}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModelStep;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Box,\r\n Grid,\r\n Container,\r\n Collapse,\r\n Typography,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableCell,\r\n TableRow,\r\n TableBody,\r\n Button,\r\n} from \"@material-ui/core\";\r\nimport SubHeader from \"../SubHeader\";\r\nimport confs from \"../../confs\";\r\nimport { request } from \"../../request\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\r\nimport Loader from \"../Loader\";\r\nimport { makeStyles } from \"@material-ui/styles\";\r\nimport FooterStep from \"./FooterStep\";\r\nimport { ArrowForward as ArrowForwardIcon } from \"@material-ui/icons\";\r\nimport { price } from \"../../utils\";\r\n\r\nconst { URL_API } = confs;\r\n\r\nconst useStyles = makeStyles({\r\n nextButton: {\r\n backgroundColor: \"#E2001A\",\r\n color: \"#fff\",\r\n \"&:hover\": {\r\n backgroundColor: \"#f5384e\",\r\n },\r\n },\r\n});\r\n\r\nfunction StandardOptionsStep({\r\n orderForm,\r\n nextStep,\r\n selectOptions,\r\n selectOption,\r\n prevStep,\r\n setArticle,\r\n}) {\r\n const [isFetching, setIsFetching] = useState(true);\r\n const [options, setOptions] = useState([]);\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n const theme = useTheme();\r\n const upperMD = useMediaQuery(theme.breakpoints.up(\"md\"));\r\n\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n const fail = () => {\r\n enqueueSnackbar(\"Erreur au chargement de la donnée\", {\r\n variant: \"error\",\r\n });\r\n setIsFetching(false);\r\n };\r\n\r\n setIsFetching(true);\r\n request\r\n .post(`${URL_API}/options/standard`, {\r\n collection: orderForm.collection,\r\n product: orderForm.product,\r\n model: orderForm.model,\r\n })\r\n .then((res) => {\r\n if (!res.success) return fail();\r\n\r\n setArticle(res.payload.article);\r\n const optionsByCateg = getOptionsByCateg(res.payload.options);\r\n setOptions(optionsByCateg);\r\n if (!orderForm.standardOptions)\r\n setDefaultOptions(optionsByCateg, res.payload.standardConfig);\r\n setIsFetching(false);\r\n })\r\n .catch((err) => console.log(err));\r\n }, []);\r\n\r\n const getOptionsByCateg = (options) => {\r\n return options.reduce((acc, option) => {\r\n if (!(option.RENDERABLE === \"D\")) return acc;\r\n\r\n const index = acc.findIndex((it) => it.code === option.KATEG);\r\n if (index >= 0) {\r\n // We already have this KATEG\r\n acc[index].options.push(option);\r\n } else {\r\n acc.push({\r\n code: option.KATEG,\r\n name: option.KATE_NAZIV,\r\n options: [option],\r\n });\r\n }\r\n return acc;\r\n }, []);\r\n };\r\n\r\n const onSelectOption = (option) => {\r\n selectOption(option);\r\n };\r\n\r\n const setDefaultOptions = (optionsByCateg, standardConfig) => {\r\n const defaultOptions = optionsByCateg.map((categ) => {\r\n let defaultOption =\r\n standardConfig &&\r\n standardConfig[categ.code] &&\r\n categ.options.find(\r\n (o) => o.SIFRA === standardConfig[categ.code] && !(o.invalid === 1)\r\n );\r\n\r\n if (!defaultOption)\r\n defaultOption = categ.options.find(\r\n (option) => option.OBVEZNO === \"D\" && !(option.invalid === 1)\r\n );\r\n\r\n return {\r\n code: categ.code,\r\n name: categ.name,\r\n option: categ.options.length > 1 ? defaultOption : categ.options[0],\r\n };\r\n });\r\n selectOptions(defaultOptions);\r\n };\r\n\r\n return (\r\n \r\n \r\n Séléctionner les options standards\r\n \r\n \r\n {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\n \r\n \r\n it.option === undefined)\r\n )\r\n }\r\n endIcon={}\r\n onClick={nextStep}\r\n >\r\n Suivant\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst useArticleRecapStyles = makeStyles((theme) => ({\r\n root: {\r\n border: \"1px solid rgba(0,0,0,.125)\",\r\n borderRadius: \".3rem\",\r\n },\r\n ul: {\r\n padding: 0,\r\n margin: 0,\r\n width: \"100%\",\r\n listStyle: \"none\",\r\n fontSize: 12,\r\n },\r\n liHeader: {\r\n backgroundColor: \"#dddfe2\",\r\n color: \"#464a4e\",\r\n width: \"100%\",\r\n padding: theme.spacing(2),\r\n },\r\n li: {\r\n width: \"100%\",\r\n padding: theme.spacing(2),\r\n },\r\n}));\r\n\r\nexport const ArticleRecap = ({ article, selectedOptions, image }) => {\r\n const classes = useArticleRecapStyles();\r\n\r\n return (\r\n \r\n {Boolean(image) && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {article.ADRIA_code}\r\n \r\n \r\n {article.LIBARTCON}\r\n \r\n \r\n {article.ADRIA_packages_variant} - {article.ADRIA_packages_name}\r\n \r\n \r\n
    \r\n {selectedOptions.map((categ) => {\r\n if (categ.option) {\r\n return (\r\n \r\n
  • {categ.name}
  • \r\n
  • \r\n {categ.option.SIFRA}{\" \"}\r\n {categ.option.LIBOPTCON || categ.option.NAZIV}\r\n
  • \r\n
    \r\n );\r\n } else if (categ.options && categ.options.length > 0) {\r\n return (\r\n \r\n
  • {categ.name}
  • \r\n {categ.options.map((option) => (\r\n
  • \r\n {option.SIFRA}{\" \"}\r\n {option.LIBOPTCON || option.NAZIV}\r\n
  • \r\n ))}\r\n
    \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst useOptionStyles = makeStyles({\r\n headerCell: {\r\n backgroundColor: \"#FDFDFE\",\r\n fontSize: 16,\r\n },\r\n optionRow: {\r\n \"&:hover\": {\r\n backgroundColor: \"rgba(0,0,0,.05)\",\r\n },\r\n cursor: \"pointer\",\r\n },\r\n optionRowSelected: {\r\n backgroundColor: \"rgba(0,0,0,.05)\",\r\n },\r\n});\r\n\r\nconst Options = ({ options, selectedOptions, onSelectOption }) => {\r\n const classes = useOptionStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {options.map((categ) => (\r\n \r\n \r\n \r\n {categ.name}\r\n \r\n \r\n {categ.options.map((option) => {\r\n const isSelected =\r\n (\r\n selectedOptions.find((c) => c.code === categ.code)\r\n .option || {}\r\n ).SIFRA === option.SIFRA;\r\n\r\n const isInvalid = option.invalid === 1;\r\n\r\n if (isInvalid) return null;\r\n\r\n return (\r\n \r\n !isSelected && !isInvalid && onSelectOption(option)\r\n }\r\n >\r\n \r\n \r\n \r\n {option.SIFRA}\r\n {option.LIBOPTCON || option.NAZIV}\r\n \r\n {option.TARIFNETHT > 0 && price(option.TARIFNETHT || 0)}\r\n \r\n \r\n );\r\n })}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default StandardOptionsStep;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Box, Grid, Container, Collapse, Typography, TableContainer, Table, TableHead, TableCell, TableRow, TableBody, Button, Popover, MenuItem, Menu, Divider, IconButton, Chip } from '@material-ui/core'\r\nimport SubHeader from '../SubHeader'\r\nimport confs from '../../confs';\r\nimport { request } from '../../request';\r\nimport { useSnackbar } from 'notistack';\r\nimport { useTheme } from '@material-ui/core/styles';\r\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\r\nimport Loader from '../Loader';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport FooterStep from './FooterStep';\r\nimport { ArrowForward as ArrowForwardIcon, Check, Visibility as VisibilityIcon, VisibilityOff as VisibilityOffIcon } from '@material-ui/icons';\r\nimport { ArticleRecap } from './StandardOptionsStep';\r\nimport qs from 'querystring';\r\nimport useAuth from '../Auth/useAuth';\r\nimport { price } from '../../utils';\r\nimport { useMemo } from 'react';\r\n\r\nconst { URL_API } = confs;\r\n\r\nconst useStyles = makeStyles({\r\n nextButton: {\r\n backgroundColor: '#E2001A',\r\n color: '#fff',\r\n '&:hover': {\r\n backgroundColor: '#f5384e',\r\n }\r\n }\r\n})\r\n\r\nconst getOptionsByCateg = (options) => {\r\n return options.reduce((acc, option) => {\r\n if (!(option.RENDERABLE === 'D')) return acc;\r\n\r\n const index = acc.findIndex(it => it.code === option.KATEG);\r\n if (index >= 0) { // We already have this KATEG\r\n acc[index].options.push(option);\r\n } else {\r\n acc.push({\r\n code: option.KATEG,\r\n name: option.KATE_NAZIV,\r\n options: [ option ],\r\n });\r\n }\r\n return acc;\r\n }, []);\r\n}\r\n\r\nfunction AdditionalOptionsStep({ orderForm, nextStep, selectOptions, selectOption, prevStep, setArticle, prefillOrderInformation }) {\r\n\r\n const [isFetching, setIsFetching] = useState(true);\r\n const [auth] = useAuth();\r\n const [options, setOptions] = useState([]);\r\n const [packs, setPacks] = useState([]);\r\n const [standardConfigOptions, setStandardConfigOptions] = useState([]);\r\n const [addOpts, setAddOpt] = useState([]);\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n const theme = useTheme();\r\n const upperMD = useMediaQuery(theme.breakpoints.up('md'));\r\n\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n\r\n const fail = () => {\r\n enqueueSnackbar('Erreur au chargement de la donnée', { variant: 'error' });\r\n setIsFetching(false);\r\n }\r\n\r\n setIsFetching(true);\r\n request.post(`${URL_API}/options/additional`, {\r\n collection: orderForm.collection,\r\n product: orderForm.product,\r\n model: orderForm.model,\r\n options: orderForm.standardOptions.map(opt => opt.option),\r\n engine: (orderForm.standardOptions.find(opt => opt.code === 'MO').option||{}).SIFRA,\r\n })\r\n .then(res => {\r\n if (!res.success) return fail();\r\n\r\n setArticle(res.payload.article);\r\n const optionsByCateg = getOptionsByCateg(res.payload.options);\r\n setAddOpt(res.payload.options);\r\n let stdCfgOpts = getStandardConfigOptions(res.payload.options, res.payload.standardConfig);\r\n setStandardConfigOptions(stdCfgOpts);\r\n setOptions(optionsByCateg);\r\n setPacks(res.payload.pak_options);\r\n if (!(orderForm.additionalOptions.options) && !(stdCfgOpts.length > 0)) setDefaultAdditionalOptions(optionsByCateg, orderForm.standardOptions);\r\n setIsFetching(false);\r\n \r\n })\r\n .catch(err => console.log(err))\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n if (addOpts && standardConfigOptions) {\r\n applyStandardConfig();\r\n }\r\n \r\n }, [ addOpts, standardConfigOptions ])\r\n\r\n const onSelectOption = (option, options) => {\r\n selectOption(option, options);\r\n }\r\n\r\n const getStandardConfigOptions = (options, standardConfig) => {\r\n return options.filter(o => standardConfig && standardConfig[o.KATEG] && String(standardConfig[o.KATEG]).split(',').includes(String(o.SIFRA)));\r\n }\r\n\r\n const setDefaultAdditionalOptions = (optionsByCateg, standardOptions) => {\r\n\r\n const flatStandardOptions = standardOptions.reduce((acc, item) => [...acc, item.option],[]);\r\n const flatConnections = flatStandardOptions.reduce((acc, item) => [...acc, ...item.CONNECTIONS], []);\r\n \r\n let defaultOptions = optionsByCateg.map(categ => {\r\n let options = [];\r\n\r\n categ.options.map(AO => {\r\n const connection = flatConnections.find(co => co.OPPO_OPCIJ === AO.SIFRA && co.OPPO_VRSTA === 'A');\r\n if (connection || AO.OBVEZNO === 'D') options.push({...AO, OBVEZNO: 'D', default: true });\r\n\r\n });\r\n \r\n return {...categ, options };\r\n \r\n });\r\n \r\n selectOptions(defaultOptions);\r\n };\r\n\r\n const applyStandardConfig = () => {\r\n\r\n const flatStandardOptions = orderForm.standardOptions.reduce((acc, item) => [...acc, item.option],[]);\r\n const flatConnections = flatStandardOptions.reduce((acc, item) => [...acc, ...item.CONNECTIONS], []);\r\n\r\n const defaultOptsFromParent = addOpts.filter(o => flatConnections.find(co => co.OPPO_OPCIJ === o.SIFRA && co.OPPO_VRSTA === 'A')).map(o => ({...o, default: true}));\r\n const configOpts = standardConfigOptions.map(o => (o.OBVEZNO === 'D' || !!flatConnections.find(co => co.OPPO_OPCIJ === o.SIFRA && co.OPPO_VRSTA === 'A')) ? {...o, default: true} : o);\r\n \r\n selectOptions(getOptionsByCateg([...configOpts, ...defaultOptsFromParent]));\r\n }\r\n\r\n const next = () => {\r\n prefillOrderInformation(auth.client);\r\n nextStep();\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n Séléctionner les options additionelles\r\n \r\n \r\n \r\n\r\n {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 {standardConfigOptions.length > 0 && (\r\n \r\n Appliquer la configuration standard\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst useOptionStyles = makeStyles({\r\n headerCell: {\r\n backgroundColor: '#FDFDFE',\r\n fontSize: 16\r\n },\r\n optionRow: {\r\n '&:hover': {\r\n backgroundColor: 'rgba(0,0,0,.05)',\r\n },\r\n cursor: 'pointer',\r\n },\r\n optionRowSelected: {\r\n cursor: 'pointer',\r\n backgroundColor: 'rgba(0,0,0,.05)',\r\n }\r\n});\r\n\r\nconst Options = ({ options, selectedOptions, onSelectOption }) => {\r\n\r\n const classes = useOptionStyles();\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n {(options.map(categ => (\r\n \r\n \r\n {categ.name}\r\n \r\n {(categ.options.map(option => {\r\n const selectedOption = ((selectedOptions.options.find(c => c.code === categ.code)||{}).options || []).find(opt => opt.SIFRA === option.SIFRA);\r\n const isSelected = !!selectedOption && selectedOption.removed !== true;\r\n const isDefault = ((((selectedOptions.options.find(c => c.code === categ.code)||{}).options || []).find(opt => opt.SIFRA === option.SIFRA)||{}).default === true);\r\n\r\n const isAdded = selectedOptions.added.find(o1 => o1.SIFRA === option.SIFRA);\r\n const isRemoved = selectedOptions.removed.find(o1 => o1.SIFRA === option.SIFRA);\r\n\r\n return (\r\n !isDefault && onSelectOption(option, options) }\r\n >\r\n \r\n \r\n \r\n {option.SIFRA}\r\n {(option.LIBOPTCON || option.NAZIV)}\r\n {option.TARIFNETHT > 0 && price((option.TARIFNETHT || 0))}\r\n \r\n );\r\n }))}\r\n \r\n )))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n\r\nconst useStandardConfigStyle = makeStyles(theme => ({\r\n root: {\r\n border: '1px solid rgba(0,0,0,.125)',\r\n borderRadius: '.3rem',\r\n },\r\n ul: {\r\n padding: 0,\r\n margin: 0,\r\n width: '100%',\r\n listStyle: 'none',\r\n fontSize: 12,\r\n marginBottom: '10px',\r\n },\r\n liHeader: {\r\n backgroundColor: '#dddfe2',\r\n color: '#464a4e',\r\n width: '100%',\r\n padding: theme.spacing(2),\r\n },\r\n li: {\r\n width: '100%',\r\n padding: theme.spacing(2),\r\n }\r\n}));\r\n\r\nfunction ApplyStandardConfigButton({ applyStandardConfig, standardConfigOptions }) {\r\n\r\n const [open, setOpen] = React.useState(false);\r\n const classes = useStandardConfigStyle();\r\n return (\r\n
\r\n \r\n setOpen(true)}\r\n // onMouseLeave={() => setOpen(false)}\r\n color='secondary'\r\n fullWidth\r\n variant='contained'\r\n disableElevation\r\n onClick={applyStandardConfig}\r\n >\r\n Appliquer la configuration standard\r\n \r\n \r\n setOpen(!open)}>\r\n {open ? : }\r\n \r\n \r\n \r\n \r\n
    \r\n {(getOptionsByCateg(standardConfigOptions).map(categ => {\r\n return (\r\n \r\n
  • {categ.name}
  • \r\n {categ.options.map(option => (\r\n
  • \r\n {option.SIFRA} {option.NAZIV}\r\n
  • \r\n ))}\r\n
    \r\n );\r\n }))}\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n const Packs = ({ packs, onSelectOption, selectedOptions, options }) => {\r\n const isOptionSelected = (option) => {\r\n for (const categ of selectedOptions.options) {\r\n for (const selectedOption of categ.options) {\r\n if (selectedOption.SIFRA === option.SIFRA) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n \r\n const handleSelectPackOptions = (optionsCode, isPackSelected) => {\r\n for (const categ of options) {\r\n for (const option of categ.options) {\r\n if (optionsCode.includes(option.SIFRA)) {\r\n // Add the option\r\n if (isPackSelected) {\r\n // We want to UNSELECT this option\r\n if (isOptionSelected(option)) onSelectOption(option, options);\r\n }\r\n\r\n if (!isPackSelected) {\r\n // We want to select this option\r\n if (!isOptionSelected(option)) onSelectOption(option, options);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const flattenOptions = selectedOptions.options.reduce((acc, item) => [...acc, ...item.options.reduce((acc, item) => [...acc, item],[])], [])\r\n const flattenOptionsCode = flattenOptions.map(({ SIFRA }) => SIFRA);\r\n \r\n return (\r\n \r\n \r\n {packs.map(({ CODPAK, CONFIG_PakOptions }) => {\r\n const packOptionsCode = CONFIG_PakOptions.split(',');\r\n const isPackSelected = packOptionsCode.every(option => flattenOptionsCode.includes(option));\r\n \r\n return } onClick={() => handleSelectPackOptions(packOptionsCode, isPackSelected)} label={CODPAK} variant='contained' />;\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\nexport default AdditionalOptionsStep;\r\n","import React from 'react'\r\nimport { Grid, TextField } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport moment from 'moment';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n row: {\r\n marginBottom: theme.spacing(2),\r\n }\r\n}));\r\n\r\nfunction DeliveryTab({ deliveryTab, changeDeliveryTab }) {\r\n\r\n const classes = useStyles();\r\n \r\n const handleChange = e => {\r\n changeDeliveryTab(e.target.name, e.target.value);\r\n }\r\n\r\n const validate = (_var) => !(!!_var && _var !== '') ? 'Ce champ est requis' : undefined;\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\nexport default DeliveryTab;\r\n","import React from \"react\";\r\nimport { Box, Grid, TextField, Typography } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/styles\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n row: {\r\n marginBottom: theme.spacing(2),\r\n },\r\n}));\r\n\r\nfunction ClientTab({ clientTab, changeClientTab }) {\r\n const classes = useStyles();\r\n\r\n const handleChange = (e) => {\r\n changeClientTab(e.target.name, e.target.value);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (*) Les champs munis d'un astérisque sont obligatoires\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ClientTab;\r\n","import React from 'react'\r\nimport { FormControl, InputLabel, Input, FormHelperText, Grid, TextField } from '@material-ui/core';\r\nimport { makeStyles } from '@material-ui/styles';\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n row: {\r\n marginBottom: theme.spacing(2),\r\n }\r\n}));\r\n\r\nfunction CommentTab({ commentTab, changeCommentTab }) {\r\n\r\n const classes = useStyles();\r\n \r\n const handleChange = e => {\r\n changeCommentTab(e.target.name, e.target.value);\r\n }\r\n \r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default CommentTab;\r\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\r\nimport {\r\n Box,\r\n Grid,\r\n Container,\r\n Collapse,\r\n Typography,\r\n Button,\r\n CircularProgress,\r\n Dialog,\r\n Divider,\r\n DialogActions,\r\n DialogTitle,\r\n} from \"@material-ui/core\";\r\nimport SubHeader from \"../SubHeader\";\r\nimport { useTheme } from \"@material-ui/core/styles\";\r\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\r\nimport { makeStyles } from \"@material-ui/styles\";\r\nimport FooterStep from \"./FooterStep\";\r\nimport {\r\n ArrowForward as ArrowForwardIcon,\r\n Warning as WarningIcon,\r\n} from \"@material-ui/icons\";\r\nimport { ArticleRecap } from \"./StandardOptionsStep\";\r\nimport PropTypes from \"prop-types\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Tabs from \"@material-ui/core/Tabs\";\r\nimport Tab from \"@material-ui/core/Tab\";\r\nimport DeliveryTab from \"./DeliveryTab\";\r\nimport useOrderForm from \"./useOrderForm\";\r\nimport ClientTab from \"./ClientTab\";\r\nimport CommentTab from \"./CommentTab\";\r\nimport useAuth from \"../Auth/useAuth\";\r\nimport qs from \"querystring\";\r\nimport { useSnackbar } from \"notistack\";\r\nimport { navigate } from \"../../routes\";\r\n\r\nconst useSwitchStyles = makeStyles((theme) => ({\r\n switchButtonActive: {\r\n backgroundColor: theme.palette.secondary.main,\r\n color: theme.palette.secondary.contrastText,\r\n boxShadow: \"0 0 10px 0 rgba(0, 0, 0, .125)\",\r\n borderRadius: \"3px\",\r\n cursor: \"pointer\",\r\n },\r\n switchButton: {\r\n backgroundColor: theme.palette.primary.main,\r\n border: `2px solid ${theme.palette.secondary.main}`,\r\n color: theme.palette.primary.contrastText,\r\n borderRadius: \"3px\",\r\n cursor: \"pointer\",\r\n },\r\n}));\r\n\r\nfunction OrderInformationStep({ orderForm, nextStep, prevStep }) {\r\n const theme = useTheme();\r\n const upperMD = useMediaQuery(theme.breakpoints.up(\"md\"));\r\n const [\r\n { DESTINATION },\r\n {\r\n changeDeliveryTab,\r\n changeClientTab,\r\n changeCommentTab,\r\n changeDestination,\r\n saveOrder,\r\n },\r\n ] = useOrderForm();\r\n const [{ client }] = useAuth();\r\n const [isGenerating, setIsGenerating] = useState(false);\r\n const { enqueueSnackbar } = useSnackbar();\r\n\r\n const [openDestinationModal, setOpenDestinationModal] = useState(false);\r\n const [destination, setDestination] = useState(false);\r\n\r\n const switchClasses = useSwitchStyles();\r\n\r\n const valid = (_var) => !!_var && _var !== \"\";\r\n\r\n const isFormValid = (formData) => \r\n formData.CLIFNOM && \r\n formData.CLIFAD1 && \r\n formData.CLIFVILLE && \r\n formData.CLIFCP && \r\n formData.CLIFTEL1;\r\n\r\n const isDeliveryTabValid = useCallback(() => {\r\n const { deliveryTab } = orderForm;\r\n return valid(deliveryTab.LIEULIVSOUHAIT); // &&\r\n // valid(deliveryTab.ADLIV1) &&\r\n // valid(deliveryTab.CPLIV) &&\r\n // valid(deliveryTab.VILLIV) &&\r\n // valid(deliveryTab.DTELIVSOUHAIT) && moment(deliveryTab.DTELIVSOUHAIT).isAfter(moment().subtract(1, 'day'))\r\n }, [orderForm]);\r\n\r\n const isClientTabValid = useCallback(() => {\r\n const { clientTab } = orderForm;\r\n return isFormValid(clientTab);\r\n }, [orderForm]);\r\n\r\n const generateOrder = () => {\r\n setIsGenerating(true);\r\n const commande = {\r\n COLLECTION: orderForm.collection,\r\n DESTINATION,\r\n DONNEUR_ORDRE: client.NOM_RESPONSABLE,\r\n CODCON: client.CODCON,\r\n product: {\r\n collection: orderForm.collection,\r\n name: orderForm.product,\r\n code: orderForm.model.code,\r\n variant: orderForm.model.variant,\r\n engine: orderForm.standardOptions.find((c) => c.code === \"MO\").option\r\n .SIFRA,\r\n },\r\n ...orderForm.deliveryTab,\r\n ...(DESTINATION === \"C\" ? orderForm.clientTab : {}),\r\n ...orderForm.commentTab,\r\n CONFIG_StandardOptions: qs.stringify(\r\n orderForm.standardOptions.reduce(\r\n (acc, item) => ({ ...acc, [item.code]: item.option.SIFRA }),\r\n {}\r\n )\r\n ),\r\n CONFIG_AdditionalOptions: qs.stringify(\r\n orderForm.additionalOptions.options.reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n [item.code]: item.options\r\n .reduce((a, i) => [...a, i.SIFRA], [])\r\n .join(\",\"),\r\n }),\r\n {}\r\n )\r\n ),\r\n CONFIG_Prix: qs.stringify({\r\n ...orderForm.standardOptions.reduce(\r\n (acc, item) =>\r\n (item.option.TARIFNETHT || 0) > 0 && {\r\n ...acc,\r\n [item.code + \"¤\" + item.option.SIFRA]:\r\n item.option.TARIFNETHT || 0,\r\n },\r\n {}\r\n ),\r\n ...orderForm.additionalOptions.options.reduce(\r\n (acc, item) => ({\r\n ...acc,\r\n ...item.options.reduce(\r\n (acc1, item1) =>\r\n (item1.TARIFNETHT || 0) > 0\r\n ? {\r\n ...acc1,\r\n [item.code + \"¤\" + item1.SIFRA]: item1.TARIFNETHT || 0,\r\n }\r\n : acc1,\r\n {}\r\n ),\r\n }),\r\n {}\r\n ),\r\n }),\r\n TARIFOPTCDE:\r\n orderForm.standardOptions.reduce(\r\n (acc, item) => acc + (item.option.TARIFNETHT || 0),\r\n 0\r\n ) +\r\n orderForm.additionalOptions.options.reduce(\r\n (acc, item) =>\r\n acc + item.options.reduce((a, i) => a + (i.TARIFNETHT || 0), 0),\r\n 0\r\n ),\r\n };\r\n\r\n saveOrder(commande, (err, data) => {\r\n if (err) {\r\n return enqueueSnackbar(err.message, { variant: \"error\" });\r\n }\r\n setIsGenerating(false);\r\n navigate.replace(\"OrdersPage\");\r\n });\r\n };\r\n\r\n const tabs = useMemo(\r\n () => [\r\n {\r\n isValid: isDeliveryTabValid(),\r\n component: (\r\n \r\n ),\r\n label: \"Livraison\",\r\n },\r\n ...(DESTINATION === \"C\"\r\n ? [\r\n {\r\n isValid: isClientTabValid(),\r\n component: (\r\n \r\n ),\r\n label: \"Client\",\r\n },\r\n ]\r\n : []),\r\n {\r\n isValid: true,\r\n component: (\r\n \r\n ),\r\n label: \"Commentaire\",\r\n },\r\n ],\r\n [\r\n changeClientTab,\r\n changeCommentTab,\r\n changeDeliveryTab,\r\n DESTINATION,\r\n isClientTabValid,\r\n isDeliveryTabValid,\r\n orderForm.clientTab,\r\n orderForm.commentTab,\r\n orderForm.deliveryTab,\r\n ]\r\n );\r\n\r\n const chooseDestination = () => {\r\n changeDestination(destination);\r\n setOpenDestinationModal(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!DESTINATION) {\r\n setOpenDestinationModal(true);\r\n }\r\n }, [DESTINATION]);\r\n\r\n return (\r\n \r\n \r\n Séléctionner les informations de commande\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cette commande est a destination de\r\n \r\n setDestination(\"C\")}\r\n className={\r\n destination === \"C\"\r\n ? switchClasses.switchButtonActive\r\n : switchClasses.switchButton\r\n }\r\n mx={1}\r\n p={2}\r\n flex={1}\r\n textAlign=\"center\"\r\n >\r\n Client\r\n \r\n setDestination(\"S\")}\r\n className={\r\n destination === \"S\"\r\n ? switchClasses.switchButtonActive\r\n : switchClasses.switchButton\r\n }\r\n mx={1}\r\n p={2}\r\n flex={1}\r\n textAlign=\"center\"\r\n >\r\n Stock\r\n \r\n \r\n \r\n \r\n \r\n Enregistrer\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n t.isValid) || isGenerating}\r\n endIcon={}\r\n onClick={generateOrder}\r\n >\r\n {isGenerating && (\r\n \r\n )}{\" \"}\r\n Générer la commande\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction TabPanel(props) {\r\n const { children, value, index, ...other } = props;\r\n\r\n return (\r\n