-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path872.6461765d889b3ca4fa8b.js
1 lines (1 loc) · 32.4 KB
/
872.6461765d889b3ca4fa8b.js
1
"use strict";(this.webpackChunkRuDEX3_light=this.webpackChunkRuDEX3_light||[]).push([[872],{67663:(e,t,s)=>{s.d(t,{Z:()=>$});var a=s(99111),n=s(67294),r=s(43393),i=s.n(r),o=s(95891),l=s.n(o),c=s(13973),p=s(58074),h=s.n(p),m=s(58466),d=s(89449),u=s(21019),g=s(52521),b=s(23037),k=s(82267);class y extends n.Component{static propTypes={account:b.Z.ChainObject.isRequired};static defaultProps={autosubscribe:!1};render(){return this.props.account?n.createElement("span",null,this.props.account.get("name")):null}}const f=(0,k.Z)(y);var v=s(3894),E=s(91684),_=s(22463),x=s(55294),S=s(5977),M=s(76660);class C extends n.Component{static defaultProps={noSymbols:!1};constructor(){super(),this.statsInterval=null}_onClick(e){`/market/${e}`!==this.props.location.pathname&&(_.Z.switchMarket(),this.props.history.push(`/market/${e}`))}componentDidMount(){this.statsChecked=new Date,this.props.base&&this.props.quote&&this.props.base.get&&this.props.base.get("id")&&this.props.quote.get&&this.props.quote.get("id")&&(this.statsInterval=_.Z.getMarketStatsInterval(35e3,this.props.base,this.props.quote))}componentWillUnmount(){this.statsInterval&&this.statsInterval()}shouldComponentUpdate(e){return!c.Z.are_equal_shallow(e,this.props)}_onStar(e,t,s){s.preventDefault(),this.props.starred?x.Z.removeStarMarket(e,t):x.Z.addStarMarket(e,t)}render(){let{quote:e,base:t,noSymbols:s,stats:a,starred:r}=this.props;if(!e||!t)return null;let i=e.get("symbol")+"_"+t.get("symbol"),o=e.get("symbol")+":"+t.get("symbol"),l=this.props.getDynamicObject(e.get("dynamic_asset_data_id")),p=this.props.getDynamicObject(t.get("dynamic_asset_data_id")),h=c.Z.convertPrice(e,t),m={};this.props.leftAlign&&(m.textAlign="left");let d="button outline",g=null;this.props.compact&&(d+=" no-margin",g={marginBottom:0,fontSize:"0.75rem",padding:"4px 10px",borderRadius:"0px",letterSpacing:"0.05rem"});let b=this.props.columns.map((s=>{switch(s.name){case"star":let m=r?"gold-star":"grey-star";return n.createElement("td",{onClick:this._onStar.bind(this,e.get("symbol"),t.get("symbol")),key:s.index},n.createElement(E.Z,{className:m,name:"fi-star",title:"icons.fi_star.symbol"}));case"vol":let b=a?a.volumeBase:0;return n.createElement("td",{onClick:this._onClick.bind(this,i),className:"text-right",key:s.index},c.Z.format_volume(b));case"change":let k=c.Z.format_number(a&&a.change?a.change:0,2),y="0.00"===k?"":k>0?"change-up":"change-down";return n.createElement("td",{onClick:this._onClick.bind(this,i),className:"text-right "+y,key:s.index},k+"%");case"marketName":return n.createElement("td",{onClick:this._onClick.bind(this,i),key:s.index},n.createElement("div",{className:d,style:g},o));case"market":return n.createElement("td",{onClick:this._onClick.bind(this,i),key:s.index},n.createElement(v.Z,{replaceNoneToBts:!1,maxWidth:20,name:e.get("symbol")}),this.props.name);case"price":let _=a&&a.price?a.price.toReal():a&&a.close&&a.close.quote.amount&&a.close.base.amount?c.Z.get_asset_price(a.close.quote.amount,e,a.close.base.amount,t,!0):c.Z.get_asset_price(h.quote.amount,e,h.base.amount,t,!0),x=6;return-1!==["BTC","RUDEX.BTC","GOLD","SILVER"].indexOf(t.get("symbol"))&&(x=8),n.createElement("td",{onClick:this._onClick.bind(this,i),className:"text-right",key:s.index},c.Z.format_number(_,_>1e3?0:_>10?2:x));case"quoteSupply":return n.createElement("td",{onClick:this._onClick.bind(this,i),key:s.index},l?n.createElement(u.Z,{style:{fontWeight:"bold"},amount:parseInt(l.get("current_supply"),10),asset:e.get("id")}):null);case"baseSupply":return n.createElement("td",{onClick:this._onClick.bind(this,i),key:s.index},p?n.createElement(u.Z,{style:{fontWeight:"bold"},amount:parseInt(p.get("current_supply"),10),asset:t.get("id")}):null);case"issuer":return n.createElement("td",{onClick:this._onClick.bind(this,i),key:s.index},n.createElement(f,{account:e.get("issuer")}));case"add":return n.createElement("td",{style:{textAlign:"right"},key:s.index,onClick:this.props.onCheckMarket.bind(this,i)},n.createElement(M.Tooltip,{title:this.props.isDefault?"This market is a default market and cannot be removed":null},n.createElement("input",{type:"checkbox",checked:!!this.props.isChecked||this.props.isDefault,disabled:this.props.isDefault})));case"remove":return n.createElement("td",{key:s.index,className:"clickable",onClick:this.props.removeMarket},n.createElement("span",{style:{marginBottom:"6px",marginRight:"6px",zIndex:999},className:"text float-right remove"},"–"))}})).sort(((e,t)=>e.key>t.key)),k="clickable";return this.props.current&&(k+=" activeMarket"),n.createElement("tr",{className:k,style:m},b)}}C=(0,S.EN)(C);const w=(0,g.Z)(C,{propNames:["quote","base"],defaultProps:{tempComponent:"tr"},withDynamic:!0});var N=s(39014),T=s(12326),Z=s(89233),A=s(99349),B=s(7453),q=s(94184),I=s.n(q),L=s(94939),W=s(112),D=s.n(W),U=s(52531),O=s(30806),P=s(80563),F=(s(88209),s(23316));class R extends n.Component{constructor(){super(),this.state={backingAsset:"",error:!1,valid:!1}}_onMoveUp(e){const t=this.props.quotes.findIndex((t=>t===e));x.Z.modifyPreferedBases({oldIndex:t,newIndex:t-1})}_onMoveDown(e){const t=this.props.quotes.findIndex((t=>t===e));x.Z.modifyPreferedBases({oldIndex:t,newIndex:t+1})}_onRemove(e){const t=this.props.quotes.findIndex((t=>t===e));t>=0&&x.Z.modifyPreferedBases({remove:t})}_onAdd(e){-1===this.props.quotes.findIndex((t=>t===e.get("symbol")))&&x.Z.modifyPreferedBases({add:e.get("symbol")})}_onInputBackingAsset(e){this.setState({backingAsset:e.toUpperCase(),error:null})}_onFoundBackingAsset(e){e&&(this.props.quotes.includes(e.get("symbol"))?this.setState({error:"Asset already being used",isValid:!1}):this.setState({isValid:!0}))}render(){const{error:e}=this.state,t=this.props.quotes.size;return n.createElement(M.Modal,{title:D().translate("exchange.quote_selection"),closable:!1,visible:this.props.visible,id:"quote_selection",overlay:!0,onCancel:this.props.hideModal,footer:[n.createElement(M.Button,{onClick:this.props.hideModal},D().translate("modal.close"))]},n.createElement("section",{className:"no-border-bottom"},n.createElement("table",{className:"table"},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",null),n.createElement("th",null,n.createElement(h(),{content:"account.quote"})),n.createElement("th",{style:{textAlign:"center"}},n.createElement(h(),{content:"exchange.move_down"})),n.createElement("th",{style:{textAlign:"center"}},n.createElement(h(),{content:"exchange.move_up"})),n.createElement("th",{style:{textAlign:"center"}},n.createElement(h(),{content:"exchange.remove"})))),n.createElement("tbody",null,this.props.quotes.map(((e,s)=>n.createElement("tr",{key:e},n.createElement("td",null,s+1),n.createElement("td",null,e),n.createElement("td",{className:"text-center"},s!==t-1&&n.createElement(E.Z,{onClick:this._onMoveDown.bind(this,e),name:"chevron-down",className:"clickable"})),n.createElement("td",{className:"text-center"},0!==s&&n.createElement(E.Z,{onClick:this._onMoveUp.bind(this,e),name:"chevron-down",className:"clickable rotate180"})),n.createElement("td",{className:"text-center"},t>1&&n.createElement(E.Z,{onClick:this._onRemove.bind(this,e),name:"cross-circle",className:"clickable"}))))))),n.createElement("br",null),n.createElement("div",null,n.createElement(L.Z,{label:"exchange.custom_quote",onChange:this._onInputBackingAsset.bind(this),asset:this.state.backingAsset,assetInput:this.state.backingAsset,tabIndex:1,style:{width:"100%",paddingRight:"10px"},onFound:this._onFoundBackingAsset.bind(this),onAction:this._onAdd.bind(this),action_label:"exchange.add_quote",disableActionButton:!!e,noLabel:!0}),n.createElement("div",{className:"error-area"},e))))}}var V=s(70981);class z extends n.Component{static defaultProps={maxRows:20,onlyLiquid:!1};constructor(e){super(),this.state=this._getInitialState(e)}_getInitialState(e){let t=!!e.findMarketTab||e.viewSettings.get(`myMarketsBase_${e.index}`);return{open:void 0===t||t,inverseSort:e.viewSettings.get("myMarketsInvert",!0),sortBy:e.viewSettings.get("myMarketsSort","volume")}}UNSAFE_componentWillReceiveProps(e){e.findMarketTab!==this.props.findMarketTab&&this.setState(this._getInitialState(e))}shouldComponentUpdate(e,t){return!(e.markets&&this.props.markets&&c.Z.are_equal_shallow(t,this.state)&&c.Z.are_equal_shallow(e.markets,this.props.markets)&&e.starredMarkets===this.props.starredMarkets&&e.marketStats===this.props.marketStats&&e.userMarkets===this.props.userMarkets)}_inverseSort(){x.Z.changeViewSetting({myMarketsInvert:!this.state.myMarketsInvert}),this.setState({inverseSort:!this.state.inverseSort})}_changeSort(e){e!==this.state.sortBy?(x.Z.changeViewSetting({myMarketsSort:e}),this.setState({sortBy:e})):this._inverseSort()}_onToggle(){if(!this.props.findMarketTab){let e=!this.state.open;this.setState({open:e});let t={};t[`myMarketsBase_${this.props.index}`]=e,x.Z.changeViewSetting(t)}}_onToggleUserMarket(e){let[t,s]=e.split("_"),a=!this.props.userMarkets.get(e);x.Z.setUserMarket(t,s,a)}render(){let{columns:e,markets:t,base:s,marketStats:a,starredMarkets:r,current:i}=this.props,{sortBy:o,inverseSort:l,open:c}=this.state;if(!t||!t.length)return null;let p=e.map((e=>{switch(e.name){case"market":return n.createElement("th",{key:e.name,className:"clickable",onClick:this._changeSort.bind(this,"name")},n.createElement(h(),{content:"exchange.market"}));case"vol":return n.createElement("th",{key:e.name,className:"clickable",onClick:this._changeSort.bind(this,"volume"),style:{textAlign:"right"}},n.createElement(h(),{content:"exchange.vol_short"}));case"price":return n.createElement("th",{key:e.name,style:{textAlign:"right"}},n.createElement(h(),{content:"exchange.price"}));case"quoteSupply":return n.createElement("th",{key:e.name},n.createElement(h(),{content:"exchange.base_supply"}));case"baseSupply":return n.createElement("th",{key:e.name},n.createElement(h(),{content:"exchange.quote_supply"}));case"change":return n.createElement("th",{key:e.name,className:"clickable",onClick:this._changeSort.bind(this,"change"),style:{textAlign:"right"}},n.createElement(h(),{content:"exchange.change"}));case"issuer":return n.createElement("th",{key:e.name},n.createElement(h(),{content:"explorer.assets.issuer"}));case"add":return n.createElement("th",{key:e.name,style:{textAlign:"right"}},n.createElement(h(),{content:"account.perm.confirm_add"}));default:return n.createElement("th",{key:e.name})}})),m=t.map((t=>this.props.onlyLiquid&&a.get(t.id)&&0==a.get(t.id).volumeBase?null:n.createElement(w,{key:t.id,name:"others"===s?n.createElement("span",null,n.createElement(A.Z,{name:t.quote}),":",n.createElement(A.Z,{name:t.base})):n.createElement(A.Z,{dataPlace:"left",name:t.quote}),quote:t.quote,base:t.base,columns:e,leftAlign:!0,compact:!0,noSymbols:!0,stats:a.get(t.id),starred:r.has(t.id),current:i===t.id,isChecked:this.props.userMarkets.has(t.id),isDefault:this.props.defaultMarkets&&this.props.defaultMarkets.has(t.id),onCheckMarket:this._onToggleUserMarket.bind(this),location:this.props.location,history:this.props.history}))).filter((e=>null!==e)).sort(((e,t)=>{let s=e.key.split("_"),n=t.key.split("_"),r=a.get(s[0]+"_"+s[1]),i=a.get(n[0]+"_"+n[1]);switch(o){case"name":return s[0]>n[0]?l?-1:1:s[0]<n[0]?l?1:-1:s[1]>n[1]?l?-1:1:s[1]<n[1]?l?1:-1:0;case"volume":return r&&i?l?i.volumeBase-r.volumeBase:r.volumeBase-i.volumeBase:0;case"change":return r&&i?l?i.change-r.change:r.change-i.change:0}}));return n.createElement("div",{style:{paddingRight:10}},c?n.createElement("table",{className:"table table-hover text-right"},n.createElement("thead",null,n.createElement("tr",null,p)),m&&m.length?n.createElement("tbody",null,m):null):null)}}class Q extends n.Component{static defaultProps={activeTab:"my-market",setMinWidth:!1};constructor(e){super(),this.state={isQuoteModalVisible:!1,inverseSort:e.viewSettings.get("myMarketsInvert",!0),sortBy:e.viewSettings.get("myMarketsSort","volume"),activeTab:e.viewSettings.get("favMarketTab","my-market"),activeMarketTab:e.viewSettings.get("activeMarketTab",0),lookupQuote:null,lookupBase:null,inputValue:"",minWidth:"100%",findBaseInput:"GPH",activeFindBase:"GPH"},this._setMinWidth=this._setMinWidth.bind(this),this.getAssetList=(0,a.Z)(B.Z.getAssetList.defer,150),this.showQuoteModal=this.showQuoteModal.bind(this),this.hideQuoteModal=this.hideQuoteModal.bind(this)}shouldComponentUpdate(e,t){return"find-market"===this.state.activeTab||"find-market"!==t.activeTab||e.searchAssets.size||this._lookupAssets("RUDEX.",!0),this.state.activeTab!==t.activeTab?this._changeTab(t.activeTab):e.tabHeader||this.state.activeTab===e.activeTab||this._changeTab(e.activeTab),!(i().is(e.searchAssets,this.props.searchAssets)&&i().is(e.markets,this.props.markets)&&i().is(e.starredMarkets,this.props.starredMarkets)&&i().is(e.defaultMarkets,this.props.defaultMarkets)&&i().is(e.marketStats,this.props.marketStats)&&c.Z.are_equal_shallow(t,this.state)&&e.current===this.props.current&&e.minWidth===this.props.minWidth&&e.listHeight===this.props.listHeight&&e.preferredBases===this.props.preferredBases&&e.onlyStars===this.props.onlyStars&&e.onlyLiquid===this.props.onlyLiquid&&e.assetsLoading===this.props.assetsLoading&&e.userMarkets===this.props.userMarkets)}UNSAFE_componentWillMount(){if(this.props.setMinWidth&&window.addEventListener("resize",this._setMinWidth,{capture:!1,passive:!0}),this.props.currrent){const e=this.props.current.split("_")[1],t=this.props.preferredBases.findIndex((t=>t===e));-1!==t&&t!==this.state.activeMarketTab&&this.setState({activeMarketTab:t})}}componentDidMount(){let e=this.refs.favorites;l().initialize(e),this._setMinWidth(),"find-market"===this.state.activeTab&&this._lookupAssets("RUDEX.",!0),this.state.activeTab!==this.props.activeTab&&setTimeout((()=>{this._changeTab(this.props.activeTab)}),100)}componentWillUnmount(){this.props.setMinWidth&&window.removeEventListener("resize",this._setMinWidth),clearTimeout(this.timer)}UNSAFE_componentWillReceiveProps(e){this.props.myMarketTab&&!e.myMarketTab&&this.refs.findSearchInput&&this.refs.findSearchInput.focus()}hideQuoteModal(){this.setState({isQuoteModalVisible:!1})}showQuoteModal(){this.setState({isQuoteModalVisible:!0})}_setMinWidth(){this.props.setMinWidth&&this.refs.favorites&&"my-market"===this.props.activeTab&&this.state.minWidth!==this.refs.favorites.offsetWidth&&this.setState({minWidth:this.refs.favorites.offsetWidth})}componentDidUpdate(){if(this.refs.favorites){let e=this.refs.favorites;l().update(e)}}_inverseSort(){x.Z.changeViewSetting({myMarketsInvert:!this.state.myMarketsInvert}),this.setState({inverseSort:!this.state.inverseSort})}_changeSort(e){e!==this.state.sortBy?(x.Z.changeViewSetting({myMarketsSort:e}),this.setState({sortBy:e})):this._inverseSort()}_goMarkets(){this.props.history.push("/markets")}_changeTab(e){x.Z.changeViewSetting({favMarketTab:e}),this.setState({activeTab:e}),this._setMinWidth()}_onInputName(e,t){let s=t.target.value.trim().toUpperCase(),a=!O.ChainValidation.is_valid_symbol_error(s,!0);this.setState({inputValue:s}),s&&s.length>=2&&!a||(this.state.inputValue!==s&&this.timer&&clearTimeout(this.timer),this.timer=setTimeout((()=>{this._lookupAssets(s,e)}),1500))}_lookupAssets(e,t=!1){if(!e&&""!==e)return;let s=e.toUpperCase().split(":"),a=s[0],n=2===s.length?s[1]:null;this.setState({lookupQuote:a,lookupBase:n}),x.Z.changeViewSetting.defer({marketLookupInput:e.toUpperCase()}),this.getAssetList(a,50,t)}toggleActiveMarketTab(e){x.Z.changeViewSetting({activeMarketTab:e}),this.setState({activeMarketTab:e})}_onInputBaseAsset(e){this.setState({findBaseInput:e.toUpperCase(),error:null})}_onFoundBaseAsset(e){e&&this.setState({activeFindBase:e.get("symbol")})}clearInput=()=>{this.setState({myMarketFilter:""})};handleSearchUpdate=e=>{this.setState({myMarketFilter:e.target.value&&e.target.value.toUpperCase()})};_getMarkets(){const{searchAssets:e,defaultMarkets:t,onlyStars:s,userMarkets:a,preferredBases:n,starredMarkets:r}=this.props,{activeTab:o,lookupQuote:l,lookupBase:c,myMarketFilter:p,activeMarketTab:h}=this.state,m=(0,F.bn)(n);let d=this._getBases(),u=[],g={},b=[];const k="my-market"===o;e.size&&e.filter((e=>{try{if(e.options.description){let t=JSON.parse(e.options.description);if("visible"in t&&!t.visible)return!1}}catch(e){}return-1!==e.symbol.indexOf(l)&&e.symbol.length>=l.length})).forEach((e=>{d.forEach((t=>{let s=e.symbol+"_"+t;t!==e.symbol&&u.push([s,{quote:e.symbol,base:t}])}))})),u=u.filter((e=>!c||e[1].quote===l));let y=k?t:i().Map(u);function f(e,t,a,i,o){return{otherMarkets:a.filter((e=>{if(e.base===e.quote)return!1;if(k){const t=e.quote+"_"+e.base;return p?-1!==t.indexOf(p):!(s&&!r.has(t))}return!(l.length<1)&&-1!==e.quote.indexOf(l)})).map((s=>{let a=s.quote+"_"+s.base;if(-1!==t.indexOf(s.base)){i[e]||(i[e]=[]);let t={id:a,quote:s.quote,base:s.base};return i[e].find((e=>e.id===a))||i[e].push(t),null}if(!n.includes(s.base)&&-1===m.indexOf(s.base))return{id:a,quote:s.quote,base:s.base}})).filter((e=>!!e)).take(k?100:20).toArray().concat(o),baseGroups:i}}if(k&&a.size&&a.forEach(((e,t)=>{y.has(t)||(y=y.set(t,e))})),y.size>0){const e=k?n.get(h):this.state.activeFindBase;({otherMarkets:b,baseGroups:g}=f(e,[e],y,g,b)),F.nT.forEach((t=>{let s=`${t}.${e}`;if(O.ChainStore.getAsset(s)){let t=y.map((e=>{if(e.quote===e.base)return null;let t=`${e.quote}_${s}`;return y.has(t)||"RUDEX.RUBLE"==s?null:{base:s,quote:e.quote}}),{}).filter((e=>!!e));({otherMarkets:b,baseGroups:g}=f(e,[e,s],t,g,b))}}))}return{baseGroups:g,otherMarkets:b}}_getBases(){let{preferredBases:e,searchAssets:t}=this.props,{lookupQuote:s,lookupBase:a}=this.state,n=t.filter((e=>a&&a.length?0===e.symbol.indexOf(a):-1!==e.symbol.indexOf(s))).map((t=>{if(a&&a.length){if(0===t.symbol.indexOf(a))return t.symbol}else if(e.includes(t.symbol)&&t.symbol.length>=s.length&&t.symbol.length<s.length+3)return t.symbol})).filter((e=>!!e)).toArray();return n=n.concat(e.filter((e=>!a||!a.length||0===e.indexOf(a))).toArray()),n=n.filter((e=>!(a&&a.length>1)||0===e.indexOf(a))),n}render(){let{starredMarkets:e,marketStats:t,columns:a,assetsLoading:r,preferredBases:i,current:o,viewSettings:l,listHeight:c}=this.props,{activeMarketTab:p,activeTab:d}=this.state;const u="my-market"===d;let g=i.map((e=>e));u||(i=i.clear(),i=i.push(this.state.activeFindBase)),u||(p=0);let{baseGroups:b,otherMarkets:k}=this._getMarkets();const y=k&&k.length;let f="mymarkets-header clickable",v=I()(f,{inactive:!u}),E=I()(f,{inactive:u}),S={minWidth:this.state.minWidth,minHeight:"6rem",paddingBottom:"2rem"};c&&(S.height=c);const M=s(112);return n.createElement("div",{className:this.props.className,style:this.props.style},this.props.tabHeader?n.createElement("div",{style:this.props.headerStyle,className:"grid-block shrink left-orderbook-header bottom-header"},n.createElement("div",{ref:"myMarkets",className:v,onClick:this._changeTab.bind(this,"my-market"),"data-intro":M.translate("walkthrough.my_markets_tab")},n.createElement(h(),{content:"exchange.market_name"})),n.createElement("div",{className:E,onClick:this._changeTab.bind(this,"find-market"),"data-intro":M.translate("walkthrough.find_markets_tab")},n.createElement(h(),{content:"exchange.more"}))):null,this.props.noHeader||this.props.tabHeader?null:n.createElement("div",{style:this.props.headerStyle},n.createElement("div",{className:"exchange-content-header"},n.createElement("span",null,n.createElement(h(),{content:"exchange.market_name"})))),this.props.controls?n.createElement("div",{className:"small-12 medium-6",style:{padding:"1rem 0"}},this.props.controls?n.createElement("div",{style:{paddingBottom:"0.5rem"}},this.props.controls):null):null,u?n.createElement("div",{className:"grid-block vertical shrink",style:{width:"100%",textAlign:"left",padding:"0 0.5rem 0.75rem 0.5rem"}},n.createElement("div",null,n.createElement("label",{style:{margin:"3px 0 0"}},n.createElement("input",{style:{position:"relative",top:3},className:"no-margin",type:"checkbox",checked:this.props.onlyLiquid,onChange:()=>{x.Z.changeViewSetting({onlyLiquid:!this.props.onlyLiquid})}}),n.createElement("span",{style:{paddingLeft:"0.4rem"}},n.createElement(h(),{content:"exchange.show_only_liquid"}))),n.createElement("label",{style:{margin:"3px 0 0"}},n.createElement("input",{style:{position:"relative",top:3},className:"no-margin",type:"checkbox",checked:this.props.onlyStars,onChange:()=>{_.Z.toggleStars()}}),n.createElement("span",{style:{paddingLeft:"0.4rem"}},n.createElement(m.Z,{string:"exchange.show_only_star_formatter",keys:[{type:"icon",value:"fi-star",className:"gold-star",arg:"star_icon"}]}))),n.createElement("br",null)),n.createElement("div",{className:"search-wrapper"},n.createElement("form",null,n.createElement("div",{className:"filter inline-block"},n.createElement(V.Z,{style:{fontSize:"0.9rem",height:"inherit",position:"relative"},className:"no-margin market-filter-input",value:this.state.myMarketFilter,onChange:this.handleSearchUpdate}))))):n.createElement("div",{style:{width:"100%",textAlign:"left",padding:"0.75rem 0.5rem"}},n.createElement("table",null,n.createElement("tbody",null,n.createElement("tr",{style:{width:"100%"}},n.createElement("td",null,n.createElement(L.Z,{onAssetSelect:this._onFoundBaseAsset.bind(this),assets:g,onChange:this._onInputBaseAsset.bind(this),asset:this.state.findBaseInput,assetInput:this.state.findBaseInput,tabIndex:1,style:{width:"100%",paddingBottom:"1.5rem"},onFound:this._onFoundBaseAsset.bind(this),label:"exchange.quote",noLabel:!0,inputStyle:{fontSize:"0.9rem"}}))),n.createElement("tr",{style:{width:"100%"}},n.createElement("td",null,n.createElement("label",null,n.createElement(h(),{content:"account.user_issued_assets.name"}),":"),n.createElement("input",{style:{fontSize:"0.9rem",position:"relative",top:1},type:"text",value:this.state.inputValue,onChange:this._onInputName.bind(this,!0),placeholder:D().translate("exchange.search"),maxLength:16,tabIndex:2,ref:"findSearchInput"}),this.state.assetNameError?n.createElement("div",{className:"error-area",style:{paddingTop:10}},n.createElement("span",{style:{wordBreak:"break-all"}},n.createElement(h(),{content:"explorer.asset.invalid",name:this.state.inputValue}))):null))))),n.createElement("ul",{className:"mymarkets-tabs",style:{marginBottom:0}},u&&n.createElement("li",{key:"quote_edit",style:{textTransform:"uppercase"},onClick:this.showQuoteModal,className:"mymarkets-tab"}," + "),u||this.state.inputValue?i.map(((e,t)=>e?n.createElement("li",{key:e,onClick:this.toggleActiveMarketTab.bind(this,t),className:I()("mymarkets-tab",{active:p===t})},e.replace("RUDEX.","")):null)):null,u&&y?n.createElement("li",{key:"others",style:{textTransform:"uppercase"},onClick:this.toggleActiveMarketTab.bind(this,i.size+1),className:I()("mymarkets-tab",{active:p===i.size+1})},n.createElement(h(),{content:"exchange.others"})):null),n.createElement("div",{style:S,className:"table-container grid-block vertical mymarkets-list",ref:"favorites"},r?n.createElement("div",{style:{position:"absolute",paddingTop:"3rem",textAlign:"center",width:"100%"}},n.createElement(U.Z,{type:"three-bounce"})):null,i.filter((e=>e===i.get(p))).map(((s,r)=>n.createElement(z,{userMarkets:this.props.userMarkets,defaultMarkets:this.props.defaultMarkets,index:r,allowChange:!1,key:s,current:o,starredMarkets:e,marketStats:t,viewSettings:l,columns:u?a:this.props.findColumns||a,markets:b[s],base:s,maxRows:u?20:10,findMarketTab:!u,location:this.props.location,history:this.props.history,onlyLiquid:this.props.onlyLiquid&&u}))),p===i.size+1&&u&&y?n.createElement(z,{userMarkets:this.props.userMarkets,index:i.size,current:o,starredMarkets:e,marketStats:t,viewSettings:l,columns:a,markets:k,base:"others",maxRows:u?20:10,findMarketTab:!u,location:this.props.location,history:this.props.history}):null),n.createElement(R,{visible:this.state.isQuoteModalVisible,hideModal:this.hideQuoteModal,showModal:this.showQuoteModal,quotes:this.props.preferredBases}))}}Q=(0,P.ZP)(Q,50,{leading:!1});class j extends n.Component{render(){return n.createElement(Q,this.props)}}const $=(0,d.$)(j,{listenTo:()=>[N.Z,T.Z,Z.Z],getProps:()=>({starredMarkets:N.Z.getState().starredMarkets,onlyLiquid:N.Z.getState().viewSettings.get("onlyLiquid",!0),defaultMarkets:N.Z.getState().defaultMarkets,viewSettings:N.Z.getState().viewSettings,preferredBases:N.Z.getState().preferredBases,marketStats:T.Z.getState().allMarketStats,userMarkets:N.Z.getState().userMarkets,searchAssets:Z.Z.getState().assets,onlyStars:T.Z.getState().onlyStars,assetsLoading:Z.Z.getState().assetsLoading})})},3894:(e,t,s)=>{s.d(t,{Z:()=>u});var a=s(67294),n=s(13863),r=s(23037),i=s(82267),o=s(43393);class l extends a.Component{static propTypes={dos:r.Z.ChainObjectsList};static defaultProps={dos:(0,o.List)()};constructor(){super(),this.getDynamicObject=this.getDynamicObject.bind(this)}getDynamicObject(e){return this.props.dos.find((t=>t&&t.get("id")===e))}render(){return a.cloneElement(a.Children.only(this.props.children),{...this.props,getDynamicObject:this.getDynamicObject})}}l=(0,i.Z)(l);var c=s(45697),p=s.n(c),h=s(60567);function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},m.apply(this,arguments)}class d extends a.Component{static propTypes={replaceNoneToBts:p().bool,maxWidth:p().number};static defaultProps={replaceNoneToBts:!0,maxWidth:20};constructor(e){super(e),this.state={imgError:!1}}shouldComponentUpdate(e,t){return this.props.asset!==e.asset||this.props.maxWidth!==e.maxWidth||this.props.whiteList!==e.whiteList||this.state.imgError!==t.imgError}_onError(e){this.state.imgError||(this.props.replaceNoneToBts?this.refs[e.toLowerCase()].src="asset-symbols/unknown.png":this.refs[e.toLowerCase()].remove(),this.setState({imgError:!0}))}render(){let{asset:e}=this.props;const t=function(e){if(null===e)return"unknown";let t=e.get("symbol");return(0,h.sA)(t)}(e);return a.createElement("img",{ref:t.toLowerCase(),className:"column-hide-small",onError:this._onError.bind(this,t),style:{maxWidth:this.props.maxWidth,marginRight:5,marginTop:"-3px"},src:`asset-symbols/${t.toLowerCase()}.png`})}}d=function(e,t={}){t.propNames=t.propNames||[t.asList?"assets":"asset"];const s=t.propNames.reduce(((e,s)=>(e[s]=t.asList?r.Z.ChainAssetsList:r.Z.ChainAsset.isRequired,e)),{});let c=Object.keys(s).reduce(((e,s)=>{let a=t.defaultProps&&t.defaultProps[s];return e[s]=t.asList?(0,o.List)(a||[]):a||"1.3.0",e}),{});t.defaultProps&&t.defaultProps.tempComponent&&(c.tempComponent=t.defaultProps.tempComponent);class p extends a.Component{static propTypes=s;static defaultProps=c;render(){let e={},s={},n=(0,o.List)();Object.keys(this.props).forEach((a=>{this.props[a]&&-1!==t.propNames.indexOf(a)?(t.withDynamic&&(t.asList?this.props[a].forEach((e=>{e&&(n=n.push(e.get("dynamic_asset_data_id")))})):n=n.push(this.props[a].get("dynamic_asset_data_id"))),e[a]=t.asList?this.props[a].filter((e=>!!e)):this.props[a]):s[a]=this.props[a]}));let r=a.cloneElement(a.Children.only(this.props.children),{...s,...e});return t.withDynamic?a.createElement(l,{dos:n},r):r}}p=(0,i.Z)(p);class h extends a.Component{render(){return a.createElement(p,this.props,a.createElement(e,{ref:"bound_component"}))}}return h.displayName=`Wrapper(${(0,n.G)(e)})`,h}(d);class u extends a.Component{render(){return a.createElement(d,m({},this.props,{asset:this.props.name}))}}},94939:(e,t,s)=>{s.d(t,{Z:()=>_});var a=s(67294),n=s(58074),r=s.n(n),i=s(30806),o=s(23037),l=s(82267),c=s(112),p=s.n(c),h=s(57906),m=s(21019),d=s(43393),u=s.n(d),g=s(94184),b=s.n(g),k=s(52521),y=s(45697),f=s.n(y);class v extends a.Component{static propTypes={value:f().string,onChange:f().func};render(){return 0!==this.props.assets.length&&this.props.value?a.createElement(h.Z,{entries:this.props.assets.map((e=>e&&e.get("symbol"))).filter((e=>!!e)),values:this.props.assets.reduce(((e,t)=>(t&&t.get("symbol")&&(e[t.get("symbol")]=t),e)),{}),singleEntry:this.props.assets[0]?a.createElement(m.Z,{asset:this.props.assets[0].get("id"),amount:0,hide_amount:!0}):null,value:"",onChange:this.props.onChange}):null}}v=(0,k.Z)(v,{asList:!0});class E extends a.Component{static propTypes={label:f().string,error:f().string,placeholder:f().string,onChange:f().func,onFound:f().func,assetInput:f().string,asset:o.Z.ChainAsset,tabIndex:f().number,disableActionButton:f().bool};static defaultProps={disabled:!1};getAsset(){return this.props.asset}getError(e=this.props.assetInput){let t=this.props.error;return t||!e||this.getNameType(e)||(t=p().translate("explorer.asset.invalid",{name:e})),t}getNameType(e){return e?i.ChainValidation.is_valid_symbol_error(e,!0)?null:"symbol":null}onInputChanged(e){let t=e.target.value.trim().substr(0,16).toUpperCase();this.props.onChange&&t!==this.props.assetInput&&this.props.onChange(t)}onKeyDown(e){13===e.keyCode&&(this.onFound(e),this.onAction(e))}componentDidMount(){this.props.onFound&&this.props.asset&&this.props.onFound(this.props.asset)}UNSAFE_componentWillReceiveProps(e){this.props.onFound&&e.asset!==this.props.asset&&this.props.onFound(e.asset)}onFound(e){e.preventDefault(),!this.props.onFound||this.getError()||this.props.disableActionButton||this.props.asset&&this.props.onFound(this.props.asset)}onAssetSelect(e){e&&(this.props.onFound(e),this.props.onChange(e.get("symbol")))}onAction(e){e.preventDefault(),!this.props.onAction||this.getError()||this.props.disableActionButton||this.props.asset&&this.props.onAction(this.props.asset)}render(){let e,{disabled:t,noLabel:s}=this.props,n=this.getError();t||(this.props.asset?e=this.props.asset.get("symbol"):!n&&this.props.assetInput&&(n=p().translate("explorer.asset.not_found",{name:this.props.assetInput})));let i=b()("button",{disabled:!this.props.asset||n||this.props.disableActionButton});return a.createElement("div",{className:"asset-selector",style:this.props.style},a.createElement("div",null,a.createElement("div",{className:"header-area"},n||s?null:a.createElement("label",{className:"right-label"}," ",a.createElement("span",null,e)),a.createElement(r(),{component:"label",content:this.props.label})),a.createElement("div",{className:"input-area"},a.createElement("div",{className:"inline-label input-wrapper"},a.createElement("input",{style:this.props.inputStyle,disabled:this.props.disabled,type:"text",value:this.props.assetInput||"",placeholder:this.props.placeholder||p().translate("explorer.assets.symbol"),ref:"user_input",onChange:this.onInputChanged.bind(this),onKeyDown:this.onKeyDown.bind(this),tabIndex:this.props.tabIndex}),a.createElement("div",{className:"form-label select floating-dropdown"},this.props.asset?a.createElement(v,{ref:this.props.refCallback,value:this.props.asset.get("symbol"),assets:u().List(this.props.assets),onChange:this.onAssetSelect.bind(this)}):null),this.props.children,this.props.onAction?a.createElement("button",{className:i,onClick:this.onAction.bind(this)},a.createElement(r(),{content:this.props.action_label})):null)),a.createElement("div",{className:"error-area",style:{paddingBottom:"10px"}},a.createElement("span",{style:{wordBreak:"break-all"}},n))))}}const _=(0,l.Z)(E)},70981:(e,t,s)=>{s.d(t,{Z:()=>h});var a=s(67294),n=s(45697),r=s.n(n),i=s(76660),o=s(112),l=s.n(o);function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(e[a]=s[a])}return e},c.apply(this,arguments)}const p=a.createRef();function h({onChange:e,value:t,placeholder:s,maxLength:n,style:r,className:o,name:l,autoComplete:h,onClear:m,type:d,...u}){return null==m&&(m=()=>{e({target:{value:""}}),p.current.focus()}),a.createElement(i.Input,c({ref:p,autoComplete:h,style:r,type:d,className:o+" search-input",placeholder:s,maxLength:n,name:l,value:t,onChange:e,addonAfter:a.createElement(i.Icon,{type:"search"}),suffix:m?a.createElement(i.Icon,{onClick:m,type:"close",className:t?"cursor-pointer":"hide"}):a.createElement("span",null)},u))}h.propTypes={onChange:r().func.isRequired,value:r().string,placeholder:r().string,style:r().object,className:r().string,type:r().string,name:r().string,autoComplete:r().string,maxLength:r().number,onClear:r().func},h.defaultProps={placeholder:l().translate("exchange.filter"),style:{width:"200px"},className:"",type:"text",name:"focus",autoComplete:"off",maxLength:16,onClear:void 0}},35021:(e,t,s)=>{s.d(t,{Z:()=>i});var a=s(67294),n=s(70666),r=s(66438);class i extends a.Component{static defaultProps={component:"span",enterTimeout:2e3};constructor(){super(),this.state={animateEnter:!1},this.timer=null}componentDidMount(){this.enableAnimation()}resetAnimation(){this.setState({animateEnter:!1}),this.enableAnimation()}enableAnimation(){this.timer=setTimeout((()=>{this.timer&&this.setState({animateEnter:!0})}),2e3)}componentWillUnmount(){clearTimeout(this.timer),this.timer=null}render(){return this.props.children?a.createElement(n.Z,{component:this.props.component,id:this.props.id,className:this.props.className},a.Children.map(this.props.children,((e,t)=>a.createElement(r.Z,{key:t,classNames:this.props.transitionName,timeout:{enter:this.props.enterTimeout},exit:!1,enter:this.state.animateEnter},e)))):a.createElement(this.props.component)}}}}]);