{"version":3,"sources":["service/AuthService.js","style/Icons.js","components/TreeNode.js","components/TreeView.js","components/CalendarCustom.js","components/Header.js","components/MaterialButton.js","components/Calendar/Partials/Days.js","components/Calendar/Partials/Months.js","components/Calendar/Partials/Styles.js","components/Calendar/Partials/Years.js","components/Calendar/Partials/Background.js","components/Calendar/Partials/Input.js","componentsUtils/utils.js","componentsUtils/Portal.js","componentsUtils/Progress.js","componentsUtils/MaterialInput.js","components/Calendar/index.js","componentsUtils/CheckBox.js","componentsUtils/CheckBoxGroup.js","componentsUtils/CheckboxList.js","componentsUtils/ClockDigital.js","componentsUtils/Comment.js","componentsUtils/Clock.js","componentsUtils/DropDown.js","componentsUtils/HeaderBox.js","componentsUtils/ImageEditorRc.js","componentsUtils/ImageEditor.js","componentsUtils/ImageUpload.js","componentsUtils/Kanban.js","componentsUtils/Leaflet.js","componentsUtils/Loading.js","componentsUtils/MaterialDatePicker.js","componentsUtils/MaterialDropDown.js","componentsUtils/MaterialDropDownS.js","componentsUtils/MaterialTimePicker.js","componentsUtils/ModalCustom.js","componentsUtils/Radio.js","componentsUtils/RadioGroup.js","componentsUtils/RadioBoxGroup.js","componentsUtils/Toast.js","componentsUtils/TransferList.js","componentsUtils/Tree.js","componentsUtils/TreeDropdown.js","componentsUtils/Upload.js","componentsUtils/AnimatedIcon.js","componentsUtils/UploadButton.js","componentsUtils/StaticIcon.js","components/Library.js","store/Profile.js","style/color.js","service/BaseViewComponent.js","images/footer-background.png","images/Logo.png","store/counter.js","store/rootReducer.js","store/store.js","registerServiceWorker.js","View/DefaultLayout/AppSidebarTime.js","View/DefaultLayout/DrawerList.js","View/DefaultLayout/Navigation.js","components/ProfileDropDown.js","App.js","index.js","service/JSUtil.js"],"names":["AbortController","window","AuthService","this","handleError","bind","ToastError","item","token","getToken","react","url","data","requestOptions","method","headers","GetAuthHeader","body","GetUrl","ConsoleLog","fetch","then","handleResponse","res","result","message","ToastSuccess","Promise","resolve","props","history","push","err","console","log","reject","controller","signal","axios","handleResponseAxios","sw","IsRegistered","reg","ClientDB","SaveDataLocally","JSUtil","sync","register","ConsoleError","JSON","stringify","intPersonID","Error","idToken","localStorage","setItem","getItem","removeItem","sessionStorage","rest_post","tooltip_list","ComponentName","ControlName","jsonToolTip","per","parse","filter","chComponentName","length","chControlName","chContent","permission_prop_list","PropName","jsonPermission","chPropName","TemplateName","HasPermission","className","includes","class","ClassType","col","IconType","Icon","ButtonType","HasLoading","LoadingState","onClickCallback","Caption","Col","md","sm","xs","Button","color","data-toggle","title","GetClassNameByType","onClick","GetIcon1","progressType","disabled","ThisObject","str","caption","GetCommandButton","state","loadingAdd","loadingEdit","loadingDelete","loadingPermission","loadingDoc","loadingCopy","loadingDesign","loadingPrint","response","status","ok","contentType","get","json","succeeded","text","statusText","replace","error","msg","toast","success","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","ValidationList","vList","validation","validation_NationalCode","controlValue","controlName","validation_Mobile","validation_NotEmpty","validation_PostCode","validation_IdenNo","validation_Date","validation_DateDay","validation_DateMonth","validation_Number","validation_Radio","validation_Divorce","validation_SexType","validation_MarriedType","validation_HasValue","validation_Email","Value","List","value","parseInt","list","list2","Str","split","map","Array","toString","Date","Pre","date","IsNull","pre","substr","NullValue","Camera","CameraAlt","Menu","ArrowForwardIos","ArrowUpward","Add","AddCircleOutline","Save","Close","Cancel","Done","DoneAll","CloudUpload","TreeNode","parentCode","hasCheckBox","NodeClick","getChckeboxValue","IsChecked","setHovered","setUnHovered","onIconClicked","e","target","classList","contains","remove","nextElementSibling","add","onNodeClicked","onCheckBoxClick","id","isChecked","refCode","type","name","checked","viewBox","fill","d","stopPropagation","onMouseEnter","onMouseLeave","aria-hidden","Component","TreeView","checkedValue","preId","checkIndeterminate","items","childs","child","setState","object","document","getElementsByName","indeterminate","querySelectorAll","forEach","key","parent","children","querySelector","getElementById","doCheckChilds","doUncheckChilds","defaultProps","redirect","pathname","tintLogEntityCode","chRelatedData","chFileID","intVisitNumber","Card","FormGroup","row","label","style","top","right","ticket","Tooltip","IconButton","React","hidden","MaterialButton","hover","active","toggleHover","toggleActive","ripple","styles","botton","line","lineButton","onMouseUp","onMouseDown","Fragment","loading","CircularProgress","size","thickness","MaterialIcon","SemanticIcon","left","height","minWidth","border","borderRadius","padding","fontSize","textTransform","cursor","backgroundColor","boxShadow","outline","backgroundPosition","transition","background","backgroundSize","paddingRight","float","canUseDOM","createElement","mapObj","1","2","3","4","5","6","7","8","9","0","Days","selectedDay","daysCount","selectedYear","unix","disableFromUnix","disableFromYear","moment","format","disableFromMonth","disableFromDay","nextProps","setTimeout","i","element","clickEvent","refs","firstDay","currentMonth","year","month","enable","check","addedClass","marginRight","number","today","ref","dayClicked","renderDays","Months","months","monthPickerView","selectedMonth","monthClicked","monthTitleEnable","inlineStyles","marginTop","fontWeight","renderMonths","display","alignItems","marginBottom","justifyContent","Styles","nDays","Years","yearChanged","changeEvent","editable","nextprops","yearString","container","child1","Object","assign","child2","placeholder","onChange","onBlur","tooltip","flexDirection","width","Portal","defaultNode","removeChild","node","appendChild","ReactDOM","createPortal","Progress","Container","Row","MaterialInput","isFocused","NotEmpty","HasValue","NationalCode","Mobile","Digit","Email","Time","Capcha","onFocus","validate","GetInputType","input","isDigit","event","valid","validation_Time","validation_Capcha","refField","borderColor","refMsg","innerText","rows","cols","maxLength","autoComplete","refInput","invalidMsg1","autoCorrect","onKeyDown","invalidMsg","legend","pointerEvents","inputBox","bottom","borderStyle","borderWidth","onKeyUp","loadPersian","header","h6","h4","daysTitle","maxHeight","button","fontFamily","CheckBox","htmlFor","CheckBoxGroup","selected","Id","Math","floor","random","parentElement","previousElementSibling","ReturnValue","array","str2array","array2str","array2","obj","fieldset","index","floatLabel","flexWrap","CheckboxList","selectedID","optionItems","invalid","FormFeedback","withStyles","theme","root","maxWidth","palette","paper","nested","paddingLeft","spacing","clockStyle","margin","letterSpacing","textShadow","clockHeaderStyle","ClockDigital","dateTimestamp","now","tick","calculateNumberOfDaysLeft","startDate","diff","pad","max","interval","setInterval","clearInterval","day","clockSeparator","daysLeft","isDayEnabled","undefined","Day","Seperator","shouldShow","Hour","Minutes","Seconds","Comment","handleClicked","intResponseUserCode","header1","header2","intAttachmentCount","circular","inverted","simple","inline","HeaderBox","backgroundColor1","backgroundColor2","IconColor","transform","optionProps","unchangeableProps","slice","ImageEditorRc","rotateAngle","image","degree","rotateToLeft","rotateToRight","crop","handleChange","options","keys","propKey","indexOf","reduce","prevOptions","cropper","Cropper","img","src","reset","clear","aspectRatio","setAspectRatio","setData","dragMode","setDragMode","cropBoxData","setCropBoxData","canvasData","setCanvasData","moveTo","zoomTo","scaleX","scaleY","disable","isDifferentVal","isUnchangeableProps","destroy","mode","getCroppedCanvas","getCropBoxData","getCanvasData","getImageData","getContainerData","rounded","getData","cb","offsetX","offsetY","move","x","y","ratio","zoom","rotate","rotateTo","onlyColorChanged","scale","responseType","toBlob","blob","saveImage","toDataURL","alt","crossOrigin","opacity","resetImage","imageName","fileName","fileSize","fileType","orginalImage","open","preventDefault","reader","FileReader","file","files","onloadend","readAsDataURL","guides","rotatable","autoCrop","for","currentBtn","zIndex","resetMarkerBtn","Loading","fluid","xl","lg","titleStyle","subtitleStyle","subtitle","LinearProgress","jMoment","dialect","usePersianDigits","MaterialDatePicker","loadDate","Now","dateSeted","parsedValue","confirm","NextProps","innerRef","Modal","isOpen","ModalBody","dir","utils","JalaliUtils","locale","DatePicker","variant","openTo","ModalFooter","forwardRef","MaterialDropDown","Msg","inputInValid","inputValid","validMsg","labelFocused","MaterialDropDownS","LoadValue","selectedName","Input","wrapperRef","firstElementChild","filtered","selectedNames","founded","values","valuesWithDetails","Stream","SmartSearch","MultiSelect","onInputClick","onSelect","PreElement","handleClickOutside","addEventListener","removeEventListener","MTInput","attributes","and","string","toLowerCase","typingTimer","doneTypingInterval","clearTimeout","updateData","lastElementChild","promises","toUpperCase","all","results","self","keyCode","shiftKey","DOWN_ARROW_KEY_CODE","scrollIntoView","behavior","block","UP_ARROW_KEY_CODE","ENTER_KEY_CODE","ESCAPE_KEY_CODE","Tab_KEY_CODE","dropdownContentA","dropdownContent","dropdownDetails","borderTop","overflowY","textDecoration","textAlign","MaterialTimePicker","LoadTime","time","setHours","getHours","getMinutes","timeSeted","parsedTime","toTimeString","okLabel","ModalCustom","_element","modal","role","tabIndex","Header","Footer","Radio","RadioGroup","RadioBoxGroup","Image","marginLeft","flex","icon","Toast","newestOnTop","rtl","pauseOnVisibilityChange","makeStyles","cardHeader","overflow","Tree","LoadData","lastSibling","childElementCount","nodeName","lastChild","firstChild","toggle","tempObj","parentNode","nodeType","previousSibling","labelHoverable","rootNode","TreeDropdown","ShowParents","dropDownToggler","TreeDropdownRef","disticted","Set","obj2","endNode","end","reverse","isNaN","dropdown","normal","profile","Upload","Preview","show","showDetail","_handleChange","handleRemove","multiple","CardHeader","CardBody","prev","AnimatedIcon","Click","ParentClick","paths","first","second","interpolators","interpolate","maxSegmentLength","ParentHover","Hover","IconRef","native","from","t","to","path","PureComponent","UploadButton","fileprogress","addToFile","classes","ButtonBase","Fab","FabDone","FabUnDone","StaticIcon","primary","main","shadows","transitions","create","duration","short","dark","action","disabledBackground","animationType","require","Auth","initialState","pending","logedIn","drawer","chUserTitle","avatar","intCode","payload","ToggleProfile","ToggleLogedIn","GetProfile","dispatch","getState","ProfileReducers","user","Default","Primary","PrimaryDark","Success","SuccessText","BaseViewComponent","constructor","loggedIn","UpdateLoginStatus","param","module","exports","INCREMENT","DECREMENT","count","isIncrementing","isDecrementing","createHistory","combineReducers","router","connectRouter","counter","middleware","thunk","routerMiddleware","composedEnhancers","compose","applyMiddleware","createStore","rootReducer","isLocalhost","Boolean","location","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","catch","AppSidebarTime","DrawerList","toggleDrawer","onParentNodeClicked","component","disablePadding","rootChild","Drawer","anchor","onClose","backgroundImage","backgroundFooter","backgroundRepeat","Navigation","level","ul","listStyle","paddingInlineStart","marginInlineStart","animation","ulParent","config","slow","ProfileDropDown","handleToggle","handleClose","anchorEl","Avatar","Bt","buttonRef","aria-owns","aria-haspopup","Popper","disablePortal","TransitionProps","placement","Grow","transformOrigin","Paper","ClickAwayListener","onClickAway","MenuList","MenuItem","link","linkBtn","connect","Support","Loadable","loader","modules","Redirect","Payment","Login","DefaultLayout","jss","plugins","jssPreset","createMuiTheme","direction","typography","join","light","contrastText","HideOnScroll","trigger","useScrollTrigger","Slide","appear","in","App","menuButton","aria-label","navigation","Profile","grow","DrawerRef","createRef","StylesProvider","ThemeProvider","AppBar","Toolbar","logo","li","href","bindActionCreators","flexGrow","rootElement","render","store","URL","process","origin","ready","unregister","reload","checkValidServiceWorker","ServiceWorker","len","num","pow","toFixed","c","charAt","n","r","test"],"mappings":"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","file":"static/js/main.6d6726f3.chunk.js","sourcesContent":["import { toast } from 'react-toastify';\r\nimport React, { Component } from 'react';\r\nimport { Col, Button } from 'reactstrap';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport { Progress } from '../components/Library';\r\nimport JSUtil from '../service/JSUtil';\r\nimport ClientDB from '../service/ClientDB';\r\nimport SW from \"../service/SW\";\r\nimport axios from 'axios';\r\n\r\nconst AbortController = window.AbortController;\r\n\r\nexport default class AuthService {\r\n constructor() {\r\n this.handleError = this.handleError.bind(this);\r\n this.ToastError = this.ToastError.bind(this);\r\n }\r\n\r\n GetAuthHeader(item) {\r\n var token = this.getToken();\r\n if (item === 'file' && token) {\r\n return { 'Authorization': 'Bearer ' + token };\r\n }\r\n if (token) {\r\n return { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + token };\r\n } else {\r\n return { 'Content-Type': 'application/json' };\r\n }\r\n }\r\n\r\n GetUrl() {\r\n // return 'http://192.168.1.200:3001'\r\n // return 'http://5.201.178.231:3001'\r\n return 'http://payment.amarsanat.com:'\r\n }\r\n\r\n rest_post(react, url, data, item) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.GetAuthHeader(item),\r\n body: data\r\n };\r\n url = this.GetUrl() + url;\r\n this.ConsoleLog(\"rest_post_requestOptions\", requestOptions);\r\n this.ConsoleLog(\"rest_post_react\", react);\r\n this.ConsoleLog(\"rest_post_url\", url);\r\n this.ConsoleLog(\"rest_post_data\", data);\r\n return fetch(url, requestOptions).then(this.handleResponse, this.handleError)\r\n .then(res => {\r\n if ((typeof res.result.message !== 'undefined') && (res.result.message !== '')) {\r\n this.ToastSuccess(res.result.message);\r\n }\r\n this.ConsoleLog('rest_post_success', res);\r\n return Promise.resolve(res);\r\n }, res => {\r\n this.ConsoleLog(\"rest_post_fail\", res);\r\n if (res === 'Unauthorized') {\r\n try {\r\n react.props.history.push('/Login');\r\n }\r\n catch (err) {\r\n console.log(\"rest_post_401_error\", err);\r\n }\r\n }\r\n else {\r\n this.ToastError(res);\r\n }\r\n return Promise.reject(res);\r\n });\r\n }\r\n\r\n rest_post_cancellable(react, url, data) {\r\n const controller = new AbortController();\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.GetAuthHeader(),\r\n body: data,\r\n signal: controller.signal\r\n };\r\n url = this.GetUrl() + url;\r\n this.ConsoleLog(\"rest_post_react\", react);\r\n this.ConsoleLog(\"rest_post_url\", url);\r\n this.ConsoleLog(\"rest_post_data\", data);\r\n const promise = fetch(url, requestOptions).then(this.handleResponse, this.handleError)\r\n .then(res => {\r\n if ((typeof res.message !== 'undefined') && (res.message !== '')) {\r\n this.ToastSuccess(res.message);\r\n }\r\n this.ConsoleLog('rest_post_success', res);\r\n return Promise.resolve(res);\r\n }, res => {\r\n this.ConsoleLog(\"res fail\", res);\r\n if (res === 'Unauthorized') {\r\n try {\r\n react.props.history.push('/Login');\r\n }\r\n catch (err) {\r\n console.log(\"rest_post_401_error\", err);\r\n }\r\n }\r\n else {\r\n this.ToastError(res);\r\n }\r\n return Promise.reject(res);\r\n });\r\n return [\r\n promise,\r\n controller // notice binding context\r\n ];\r\n }\r\n\r\n axios_post(react, url, data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n url: this.GetUrl() + url,\r\n headers: this.GetAuthHeader(),\r\n data: data,\r\n };\r\n\r\n this.ConsoleLog(\"axios_post_requestOptions\", requestOptions);\r\n return axios(requestOptions).then(this.handleResponseAxios, this.handleError)\r\n .then(res => {\r\n if ((typeof res.result.message !== 'undefined') && (res.result.message !== '')) {\r\n this.ToastSuccess(res.result.message);\r\n }\r\n this.ConsoleLog('rest_post_success', res);\r\n return Promise.resolve(res);\r\n }, res => {\r\n this.ConsoleLog(\"rest_post_fail\", res);\r\n if (res === 'Unauthorized') {\r\n try {\r\n react.props.history.push('/Login');\r\n }\r\n catch (err) {\r\n console.log(\"rest_post_401_error\", err);\r\n }\r\n }\r\n else {\r\n this.ToastError(res);\r\n }\r\n return Promise.reject(res);\r\n });\r\n }\r\n\r\n rest_post_sync(react, url, data) {\r\n this.ConsoleLog('rest_post_sync1', url);\r\n return this.sw.IsRegistered().then((reg) => {\r\n //if (!reg) {\r\n // this.ConsoleLog('rest_post_sync2', url);\r\n // return this.rest_post(react, url, data);\r\n //}\r\n //else\r\n {\r\n this.ConsoleLog('rest_post_sync3', reg);\r\n return this.ClientDB.SaveDataLocally(url, data)\r\n .then((data) => {\r\n this.JSUtil.ConsoleLog('rest_post_sync successfully', data);\r\n return reg.sync.register('rest_post');\r\n }, (err) => {\r\n this.JSUtil.ConsoleError('rest_post_sync raised error', err);\r\n });\r\n }\r\n });\r\n }\r\n\r\n rest_get(url) {\r\n const requestOptions = {\r\n method: 'Get',\r\n headers: this.GetAuthHeader()\r\n };\r\n url = this.GetUrl() + url;\r\n return fetch(url, requestOptions).then(this.handleResponse, this.handleError);\r\n }\r\n\r\n GetPortrait() {\r\n var data = JSON.stringify({\r\n intPersonID: 0\r\n });\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.GetAuthHeader(),\r\n body: data\r\n };\r\n var url = this.GetUrl() + \"/Account/GetPortrait\";\r\n return fetch(url, requestOptions).then(this.handleResponse, this.handleError);\r\n }\r\n\r\n loggedIn() {\r\n const token = this.getToken() // GEtting token from localstorage\r\n this.ConsoleLog(\"loggedIn()::!!token\", !!token);\r\n if (!!token) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.GetAuthHeader()\r\n };\r\n var url = this.GetUrl() + \"/Account/isSignedIn\";\r\n return fetch(url, requestOptions).then(this.handleResponse, this.handleError);\r\n } else {\r\n return this.handleError(new Error(\"InvalidToken\"));\r\n }\r\n }\r\n\r\n setToken(idToken) {\r\n localStorage.setItem('id_token', idToken)\r\n }\r\n\r\n getToken() {\r\n return localStorage.getItem('id_token')\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('id_token');\r\n sessionStorage.removeItem('userPermission');\r\n sessionStorage.removeItem('ToolTip');\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.GetAuthHeader()\r\n };\r\n var url = this.GetUrl() + \"/Account/LogOff\";\r\n return fetch(url, requestOptions).then(this.handleResponse, this.handleError);\r\n }\r\n\r\n LoadToolTip() {\r\n var jsonToolTip = sessionStorage.getItem('ToolTip');\r\n if (jsonToolTip === null) {\r\n return this.rest_post(this, \"/Account/GetActiveToolTipList\", '').then(res => {\r\n this.ConsoleLog('LoadToolTip', res);\r\n sessionStorage.setItem('ToolTip', JSON.stringify(res.tooltip_list));\r\n });\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n HasToolTip(ComponentName, ControlName) {\r\n var jsonToolTip = sessionStorage.getItem('ToolTip');\r\n var ToolTipList = [];\r\n var per = [];\r\n\r\n if (jsonToolTip === null) return false;\r\n ToolTipList = JSON.parse(jsonToolTip);\r\n per = ToolTipList.filter(item => item.chComponentName === ComponentName);\r\n if (per === null) return false;\r\n if (per.length === 0) return false;\r\n per = per.filter(item => item.chControlName === ControlName);\r\n if (per === null) return false;\r\n return (per.length === 1);\r\n }\r\n\r\n ToolTipContent(ComponentName, ControlName) {\r\n var jsonToolTip = sessionStorage.getItem('ToolTip');\r\n var ToolTipList = [];\r\n var per = [];\r\n\r\n if (jsonToolTip === null) return false;\r\n ToolTipList = JSON.parse(jsonToolTip);\r\n per = ToolTipList.filter(item => item.chComponentName === ComponentName);\r\n if (per === null) return false;\r\n if (per.length === 0) return false;\r\n per = per.filter(item => item.chControlName === ControlName);\r\n if (per === null) return false;\r\n if (per.length === 0) return false;\r\n per = per[0].chContent;\r\n if (per === null) return false;\r\n if (per.length === 0) return false;\r\n return per;\r\n }\r\n\r\n LoadPermission() {\r\n var jsonPermission = sessionStorage.getItem('userPermission');\r\n if (jsonPermission === null) {\r\n return this.rest_post(this, \"/Account/GetAuthPermissionForUser\", '').then(res => {\r\n this.ConsoleLog('LoadPermission', res);\r\n sessionStorage.setItem('userPermission', JSON.stringify(res.permission_prop_list));\r\n });\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n HasPermission(ComponentName, PropName) {\r\n var jsonPermission = sessionStorage.getItem('userPermission');\r\n var UserPermission = [];\r\n var per = [];\r\n\r\n if (jsonPermission === null) return false;\r\n UserPermission = JSON.parse(jsonPermission);\r\n per = UserPermission.filter(item => item.chComponentName === ComponentName);\r\n if (per === null) return false;\r\n if (per.length === 0) return false;\r\n per = per.filter(item => item.chPropName === PropName);\r\n if (per === null) return false;\r\n return (per.length === 1);\r\n }\r\n\r\n GetPermissionForComponent(ComponentName) {\r\n this.ConsoleLog('GetPermissionForComponent', ComponentName);\r\n var jsonPermission = sessionStorage.getItem('userPermission');\r\n var UserPermission = [];\r\n var per = [];\r\n if (jsonPermission === null) return per;\r\n UserPermission = JSON.parse(jsonPermission);\r\n per = UserPermission.filter(item => item.chComponentName === ComponentName);\r\n return per;\r\n }\r\n\r\n GetTemplateClassName(TemplateName) {\r\n if (TemplateName === 'CardNew') {\r\n return 'card-primary';\r\n }\r\n if (TemplateName === 'HeadNew') {\r\n return 'card-header-primary';\r\n }\r\n if (TemplateName === 'BGNew') {\r\n return 'bg-primary';\r\n }\r\n if (TemplateName === 'CardEdit') {\r\n return 'card-edit';\r\n }\r\n if (TemplateName === 'HeadEdit') {\r\n return 'card-header-edit';\r\n }\r\n if (TemplateName === 'BGEdit') {\r\n return 'bg-edit';\r\n }\r\n }\r\n\r\n GetClassName(PropName, HasPermission) {\r\n var className = '';\r\n if (PropName === 'Refresh') {\r\n className = 'btn btn-primary center-block color-white';\r\n }\r\n if (PropName === 'View') {\r\n className = 'col-12 center-block btn btn-primary';\r\n }\r\n if (PropName === 'New') {\r\n className = 'btn btn-success color-white';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (PropName === 'Edit') {\r\n className = 'btn btn-warning center-block';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (PropName === 'Delete') {\r\n className = 'btn btn-danger center-block';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (PropName === 'DocumentList') {\r\n className = 'btn btn-success center-block color-white';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (PropName === 'DocumentPreview') {\r\n className = 'btn btn-success center-block color-white';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n return className;\r\n }\r\n\r\n GetIcon(ComponentName, PropName) {\r\n var icon = '';\r\n if (ComponentName.includes('Person'))\r\n return ();\r\n if (ComponentName.includes('Personnel'))\r\n return ();\r\n if (ComponentName.includes('Supplier'))\r\n return ( account_box);\r\n if (ComponentName.includes('Consumer'))\r\n return (person_pin);\r\n if (ComponentName.includes('User'))\r\n return ( perm_contact_calendar);\r\n return;\r\n }\r\n\r\n GetClassNameByType(ClassType, HasPermission, col) {\r\n var className = '';\r\n if (ClassType === 'refresh') {\r\n className = 'btn btn-primary center-block color-white';\r\n }\r\n if (ClassType === 'primary') {\r\n className = col + ' center-block btn btn-primary w-100';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (ClassType === 'success') {\r\n className = col + ' btn btn-success color-white w-100';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (ClassType === 'warning') {\r\n className = col + ' btn btn-warning color-white w-100';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n if (ClassType === 'teal') {\r\n className = col + ' btn btn-teal color-white w-100';\r\n if (!HasPermission) {\r\n className = className + ' disabled';\r\n }\r\n }\r\n return className;\r\n }\r\n\r\n GetIcon1(IconType) {\r\n var icon = '';\r\n if (IconType.includes('Personnel'))\r\n return (person);\r\n if (IconType.includes('Person'))\r\n return (person);\r\n if (IconType.includes('Supplier'))\r\n return ( account_box);\r\n if (IconType.includes('Consumer'))\r\n return (person_pin);\r\n if (IconType.includes('User'))\r\n return ( perm_contact_calendar);\r\n if (IconType.includes('DocumentPreview'))\r\n return (visibility);\r\n if (IconType.includes('Document'))\r\n return (attach_file);\r\n if (IconType.includes('New'))\r\n return (add);\r\n if (IconType.includes('Edit'))\r\n return (edit);\r\n if (IconType.includes('Delete'))\r\n return (delete);\r\n if (IconType.includes('Permission'))\r\n return (shield);\r\n if (IconType.includes('Refresh'))\r\n return (cached);\r\n if (IconType.includes('RConfirm'))\r\n return (check_box_outline_blank);\r\n if (IconType.includes('Confirm'))\r\n return (check_box);\r\n if (IconType.includes('Cancel'))\r\n return (close);\r\n if (IconType.includes('Update'))\r\n return (cloud_upload);\r\n if (IconType.includes('Copy'))\r\n return (file_copy);\r\n if (IconType.includes('Design'))\r\n return (palette);\r\n if (IconType.includes('Print'))\r\n return (print);\r\n if (IconType.includes('Cloud'))\r\n return (cloud);\r\n return;\r\n }\r\n\r\n GetCommandButton(ButtonType, IconType, HasPermission, HasLoading, LoadingState, onClickCallback, Caption) {\r\n if (ButtonType === 'refresh') {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if ((ButtonType === 'primary') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (ButtonType === 'primary') {\r\n if (HasPermission)\r\n return (\r\n \r\n \r\n \r\n );\r\n else\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if ((ButtonType === 'primary-12') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n );\r\n }\r\n if (ButtonType === 'primary-12') {\r\n if (HasPermission)\r\n return (\r\n \r\n );\r\n else\r\n return (\r\n \r\n );\r\n }\r\n if ((ButtonType === 'success') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (ButtonType === 'success') {\r\n if (!HasPermission)\r\n return (\r\n \r\n \r\n \r\n );\r\n else\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if ((ButtonType === 'success-12') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n );\r\n }\r\n if (ButtonType === 'success-12') {\r\n if (!HasPermission)\r\n return (\r\n \r\n );\r\n else\r\n return (\r\n \r\n );\r\n }\r\n if ((ButtonType === 'warning') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (ButtonType === 'warning') {\r\n if (!HasPermission)\r\n return (\r\n \r\n \r\n \r\n );\r\n else\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if ((ButtonType === 'warning-12') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n );\r\n }\r\n if (ButtonType === 'warning-12') {\r\n if (!HasPermission)\r\n return (\r\n \r\n );\r\n else\r\n return (\r\n \r\n );\r\n }\r\n if ((ButtonType === 'danger') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (ButtonType === 'danger') {\r\n if (!HasPermission)\r\n return (\r\n \r\n \r\n \r\n );\r\n else\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if ((ButtonType === 'teal') && (HasLoading) && (HasPermission)) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n if (ButtonType === 'teal') {\r\n if (!HasPermission)\r\n return (\r\n \r\n \r\n \r\n );\r\n else\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n GetCommand(ThisObject, ComponentName, PropName, HasLoading, onClickCallback, Caption) {\r\n var str = '';\r\n var icon = '';\r\n var caption = Caption;\r\n if (PropName === 'DocumentNew') {\r\n str = 'DocumentEdit';\r\n PropName = 'New';\r\n }\r\n else if (PropName === 'DocumentEdit') {\r\n str = 'DocumentEdit';\r\n PropName = 'Edit';\r\n }\r\n else if (PropName === 'DocumentDelete') {\r\n str = 'DocumentEdit';\r\n PropName = 'Delete';\r\n }\r\n else {\r\n str = PropName;\r\n }\r\n var HasPermission = false;\r\n\r\n if (PropName === 'View') {\r\n if (!this.HasPermission(ComponentName, 'Visible'))\r\n return;\r\n if ((typeof Caption !== 'undefined') && (Caption !== ''))\r\n caption = Caption;\r\n else\r\n caption = 'مشاهده';\r\n HasPermission = this.HasPermission(ComponentName, 'Enable');\r\n return this.GetCommandButton('primary-12', ComponentName, HasPermission, HasLoading, false, onClickCallback, caption);\r\n }\r\n if (PropName === 'Cancel') {\r\n caption = 'انصراف';\r\n return this.GetCommandButton('primary', PropName, true, false, false, onClickCallback, caption);\r\n }\r\n\r\n\r\n HasPermission = this.HasPermission(ComponentName, str);\r\n this.ConsoleLog('HasPermission::' + ComponentName + ', ' + PropName + ', ' + str, HasPermission);\r\n\r\n if (PropName === 'Refresh') {\r\n caption = ''; //'بارگذاری مجدد';\r\n return this.GetCommandButton('refresh', PropName, HasPermission, HasLoading, false, onClickCallback, caption);\r\n }\r\n\r\n if (PropName === 'New') {\r\n if ((typeof Caption !== 'undefined') && (Caption !== ''))\r\n caption = Caption;\r\n else\r\n caption = 'جدید';\r\n return this.GetCommandButton('success', PropName, HasPermission, HasLoading, ThisObject.state.loadingAdd, onClickCallback, caption);\r\n }\r\n if (PropName === 'Edit') {\r\n caption = 'اصلاح';\r\n return this.GetCommandButton('warning', PropName, HasPermission, HasLoading, ThisObject.state.loadingEdit, onClickCallback, caption);\r\n }\r\n if (PropName === 'Delete') {\r\n caption = 'حذف';\r\n return this.GetCommandButton('danger', PropName, HasPermission, HasLoading, ThisObject.state.loadingDelete, onClickCallback, caption);\r\n }\r\n if (PropName === 'Permission') {\r\n caption = 'بروزرسانی';\r\n return this.GetCommandButton('primary', PropName, HasPermission, HasLoading, ThisObject.state.loadingPermission, onClickCallback, caption);\r\n }\r\n if (PropName === 'DocumentList') {\r\n caption = 'اسناد';\r\n return this.GetCommandButton('primary', 'DocumentList', HasPermission, HasLoading, false, onClickCallback, caption);\r\n }\r\n if (PropName === 'DocumentPreview') {\r\n caption = 'پیش نمایش';\r\n return this.GetCommandButton('primary', 'DocumentPreview', HasPermission, HasLoading, ThisObject.state.loadingDoc, onClickCallback, caption);\r\n }\r\n if (PropName === 'Copy') {\r\n caption = 'انتقال';\r\n return this.GetCommandButton('success', 'Copy', HasPermission, HasLoading, ThisObject.state.loadingCopy, onClickCallback, caption);\r\n }\r\n if (PropName === 'ChangeOtherUserName') {\r\n return this.GetCommandButton('warning', 'Edit', HasPermission, HasLoading, ThisObject.state.loadingCopy, onClickCallback, caption);\r\n }\r\n if (PropName === 'ChangeOtherPassword') {\r\n return this.GetCommandButton('warning', 'Edit', HasPermission, HasLoading, ThisObject.state.loadingCopy, onClickCallback, caption);\r\n }\r\n if (PropName === 'Design') {\r\n return this.GetCommandButton('success', PropName, HasPermission, HasLoading, ThisObject.state.loadingDesign, onClickCallback, caption);\r\n }\r\n if (PropName === 'Print') {\r\n return this.GetCommandButton('teal', PropName, HasPermission, HasLoading, ThisObject.state.loadingPrint, onClickCallback, caption);\r\n }\r\n }\r\n\r\n AddUser(data) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: this.GetAuthHeader(),\r\n body: data\r\n };\r\n this.ConsoleLog(data);\r\n }\r\n\r\n //================General Method===============//\r\n handleResponse(response) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"handleResponse\", response);\r\n if (response.status >= 200 && response.status < 300) { // Success status lies between 200 to 300\r\n if (response.ok) {\r\n var contentType = response.headers.get(\"content-type\");\r\n if (contentType && contentType.includes(\"application/json\")) {\r\n response.json().then(res => {\r\n console.log(\"handleResponse parsed\", res);\r\n if (res.result.succeeded === true) {\r\n resolve(res);\r\n }\r\n else {\r\n var message = \"\";\r\n message = res.result.message === null ? '' : res.result.message;\r\n reject(message);\r\n }\r\n });\r\n } else {\r\n resolve();\r\n }\r\n } else {\r\n response.text().then(text => reject(text));\r\n }\r\n } else if (response.status === 401) {\r\n console.log(\"401\", response.statusText);\r\n try {\r\n this.props.history.replace('/Login');\r\n reject(response.statusText);\r\n }\r\n catch (err) {\r\n console.log(\"401_error\", err);\r\n reject(response.statusText);\r\n }\r\n } else {\r\n reject(response);\r\n //var error = new Error(response.statusText);\r\n //error.response = response;\r\n //throw error;\r\n }\r\n });\r\n }\r\n\r\n handleError(error) {\r\n console.log(\"handleError\", error);\r\n this.ToastError(error);\r\n return Promise.reject(error);\r\n }\r\n\r\n handleResponseAxios(response) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"handleResponse\", response);\r\n if (response.status >= 200 && response.status < 300) { // Success status lies between 200 to 300\r\n var contentType = response.headers[\"content-type\"];\r\n if (contentType && contentType.includes(\"application/json\")) {\r\n if (response.data.result.succeeded === true) {\r\n resolve(response.data);\r\n }\r\n else {\r\n var message = \"\";\r\n message = response.data.result.message === null ? '' : response.data.result.message;\r\n reject(message);\r\n }\r\n } else {\r\n this.props.history.replace('/Login');\r\n var message = \"درخواست فاقد application/json است\";\r\n reject(message);\r\n }\r\n } else if (response.status === 401) {\r\n console.log(\"401\", response.statusText);\r\n try {\r\n this.props.history.replace('/Login');\r\n reject(response.statusText);\r\n }\r\n catch (err) {\r\n console.log(\"401_error\", err);\r\n reject(response.statusText);\r\n }\r\n } else {\r\n reject(response);\r\n //var error = new Error(response.statusText);\r\n //error.response = response;\r\n //throw error;\r\n }\r\n });\r\n }\r\n\r\n ConsoleLog(title, msg) {\r\n console.log(title, msg);\r\n }\r\n\r\n ConsoleError(title, msg) {\r\n console.error(title, msg);\r\n }\r\n\r\n //================ TOAST ===============//\r\n ToastSuccess(msg) {\r\n if (msg !== null && msg !== '') {\r\n console.log(\"this is message success\", msg);\r\n toast.success(msg\r\n , {\r\n position: \"top-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: false,\r\n pauseOnHover: true,\r\n draggable: true\r\n }\r\n );\r\n }\r\n }\r\n\r\n ToastError(msg) {\r\n if (msg === '') {\r\n msg = \"اعمال تغییرات با خطا روبرو شد\";\r\n }\r\n toast.error(msg\r\n , {\r\n position: \"top-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: false,\r\n pauseOnHover: true,\r\n draggable: true\r\n }\r\n );\r\n }\r\n\r\n //================ VALIDATION ===============//\r\n GetValidationList(ValidationList, ControlName) {\r\n var vList = [];\r\n var result = {};\r\n for (const item of ValidationList) {\r\n if (item.validation === 'validation_NationalCode') {\r\n result = this.JSUtil.validation_NationalCode(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_Mobile') {\r\n result = this.JSUtil.validation_Mobile(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_NotEmpty') {\r\n this.ConsoleLog('GetValidationList_NotEmpty', item.controlValue);\r\n result = this.JSUtil.validation_NotEmpty(item.controlValue, item.msg);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_PostCode') {\r\n result = this.JSUtil.validation_PostCode(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_IdenNo') {\r\n result = this.JSUtil.validation_IdenNo(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_Date') {\r\n result = this.JSUtil.validation_Date(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_DateDay') {\r\n result = this.JSUtil.validation_DateDay(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_DateMonth') {\r\n result = this.JSUtil.validation_DateMonth(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_Number') {\r\n result = this.JSUtil.validation_Number(item.controlValue, item.msg);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_Radio') {\r\n result = this.JSUtil.validation_Radio(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_Divorce') {\r\n result = this.JSUtil.validation_Divorce(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_SexType') {\r\n result = this.JSUtil.validation_SexType(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_MarriedType') {\r\n result = this.JSUtil.validation_MarriedType(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_HasValue') {\r\n result = this.JSUtil.validation_HasValue(item.controlValue, item.msg);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.validation === 'validation_Email') {\r\n result = this.JSUtil.validation_Email(item.controlValue);\r\n if (!result.success) {\r\n vList.push({ controlName: item.controlName, msg: result.msg });\r\n }\r\n }\r\n if (item.controlName === ControlName) break;\r\n }\r\n return vList;\r\n }\r\n\r\n handleChangeCheckbox(Value, List) {\r\n var value = parseInt(Value);\r\n var list = List;\r\n console.log(\"value:\", value);\r\n console.log(\"list:\", list);\r\n if (list.includes(value) === false) {\r\n list.push(value);\r\n console.log(\"pushed\", list)\r\n return list;\r\n }\r\n if (list.includes(value) === true) {\r\n var list2 = list.filter(item => item !== value);\r\n console.log(\"poped\", list2)\r\n return list2;\r\n }\r\n\r\n }\r\n\r\n handleChangeCheckboxSingle(Value) {\r\n var value = JSON.parse(Value);\r\n console.log(\"Value of chbox\", value);\r\n console.log(\"type of chbox\", [value]);\r\n if (value === false) {\r\n return true;\r\n }\r\n if (value === true) {\r\n return false;\r\n }\r\n }\r\n\r\n str2array(Str) {\r\n var str = Str;\r\n var array = str.split(',');\r\n var filtered = array.filter(item => item !== \"\");\r\n var arrInt = filtered.map(item => parseInt(item));\r\n return arrInt;\r\n }\r\n\r\n array2str(Array) {\r\n var array = Array;\r\n var str = array.toString();\r\n console.log(\"str:\", str);\r\n return str;\r\n }\r\n\r\n fixDate(Date, Pre) {\r\n var date = this.IsNull(Date, \"\");\r\n var pre = this.IsNull(Pre, \"\");\r\n console.log('date:', [date], '::::: pre:', [pre]);\r\n console.log('date.length:', date.length, '::::: pre.length:', pre.length);\r\n if ((date.length > pre.length) && (date.length === 4)) {\r\n return date + \"/\";\r\n }\r\n if ((date.length > pre.length) && (date.length === 7)) {\r\n return date + \"/\";\r\n }\r\n if ((date.length === 5) && (date[4] !== '/')) {\r\n return date.substr(0, 4) + '/' + date.substr(5);\r\n }\r\n if ((date.length === 8) && (date[7] !== '/')) {\r\n return date.substr(0, 7) + '/' + date.substr(8);\r\n }\r\n else {\r\n return date;\r\n }\r\n }\r\n\r\n IsNull(Value, NullValue) {\r\n if (Value == null)\r\n return NullValue;\r\n return Value;\r\n }\r\n}","export const Camera = \"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z\";\r\nexport const CameraAlt = \"M9.4 10.5l4.77-8.26C13.47 2.09 12.75 2 12 2c-2.4 0-4.6.85-6.32 2.25l3.66 6.35.06-.1zM21.54 9c-.92-2.92-3.15-5.26-6-6.34L11.88 9h9.66zm.26 1h-7.49l.29.5 4.76 8.25C21 16.97 22 14.61 22 12c0-.69-.07-1.35-.2-2zM8.54 12l-3.9-6.75C3.01 7.03 2 9.39 2 12c0 .69.07 1.35.2 2h7.49l-1.15-2zm-6.08 3c.92 2.92 3.15 5.26 6 6.34L12.12 15H2.46zm11.27 0l-3.9 6.76c.7.15 1.42.24 2.17.24 2.4 0 4.6-.85 6.32-2.25l-3.66-6.35-.93 1.6z\";\r\nexport const Menu = \"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\";\r\nexport const ArrowForwardIos = \"M5.88 4.12L13.76 12l-7.88 7.88L8 22l10-10L8 2z\";\r\nexport const ArrowBackIos = \"M11.67 3.87L9.9 2.1 0 12l9.9 9.9 1.77-1.77L3.54 12z\"\r\nexport const ArrowUpward = \"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\";\r\nexport const Add = \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\";\r\nexport const AddCircleOutline = \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z\";\r\nexport const Save = \"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z\";\r\nexport const Close = \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\";\r\nexport const Cancel = \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\";\r\nexport const Done = \"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\";\r\nexport const DoneAll = \"M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.41 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z\";\r\nexport const CloudUpload = \"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z\";\r\nexport const InsertDriveFile = \"M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z\";\r\nexport const NoteAdd = \"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h-2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z\";\r\nexport const AttachFile = \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\";\r\nexport const Attachment = \"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\";\r\nexport const Visibility = \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\";\r\nexport const VisibilityOff = \"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\";\r\nexport const Reply = \"M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z\"","import React, { Component } from 'react';\r\n\r\n\r\nclass TreeNode extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n parentCode: this.props.parentCode,\r\n hasCheckBox: this.props.hasCheckBox\r\n }\r\n this.NodeClick = this.NodeClick.bind(this);\r\n this.getChckeboxValue = this.getChckeboxValue.bind(this);\r\n this.IsChecked = this.IsChecked.bind(this);\r\n this.setHovered = this.setHovered.bind(this);\r\n this.setUnHovered = this.setUnHovered.bind(this);\r\n this.onIconClicked = this.onIconClicked.bind(this);\r\n }\r\n\r\n onIconClicked(e) {\r\n if (e.target.classList.contains('add')) {\r\n e.target.classList.remove('add');\r\n e.target.nextElementSibling.classList.add('show');\r\n }\r\n else {\r\n e.target.classList.add('add');\r\n e.target.nextElementSibling.classList.remove('show');\r\n }\r\n }\r\n\r\n NodeClick(item, e) {\r\n this.props.onNodeClicked(item, e);\r\n }\r\n\r\n setHovered(e) {\r\n e.target.classList.add('treeHover');\r\n }\r\n\r\n setUnHovered(e) {\r\n e.target.classList.remove('treeHover');\r\n }\r\n\r\n getChckeboxValue(e) {\r\n this.props.onCheckBoxClick(e);\r\n }\r\n\r\n IsChecked(id) {\r\n return this.props.isChecked(id);\r\n }\r\n\r\n render() {\r\n const Aux = props => props.children;\r\n return (\r\n \r\n );\r\n }\r\n}\r\nexport default TreeNode;\r\n","import React, { Component } from 'react';\r\nimport TreeNode from './TreeNode';\r\nimport PropTypes, { object } from 'prop-types';\r\n//import $ from 'jquery';\r\n\r\nclass TreeView extends Component {\r\n static propTypes = {\r\n name: PropTypes.string,\r\n }\r\n\r\n static defaultProps = {\r\n name: 'test'\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n hasCheckBox: this.props.hasCheckBox,\r\n checkedValue: [],\r\n preId: 0\r\n };\r\n this.NodeClick = this.NodeClick.bind(this);\r\n this.getChckeboxValue = this.getChckeboxValue.bind(this);\r\n this.IsChecked = this.IsChecked.bind(this);\r\n this.setHovered = this.setHovered.bind(this);\r\n this.setUnHovered = this.setUnHovered.bind(this);\r\n this.onIconClicked = this.onIconClicked.bind(this);\r\n this.checkIndeterminate = this.checkIndeterminate.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log('tree data:', this.props.data);\r\n var items = [];\r\n this.state.data.map(item => {\r\n if (item.checked)\r\n items.push(item.id);\r\n var childs = this.state.data.filter(child => child.refCode === item.id);\r\n if ((childs.length > 0) && (childs.length === childs.filter(child => child.checked === true).length))\r\n items.push(item.id);\r\n\r\n });\r\n this.setState({ checkedValue: items });\r\n\r\n //if one of child has checked , semiCheck(indeterminate) parent too\r\n this.state.data.filter(item => item.checked === true).map(object => {\r\n document.getElementsByName(object.refCode)[0].indeterminate = true;\r\n this.checkIndeterminate(object.refCode);\r\n });\r\n\r\n document.querySelectorAll('.tree .has .child .icon').forEach((value, key, parent) => {\r\n if (parent[key].nextElementSibling.children.length === 0) {\r\n parent[key].classList.remove('add');\r\n parent[key].classList.remove('minus');\r\n }\r\n });\r\n\r\n\r\n if (document.querySelector('.tree .has .child i#' + this.props.name)) {\r\n document.querySelector('.tree .has .child i#' + this.props.name).nextElementSibling.classList.add('show');\r\n }\r\n }\r\n\r\n checkIndeterminate(refCode) {\r\n console.log('refCode:', refCode);\r\n this.state.data.filter(item => parseInt(item.id) === refCode).map(object => {\r\n if (document.getElementsByName(object.refCode)[0] && document.getElementsByName(object.refCode)[0].indeterminate === false) {\r\n document.getElementsByName(object.refCode)[0].indeterminate = true;\r\n this.checkIndeterminate(object.refCode);\r\n }\r\n });\r\n }\r\n\r\n onIconClicked(e) {\r\n if (e.target.classList.contains('add')) {\r\n e.target.classList.remove('add');\r\n e.target.nextElementSibling.classList.add('show');\r\n }\r\n else {\r\n e.target.classList.add('add');\r\n e.target.nextElementSibling.classList.remove('show');\r\n }\r\n }\r\n\r\n NodeClick(item, e) {\r\n this.props.onNodeClicked(item);\r\n this.setState({ preId: item.id });\r\n e.target.classList.add('selectedTreeNode');\r\n //document.querySelector('.tree label#' + this.state.preId).classList.remove('selectedTreeNode');\r\n document.getElementById(this.state.preId).classList.remove('selectedTreeNode');\r\n }\r\n\r\n setHovered(e) {\r\n e.target.classList.add('treeHover');\r\n }\r\n\r\n setUnHovered(e) {\r\n e.target.classList.remove('treeHover');\r\n }\r\n\r\n getChckeboxValue(e) {\r\n var items = this.state.checkedValue;\r\n if (e.target.checked) {\r\n items = this.doCheckChilds(items, e.target.name);\r\n }\r\n else {\r\n items = this.doUncheckChilds(items, e.target.name);\r\n }\r\n this.setState({ checkedValue: items }, () => {\r\n });\r\n }\r\n\r\n doCheckChilds(items, id) {\r\n if (items.filter(item => item == id).length === 0)\r\n items.push(id);\r\n this.state.data.filter(item => item.refCode == id).map(item => {\r\n this.doCheckChilds(items, item.id);\r\n });\r\n return items;\r\n }\r\n\r\n doUncheckChilds(items, id) {\r\n items = items.filter(item => item != id);\r\n this.state.data.filter(item => item.refCode == id).map(item => {\r\n items = this.doUncheckChilds(items, item.id);\r\n });\r\n return items;\r\n }\r\n\r\n GetSelectedID() {\r\n return this.state.checkedValue;\r\n }\r\n\r\n IsChecked(id) {\r\n return (this.state.checkedValue.filter(item => item == id).length == 1);\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n \r\n );\r\n }\r\n}\r\nexport default TreeView;","import React, { Component } from 'react';\r\nimport { Row, Col } from 'reactstrap';\r\nimport './CalendarCustom.css';\r\nimport $ from 'jquery';\r\n\r\nclass CalendarCustom extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n Flag: false,\r\n idPre: null,\r\n shift: this.props.shift,\r\n data: this.props.data,\r\n chTime: \"\",\r\n chDate: \"\",\r\n chGroupType: \"\",\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.Clicked = this.Clicked.bind(this);\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ [e.target.name]: e.target.value });\r\n }\r\n\r\n Clicked(e, i) {\r\n\r\n //$(\".calendarBody div.calendarCell#\" + this.state.idPre).removeClass('selected');\r\n //$(\".calendarBody div.calendarCell#\" + i).addClass('selected');\r\n $(\"div#\" + this.state.shift + \" div.calendarCell#\" + this.state.idPre).removeClass('calendarCellSelected');\r\n $(\"div#\" + this.state.shift + \" div.calendarCell#\" + i).addClass('calendarCellSelected');\r\n this.setState({\r\n idPre: i,\r\n chTime: e.chTime,\r\n chDate: e.chDate,\r\n chGroupType: e.chGroupType,\r\n });\r\n this.props.OnCellClicked(e.chDate, e.chTime);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n {this.state.data.map((item, i) => {\r\n return (\r\n
{ this.Clicked(item, i) }} className=\"calendarCell\">\r\n {item.chDate}\r\n {/*{item.chGroupType}*/}\r\n ساعت:{item.chTime}\r\n
\r\n );\r\n })\r\n }\r\n
\r\n
\r\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 CalendarCustom;","import React from 'react';\r\nimport { Col, Card, FormGroup } from 'reactstrap';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport IconButton from '@material-ui/core/IconButton';\r\n\r\nexport default class Header extends React.Component {\r\n static defaultProps = {\r\n hidden: false,\r\n ticket: false,\r\n tintLogEntityCode: 10,\r\n intVisitNumber: 0,\r\n chFileID: '',\r\n label: ''\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n this.redirect = this.redirect.bind(this);\r\n }\r\n\r\n redirect() {\r\n this.props.history.push({\r\n pathname: '/Panel/Ticket',\r\n state: {\r\n tintLogEntityCode: this.props.tintLogEntityCode,\r\n chRelatedData: this.props.chFileID + ',' + this.props.intVisitNumber\r\n //img: this.state.img\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {this.props.ticket &&\r\n \r\n \r\n create\r\n \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nclass MaterialButton extends Component {\r\n static defaultProps = {\r\n loading: false\r\n }\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n hover: false,\r\n active: false\r\n };\r\n this.onClick = this.onClick.bind(this);\r\n this.toggleHover = this.toggleHover.bind(this);\r\n this.toggleActive = this.toggleActive.bind(this);\r\n }\r\n componentDidMount() {\r\n //if (this.props.IconName) {\r\n // this.setState({ IconName: true });\r\n //}\r\n //else {\r\n // this.setState({ IconName: false });\r\n //}\r\n }\r\n\r\n onClick(e) {\r\n this.props.onClick(e);\r\n }\r\n toggleHover() {\r\n this.setState({ hover: !this.state.hover });\r\n }\r\n toggleActive() {\r\n this.setState({ active: !this.state.active });\r\n }\r\n\r\n render() {\r\n var ripple;\r\n ripple = styles.botton;\r\n if (this.state.hover) {\r\n ripple = styles.hover;\r\n }\r\n if (this.state.active) {\r\n ripple = styles.active;\r\n }\r\n if (this.props.line) {\r\n return (\r\n \r\n );\r\n }\r\n else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n}\r\n\r\nconst styles = {\r\n botton: {\r\n height: '40px',\r\n minWidth: '80px',\r\n border: 'none',\r\n borderRadius: '4px',\r\n padding: '12px 18px',\r\n fontSize: '13px',\r\n textTransform: 'uppercase',\r\n cursor: 'pointer',\r\n color: 'white',\r\n backgroundColor: '#1a73e8',\r\n boxShadow: '0 0 4px #999',\r\n outline: 'none',\r\n backgroundPosition: 'center',\r\n transition: 'background 0.8s'\r\n },\r\n hover: {\r\n height: '40px',\r\n minWidth: '80px',\r\n border: 'none',\r\n borderRadius: '4px',\r\n padding: '12px 18px',\r\n fontSize: '13px',\r\n textTransform: 'uppercase',\r\n cursor: 'pointer',\r\n color: 'white',\r\n //backgroundColor: '#2196f3',\r\n boxShadow: '0 0 4px #999',\r\n outline: 'none',\r\n //backgroundPosition: 'center',\r\n transition: 'background 0.8s',\r\n\r\n background: '#47a7f5 radial-gradient(circle, transparent 1%, #47a7f5 1%) center/15000%'\r\n },\r\n active: {\r\n height: '40px',\r\n minWidth: '80px',\r\n border: 'none',\r\n borderRadius: '4px',\r\n padding: '12px 18px',\r\n fontSize: '13px',\r\n textTransform: 'uppercase',\r\n cursor: 'pointer',\r\n color: 'white',\r\n //backgroundColor: '#2196f3',\r\n boxShadow: '0 0 4px #999',\r\n outline: 'none',\r\n backgroundPosition: 'center',\r\n //'transition': 'background 0.8s',\r\n\r\n //background: '#47a7f5 radial-gradient(circle, transparent 1%, #47a7f5 1%) center/15000%',\r\n\r\n backgroundColor: '#6eb9f7',\r\n backgroundSize: '100%',\r\n transition: 'background 0s'\r\n },\r\n right: {\r\n position: 'absolute',\r\n right: '22px',\r\n top: '10px'\r\n //float: 'right',\r\n //width: '30%'\r\n },\r\n left: {\r\n paddingRight: '12px',\r\n float: 'left',\r\n //width: '70%'\r\n },\r\n color: {\r\n //color: '#0d47a1'\r\n color: '#fff'\r\n },\r\n lineButton: {\r\n padding: '10px',\r\n color: '#03a9f4',\r\n background: 'transparent',\r\n border: 'none',\r\n outline: 'none'\r\n }\r\n};\r\nexport default MaterialButton;","import React from \"react\";\nimport moment from \"moment-jalaali\";\nconst canUseDOM = !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n);\nconst mapObj = {\n 1: \"۱\",\n 2: \"۲\",\n 3: \"۳\",\n 4: \"۴\",\n 5: \"۵\",\n 6: \"۶\",\n 7: \"۷\",\n 8: \"۸\",\n 9: \"۹\",\n 0: \"۰\"\n};\n\nclass Days extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedDay: \"\",\n daysCount: this.props.daysCount,\n selectedYear: this.props.selectedYear\n };\n\n let unix = \"\";\n if (!!this.props.disableFromUnix) unix = this.props.disableFromUnix;\n if (!!unix) {\n this.state.disableFromYear = moment(unix * 1000).format(\"jYYYY\");\n this.state.disableFromMonth = moment(unix * 1000).format(\"jMM\");\n this.state.disableFromDay = moment(unix * 1000).format(\"jDD\");\n }\n }\n componentWillReceiveProps(nextProps) {\n if (canUseDOM) {\n this.setState({ daysCount: 0 });\n let that = this;\n window.setTimeout(() => {\n this.setState({\n daysCount: nextProps.daysCount,\n selectedYear: nextProps.selectedYear\n });\n }, 10);\n }\n }\n dayClicked(i, element) {\n let { clickEvent } = this.props;\n if (clickEvent) clickEvent(i, element);\n if (!!this.state.selectedDay && !!this.refs[this.state.selectedDay])\n this.refs[this.state.selectedDay].className = this.refs[\n this.state.selectedDay\n ].className.replace(\"selected\", \"\");\n this.setState({ selectedDay: element });\n this.refs[element].className += \" selected\";\n }\n renderDays() {\n let { firstDay, currentMonth, selectedDay } = this.props;\n let {\n daysCount,\n disableFromYear,\n disableFromMonth,\n disableFromDay,\n selectedYear\n } = this.state;\n let year = selectedYear.toString();\n let month = currentMonth.toString();\n if (month.length == 1) month = \"0\" + month;\n let enable = true;\n let check = false;\n if (disableFromYear > year) enable = false;\n else if (disableFromYear == year && disableFromMonth > month)\n enable = false;\n else if (disableFromYear == year && disableFromMonth == month) check = true;\n let result = [];\n for (let i = 1; daysCount >= i; i++) {\n let addedClass = \"\";\n let marginRight = \"0%\";\n let date;\n let number = i.toString().replace(/1|2|3|4|5|6|7|8|9|0/gi, function(e) {\n return mapObj[e];\n });\n if (i == 1) marginRight = firstDay * 14.28 + \"%\";\n if (i < 10) date = year + month + \"0\" + i.toString();\n else date = year + month + i.toString();\n if (date == selectedDay) addedClass = \" selected\";\n const today = moment().format(\"jYYYYjMMjDD\");\n if (date == today) addedClass += \" current-date\";\n if (check) {\n if (i < disableFromDay) enable = false;\n else enable = true;\n }\n if (!enable)\n result.push(\n \n {number}\n \n );\n else if (enable)\n result.push(\n this.dayClicked(1, date)}\n >\n {number}\n \n );\n }\n return result;\n }\n render() {\n return (\n
\n
\n {!!this.state.daysCount && this.renderDays()}\n
\n
\n );\n }\n}\n\nexport default Days;\n","import React from \"react\";\n\nimport IconButton from '@material-ui/core/IconButton';\nimport Icon from '@material-ui/core/Icon';\n\nclass Months extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n months: [\n \"فروردین\",\n \"اردیبهشت\",\n \"خرداد\",\n \"تیر\",\n \"مرداد\",\n \"شهریور\",\n \"مهر\",\n \"آبان\",\n \"آذر\",\n \"دی\",\n \"بهمن\",\n \"اسفند\"\n ],\n monthPickerView: false,\n selectedMonth: this.props.month\n };\n }\n monthClicked(i, e) {\n let { clickEvent } = this.props;\n if (clickEvent) clickEvent(i);\n this.setState({ monthPickerView: false, selectedMonth: i });\n }\n renderMonths() {\n let { months, selectedMonth } = this.state;\n let result = [];\n for (let i = 1; months.length >= i; i++) {\n if (selectedMonth == i)\n result.push(\n
\n {months[i - 1]}\n
\n );\n else\n result.push(\n this.monthClicked(i, e)}\n >\n {months[i - 1]}\n \n );\n }\n return result;\n }\n render() {\n let { month, monthTitleEnable } = this.props;\n let { months, monthPickerView } = this.state;\n return (\n
\n {monthTitleEnable && ماه: }\n
\n this.monthClicked(month - 1)}>\n chevron_right\n \n\n
{ this.setState({ monthPickerView: !monthPickerView }); }} style={{ cursor: 'pointer', marginTop: '1rem',fontWeight: 'bold', fontSize: '1.5rem'}}>\n {months[month - 1]}\n
\n\n this.monthClicked(month + 1)}>\n chevron_left\n \n\n {monthPickerView && (\n
{this.renderMonths()}
\n )}\n
\n
\n );\n }\n}\nconst inlineStyles = {\n month: {\n display: 'flex',\n marginTop: '4px',\n alignItems: 'center',\n marginBottom: '15px',\n justifyContent: 'space-between'\n }\n};\n\nexport default Months;\n//return (\n//
\n// {monthTitleEnable && ماه: }\n//
\n//
this.monthClicked(month - 1)} className=\"prev\">\n// {\">\"}\n//
\n// {\n// this.setState({ monthPickerView: !monthPickerView });\n// }}\n// className=\"print-month\"\n// >\n// {months[month - 1]}\n//
\n//
this.monthClicked(month + 1)} className=\"next\">\n// {\"<\"}\n//
\n// {monthPickerView && (\n//
{this.renderMonths()}
\n// )}\n//
\n// \n//);","let Styles = nDays => {\n return `\n .days-titles div {\n width: 14.28%;\n display: inline-block;\n font-size: 14px;\n font-weight: 300;\n text-align: center;\n color: rgba(0, 0, 0, 0.38);\n }\n .monthPicker {\n position: absolute;\n right: -6px;\n width: 100%;\n background: #fff;\n text-align: center;\n padding: 5px;\n border-radius: 5px;\n top: 26px;\n box-shadow: 0px 0px 7px -2px #000;\n z-index: 1;\n }\n .month-items:hover, .month-items.selected {\n background: aliceblue;\n color: #ccc;\n }\n .month-items {\n width: 32.5%;\n float: right;\n text-align: center;\n cursor: pointer;\n padding: 4px 0px;\n border: 1px solid #ccc;\n font-size: 14px;\n }\n \n .print-month {\n width: 60%;\n text-align: center;\n float: right;\n cursor: pointer;\n }\n\n .JC-days {\n position: relative;\n display: inline-block;\r\n margin-top: 12px;\n }\n .JC-days .holder {\n line-height: 40px;\n }\n .day-items{\n width: 14.28%;\n float: right;\n text-align: center;\n cursor: pointer;\n }\n .day-items:hover{\n background-color: #00000014;\n border-radius: 50%;\n }\n .day-items.selected {\n color: #fff;\n background-color: #2196f3;\n border-radius: 50%;\n }\n .day-items.current-date{\n color: #fff;\n background-color: #64b5f6;\n border-radius: 50%;\n }\n\n .JDsubmit{\n background: #7fc6ff;\n }\n .jdtrp > div {\n display: initial;\n margin: 0 6px;\n }\n `;\n};\nexport default Styles;\n","import React from \"react\";\nimport { relative } from \"path\";\r\nconst mapObj = {\n 1: \"۱\",\n 2: \"۲\",\n 3: \"۳\",\n 4: \"۴\",\n 5: \"۵\",\n 6: \"۶\",\n 7: \"۷\",\n 8: \"۸\",\n 9: \"۹\",\n 0: \"۰\"\n};\n\nclass Years extends React.Component {\n constructor(props) {\n super(props);\n this.yearChanged = this.yearChanged.bind(this);\n this.state = { year: this.props.year, error: \"\" };\n }\n yearChanged() {\n let { year } = this.refs;\n let { changeEvent } = this.props;\n this.setState({ year: year.value });\n if (year.value.length == 4 && year.value > 1300 && year.value < 1500) {\n this.setState({ editable: false, error: \"\" });\n if (!!changeEvent) changeEvent(parseInt(year.value));\n } else this.setState({ error: \"سال ۴ رقم و درفاصله ۱۳۰۰ تا ۱۵۰۰ باشد\" });\n }\n componentWillReceiveProps(nextprops) {\n this.setState({ year: nextprops.year });\n }\n render() {\n let { error, year, editable } = this.state;\n let yearString = year\n .toString()\n .replace(/1|2|3|4|5|6|7|8|9|0/gi, function (e) {\n return mapObj[e];\n });\n return (\n
\n this.setState({ editable: !editable })}>کلیک جهت تغیییر سال: \n {!editable && (\n this.setState({ editable: !editable })}\n >\n {yearString}\n \n )}\n {editable && (\n \n )}\n {error && (\n
\n

{error}

\n
\n )}\n
\n );\n }\n}\nconst inlineStyles = {\n container: {\r\n display: 'flex',\r\n flexDirection: 'row'\r\n },\r\n child1: {\r\n position: 'relative',\r\n width: '125px'\r\n },\r\n child2: {\r\n position: 'relative',\r\n width: '60px'\r\n },\r\n tooltip: {\r\n position: 'absolute',\r\n top: 80\r\n }\r\n};\nexport default Years;\n","import React from \"react\";\n\nexport default ({ onClick }) => {\n return (\n {\n onClick();\n }}\n />\n );\n};\n","import React from \"react\";\n\nclass InputComponent extends React.Component {\n state = {};\n render() {\n const { component: Component, ...rest } = this.props;\n return !!Component ? : ;\n }\n}\n\nexport default InputComponent;\n","import isFunction from 'lodash.isfunction';\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nexport function getScrollbarWidth() {\n let scrollDiv = document.createElement('div');\n // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nexport function setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? `${padding}px` : null;\n}\n\nexport function isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nexport function getOriginalBodyPadding() {\n const style = window.getComputedStyle(document.body, null);\n\n return parseInt((style && style.getPropertyValue('padding-right')) || 0, 10);\n}\n\nexport function conditionallyUpdateScrollbar() {\n const scrollbarWidth = getScrollbarWidth();\n // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n const fixedContent = document.querySelectorAll(\n '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\n )[0];\n const bodyPadding = fixedContent\n ? parseInt(fixedContent.style.paddingRight || 0, 10)\n : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nlet globalCssModule;\n\nexport function setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\n\nexport function mapToCssModules(className = '', cssModule = globalCssModule) {\n if (!cssModule) return className;\n return className\n .split(' ')\n .map(c => cssModule[c] || c)\n .join(' ');\n}\n\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\nexport function omit(obj, omitKeys) {\n const result = {};\n Object.keys(obj).forEach((key) => {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\nexport function pick(obj, keys) {\n const pickKeys = Array.isArray(keys) ? keys : [keys];\n let length = pickKeys.length;\n let key;\n const result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n return result;\n}\n\nlet warned = {};\n\nexport function warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n warned[message] = true;\n }\n}\n\nexport function deprecated(propType, explanation) {\n return function validate(props, propName, componentName, ...rest) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\n `\"${propName}\" property of \"${componentName}\" has been deprecated.\\n${explanation}`\n );\n }\n\n return propType(props, propName, componentName, ...rest);\n };\n}\n\nexport function DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error(\n 'Invalid prop `' +\n propName +\n '` supplied to `' +\n componentName +\n '`. Expected prop to be an instance of Element. Validation failed.'\n );\n }\n}\n\n/* eslint key-spacing: [\"error\", { afterColon: true, align: \"value\" }] */\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\nexport const TransitionTimeouts = {\n Fade: 150, // $transition-fade\n Collapse: 350, // $transition-collapse\n Modal: 300, // $modal-transition\n Carousel: 600 // $carousel-transition\n};\n\n// Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\nexport const TransitionPropTypeKeys = [\n 'in',\n 'mountOnEnter',\n 'unmountOnExit',\n 'appear',\n 'enter',\n 'exit',\n 'timeout',\n 'onEnter',\n 'onEntering',\n 'onEntered',\n 'onExit',\n 'onExiting',\n 'onExited'\n];\n\nexport const TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited'\n};\n\nexport const keyCodes = {\n esc: 27,\n space: 32,\n tab: 9,\n up: 38,\n down: 40\n};\n\nexport const PopperPlacements = [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start'\n];\n\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nexport function findDOMElements(target) {\n if (isFunction(target)) {\n return target();\n }\n if (typeof target === 'string' && canUseDOM) {\n let selection = document.querySelectorAll(target);\n if (!selection.length) {\n selection = document.querySelectorAll(`#${target}`);\n }\n if (!selection.length) {\n throw new Error(\n `The target '${target}' could not be identified in the dom, tip: check spelling`\n );\n }\n return selection;\n }\n return target;\n}\n\nexport function isArrayOrNodeList(els) {\n return Array.isArray(els) || (canUseDOM && typeof els.length === 'number');\n}\n\nexport function getTarget(target) {\n const els = findDOMElements(target);\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n return els;\n}\n\nexport const defaultToggleEvents = ['touchstart', 'click'];\n\nexport function addMultipleEventListeners(_els, handler, _events) {\n let els = _els;\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n let events = _events;\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (\n !isArrayOrNodeList(els) ||\n typeof handler !== 'function' ||\n !Array.isArray(events)\n ) {\n throw new Error(`\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\n The second must be a function.\n The third is a string or an array of strings that represents DOM events\n `);\n }\n events.forEach((event) => {\n els.forEach((el) => {\n el.addEventListener(event, handler);\n });\n });\n return function removeEvents() {\n events.forEach((event) => {\n els.forEach((el) => {\n el.removeEventListener(event, handler);\n });\n });\n };\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { canUseDOM } from './utils';\n\nconst propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nclass Portal extends React.Component {\n componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n\n render() {\n if (!canUseDOM) {\n return null;\n }\n\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n return ReactDOM.createPortal(\n this.props.children,\n this.props.node || this.defaultNode\n );\n }\n}\n\nPortal.propTypes = propTypes;\n\nexport default Portal;\n","import React from 'react';\r\nimport { Container, Row,Col} from 'reactstrap';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nexport default class Progress extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n render() {\r\n return (\r\n
\r\n {this.props.progressType === \"Page\" &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {this.props.progressType === \"Component\" &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {this.props.progressType === \"Control\" &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {this.props.progressType === \"Command\" &&\r\n \r\n }\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport JSUtil from '../service/JSUtil';\r\nimport Progress from './Progress';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Icon from '@material-ui/core/Icon';\r\n\r\nclass MaterialInput extends Component {\r\n static defaultProps = {\r\n type: \"text\",\r\n name: \"\",\r\n value: \"\",\r\n maxLength: 1000000000,\r\n label: \"\",\r\n disabled: false,\r\n rows: 4,\r\n loading: false,\r\n refs: () => { },\r\n onFocus: () => { },\r\n onBlur: () => { },\r\n onKeyDown: () => { },\r\n onKeyUp: () => { },\r\n autoComplete: \"off\",\r\n autoCorrect: \"off\",\r\n //invalid: false,\r\n //invalidMsg: \"\"\r\n }\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isFocused: false,\r\n NotEmpty: false,\r\n HasValue: false,\r\n NationalCode: false,\r\n Mobile: false,\r\n Digit: false,\r\n Email: false,\r\n Date: false,\r\n Time: false,\r\n Capcha: false,\r\n Icon: false,\r\n // invalid: false,\r\n // Msg: ''\r\n };\r\n this.JSUtil = new JSUtil();\r\n this.onChange = this.onChange.bind(this);\r\n this.onFocus = this.onFocus.bind(this);\r\n this.onBlur = this.onBlur.bind(this);\r\n this.onIconClicked = this.onIconClicked.bind(this);\r\n this.validate = this.validate.bind(this);\r\n this.GetInputType = this.GetInputType.bind(this);\r\n this.input = this;\r\n }\r\n componentDidMount() {\r\n this.props.refs(this.input);\r\n\r\n if (this.props.value !== \"\") {\r\n this.setState({ isFocused: true });\r\n }\r\n\r\n this.setState({\r\n NotEmpty: typeof this.props.NotEmpty !== 'undefined',\r\n HasValue: typeof this.props.HasValue !== 'undefined',\r\n NationalCode: typeof this.props.NationalCode !== 'undefined',\r\n Mobile: typeof this.props.Mobile !== 'undefined',\r\n Digit: typeof this.props.Digit !== 'undefined',\r\n Email: typeof this.props.Email !== 'undefined',\r\n Date: typeof this.props.Date !== 'undefined',\r\n Time: typeof this.props.Time !== 'undefined',\r\n Capcha: typeof this.props.Capcha !== 'undefined',\r\n Icon: typeof this.props.Icon !== 'undefined',\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"componentWillReceiveProps\", nextProps);\r\n //this.setState({ data: nextProps.data, selectedID: nextProps.selectedID });\r\n if (nextProps.value !== \"\") {\r\n this.setState({ isFocused: true });\r\n }\r\n }\r\n\r\n onChange(e) {\r\n if (this.state.Digit && this.JSUtil.isDigit(e.target.value) === false) return;\r\n // var element = e.target;\r\n this.validate(e.target.name, e.target.value, e).then((res) => {\r\n // element.previousElementSibling.style.borderColor = \"#03a9f4\";\r\n // element.nextElementSibling.innerText = \"\";\r\n // this.setState({ Msg: \"\", invalid: false });\r\n }, (res) => {\r\n // element.previousElementSibling.style.borderColor = \"#f44336\";\r\n // element.nextElementSibling.innerText = res;\r\n // this.setState({ Msg: res, invalid: true });\r\n });\r\n\r\n this.props.onChange(e);\r\n }\r\n\r\n validate(name, value, event) {\r\n var result;\r\n if (this.state.NotEmpty) {\r\n result = this.JSUtil.validation_NotEmpty(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.HasValue) {\r\n result = this.JSUtil.validation_HasValue(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.NationalCode) {\r\n result = this.JSUtil.validation_NationalCode(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.Mobile) {\r\n result = this.JSUtil.validation_Mobile(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.Email) {\r\n result = this.JSUtil.validation_Email(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.Date) {\r\n result = this.JSUtil.validation_Date(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.Time) {\r\n result = this.JSUtil.validation_Time(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.Capcha) {\r\n result = this.JSUtil.validation_Capcha(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n return Promise.resolve('');\r\n }\r\n\r\n onFocus(e) {\r\n this.props.onFocus(e);\r\n this.setState({ isFocused: true });\r\n this.refField.style.borderColor = \"#03a9f4\";\r\n }\r\n onBlur(e) {\r\n this.props.onBlur(e);\r\n if (this.props.value === \"\") {\r\n this.setState({ isFocused: false });\r\n }\r\n this.validate(e.target.name, e.target.value, e).then((res) => {\r\n this.refField.style.borderColor = \"#b9b9b9\";\r\n this.refMsg.innerText = \"\";\r\n }, (res) => {\r\n // this.refField.style.borderColor = \"#f44336\";\r\n // this.refMsg.innerText = res;\r\n });\r\n }\r\n\r\n onIconClicked(e) {\r\n this.props.onIconClicked(e);\r\n }\r\n\r\n GetInputType() {\r\n if (this.props.type === \"textarea\") {\r\n return \r\n this.refInput = ref}\r\n >\r\n {this.props.value === null ? '' : this.props.value}\r\n \r\n
this.refMsg = ref}>{/*this.state.Msg*/}
\r\n
\r\n }\r\n else {\r\n return \r\n this.refInput = ref}\r\n />\r\n
this.refMsg = ref}>{/*this.state.Msg*/}
\r\n
\r\n }\r\n\r\n }\r\n\r\n render() {\r\n let legend = {\r\n width: this.state.isFocused ? 70 : 0\r\n };\r\n let fieldset = {\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 30,\r\n right: 0,\r\n left: 0,\r\n borderStyle: 'solid',\r\n borderWidth: 1,\r\n borderRadius: 4,\r\n pointerEvents: 'none',\r\n borderColor: '#b9b9b9',\r\n //borderColor: this.state.isFocused ? '#03a9f4' : '#b9b9b9',\r\n //border: '1px solid #b9b9b9',\r\n //border: '1px solid #f44336',\r\n paddingRight: 12\r\n };\r\n let label = {\r\n position: 'absolute',\r\n top: this.state.isFocused ? -10 : 0,\r\n right: this.state.isFocused ? 15 : 10,\r\n padding: this.state.isFocused ? '0px 0px' : '6px 8px',\r\n fontSize: this.state.isFocused ? '12px' : '14px',\r\n color: this.state.isFocused ? '#03a9f4' : '#b9b9b9',\r\n pointerEvents: 'none',\r\n transition: '.5s'\r\n };\r\n return (\r\n
\r\n
this.refField = ref}>\r\n \r\n
\r\n {this.GetInputType()}\r\n \r\n {this.state.Icon === true && this.props.loading === false && {this.props.Icon}}\r\n {this.props.loading === true && }\r\n {this.props.children}\r\n
\r\n );\r\n\r\n }\r\n}\r\n{/* {this.props.Icon} */ }\r\n\r\nconst styles = {\r\n inputBox: {\r\n position: 'relative'\r\n },\r\n input: {\r\n fontSize: '14px',\r\n color: '#000',\r\n background: '#fff',\r\n width: '100%',\r\n padding: '10px 15px',\r\n marginBottom: '30px',\r\n border: 'none',\r\n borderRadius: '3px',\r\n outline: 'none'\r\n },\r\n invalidMsg: {\r\n display: 'block',\r\n color: '#f44336',\r\n position: 'absolute',\r\n top: '40px',\r\n right: '10px',\r\n fontSize: '12px'\r\n },\r\n invalidMsg1: {\r\n display: 'block',\r\n color: '#f44336',\r\n // position: 'absolute',\r\n // top: '40px',\r\n // right: '10px',\r\n fontSize: '12px'\r\n },\r\n Icon: {\r\n position: 'absolute',\r\n top: -3,\r\n left: 5,\r\n cursor: 'pointer',\r\n // '&:hover': {\r\n // backgroundColor: 'rgba(0, 0, 0, 0.08)',\r\n // borderRadius: '50%',\r\n // color: 'rgba(0, 0, 0, 0.54)',\r\n // transition: 'background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms'\r\n // }\r\n },\r\n loading: {\r\n position: 'absolute',\r\n top: 5,\r\n left: 5,\r\n cursor: 'pointer',\r\n }\r\n};\r\nexport default MaterialInput;","import React from \"react\";\r\nimport moment from \"moment-jalaali\";\r\nimport Days from \"./Partials/Days\";\r\nimport Months from \"./Partials/Months\";\r\nimport Styles from \"./Partials/Styles\";\r\nimport Years from \"./Partials/Years\";\r\nimport Input from \"./Partials/Input\";\r\nimport Background from \"./Partials/Background\";\r\n\r\nimport { Button, Dialog, DialogActions } from '@material-ui/core';\r\nimport { Modal, ModalBody, ModalFooter, Col, Row } from 'reactstrap';\r\nimport Portal from '../../componentsUtils/Portal';\r\nimport MaterialInput from '../../componentsUtils/MaterialInput';\r\n\r\nconst canUseDOM = !!(\r\n typeof window !== \"undefined\" &&\r\n window.document &&\r\n window.document.createElement\r\n);\r\nmoment.loadPersian([]);\r\n\r\nclass JDatePicker extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.daysInMonth = this.daysInMonth.bind(this);\r\n this.onTodayClicked = this.onTodayClicked.bind(this);\r\n this.toggleClose = this.toggleClose.bind(this);\r\n let preSelected = \"\";\r\n if (this.props.preSelected) preSelected = this.props.preSelected;\r\n this._element = null;\r\n this.state = {\r\n openPicker: false,\r\n timeSeted: false,\r\n //MaterialInput: false,\r\n selectedYear: preSelected.length > 1 ? parseInt(moment(preSelected, this.props.format).format(\"jYYYY\")) : parseInt(moment().format(\"jYYYY\")),\r\n currentMonth: preSelected.length > 1 ? parseInt(moment(preSelected, this.props.format).format(\"jMM\")) : parseInt(moment().format(\"jMM\")),\r\n selectedMonthFirstDay: preSelected.length > 1 ? moment(moment(preSelected, this.props.format).format(\"jYYYY\") + \"/\" + moment(preSelected, this.props.format).format(\"jMM\") + \"/01\", \"jYYYY/jMM/jDD\").weekday() : moment(moment().format(\"jYYYY\") + \"/\" + moment().format(\"jMM\") + \"/01\", \"jYYYY/jMM/jDD\").weekday(),\r\n selectedDay:\r\n preSelected.length > 1\r\n ? moment(preSelected, this.props.format).format(\"jYYYYjMMjDD\")\r\n : moment().format(\"jYYYYjMMjDD\"),\r\n inputValue: preSelected,\r\n months: [\r\n { id: 1, name: \"فروردین\" },\r\n { id: 2, name: \"اردیبهشت\" },\r\n { id: 3, name: \"خرداد\" },\r\n { id: 4, name: \"تیر\" },\r\n { id: 5, name: \"مرداد\" },\r\n { id: 6, name: \"شهریور\" },\r\n { id: 7, name: \"مهر\" },\r\n { id: 8, name: \"آبان\" },\r\n { id: 9, name: \"آذر\" },\r\n { id: 10, name: \"دی\" },\r\n { id: 11, name: \"بهمن\" },\r\n { id: 12, name: \"اسفند\" }\r\n ]\r\n };\r\n this.state.daysCount = this.daysInMonth(\r\n moment().format(\"jMM\"),\r\n moment().format(\"jYYYY\")\r\n );\r\n }\r\n componentWillMount() {\r\n //this.setState({ MaterialInput: typeof this.props.MaterialInput !== 'undefined' });\r\n let { selectedMonthFirstDay } = this.state;\r\n if (canUseDOM && !document.getElementById(\"jdstyle\")) {\r\n let css = Styles(selectedMonthFirstDay),\r\n head = document.head || document.getElementsByTagName(\"head\")[0],\r\n style = document.createElement(\"style\");\r\n\r\n style.type = \"text/css\";\r\n style.id = \"jdstyle\";\r\n if (style.styleSheet) {\r\n style.styleSheet.cssText = css;\r\n } else {\r\n style.appendChild(document.createTextNode(css));\r\n }\r\n\r\n head.appendChild(style);\r\n }\r\n }\r\n init() {\r\n this._element = document.createElement('div');\r\n document.body.appendChild(this._element);\r\n }\r\n\r\n destroy() {\r\n if (this._element) {\r\n document.body.removeChild(this._element);\r\n this._element = null;\r\n }\r\n }\r\n daysInMonth(month, selectedYear) {\r\n if (0 < month && month < 7) return 31;\r\n else if (6 < month && month < 12) return 30;\r\n else if (month == 12 && moment.jIsLeapYear(selectedYear)) return 30;\r\n else if (month == 12 && !moment.jIsLeapYear(selectedYear)) return 29;\r\n }\r\n daysClicked(day, momentDay) {\r\n let { onChange, format } = this.props;\r\n if (!format) format = \"jYYYY-jMM-jDD\";\r\n if (this.state.selectedDay != momentDay) {\r\n this.setState({\r\n selectedDay: momentDay,\r\n inputValue: moment(\r\n momentDay + \" 23:59:59\",\r\n \"jYYYYjMMjDD HH:mm:ss\"\r\n ).format(format)\r\n });\r\n //this.setState({ openPicker: false });\r\n }\r\n let formatted;\r\n if (!!format)\r\n formatted = moment(\r\n momentDay + \" 23:59:59\",\r\n \"jYYYYjMMjDD HH:mm:ss\"\r\n ).format(format);\r\n if (onChange) {\r\n this.setState({ timeSeted: false });\r\n this.setState({ openPicker: false });\r\n this.props.onChange(\r\n moment(momentDay + \" 23:59:59\", \"jYYYYjMMjDD HH:mm:ss\").unix(),\r\n formatted,\r\n this.props.name\r\n );\r\n }\r\n }\r\n monthsClicked(month) {\r\n let { selectedYear } = this.state;\r\n let year = selectedYear;\r\n let thisMonth = month;\r\n this.setState({ daysCount: 0 });\r\n if (month == 0) {\r\n this.setState({\r\n currentMonth: 12,\r\n daysCount: this.daysInMonth(12, selectedYear - 1),\r\n selectedYear: selectedYear - 1\r\n });\r\n thisMonth = 12;\r\n year = selectedYear - 1;\r\n } else if (month == 13) {\r\n this.setState({\r\n currentMonth: 1,\r\n daysCount: this.daysInMonth(1, selectedYear + 1),\r\n selectedYear: selectedYear + 1\r\n });\r\n thisMonth = 1;\r\n year = selectedYear + 1;\r\n } else\r\n this.setState({\r\n currentMonth: month,\r\n daysCount: this.daysInMonth(month, selectedYear)\r\n });\r\n this.firstDayOfMonth(thisMonth, year);\r\n }\r\n firstDayOfMonth(mo, ye) {\r\n let month = mo.toString();\r\n let year = ye.toString();\r\n if (month.length == 1) month = \"0\" + month;\r\n this.setState({\r\n selectedMonthFirstDay: moment(\r\n year + \"/\" + month + \"/01\",\r\n \"jYYYY/jMM/jDD\"\r\n ).weekday()\r\n });\r\n }\r\n yearSelected(year) {\r\n this.setState({ selectedYear: year });\r\n this.firstDayOfMonth(this.state.currentMonth, year);\r\n }\r\n onTodayClicked() {\r\n if (this.props.onChange) {\r\n this.props.onChange(\r\n moment(moment().format(\"jYYYYjMMjDD\") + \" 23:59:59\", \"jYYYYjMMjDD HH:mm:ss\").unix(),\r\n moment().format(this.props.format),\r\n this.props.name\r\n );\r\n this.setState({ inputValue: moment().format(this.props.format), openPicker: false, timeSeted: false });\r\n }\r\n }\r\n\r\n toggleClose() {\r\n if (this.state.timeSeted) {\r\n this.setState({\r\n openPicker: false,\r\n //timeSeted: false\r\n });\r\n }\r\n if (!this.state.timeSeted) {\r\n this.onTodayClicked();\r\n }\r\n }\r\n\r\n render() {\r\n let {\r\n openPicker,\r\n daysCount,\r\n selectedDay,\r\n currentMonth,\r\n selectedYear,\r\n selectedMonthFirstDay,\r\n inputValue\r\n } = this.state;\r\n let {\r\n id,\r\n placeholder,\r\n disableFromUnix,\r\n customClass,\r\n containerClass,\r\n inputTextAlign,\r\n monthTitleEnable,\r\n inputComponent,\r\n cancelOnBackgroundClick\r\n } = this.props;\r\n let inputAlign =\r\n !!inputTextAlign && typeof inputTextAlign != \"undefined\"\r\n ? inputTextAlign\r\n : \"right\";\r\n let input = {\r\n textAlign: inputAlign,\r\n height: 'calc(2.0625rem + 2px)',\r\n border: this.props.invalid ? '1px solid #f44336' : '1px solid #bbbbbb',\r\n //borderColor:\r\n borderRadius: '0.25rem',\r\n padding: '0.375rem 0.75rem'\r\n }\r\n return (\r\n
\r\n\r\n { this.setState({ openPicker: !openPicker }); }}\r\n onClick={() => { this.setState({ openPicker: !openPicker }); }}\r\n autoComplete=\"off\"\r\n />\r\n\r\n {/*!this.state.MaterialInput &&\r\n \r\n {placeholder}:\r\n {\r\n this.setState({ openPicker: !openPicker });\r\n }}\r\n name={this.props.name}\r\n component={inputComponent}\r\n />\r\n
{this.props.invalidMsg}
\r\n
\r\n */}\r\n\r\n {cancelOnBackgroundClick && openPicker && (\r\n {\r\n this.setState({ openPicker: false });\r\n }}\r\n />\r\n )}\r\n\r\n {openPicker && (\r\n \r\n \r\n \r\n
\r\n

\r\n {moment(this.state.selectedDay, \"jYYYYjMMjDD\").format(\"jDD\")}{this.state.months.filter(item => { return item.id == moment(this.state.selectedDay, \"jYYYYjMMjDD\").format(\"jM\") })[0].name}{moment(this.state.selectedDay, \"jYYYYjMMjDD\").format(\"jYYYY\")}\r\n

\r\n
\r\n this.yearSelected(returnedYear)}\r\n year={selectedYear}\r\n />\r\n
\r\n
\r\n
\r\n this.monthsClicked(returnedMonth)}\r\n month={currentMonth}\r\n />\r\n
\r\n
\r\n
\r\n
ش
\r\n
ی
\r\n
د
\r\n
س
\r\n
چ
\r\n
پ
\r\n
ج
\r\n
\r\n
\r\n
\r\n this.daysClicked(day, momentDay)}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\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 inlineStyles = {\r\n header: {\r\n height: '100px',\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n backgroundColor: '#2196f3',\r\n padding: '0 24px'\r\n },\r\n h6: {\r\n color: 'rgba(255, 255, 255, 0.54)',\r\n cursor: 'pointer',\r\n fontSize: '1rem',\r\n marginBottom: '0.5rem'\r\n },\r\n h4: {\r\n color: '#fff',\r\n fontSize: '1.5rem'\r\n },\r\n daysTitle: {\r\n //display: 'flex',\r\n maxHeight: '16px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginBottom: '0.5rem'\r\n },\r\n button: {\r\n fontFamily: 'IRANSans',\r\n\r\n }\r\n};\r\n\r\nexport default JDatePicker;","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n//import \"@material/form-field/dist/mdc.form-field.css\";\r\n//import \"@material/checkbox/dist/mdc.checkbox.css\";\r\n\r\nclass CheckBox extends Component {\r\n static propTypes = {\r\n name: PropTypes.string.isRequired,\r\n //value: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n }\r\n\r\n static defaultProps = {\r\n disabled: false\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n onChange(e) {\r\n this.props.onChange(this.props.name, !this.props.value);\r\n }\r\n\r\n render() {\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 CheckBox;","import React, { Component } from 'react';\r\nimport { Col, FormGroup } from 'reactstrap';\r\n\r\nclass CheckBoxGroup extends Component {\r\n static defaultProps = {\r\n name: 'test',\r\n disabled: false,\r\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n selected: this.props.selected,\r\n Id: 0\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"this is chkbox props\", this.props);\r\n this.setState({ Id: Math.floor(Math.random() * 1000) })\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"this is chkbox nextProps\", this.props);\r\n // if(nextProps.data!==this.props.data){\r\n // this.setState({data: nextProps.data});\r\n // }\r\n if (nextProps.selected !== this.props.selected) {\r\n this.setState({ selected: nextProps.selected });\r\n }\r\n // this.setState({\r\n // data: nextProps.data,\r\n // selected: nextProps.selected,\r\n // });\r\n }\r\n\r\n onChange(e) {\r\n e.target.parentElement.parentElement.parentElement.parentElement.previousElementSibling.style.borderColor = '#03a9f4';\r\n e.target.parentElement.parentElement.parentElement.parentElement.nextElementSibling.innerText = '';\r\n this.props.onChange(this.props.name, this.ReturnValue(e.target.value));\r\n }\r\n\r\n ReturnValue(item) {\r\n // console.log(\"ReturnValue\")\r\n // console.log(\"item:\",[item])\r\n item = parseInt(item);\r\n var array = this.str2array(this.state.selected);\r\n // console.log(\"array\", array)\r\n if (array.includes(item) === false) {\r\n array.push(item);\r\n console.log(\"pushed\", array)\r\n var string = this.array2str(array);\r\n return string\r\n }\r\n if (array.includes(item) === true) {\r\n var array2 = array.filter(obj => (obj !== item));\r\n console.log(\"poped\", array2)\r\n var string = this.array2str(array2);\r\n return string\r\n }\r\n }\r\n\r\n str2array(Str) {\r\n console.log(\"Str:\", typeof Str)\r\n if (typeof Str !== 'null' && typeof Str !== 'undefined') {\r\n var array = Str.split(',');\r\n var filtered = array.filter(item => item !== \"\");\r\n var arrInt = filtered.map(item => parseInt(item));\r\n return arrInt;\r\n }\r\n else {\r\n return []\r\n }\r\n }\r\n\r\n array2str(Array) {\r\n var array = Array;\r\n var str = array.toString();\r\n return str;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
this.refField = ref}>\r\n \r\n
\r\n
\r\n {this.state.data.map((item, index) => {\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
this.refMsg = ref}>{this.props.invalidMsg}
\r\n \r\n
\r\n );\r\n }\r\n}\r\nconst styles = {\r\n legend: {\r\n width: 70\r\n },\r\n fieldset: {\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n left: 0,\r\n borderStyle: 'solid',\r\n borderWidth: 1,\r\n borderRadius: 4,\r\n pointerEvents: 'none',\r\n borderColor: '#b9b9b9',\r\n paddingRight: 12\r\n },\r\n row: {\r\n display: 'flex',\r\n flexWrap: 'wrap'\r\n },\r\n invalidMsg: {\r\n display: 'block',\r\n color: '#f44336',\r\n position: 'absolute',\r\n bottom: -15,\r\n right: 10,\r\n fontSize: '12px'\r\n },\r\n floatLabel: {\r\n position: 'absolute',\r\n top: -10,\r\n right: 15,\r\n padding: '0px 0px',\r\n fontSize: '12px',\r\n color: '#03a9f4',\r\n pointerEvents: 'none',\r\n transition: '.5s'\r\n }\r\n};\r\nexport default CheckBoxGroup;\r\nCheckBoxGroup.defaultProps = {\r\n md: 4\r\n};","import React, { Component } from 'react';\r\nimport { Col, Input, FormFeedback } from 'reactstrap';\r\nimport { withStyles } from '@material-ui/styles';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: '100%',\r\n maxWidth: 360,\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(4),\r\n },\r\n})\r\n\r\nclass CheckboxList extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n selectedID: this.props.selectedID\r\n }\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setState({ data: nextProps.data, selectedID: nextProps.selectedID });\r\n //console.log(\"componentWillReceiveProps\", nextProps);\r\n }\r\n\r\n onChange(item) {\r\n //console.log(\"DropDown_OnChange\", item);\r\n this.props.onChange(item);\r\n }\r\n\r\n handleClick(e) {\r\n console.log('handleClick', e);\r\n }\r\n render() {\r\n let optionItems = this.state.data.map((item, index) =>\r\n \r\n );\r\n return (\r\n \r\n \r\n {optionItems}\r\n \r\n {this.props.invalidMsg}\r\n \r\n );\r\n }\r\n\r\n //render() {\r\n // Nested List Items }\r\n // className={classes.root} >\r\n // {this.state.data.map((item, index) => {\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\nexport default withStyles(styles)(CheckboxList);\r\n","import React, { Component } from 'react';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\n\nconst clockStyle = {\n height: '8rem',\n margin: 0,\n padding: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'row',\n fontSize: '61px',\n fontFamily: 'sans-serif',\n letterSpacing: '5px',\n textShadow: '0 0 10px #fff',\n textTransform: 'uppercase'\n};\nconst clockHeaderStyle = {\n margin: '13px',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n alignItems: 'center'\n};\nconst clockSubHeader = {\n marginBottom: '10px',\n fontSize: '13px',\n letterSpacing: 'initial'\n};\n\nclass ClockDigital extends Component {\n\n static propTypes = {\n startDate: PropTypes.string,\n color: PropTypes.string,\n size: PropTypes.number,\n clockShadow: PropTypes.string,\n day: PropTypes.bool,\n clockDigitStyle: PropTypes.string,\n clockSeparator: PropTypes.string\n };\n\n state = {\n dateTimestamp: Date.now()\n };\n\n componentDidMount() {\n this.interval = setInterval(this.tick, 1000);\n }\n\n componentWillUnmount() {\n clearInterval(this.interval);\n }\n\n tick = () => {\n this.setState({ dateTimestamp: Date.now() });\n }\n\n calculateNumberOfDaysLeft = startDate => {\n return moment().diff(startDate, 'days');\n }\n\n // pad string with zero\n pad = (str, max = 2) => str.length < max ? `0 ${str}` : str;\n\n static Day = ({ daysLeft, startDate, isDayEnabled }) => {\n return
\n {\n isDayEnabled ?\n
\n {/*
{startDate ? 'DAYS' : 'DAY'}
*/}\n
{startDate ? daysLeft : moment().format('DD')}
\n
:\n ''\n }\n
;\n }\n\n static Seperator = ({ clockSeparator, shouldShow = true }) => {\n return {shouldShow ? (clockSeparator ? clockSeparator : '.') : ''};\n }\n\n static Hour = () => {\n return
\n {/*
hours
*/}\n
{moment().format('HH')}
\n
;\n }\n\n static Minutes = () => {\n return
\n {/*
minutes
*/}\n
{moment().format('mm')}
\n
\n }\n\n static Seconds = () => {\n return
\n {/*
seconds
*/}\n
{moment().format('ss')}
\n
\n }\n\n render() {\n const { startDate, day, style, clockSeparator } = this.props;\n const daysLeft = this.pad(this.calculateNumberOfDaysLeft(startDate).toString());\n const isDayEnabled = day === undefined ? false : day;\n return (\n \n \n \n \n \n \n \n \n
\n );\n }\n}\n\nexport default ClockDigital;","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport './Comment.css';\r\nimport Icon from '@material-ui/core/Icon';\r\n\r\nclass Comment extends Component {\r\n static propTypes = {\r\n simple: PropTypes.bool,\r\n inline: PropTypes.bool,\r\n }\r\n\r\n static defaultProps = {\r\n simple: false,\r\n inline: false,\r\n }\r\n constructor(props) {\r\n super(props);\r\n this.handleClicked = this.handleClicked.bind(this);\r\n }\r\n\r\n handleClicked(item) {\r\n this.props.handleClicked(item);\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.props.data.map((item, index) => {\r\n return (\r\n
  • \r\n \r\n \r\n
    {item.text}
    \r\n
    {item.intAttachmentCount > 0 && { this.handleClicked(item) }} />}
    \r\n
  • \r\n );\r\n })}\r\n
\r\n );\r\n }\r\n}\r\nexport default Comment;\r\n","import React, { Component } from 'react';\r\nimport {Container, Row, Col} from 'reactstrap';\r\nimport ClockDigital from \"./ClockDigital\";\r\n\r\nclass Clock extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n date: new Date(),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n //setInterval(this.check, 60000);\r\n }\r\n\r\n render() {\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 Clock;\r\n","import React, { Component } from 'react';\r\nimport { Col, Input, FormFeedback } from 'reactstrap';\r\n\r\nclass DropDown extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n selectedID: this.props.selectedID\r\n }\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.data !== this.props.data || nextProps.selectedID !== this.props.selectedID) {\r\n this.setState({ data: nextProps.data, selectedID: nextProps.selectedID });\r\n }\r\n }\r\n\r\n onChange(item) {\r\n //console.log(\"DropDown_OnChange\", item);\r\n this.props.onChange(item);\r\n }\r\n\r\n render() {\r\n let optionItems = this.state.data.map((item, index) =>\r\n \r\n );\r\n return (\r\n \r\n \r\n {optionItems}\r\n \r\n {this.props.invalidMsg}\r\n \r\n );\r\n }\r\n}\r\nexport default DropDown;\r\n","import React, { Component } from 'react';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport * as color from '../style/color';\r\n\r\nexport default class HeaderBox extends Component {\r\n static defaultProps = {\r\n IconColor: color.Default,\r\n backgroundColor1:color.PrimaryDark,\r\n backgroundColor2:color.Primary,\r\n Icon:'info'\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n Button: typeof this.props.Button !== 'undefined',\r\n hover:false\r\n }; \r\n }\r\n\r\n onClick=(e)=>{\r\n if(this.state.Button){\r\n this.props.onClick(e);\r\n }\r\n }\r\n\r\n onMouseEnter=(e)=>{\r\n if(this.state.Button){\r\n setTimeout(() => this.setState({ hover:true }), 100)\r\n }\r\n }\r\n\r\n onMouseLeave=(e)=>{\r\n if(this.state.Button){\r\n setTimeout(() => this.setState({ hover:false }), 100)\r\n }\r\n }\r\n\r\n render() {\r\n const styles={\r\n HeaderBox:{\r\n background: (this.state.Button&&this.state.hover)?`linear-gradient(60deg, ${this.props.backgroundColor1}, ${this.props.backgroundColor1})`:`linear-gradient(60deg, ${this.props.backgroundColor1}, ${this.props.backgroundColor2})`,\r\n boxShadow: `0 12px 20px -10px ${this.props.backgroundColor1}47, 0 4px 20px 0px rgba(0, 0, 0, 0.12), 0 7px 8px -5px ${this.props.backgroundColor1}47`,\r\n padding:15,\r\n borderRadius:3,\r\n marginTop: -25,\r\n cursor: this.state.Button?'pointer':'default',\r\n transition: 'background 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms'\r\n },\r\n Icon:{\r\n color:this.props.IconColor,\r\n transform: (this.state.Button&&this.state.hover)?'scale(1.4) rotate(-13deg)':'translateX(0) rotate(0)',\r\n transition: 'transform 200ms ease-in-out',\r\n }\r\n }\r\n return (\r\n
\r\n {this.props.Icon}\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Cropper from 'cropperjs';\r\n//npm install cropperjs\r\n//import MaterialInput from './MaterialInput';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\n//import { Row, Col } from 'reactstrap';\r\n\r\nconst optionProps = [\r\n 'dragMode',\r\n 'aspectRatio',\r\n 'data',\r\n 'crop',\r\n // unchangeable props start from here\r\n 'viewMode',\r\n 'preview',\r\n 'responsive',\r\n 'restore',\r\n 'checkCrossOrigin',\r\n 'checkOrientation',\r\n 'modal',\r\n 'guides',\r\n 'center',\r\n 'highlight',\r\n 'background',\r\n 'autoCrop',\r\n 'autoCropArea',\r\n 'movable',\r\n 'rotatable',\r\n 'scalable',\r\n 'zoomable',\r\n 'zoomOnTouch',\r\n 'zoomOnWheel',\r\n 'wheelZoomRation',\r\n 'cropBoxMovable',\r\n 'cropBoxResizable',\r\n 'toggleDragModeOnDblclick',\r\n 'minContainerWidth',\r\n 'minContainerHeight',\r\n 'minCanvasWidth',\r\n 'minCanvasHeight',\r\n 'minCropBoxWidth',\r\n 'minCropBoxHeight',\r\n 'ready',\r\n 'cropstart',\r\n 'cropmove',\r\n 'cropend',\r\n 'zoom',\r\n 'responseType',\r\n];\r\n\r\nconst unchangeableProps = optionProps.slice(4);\r\n\r\nclass ImageEditorRc extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n rotateAngle: 0,\r\n image: '',\r\n degree: 90\r\n };\r\n this.rotateToLeft = this.rotateToLeft.bind(this);\r\n this.rotateToRight = this.rotateToRight.bind(this);\r\n this.crop = this.crop.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n componentDidMount() {\r\n const options = Object.keys(this.props)\r\n .filter(propKey => optionProps.indexOf(propKey) !== -1)\r\n .reduce((prevOptions, propKey) =>\r\n Object.assign({}, prevOptions, { [propKey]: this.props[propKey] })\r\n , {});\r\n this.cropper = new Cropper(this.img, options);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.src !== this.props.src) {\r\n this.cropper.reset().clear().replace(nextProps.src);\r\n }\r\n if (nextProps.aspectRatio !== this.props.aspectRatio) {\r\n this.setAspectRatio(nextProps.aspectRatio);\r\n }\r\n if (nextProps.data !== this.props.data) {\r\n this.setData(nextProps.data);\r\n }\r\n if (nextProps.dragMode !== this.props.dragMode) {\r\n this.setDragMode(nextProps.dragMode);\r\n }\r\n if (nextProps.cropBoxData !== this.props.cropBoxData) {\r\n this.setCropBoxData(nextProps.cropBoxData);\r\n }\r\n if (nextProps.canvasData !== this.props.canvasData) {\r\n this.setCanvasData(nextProps.canvasData);\r\n }\r\n if (nextProps.moveTo !== this.props.moveTo) {\r\n if (nextProps.moveTo.length > 1) {\r\n this.moveTo(nextProps.moveTo[0], nextProps.moveTo[1]);\r\n } else {\r\n this.moveTo(nextProps.moveTo[0]);\r\n }\r\n }\r\n if (nextProps.zoomTo !== this.props.zoomTo) {\r\n this.zoomTo(nextProps.zoomTo);\r\n }\r\n if (nextProps.scaleX !== this.props.scaleX) {\r\n this.scaleX(nextProps.scaleX);\r\n }\r\n if (nextProps.scaleY !== this.props.scaleY) {\r\n this.scaleY(nextProps.scaleY);\r\n }\r\n if (nextProps.enable !== this.props.enable) {\r\n if (nextProps.enable) {\r\n this.enable();\r\n } else {\r\n this.disable();\r\n }\r\n }\r\n\r\n Object.keys(nextProps).forEach((propKey) => {\r\n let isDifferentVal = nextProps[propKey] !== this.props[propKey];\r\n const isUnchangeableProps = unchangeableProps.indexOf(propKey) !== -1;\r\n\r\n if (typeof nextProps[propKey] === 'function' && typeof this.props[propKey] === 'function') {\r\n isDifferentVal = nextProps[propKey].toString() !== this.props[propKey].toString();\r\n }\r\n\r\n if (isDifferentVal && isUnchangeableProps) {\r\n throw new Error(`prop: ${propKey} can't be change after componentDidMount`);\r\n }\r\n });\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.img) {\r\n // Destroy the cropper, this makes sure events such as resize are cleaned up and do not leak\r\n this.cropper.destroy();\r\n delete this.img;\r\n delete this.cropper;\r\n }\r\n }\r\n\r\n setDragMode(mode) {\r\n return this.cropper.setDragMode(mode);\r\n }\r\n\r\n setAspectRatio(aspectRatio) {\r\n return this.cropper.setAspectRatio(aspectRatio);\r\n }\r\n\r\n getCroppedCanvas(options) {\r\n return this.cropper.getCroppedCanvas(options);\r\n }\r\n\r\n setCropBoxData(data) {\r\n return this.cropper.setCropBoxData(data);\r\n }\r\n\r\n getCropBoxData() {\r\n return this.cropper.getCropBoxData();\r\n }\r\n\r\n setCanvasData(data) {\r\n return this.cropper.setCanvasData(data);\r\n }\r\n\r\n getCanvasData() {\r\n return this.cropper.getCanvasData();\r\n }\r\n\r\n getImageData() {\r\n return this.cropper.getImageData();\r\n }\r\n\r\n getContainerData() {\r\n return this.cropper.getContainerData();\r\n }\r\n\r\n setData(data) {\r\n return this.cropper.setData(data);\r\n }\r\n\r\n getData(rounded) {\r\n return this.cropper.getData(rounded);\r\n }\r\n\r\n crop(options, cb) {\r\n this.setState({\r\n image: this.cropper.getCroppedCanvas(options),\r\n }, cb);\r\n }\r\n\r\n move(offsetX, offsetY) {\r\n return this.cropper.move(offsetX, offsetY);\r\n }\r\n\r\n moveTo(x, y) {\r\n return this.cropper.moveTo(x, y);\r\n }\r\n\r\n zoom(ratio) {\r\n return this.cropper.zoom(ratio);\r\n }\r\n\r\n zoomTo(ratio) {\r\n return this.cropper.zoomTo(ratio);\r\n }\r\n\r\n rotate(degree) {\r\n return this.cropper.rotate(degree);\r\n }\r\n\r\n rotateToLeft() {\r\n this.setState({ rotateAngle: this.state.rotateAngle - this.state.degree });\r\n return this.cropper.rotateTo(this.state.rotateAngle - this.state.degree);\r\n }\r\n rotateToRight() {\r\n this.setState({ rotateAngle: this.state.rotateAngle + this.state.degree });\r\n return this.cropper.rotateTo(this.state.rotateAngle + this.state.degree);\r\n }\r\n\r\n enable() {\r\n return this.cropper.enable();\r\n }\r\n\r\n disable() {\r\n return this.cropper.disable();\r\n }\r\n\r\n reset() {\r\n return this.cropper.reset();\r\n }\r\n\r\n clear() {\r\n return this.cropper.clear();\r\n }\r\n\r\n replace(url, onlyColorChanged) {\r\n return this.cropper.replace(url, onlyColorChanged);\r\n }\r\n\r\n scale(scaleX, scaleY) {\r\n return this.cropper.scale(scaleX, scaleY);\r\n }\r\n\r\n scaleX(scaleX) {\r\n return this.cropper.scaleX(scaleX);\r\n }\r\n\r\n scaleY(scaleY) {\r\n return this.cropper.scaleY(scaleY);\r\n }\r\n\r\n saveImage() {\r\n switch (this.props.responseType) {\r\n case 'blob':\r\n this.state.image.toBlob(\r\n (blob) => { this.props.saveImage(blob); },\r\n );\r\n break;\r\n case 'base64':\r\n this.props.saveImage(this.state.image.toDataURL());\r\n break;\r\n default:\r\n this.props.saveImage(this.state.image.toDataURL());\r\n }\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ [e.target.name]: e.target.value });\r\n }\r\n\r\n render() {\r\n const {\r\n src,\r\n alt,\r\n crossOrigin,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n { this.img = img; }}\r\n src={src}\r\n alt={alt === undefined ? 'picture' : alt}\r\n style={{ opacity: 0 }}\r\n />\r\n \r\n\r\n {/*
\r\n میزان چرخش : \r\n \r\n /*\r\n
*/}\r\n \r\n this.rotateToRight()}>\r\n rotate_right\r\n \r\n \r\n \r\n this.rotateToLeft()}>\r\n rotate_left\r\n \r\n \r\n \r\n this.clear()}>\r\n crop_free\r\n \r\n \r\n \r\n \r\n undo\r\n \r\n \r\n \r\n this.crop(this.props, this.saveImage)}>\r\n save\r\n \r\n \r\n\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nImageEditorRc.propTypes = {\r\n style: PropTypes.object, // eslint-disable-line react/forbid-prop-types\r\n className: PropTypes.string,\r\n\r\n // react cropper options\r\n crossOrigin: PropTypes.string,\r\n imageName: PropTypes.string,\r\n src: PropTypes.string,\r\n alt: PropTypes.string,\r\n\r\n // props of option can be changed after componentDidmount\r\n aspectRatio: PropTypes.number,\r\n dragMode: PropTypes.oneOf(['crop', 'move', 'none']),\r\n data: PropTypes.shape({\r\n x: PropTypes.number,\r\n y: PropTypes.number,\r\n width: PropTypes.number,\r\n height: PropTypes.number,\r\n rotate: PropTypes.number,\r\n scaleX: PropTypes.number,\r\n scaleY: PropTypes.number,\r\n }),\r\n scaleX: PropTypes.number,\r\n scaleY: PropTypes.number,\r\n enable: PropTypes.bool,\r\n cropBoxData: PropTypes.shape({\r\n left: PropTypes.number,\r\n top: PropTypes.number,\r\n width: PropTypes.number,\r\n height: PropTypes.number,\r\n }),\r\n canvasData: PropTypes.shape({\r\n left: PropTypes.number,\r\n top: PropTypes.number,\r\n width: PropTypes.number,\r\n height: PropTypes.number,\r\n }),\r\n zoomTo: PropTypes.number,\r\n moveTo: PropTypes.arrayOf(PropTypes.number),\r\n rotateTo: PropTypes.number,\r\n\r\n // cropperjs options\r\n // https://github.com/fengyuanchen/cropperjs#options\r\n // aspectRatio, dragMode, data\r\n viewMode: PropTypes.oneOf([0, 1, 2, 3]),\r\n preview: PropTypes.string,\r\n responsive: PropTypes.bool,\r\n restore: PropTypes.bool,\r\n checkCrossOrigin: PropTypes.bool,\r\n checkOrientation: PropTypes.bool,\r\n modal: PropTypes.bool,\r\n guides: PropTypes.bool,\r\n center: PropTypes.bool,\r\n highlight: PropTypes.bool,\r\n background: PropTypes.bool,\r\n autoCrop: PropTypes.bool,\r\n autoCropArea: PropTypes.number,\r\n movable: PropTypes.bool,\r\n rotatable: PropTypes.bool,\r\n scalable: PropTypes.bool,\r\n zoomable: PropTypes.bool,\r\n zoomOnTouch: PropTypes.bool,\r\n zoomOnWheel: PropTypes.bool,\r\n wheelZoomRation: PropTypes.number,\r\n cropBoxMovable: PropTypes.bool,\r\n cropBoxResizable: PropTypes.bool,\r\n toggleDragModeOnDblclick: PropTypes.bool,\r\n minContainerWidth: PropTypes.number,\r\n minContainerHeight: PropTypes.number,\r\n minCanvasWidth: PropTypes.number,\r\n minCanvasHeight: PropTypes.number,\r\n minCropBoxWidth: PropTypes.number,\r\n minCropBoxHeight: PropTypes.number,\r\n ready: PropTypes.func,\r\n cropstart: PropTypes.func,\r\n cropmove: PropTypes.func,\r\n cropend: PropTypes.func,\r\n crop: PropTypes.func,\r\n zoom: PropTypes.func,\r\n saveImage: PropTypes.func,\r\n responseType: PropTypes.string,\r\n};\r\n\r\nImageEditorRc.defaultProps = {\r\n src: null,\r\n dragMode: 'crop',\r\n data: null,\r\n scaleX: 1,\r\n scaleY: 1,\r\n enable: true,\r\n zoomTo: 1,\r\n rotateTo: 0,\r\n imageName: 'New',\r\n};\r\n\r\nexport default ImageEditorRc;\r\n","import React, { Component } from 'react';\r\nimport ImageEditorRc from './ImageEditorRc';\r\nimport './ImageEditorCropper.css';\r\n//import 'cropperjs/dist/cropper.css';\r\n//import ImageEditorRc from 'react-cropper-image-editor';\r\nimport Button from '@material-ui/core/Button';\r\nimport Icon from '@material-ui/core/Icon';\r\n\r\nexport default class ImageEditor extends Component {\r\n static defaultProps = {\r\n src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAMAAADsrvZaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABEppVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ1dWlkOjVEMjA4OTI0OTNCRkRCMTE5MTRBODU5MEQzMTUwOEM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY1Q0FEQzY4MTg0ODExRTU5OUIxOTM0NTAwOEYzQjgyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY1Q0FEQzY3MTg0ODExRTU5OUIxOTM0NTAwOEYzQjgyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIElsbHVzdHJhdG9yIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkMyODVFODFCNDgxOEU1MTE4M0JGOTFBOEZFOEExMkIzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkIzRjVD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'\r\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n fileName: '',\r\n fileSize: '',\r\n fileType: '',\r\n orginalImage: '',\r\n image: ''\r\n };\r\n this.saveImage = this.saveImage.bind(this);\r\n this.resetImage = this.resetImage.bind(this);\r\n this.open = this.open.bind(this);\r\n //this.ClearCrop = this.ClearCrop.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n image: this.props.src,\r\n orginalImage: this.props.src\r\n });\r\n }\r\n\r\n //componentWillReceiveProps(nextProps) {\r\n // this.setState({\r\n // image: nextProps.src,\r\n // orginalImage: nextProps.src\r\n // });\r\n //}\r\n\r\n saveImage(e) {\r\n this.setState({ image: e }, () => { this.props.onChange(this.state.image, this.state.fileName, this.state.fileType, this.state.fileSize); });\r\n }\r\n\r\n resetImage(e) {\r\n console.log('reset image started')\r\n this.setState({ image: this.state.orginalImage });\r\n }\r\n\r\n open(e) {\r\n e.preventDefault();\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n\r\n reader.onloadend = () => {\r\n this.setState({\r\n orginalImage: reader.result,\r\n image: reader.result,\r\n fileName: file.name,\r\n fileSize: file.size,\r\n fileType: file.type\r\n }, () => { this.props.onChange(this.state.image, this.state.fileName, this.state.fileType, this.state.fileSize); });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n //ClearCrop() {\r\n // console.log(\"ref:\", this.cropper);\r\n // this.cropper.cropper.clear();\r\n //}\r\n\r\n render() {\r\n return (\r\n \r\n this.cropper = ref}\r\n src={this.state.image}\r\n style={{ height: 400, width: 400 }}\r\n imageName='imageName'\r\n responseType='base64'\r\n //responseType='blob/base64'\r\n //aspectRatio={16 / 9}\r\n //className={'your custom class'}\r\n resetImage={this.resetImage}\r\n saveImage={this.saveImage}\r\n crossOrigin='true'\r\n guides={true}\r\n rotatable={true}\r\n autoCrop={false}\r\n />\r\n \r\n \r\n
\r\n
\r\n \r\n نام فایل:\r\n {this.state.fileName}\r\n
\r\n
\r\n \r\n اندازه فایل:\r\n {this.state.fileSize}\r\n بایت\r\n
\r\n
\r\n \r\n نوع فایل:\r\n {this.state.fileType}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Card, CardBody, CardImg, Input, CardHeader } from 'reactstrap';\r\n\r\nclass ImageUpload extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n file: '',\r\n imagePreviewUrl: this.props.src\r\n };\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.src !== this.props.src) {\r\n this.setState({ imagePreviewUrl: nextProps.src });\r\n }\r\n }\r\n\r\n _handleSubmit(e) {\r\n e.preventDefault();\r\n console.log('handle uploading-', this.state.file);\r\n console.log('handle uploading-', this.state.imagePreviewUrl);\r\n }\r\n\r\n _handleImageChange(e) {\r\n e.preventDefault();\r\n let reader = new FileReader();\r\n let file = e.target.files[0];\r\n console.log('_handleImageChange', file);\r\n\r\n reader.onloadend = () => {\r\n this.setState({\r\n file: file,\r\n imagePreviewUrl: reader.result\r\n }, () => { this.props.onChange(this.state.imagePreviewUrl); });\r\n };\r\n\r\n reader.readAsDataURL(file);\r\n }\r\n\r\n render() {\r\n let { imagePreviewUrl } = this.state;\r\n let $imagePreview = null;\r\n if (imagePreviewUrl) {\r\n $imagePreview = ();\r\n } else {\r\n $imagePreview = (
Please select an Image for Preview
);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n this._handleImageChange(e)} name=\"انتخاب تصویر\" />\r\n \r\n \r\n );\r\n }\r\n}\r\nexport default ImageUpload;\r\n","import React from \"react\";\r\nimport ReactKanban from \"react-kanban-dnd\";\r\nimport Card from '@material-ui/core/Card';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\r\n\r\nexport default class Kanban extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n columns : [\r\n {\r\n id: \"column1\",\r\n title: \"Column 1\",\r\n rows: [\r\n {\r\n id: \"children1\",\r\n name: \"John\",\r\n age: \"21\"\r\n },\r\n {\r\n id: \"children2\",\r\n name: \"Alex\",\r\n age: \"33\"\r\n }\r\n ]\r\n },\r\n {\r\n id: \"column2\",\r\n title: \"Column 2\",\r\n rows: [\r\n {\r\n id: \"children3\",\r\n name: \"Michael\",\r\n age: \"29\"\r\n },\r\n {\r\n id: \"children4\",\r\n name: \"Carl\",\r\n age: \"26\"\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n }\r\n\r\n renderCard = row => (\r\n \r\n R}\r\n action={\r\n \r\n \r\n \r\n }\r\n title=\"title\"\r\n subheader=\"subheader\"\r\n />\r\n \r\n name:{row.name}\r\n Age:{row.age}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n render() {\r\n return (\r\n {console.log('e:',e)}}\r\n columnStyle={{backgroundColor:'#bdbdbd'}}\r\n columnHeaderStyle={{backgroundColor:'#bdbdbd'}}\r\n //columnTitleStyle={styles.columnTitleStyle}\r\n // cardWrapperStyle={styles.cardWrapper}\r\n />\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Map, Marker, Popup, TileLayer } from 'react-leaflet';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport IconButton from '@material-ui/core/IconButton';\r\n\r\nexport default class Leaflet extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n latitude: 32.4279,\r\n longitude: 53.6880,\r\n lat: 0,\r\n lng: 0,\r\n zoom: 5\r\n };\r\n this.onMapClicked = this.onMapClicked.bind(this);\r\n this.getCurrentPosition = this.getCurrentPosition.bind(this);\r\n this.resetMarker = this.resetMarker.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //if (navigator.geolocation) {\r\n // navigator.geolocation.getCurrentPosition((position) => {\r\n // console.log(\"position:\", position);\r\n // this.setState({\r\n // latitude: position.coords.latitude,\r\n // longitude: position.coords.longitude\r\n // });\r\n // //let api = \"https://fcc-weather-api.glitch.me/api/current?\";\r\n // //api += `lat=${position.coords.latitude}&lon=${position.coords.longitude}`;\r\n // //this.fetchWeather(api);\r\n // });\r\n //}\r\n }\r\n\r\n getCurrentPosition() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n console.log(\"position:\", position);\r\n this.setState({\r\n latitude: position.coords.latitude,\r\n longitude: position.coords.longitude\r\n });\r\n });\r\n }\r\n }\r\n\r\n resetMarker() {\r\n this.setState({\r\n lat: 0,\r\n lng: 0\r\n });\r\n }\r\n\r\n onMapClicked(e) {\r\n console.log('onMapClicked e:', e);\r\n this.setState({\r\n lat: e.latlng.lat,\r\n lng: e.latlng.lng\r\n });\r\n }\r\n\r\n render() {\r\n const position = [this.state.latitude, this.state.longitude];\r\n const markerPosition = [this.state.lat, this.state.lng];\r\n return (\r\n
\r\n \r\n OpenStreetMap contributors\"\r\n />\r\n \r\n \r\n
شمال جغرافیایی :{this.state.lat}
\r\n
شرق جغرافیایی :{this.state.lng}
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n my_location\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n delete\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst styles = {\r\n map: {\r\n position: 'relative',\r\n width: '100%',\r\n height: '80vh'\r\n },\r\n currentBtn: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n zIndex: 400\r\n },\r\n resetMarkerBtn: {\r\n position: 'absolute',\r\n top: 0,\r\n right: 50,\r\n zIndex: 400\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'reactstrap';\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n//import login from '../../wwwroot/images/login.svg';\r\n\r\nclass Loading extends Component {\r\n static defaultProps = {\r\n title: \"درحال بارگذاری\",\r\n subtitle: \"لطفا منتظر بمانید...\",\r\n titleStyle: { color: '#000' },\r\n subtitleStyle: { color: '#000' }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n

{this.props.title}

\r\n

{this.props.subtitle}

\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n }\r\n}\r\n//const styles = {\r\n// containerMain: {\r\n// backgroundColor: '#2db0ac',\r\n// backgroundImage: 'url(' + login + ')',\r\n// backgroundPosition: 'center',\r\n// backgroundRepeat: 'no-repeat'\r\n// }\r\n//}\r\nexport default Loading;","import React, { Component } from 'react';\r\nimport { Modal, ModalBody, ModalFooter, Col, Row, Input, FormFeedback } from 'reactstrap';\r\nimport { Button, Dialog, DialogActions } from '@material-ui/core';\r\nimport MaterialInput from './MaterialInput';\r\nimport jMoment from \"moment-jalaali\";\r\n// var moment = require('moment-jalaali');\r\n//import moment from \"moment-jalaali\";\r\nimport JalaliUtils from \"@date-io/jalaali\";\r\nimport {\r\n DatePicker,\r\n MuiPickersUtilsProvider,\r\n} from \"@material-ui/pickers\";\r\n\r\njMoment.loadPersian({ dialect: \"persian-modern\", usePersianDigits: true });\r\n\r\nclass MaterialDatePicker extends Component {\r\n static defaultProps = {\r\n // mode: '24h',\r\n // okLabel: 'تایید',\r\n // value: '00:00',\r\n // label: 'ساعت',\r\n disabled: false\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n open: false,\r\n dateSeted: false,\r\n value: '',\r\n parsedValue: ''\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.confirm = this.confirm.bind(this);\r\n this.clear = this.clear.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"jMoment():\",jMoment())\r\n this.loadDate();\r\n }\r\n componentWillReceiveProps(NextProps) {\r\n //if(this.props.value!==NextProps.value){\r\n //this.setState({value:jMoment(NextProps.value,'jYYYY/jMM/jDD')});\r\n //}\r\n }\r\n\r\n loadDate = () => {\r\n if (this.props.value === '') {\r\n this.setState({ value: new Date() });\r\n }\r\n else {\r\n this.setState({ value: jMoment(this.props.value, 'jYYYY/jMM/jDD') });\r\n }\r\n }\r\n\r\n onChange(date) {\r\n console.log(\"date:\", date);\r\n var parsedValue = date.format('jYYYY/jMM/jDD');\r\n this.setState({ value: date, parsedValue: parsedValue, dateSeted: true });\r\n }\r\n\r\n confirm() {\r\n if (this.state.dateSeted) {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, this.state.parsedValue);\r\n }\r\n else {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, jMoment().format(\"jYYYY/jMM/jDD\"));\r\n }\r\n }\r\n\r\n clear() {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, '');\r\n }\r\n\r\n Now = () => {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, jMoment().format(\"jYYYY/jMM/jDD\"));\r\n }\r\n\r\n handleChange = (e) => {\r\n var value = e.target.value;\r\n if (value.length === 4 && this.props.value.length < value.length) {\r\n value = value + \"/\"\r\n }\r\n if (value.length === 7 && this.props.value.length < value.length) {\r\n value = value + \"/\"\r\n }\r\n this.props.onChange(this.props.name, value);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setState({ open: true })}\r\n //onClick={() => this.setState({ open: true })}\r\n autoComplete=\"off\"\r\n Icon=\"calendar_today\"\r\n onIconClicked={() => { if (!this.props.disabled) { this.loadDate(); this.setState({ open: true }); } }}\r\n Date\r\n maxLength={10}\r\n disabled={this.props.disabled}\r\n ref={this.props.innerRef}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 React.forwardRef((props, ref) => );","import React, { Component } from 'react';\r\nimport JSUtil from '../service/JSUtil';\r\n\r\nexport default class MaterialDropDown extends Component {\r\n static defaultProps = {\r\n name: \"\",\r\n label: \"\",\r\n disabled: false,\r\n refs: () => { },\r\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n selectedID: this.props.selectedID,\r\n\r\n isFocused: true,\r\n HasValue: false,\r\n invalid: false,\r\n Msg: ''\r\n };\r\n this.JSUtil = new JSUtil();\r\n this.onChange = this.onChange.bind(this);\r\n this.onFocus = this.onFocus.bind(this);\r\n this.onBlur = this.onBlur.bind(this);\r\n this.validate = this.validate.bind(this);\r\n this.input = this;\r\n }\r\n\r\n componentDidMount() {\r\n this.props.refs(this.input);\r\n if (this.state.selectedID > 0) {\r\n this.setState({ isFocused: true });\r\n }\r\n this.setState({ HasValue: typeof this.props.HasValue !== 'undefined' });\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.data !== this.props.data || nextProps.selectedID !== this.props.selectedID) {\r\n this.setState({ data: nextProps.data, selectedID: nextProps.selectedID });\r\n }\r\n }\r\n\r\n onChange(e) {\r\n this.validate(e.target.name, e.target.value, e).then((res) => {\r\n // element.previousElementSibling.style.borderColor = \"#03a9f4\";\r\n // element.nextElementSibling.innerText = \"\";\r\n this.setState({ Msg: \"\", invalid: false });\r\n }, (res) => {\r\n // element.previousElementSibling.style.borderColor = \"#f44336\";\r\n // element.nextElementSibling.innerText = res;\r\n this.setState({ Msg: res, invalid: true });\r\n });\r\n\r\n this.props.onChange(e);\r\n }\r\n\r\n validate(name, value, event) {\r\n var result;\r\n if (this.state.HasValue) {\r\n result = this.JSUtil.validation_HasValue(name, value, this);\r\n if (!result.valid) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n return Promise.resolve('');\r\n }\r\n\r\n onFocus(e) {\r\n this.setState({ isFocused: true });\r\n this.refField.style.borderColor = \"#03a9f4\";\r\n }\r\n onBlur(e) {\r\n if (this.props.value === \"\") {\r\n this.setState({ isFocused: false });\r\n }\r\n this.validate(e.target.name, e.target.value, e).then((res) => {\r\n this.refField.style.borderColor = \"#b9b9b9\";\r\n this.refMsg.innerText = \"\";\r\n }, (res) => {\r\n // element.previousElementSibling.style.borderColor = \"#f44336\";\r\n // element.nextElementSibling.innerText = res;\r\n });\r\n //if ((this.state.invalid === false && this.state.HasValue) || this.state.HasValue === false) {\r\n // e.target.previousElementSibling.style.borderColor = \"#b9b9b9\";\r\n //}\r\n //if ((this.state.invalid === true && this.state.HasValue) || (this.state.HasValue && this.state.selectedID === 0)) {\r\n // e.target.previousElementSibling.style.borderColor = \"#f44336\";\r\n //}\r\n }\r\n\r\n render() {\r\n let legend = {\r\n width: this.state.isFocused ? 70 : 0\r\n };\r\n let optionItems = this.state.data.map((item, index) =>\r\n \r\n );\r\n return (\r\n
\r\n
this.refField = ref}>\r\n \r\n
\r\n \r\n
this.refMsg = ref}>{this.state.Msg}
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst styles = {\r\n fieldset: {\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 20,\r\n right: 0,\r\n left: 0,\r\n borderStyle: 'solid',\r\n borderWidth: 1,\r\n borderRadius: 4,\r\n pointerEvents: 'none',\r\n borderColor: '#b9b9b9',\r\n paddingRight: 12\r\n },\r\n inputBox: {\r\n position: 'relative'\r\n },\r\n inputValid: {\r\n fontSize: '12px',\r\n color: '#000',\r\n background: '#fff',\r\n width: '100%',\r\n //height: '44px',\r\n padding: '5px 15px',\r\n marginBottom: '20px',\r\n border: 'none',\r\n //border: '1px solid #b9b9b9',\r\n borderRadius: '3px',\r\n outline: 'none'\r\n },\r\n inputInValid: {\r\n fontSize: '12px',\r\n color: '#000',\r\n background: '#fff',\r\n width: '100%',\r\n //height: '44px',\r\n padding: '5px 15px',\r\n marginBottom: '20px',\r\n border: 'none',\r\n //border: '1px solid #f44336',\r\n borderRadius: '3px',\r\n outline: 'none'\r\n },\r\n label: {\r\n position: 'absolute',\r\n top: '0px',\r\n right: '10px',\r\n padding: '6px 8px',\r\n fontSize: '14px',\r\n color: '#b9b9b9',\r\n //background: '#fff',\r\n pointerEvents: 'none',\r\n transition: '.5s'\r\n },\r\n labelFocused: {\r\n position: 'absolute',\r\n top: '-10px',\r\n right: '15px',\r\n padding: '0px 8px',\r\n fontSize: '12px',\r\n color: '#03a9f4',\r\n //background: '#fff',\r\n pointerEvents: 'none',\r\n transition: '.5s'\r\n },\r\n invalidMsg: {\r\n display: 'block',\r\n color: '#f44336',\r\n position: 'absolute',\r\n top: '35px',\r\n right: '10px',\r\n fontSize: '12px'\r\n },\r\n validMsg: {\r\n display: 'block',\r\n color: '#f44336',\r\n position: 'absolute',\r\n top: '35px',\r\n right: '10px',\r\n fontSize: '12px'\r\n }\r\n};","import React, { Component } from 'react';\r\nimport JSUtil from '../service/JSUtil';\r\nimport MaterialInput from './MaterialInput';\r\nimport './MaterialDropDownS.css';\r\n\r\nclass MaterialDropDownS extends Component {\r\n static defaultProps = {\r\n disabled: false\r\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n filtered: this.props.data,\r\n selectedID: this.props.selectedID,\r\n selectedName: '',\r\n selectedNames: [],\r\n\r\n open: false,\r\n founded: false,\r\n values: [],\r\n valuesWithDetails: [],\r\n loading: false,\r\n HasValue: typeof this.props.HasValue !== 'undefined',\r\n NotEmpty: typeof this.props.NotEmpty !== 'undefined',\r\n Stream: typeof this.props.Stream !== 'undefined',\r\n SmartSearch: typeof this.props.SmartSearch !== 'undefined',\r\n MultiSelect: typeof this.props.MultiSelect !== 'undefined',\r\n };\r\n this.JSUtil = new JSUtil();\r\n this.onInputClick = this.onInputClick.bind(this);\r\n this.onSelect = this.onSelect.bind(this);\r\n this.onChange = this.onChange.bind(this);\r\n this.onBlur = this.onBlur.bind(this);\r\n this.validate = this.validate.bind(this);\r\n this.onKeyDown = this.onKeyDown.bind(this);\r\n this.PreElement = null;\r\n this.element = null;\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.selectedID > 0 || this.props.selectedID !== '') {\r\n if (this.props.data.filter(item => item.id == this.props.selectedID)[0]) {\r\n //this.setState({ selectedName: this.props.data.filter(item => item.id == this.props.selectedID)[0].name });\r\n this.LoadValue(\"compdidmount\");\r\n }\r\n }\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps) {\r\n if (nextProps.data !== this.props.data || nextProps.selectedID !== this.props.selectedID) {\r\n this.setState({ data: nextProps.data, filtered: nextProps.data, selectedID: nextProps.selectedID/*, selectedName: ''*/ });\r\n if (nextProps.data.length > 0) {\r\n this.setState({ loading: false });\r\n }\r\n if ((!this.state.Stream && nextProps.selectedID > 0) || (!this.state.Stream && nextProps.selectedID !== '')) {\r\n if (nextProps.data.filter(item => item.id == nextProps.selectedID)[0])\r\n this.setState({ selectedName: nextProps.data.filter(item => item.id == nextProps.selectedID)[0].name });\r\n }\r\n }\r\n }\r\n //componentWillReceiveProps(nextProps) {\r\n // this.setState({ data: nextProps.data, filtered: nextProps.data, selectedID: nextProps.selectedID/*, selectedName: ''*/ });\r\n // if (nextProps.data.length > 0) {\r\n // this.setState({ loading: false });\r\n // }\r\n // if ((!this.state.Stream && nextProps.selectedID > 0) || (!this.state.Stream && nextProps.selectedID !== '')) {\r\n // if (nextProps.data.filter(item => item.id == nextProps.selectedID)[0])\r\n // this.setState({ selectedName: nextProps.data.filter(item => item.id == nextProps.selectedID)[0].name });\r\n // }\r\n //}\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n }\r\n\r\n //shouldComponentUpdate(nextProps, nextState) {\r\n // if (this.state.selectedName === '') {\r\n // return true;\r\n // }\r\n // else {\r\n // return true;\r\n // }\r\n //}\r\n\r\n validate(name, value, event) {\r\n var result;\r\n if (this.state.HasValue) {\r\n result = this.JSUtil.validation_HasValue(name, value, this.MTInput);\r\n if (!result.success) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n if (this.state.NotEmpty) {\r\n result = this.JSUtil.validation_NotEmpty(name, value, this.MTInput);\r\n if (!result.success) {\r\n return Promise.reject(result.msg);\r\n }\r\n }\r\n return Promise.resolve('');\r\n }\r\n\r\n LoadValue = (name) => {\r\n console.log(\"LoadValue in mdds:\", this.props.data)\r\n console.log(\"LoadValue from:\", name)\r\n if (this.props.data.length > 0)\r\n this.setState({ selectedName: this.props.data.filter(item => item.id == this.props.selectedID)[0].name }, () => {\r\n this.Input = this.wrapperRef.firstElementChild.firstElementChild.nextElementSibling;\r\n this.validate(this.props.name, this.state.selectedName, document).then((res) => {\r\n this.Input.previousElementSibling.style.borderColor = \"#b9b9b9\";\r\n this.Input.nextElementSibling.innerText = \"\";\r\n }, (res) => {\r\n // this.Input.previousElementSibling.style.borderColor = \"#f44336\";\r\n // this.Input.nextElementSibling.innerText = res;\r\n });\r\n })\r\n }\r\n\r\n // LoadElement=()=>{\r\n // console.log(\"loadElement in mdds\")\r\n // for(let item of document.querySelectorAll(\"#item-\" + this.props.name)) {\r\n // console.log(\"item.attributes\")\r\n // console.log([item.attributes.value.value],[this.state.selectedID])\r\n // if (parseInt(item.attributes.value.value) === this.state.selectedID) {\r\n // this.element=item;\r\n // console.log(\"this.element\",this.element)\r\n // if(!this.element.classList.contains('dropDownSelected')){\r\n // this.element.classList.add('dropDownSelected');\r\n // }\r\n // //this.element.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\r\n // //founded = true;\r\n // console.log('founded = true');\r\n // this.setState({founded:true});\r\n // }\r\n // }\r\n // }\r\n\r\n handleClickOutside(event) {\r\n if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {\r\n this.setState({ open: false });\r\n this.LoadValue(\"handleClickOutside\");\r\n }\r\n }\r\n\r\n onInputClick(e, event) {\r\n if (e === true) {\r\n this.setState({ open: true });\r\n }\r\n if (e === 'semi') {\r\n this.setState({ open: !this.state.open });\r\n }\r\n //this.LoadElement();\r\n }\r\n\r\n onBlur(e) {\r\n this.LoadValue(\"onBlur\");\r\n }\r\n\r\n onFocus = (e) => {\r\n this.setState({ selectedName: \"\" })\r\n }\r\n\r\n onSelect(e) {\r\n console.log(\"this is onchange:\");\r\n var element = document.getElementsByName(this.props.name)[0];\r\n console.log('element:', element);\r\n console.log('element.value:', element.value);\r\n this.validate(this.props.name, element.value, e).then((res) => {\r\n // element.previousElementSibling.style.borderColor = \"#03a9f4\";\r\n // element.nextElementSibling.innerText = \"\";\r\n // this.setState({ Msg: \"\", invalid: false });\r\n }, (res) => {\r\n // element.previousElementSibling.style.borderColor = \"#f44336\";\r\n // element.nextElementSibling.innerText = res;\r\n // this.setState({ Msg: res, invalid: true });\r\n });\r\n\r\n if (this.state.MultiSelect) {\r\n this.setState({ selectedName: \"\", open: false });\r\n this.state.values.push(e.target.attributes.value.value);\r\n this.state.valuesWithDetails.push({ id: e.target.attributes.value.value, name: e.target.innerText });\r\n this.props.onChange(this.props.name, this.state.values, this.state.valuesWithDetails);\r\n }\r\n else {\r\n this.setState({ selectedName: e.target.innerText, open: false });\r\n this.props.onChange(this.props.name, e.target.attributes.value.value);\r\n }\r\n }\r\n\r\n onChange(e) {\r\n var element = e.target;\r\n var and = true;\r\n var string = e.target.value;\r\n if (e.target.value.includes(\"#\")) {\r\n and = false;\r\n string = string.replace('#', '');\r\n }\r\n this.setState({ selectedName: e.target.value.toLowerCase(), selectedNames: string.split(\" \") }, () => {\r\n console.log('selectedName', this.state.selectedName);\r\n if (this.state.Stream) {\r\n if (this.state.selectedName.length >= 3) {\r\n this.setState({ loading: true });\r\n var typingTimer = null;\r\n var doneTypingInterval = 2000;\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(() => {\r\n this.props.updateData(this.state.selectedName);\r\n }, doneTypingInterval);\r\n }\r\n else {\r\n this.setState({ filtered: this.state.data, loading: false });\r\n this.wrapperRef.lastElementChild.style.borderColor = \"#f44336\"\r\n element.previousElementSibling.style.borderColor = \"#f44336\";\r\n element.nextElementSibling.innerText = 'حداقل 3 کاراکتر تایپ کنید';\r\n }\r\n }\r\n else if (this.state.SmartSearch) {\r\n if (this.state.selectedName.length >= 3) {\r\n this.setState({ loading: true });\r\n var typingTimer = null;\r\n var doneTypingInterval = 2000;\r\n clearTimeout(typingTimer);\r\n typingTimer = setTimeout(() => {\r\n if (and) {\r\n var filtered = this.state.data;\r\n let promises = this.state.selectedNames.map((item, index) => {\r\n filtered = filtered.filter(object => object.name.includes(item.toUpperCase()))\r\n if (index + 1 === this.state.selectedNames.length) {\r\n return (\"\");\r\n }\r\n });\r\n Promise.all(promises)\r\n .then(results => {\r\n this.setState({\r\n filtered: filtered,\r\n loading: false\r\n });\r\n })\r\n //.catch(e => {\r\n // console.error(e);\r\n //})\r\n }\r\n else {\r\n var filtered = [];\r\n let promises = this.state.selectedNames.map((item, index) => {\r\n filtered = [...filtered, ...this.state.data.filter(object => object.name.includes(item.toUpperCase()))]\r\n if (index + 1 === this.state.selectedNames.length) {\r\n return (\"\");\r\n }\r\n });\r\n Promise.all(promises)\r\n .then(results => {\r\n console.log('filtered:', filtered.filter((value, index, self) => self.indexOf(value) === index));\r\n this.setState({\r\n filtered: filtered.filter((value, index, self) => self.indexOf(value) === index),\r\n loading: false\r\n });\r\n })\r\n }\r\n this.wrapperRef.lastElementChild.style.borderColor = \"#03a9f4\"\r\n element.previousElementSibling.style.borderColor = \"#03a9f4\";\r\n element.nextElementSibling.innerText = '';\r\n }, doneTypingInterval);\r\n }\r\n else {\r\n this.setState({ filtered: this.state.data, loading: false });\r\n this.wrapperRef.lastElementChild.style.borderColor = \"#f44336\"\r\n element.previousElementSibling.style.borderColor = \"#f44336\";\r\n element.nextElementSibling.innerText = 'حداقل 3 کاراکتر تایپ کنید';\r\n }\r\n }\r\n else {\r\n this.setState({ filtered: this.state.data.filter(item => item.name.includes(this.state.selectedName)) });\r\n }\r\n });\r\n }\r\n\r\n onKeyDown(e) {\r\n var founded = false;\r\n var target = e.target;\r\n var keyCode = e.keyCode;\r\n var shiftKey = e.shiftKey;\r\n\r\n for (let item of document.querySelectorAll(\"#item-\" + this.props.name)) {\r\n if (item === this.element) {\r\n founded = true;\r\n console.log('founded = true');\r\n break;\r\n }\r\n }\r\n\r\n this.setState({ open: true }, (e) => {\r\n if (founded === false) {\r\n this.element = target.nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.firstElementChild;\r\n // if(!this.element.classList.contains('dropDownSelected')){\r\n // this.element.classList.add('dropDownSelected');\r\n // }\r\n // this.element.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\r\n console.log('element after not found:', this.element);\r\n }\r\n if (this.state.filtered.length > 0) {\r\n if (keyCode === DOWN_ARROW_KEY_CODE) {\r\n console.log('DOWN_ARROW_KEY_CODE');\r\n this.PreElement = this.element;\r\n this.element = this.element.nextElementSibling ? this.element.nextElementSibling : this.element;\r\n if (this.PreElement && this.PreElement.classList.contains('dropDownSelected')) {\r\n this.PreElement.classList.remove('dropDownSelected');\r\n }\r\n this.element.classList.add('dropDownSelected');\r\n this.element.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\r\n // console.log(\"down:\",this.element)\r\n }\r\n if (keyCode === UP_ARROW_KEY_CODE) {\r\n console.log('UP_ARROW_KEY_CODE');\r\n this.PreElement = this.element;\r\n this.element = this.element.previousElementSibling ? this.element.previousElementSibling : this.element;\r\n if (this.PreElement && this.PreElement.classList.contains('dropDownSelected')) {\r\n this.PreElement.classList.remove('dropDownSelected');\r\n }\r\n this.element.classList.add('dropDownSelected');\r\n this.element.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });\r\n // console.log(\"up:\",this.element)\r\n }\r\n if (keyCode === ENTER_KEY_CODE) {\r\n console.log('ENTER_KEY_CODE');\r\n if (this.element) {\r\n console.log('selected element:', this.element);\r\n if (this.state.MultiSelect) {\r\n this.setState({ selectedName: \"\", open: false });\r\n this.state.values.push(this.element.attributes.value.value);\r\n this.state.valuesWithDetails.push({ id: this.element.attributes.value.value, name: this.element.innerText });\r\n this.props.onChange(this.props.name, this.state.values, this.state.valuesWithDetails);\r\n }\r\n else {\r\n this.setState({ selectedName: this.element.innerText, open: false });\r\n this.props.onChange(this.props.name, this.element.attributes.value.value);\r\n }\r\n }\r\n }\r\n }\r\n if (keyCode === ESCAPE_KEY_CODE) {\r\n console.log('ESCAPE_KEY_CODE');\r\n this.setState({\r\n selectedName: \"\",\r\n filtered: this.state.data\r\n });\r\n }\r\n if (keyCode === Tab_KEY_CODE) {\r\n console.log('Tab_KEY_CODE');\r\n this.setState({ open: false });\r\n\r\n }\r\n if (shiftKey && keyCode === Tab_KEY_CODE) {\r\n console.log('Shift+Tab_KEY_CODE');\r\n this.setState({ open: false });\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n let options = this.state.filtered.slice(0, 20).map((item, index) =>\r\n
{item.name}
\r\n );\r\n //options.push(
{this.state.filtered.length} از {this.state.data.length}
);\r\n\r\n return (\r\n
this.wrapperRef = node}>\r\n this.onInputClick(true, e)}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n autoComplete=\"off\"\r\n disabled={this.props.disabled}\r\n Icon={this.state.open === false ? \"arrow_drop_down\" : \"arrow_drop_up\"}\r\n onIconClicked={() => this.onInputClick('semi')}\r\n loading={this.state.loading}\r\n ref={this.props.innerRef}\r\n refs={ref => this.MTInput = ref}\r\n >\r\n {this.state.open &&\r\n \r\n
\r\n {options}\r\n
\r\n
{this.state.filtered.length} از {this.state.data.length}
\r\n
\r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nconst SPACEBAR_KEY_CODE = [0, 32];\r\nconst ENTER_KEY_CODE = 13;\r\nconst DOWN_ARROW_KEY_CODE = 40;\r\nconst UP_ARROW_KEY_CODE = 38;\r\nconst ESCAPE_KEY_CODE = 27;\r\nconst Tab_KEY_CODE = 9;\r\nconst BACKSPACE_KEY_CODE = 8;\r\n\r\nconst styles = {\r\n inputBox: {\r\n position: 'relative'\r\n },\r\n dropdownContent: {\r\n borderColor: '#03a9f4',\r\n display: 'block',\r\n position: 'absolute',\r\n top: 34,\r\n right: 0,\r\n left: 0,\r\n backgroundColor: '#fff',\r\n //minWidth: '230px',\r\n border: '1px solid #b9b9b9',\r\n borderRadius: 4,\r\n borderTop: 'none',\r\n zIndex: 1,\r\n cursor: 'pointer',\r\n height: 200,\r\n overflowY: 'scroll'\r\n },\r\n dropdownContentA: {\r\n color: 'black',\r\n padding: '12px 16px',\r\n textDecoration: 'none',\r\n display: 'block',\r\n '&:hover': {\r\n backgroundColor: '#ddd',\r\n }\r\n },\r\n dropdownDetails: {\r\n color: 'black',\r\n backgroundColor: '#dadada',\r\n padding: '5px 16px',\r\n textDecoration: 'none',\r\n textAlign: 'center',\r\n position: 'absolute',\r\n bottom: -192,\r\n right: 0,\r\n left: 0,\r\n zIndex: 1\r\n }\r\n};\r\n\r\nexport default React.forwardRef((props, ref) => );","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Dialog, DialogActions } from '@material-ui/core';\r\nimport { TimePicker } from 'material-ui-time-picker';\r\nimport { Modal, ModalBody, ModalFooter, Col, Row, Input, FormFeedback } from 'reactstrap';\r\nimport MaterialInput from './MaterialInput';\r\n\r\nclass MaterialTimePicker extends Component {\r\n static propTypes = {\r\n mode: PropTypes.string,\r\n okLabel: PropTypes.string,\r\n value: PropTypes.string\r\n }\r\n\r\n static defaultProps = {\r\n mode: '24h',\r\n okLabel: 'تایید',\r\n value: '00:00',\r\n label: 'ساعت',\r\n disabled: false\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n open: false,\r\n timeSeted: false,\r\n time: '',\r\n parsedTime: \"\"\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n this.confirm = this.confirm.bind(this);\r\n this.clear = this.clear.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.LoadTime();\r\n }\r\n\r\n LoadTime = () => {\r\n if (this.props.value === '') {\r\n this.setState({ time: new Date() });\r\n }\r\n else {\r\n var time = new Date();\r\n time.setHours(this.props.value[0] + this.props.value[1], this.props.value[3] + this.props.value[4])\r\n this.setState({ time: time })\r\n }\r\n }\r\n\r\n onChange(time) {\r\n console.log(\"time:\", time);\r\n this.setState({\r\n time: time,\r\n parsedTime: time.toTimeString()[0] + time.toTimeString()[1] + time.toTimeString()[2] + time.toTimeString()[3] + time.toTimeString()[4],\r\n timeSeted: true\r\n });\r\n }\r\n\r\n confirm() {\r\n if (this.state.timeSeted) {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, this.state.parsedTime);\r\n }\r\n else {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, new Date().toTimeString()[0] + new Date().toTimeString()[1] + new Date().toTimeString()[2] + new Date().toTimeString()[3] + new Date().toTimeString()[4]);\r\n }\r\n }\r\n\r\n clear() {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, '');\r\n }\r\n\r\n handleChange(e) {\r\n var value = e.target.value;\r\n if (value.length === 2 && this.props.value.length < value.length) {\r\n value = value + \":\"\r\n }\r\n this.props.onChange(this.props.name, value);\r\n }\r\n\r\n Now = () => {\r\n this.setState({ open: false });\r\n this.props.onChange(this.props.name, \"\" + new Date().getHours() + \":\" + new Date().getMinutes() + \"\");\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setState({ open: true })}\r\n //onClick={() => this.setState({ open: true })}\r\n autoComplete=\"off\"\r\n Icon=\"access_time\"\r\n onIconClicked={() => { if (!this.props.disabled) { this.LoadTime(); this.setState({ open: true }); } }}\r\n Time\r\n maxLength={5}\r\n disabled={this.props.disabled}\r\n ref={this.props.innerRef}\r\n />\r\n\r\n \r\n \r\n setState({ open: false })}\r\n />\r\n \r\n \r\n \r\n \r\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 React.forwardRef((props, ref) => );","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Portal from './Portal';\r\nimport './ModalCustom.css';\r\n\r\nclass ModalCustom extends Component {\r\n static propTypes = {\r\n modal: PropTypes.bool,\r\n }\r\n\r\n static defaultProps = {\r\n modal: false\r\n }\r\n constructor(props) {\r\n super(props);\r\n this._element = null;\r\n }\r\n\r\n init() {\r\n this._element = document.createElement('div');\r\n //this._element.setAttribute('tabindex', '-1');\r\n //this._element.style.position = 'relative';\r\n //this._element.style.zIndex = this.props.zIndex;\r\n //this._originalBodyPadding = getOriginalBodyPadding();\r\n\r\n //conditionallyUpdateScrollbar();\r\n\r\n document.body.appendChild(this._element);\r\n\r\n //if (!this.bodyClassAdded) {\r\n // document.body.className = classNames(\r\n // document.body.className,\r\n // mapToCssModules('modal-open', this.props.cssModule)\r\n // );\r\n // this.bodyClassAdded = true;\r\n //}\r\n }\r\n\r\n destroy() {\r\n if (this._element) {\r\n document.body.removeChild(this._element);\r\n this._element = null;\r\n }\r\n\r\n //if (this.bodyClassAdded) {\r\n // const modalOpenClassName = mapToCssModules('modal-open', this.props.cssModule);\r\n // // Use regex to prevent matching `modal-open` as part of a different class, e.g. `my-modal-opened`\r\n // const modalOpenClassNameRegex = new RegExp(`(^| )${modalOpenClassName}( |$)`);\r\n // document.body.className = document.body.className.replace(modalOpenClassNameRegex, ' ').trim();\r\n // this.bodyClassAdded = false;\r\n //}\r\n\r\n //setScrollbarWidth(this._originalBodyPadding);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.props.modal === true &&\r\n \r\n
\r\n
\r\n
\r\n
\r\n {this.props.Header}\r\n
\r\n
{this.props.children}
\r\n
\r\n {this.props.Footer}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n );\r\n }\r\n}\r\nexport default ModalCustom;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\n//import \"@material/form-field/dist/mdc.form-field.css\";\r\n//import \"@material/radio/dist/mdc.radio.css\";\r\n\r\nclass Radio extends Component {\r\n static propTypes = {\n name: PropTypes.string.isRequired,\n //value: PropTypes.number,\n //checked: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string,\n }\n\n static defaultProps = {\n //value: 1,\n //checked: 0,\n disabled: false,\n label: \"انتخاب کنید\",\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n Id: 0\r\n }\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ Id: Math.floor(Math.random() * 1000) })\r\n }\r\n\r\n onChange(e) {\r\n this.props.onChange(e);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\nexport default Radio;","import React, { Component } from 'react';\r\nimport { Col } from 'reactstrap';\r\n//import \"@material/form-field/dist/mdc.form-field.css\";\r\n//import \"@material/radio/dist/mdc.radio.css\";\r\n\r\nclass RadioGroup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n name: this.props.name,\r\n selected: this.props.selected,\r\n disabled: this.props.disabled,\r\n Id: 0\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ Id: Math.floor(Math.random() * 1000) })\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setState({\r\n data: nextProps.data,\r\n name: nextProps.name,\r\n selected: nextProps.selected,\r\n disabled: nextProps.disabled\r\n });\r\n }\r\n\r\n onChange(e) {\r\n e.target.parentElement.parentElement.parentElement.parentElement.previousElementSibling.style.borderColor = '#03a9f4';\r\n e.target.parentElement.parentElement.parentElement.parentElement.nextElementSibling.innerText = '';\r\n this.props.onChange(e);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
this.refField = ref}>\r\n \r\n
\r\n
\r\n {this.state.data.map((item, index) => {\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
this.refMsg = ref}>{this.props.invalidMsg}
\r\n \r\n
\r\n );\r\n }\r\n}\r\nconst styles = {\r\n legend: {\r\n width: 70\r\n },\r\n fieldset: {\r\n position: 'absolute',\r\n top: 0,\r\n bottom: 0,\r\n right: 0,\r\n left: 0,\r\n borderStyle: 'solid',\r\n borderWidth: 1,\r\n borderRadius: 4,\r\n pointerEvents: 'none',\r\n borderColor: '#b9b9b9',\r\n paddingRight: 12\r\n },\r\n row: {\r\n display: 'flex',\r\n flexWrap: 'wrap'\r\n },\r\n invalidMsg: {\r\n display: 'block',\r\n color: '#f44336',\r\n position: 'absolute',\r\n bottom: -15,\r\n right: 10,\r\n fontSize: '12px'\r\n },\r\n floatLabel: {\r\n position: 'absolute',\r\n top: -10,\r\n right: 15,\r\n padding: '0px 0px',\r\n fontSize: '12px',\r\n color: '#03a9f4',\r\n pointerEvents: 'none',\r\n transition: '.5s'\r\n }\r\n};\r\nexport default RadioGroup;\r\nRadioGroup.defaultProps = {\r\n md: 4\r\n};","import React, { Component } from 'react';\r\nimport { Col, Row } from 'reactstrap';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport './RadioBoxGroup.css';\r\n\r\nexport default class RadioBoxGroup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: this.props.data,\r\n name: this.props.name,\r\n selected: this.props.selected,\r\n disabled: this.props.disabled,\r\n Id: 0,\r\n Image: false,\r\n Icon: false\r\n };\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({\r\n Id: Math.floor(Math.random() * 1000),\r\n Image: typeof this.props.Image !== 'undefined',\r\n Icon: typeof this.props.Icon !== 'undefined'\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setState({\r\n data: nextProps.data,\r\n name: nextProps.name,\r\n selected: nextProps.selected,\r\n disabled: nextProps.disabled\r\n });\r\n }\r\n\r\n onChange(e) {\r\n this.props.onChange(e);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.data.map(item => {\r\n let container = {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n alignItems: 'center',\r\n padding: '18px 38px 18px 0px',\r\n marginRight: 0,\r\n marginLeft: 0,\r\n marginBottom: 10,\r\n border: this.state.selected === item.id ? '1px solid #018786' : '1px solid #e0e0e0',\r\n borderRadius: 4,\r\n boxShadow: this.state.selected === item.id ? 'none' : '0px 0px 4px rgba(0, 0, 0, .1)',\r\n transition: 'all .4s ease-in -out'\r\n };\r\n return (\r\n \r\n