-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathdashboard-accounts.633d50921ec6a897a1ca.js
More file actions
1 lines (1 loc) · 14 KB
/
dashboard-accounts.633d50921ec6a897a1ca.js
File metadata and controls
1 lines (1 loc) · 14 KB
1
"use strict";(this.webpackChunkBitShares2_light=this.webpackChunkBitShares2_light||[]).push([[998],{23654(t,e,s){s.d(e,{o:()=>m,t:()=>g});var n=s(96540),a=s(5556),i=s.n(a),r=s(32485),o=s.n(r),c=s(9476),l=s(84259),d=s(74248),h=s(10658),u=s.n(h),p=s(24180);class m extends n.Component{static propTypes={changeTab:i().func,isActive:i().bool.isRequired,index:i().number.isRequired,className:i().string,isLinkTo:i().string,subText:i().oneOfType([i().object,i().string])};static defaultProps={isActive:!1,index:0,className:"",isLinkTo:"",subText:null};render(){let{isActive:t,index:e,changeTab:s,title:a,className:i,updatedTab:r,disabled:c,subText:l}=this.props,d=o()({"is-active":t},i);return"string"==typeof a&&a.indexOf(".")>0&&(a=u().translate(a)),this.props.collapsed?("string"==typeof l&&(l=l.trim()),"span"===a.type&&(a=a.props.children[2]),n.createElement("option",{value:e,"data-is-link-to":this.props.isLinkTo},a,r?"*":"",l&&" (",l&&l,l&&")")):n.createElement("li",{className:d,onClick:c?null:s.bind(this,e,this.props.isLinkTo)},n.createElement("a",null,n.createElement("span",{className:"tab-title"},a,r?"*":""),l&&n.createElement("div",{className:"tab-subtext"},l)))}}class g extends n.Component{static propTypes={setting:i().string,defaultActiveTab:i().number,segmented:i().bool};static defaultProps={active:0,defaultActiveTab:0,segmented:!0,contentClass:"",style:{}};constructor(t){super(),this.state={activeTab:t.setting?t.viewSettings.get(t.setting,t.defaultActiveTab):t.defaultActiveTab,width:window.innerWidth},this._setDimensions=this._setDimensions.bind(this)}componentDidMount(){this._setDimensions(),window.addEventListener("resize",this._setDimensions,{capture:!1,passive:!0})}UNSAFE_componentWillReceiveProps(t){let e=t.viewSettings.get(t.setting);e!==this.props.viewSettings.get(this.props.setting)&&this.setState({activeTab:e})}componentWillUnmount(){window.removeEventListener("resize",this._setDimensions)}_setDimensions(){let t=window.innerWidth;t!==this.state.width&&this.setState({width:t})}_changeTab(t,e){t!==this.state.activeTab&&(""!==e&&this.props.history.push(e),this.props.setting&&l.A.changeViewSetting({[this.props.setting]:t}),this.setState({activeTab:t}),this.props.onChangeTab&&this.props.onChangeTab(t))}render(){let{children:t,contentClass:e,tabsClass:s,style:a,segmented:i}=this.props;const r=this.state.width<900&&n.Children.count(t)>2;let c=null,l=n.Children.map(t,(t,e)=>{if(!t)return null;if(r&&t.props.disabled)return null;let s=e===this.state.activeTab;return s&&(c=t.props.children),n.cloneElement(t,{collapsed:r,isActive:s,changeTab:this._changeTab.bind(this),index:e})}).filter(t=>null!==t);return c||(c=l[0].props.children),n.createElement("div",{className:o()(this.props.actionButtons?"with-buttons":"",this.props.className)},n.createElement("div",{className:"service-selector"},n.createElement("ul",{style:a,className:o()("button-group no-margin",s,{segmented:i})},r?n.createElement("li",{style:{paddingLeft:10,paddingRight:10,minWidth:"15rem"}},n.createElement("select",{value:this.state.activeTab,style:{marginTop:10,marginBottom:10},className:"bts-select",onChange:t=>{let e=parseInt(t.target.value,10);this._changeTab(e,t.target[e].attributes["data-is-link-to"].value)}},l)):l,this.props.actionButtons?n.createElement("li",{className:"tabs-action-buttons"},this.props.actionButtons):null)),n.createElement("div",{className:o()("tab-content",e)},c))}}g=(0,c.N)(g,{listenTo:()=>[d.A],getProps:()=>({viewSettings:d.A.getState().viewSettings})}),g=(0,p.y)(g)},97314(t,e,s){s.r(e),s.d(e,{default:()=>B});var n=s(96540),a=s(49568),i=s(87040),r=s(80849),o=s.n(r),c=s(9476),l=s(74248),d=s(14644),h=s(12569),u=s(72342),p=s(84259),m=s(99429),g=s(36234),A=s(72090),b=s(3145),E=s(55840),w=s(10658),y=s.n(w),v=s(46863),_=s(24180);class f extends n.Component{static propTypes={accounts:h.A.ChainAccountsList.isRequired,ignoredAccounts:h.A.ChainAccountsList};static defaultProps={width:2e3,compact:!1};constructor(t){super(),this.state={inverseSort:t.viewSettings.get("dashboardSortInverse",!0),sortBy:t.viewSettings.get("dashboardSort","star"),dashboardFilter:t.viewSettings.get("dashboardFilter","")}}shouldComponentUpdate(t,e){return!i.A.are_equal_shallow(t.accounts,this.props.accounts)||t.isContactsList!==this.props.isContactsList||t.showMyAccounts!==this.props.showMyAccounts||t.width!==this.props.width||t.showIgnored!==this.props.showIgnored||t.locked!==this.props.locked||t.passwordAccount!==this.props.passwordAccount||!i.A.are_equal_shallow(t.starredAccounts,this.props.starredAccounts)||!i.A.are_equal_shallow(e,this.state)}_onStar(t,e,s){s.preventDefault(),e?m.A.removeStarAccount(t):m.A.addStarAccount(t)}_goAccount(t,e){this.props.history.push(`/account/${t}`),p.A.changeViewSetting({overviewTab:e})}_createAccount(){this.props.history.push("/create-account/wallet")}_onFilter(t){this.setState({dashboardFilter:t.target.value.toLowerCase()}),p.A.changeViewSetting({dashboardFilter:t.target.value.toLowerCase()})}_setSort(t){let e=t===this.state.sortBy?!this.state.inverseSort:this.state.inverseSort;this.setState({sortBy:t,inverseSort:e}),p.A.changeViewSetting({dashboardSort:t,dashboardSortInverse:e})}_onAddContact(t){m.A.addAccountContact(t)}_onRemoveContact(t){m.A.removeAccountContact(t)}_renderList(t,e){const{width:s,starredAccounts:r,isContactsList:o,passwordAccount:c}=this.props,{dashboardFilter:l,sortBy:d,inverseSort:h}=this.state;let u=a.Ay.List();return t.filter(t=>{if(!t)return!1;let e=t.get("name"),s=E.A.isMyAccount(t)||e===c;return!!o||s===this.props.showMyAccounts}).filter(t=>!!t&&-1!==t.get("name").toLowerCase().indexOf(l)).sort((t,e)=>{switch(d){case"star":return function(t,e,s,n){let a=t.get("name"),r=e.get("name"),o=n.has(a),c=n.has(r);return o&&!c?s?-1:1:c&&!o||a>r?s?1:-1:a<r?s?-1:1:i.A.sortText(a,r,!s)}(t,e,h,r);case"name":return i.A.sortText(t.get("name"),e.get("name"),h)}}).map(t=>{if(t){let a={},i={},l={};u=u.clear();let d=t.get("name"),h=t.get("lifetime_referrer_name")===d;t.get("orders")&&t.get("orders").forEach((t,e)=>{let s=A.ChainStore.getObject(t);if(s){let t=s.getIn(["sell_price","base","asset_id"]);l[t]?l[t]+=parseInt(s.get("for_sale"),10):l[t]=parseInt(s.get("for_sale"),10)}}),t.get("call_orders")&&t.get("call_orders").forEach((t,e)=>{let s=A.ChainStore.getObject(t);if(s){let t=s.getIn(["call_price","base","asset_id"]);a[t]?a[t]+=parseInt(s.get("collateral"),10):a[t]=parseInt(s.get("collateral"),10);let e=s.getIn(["call_price","quote","asset_id"]);i[e]?i[e]+=parseInt(s.get("debt"),10):i[e]=parseInt(s.get("debt"),10)}});let p=t.get("balances");t.get("balances")&&p.forEach(t=>{let e=A.ChainStore.getObject(t);if(!e||!e.get("balance"))return null;u=u.push(t)});let m=E.A.isMyAccount(t)||d===c,w=r.has(d),y=w?"gold-star":"grey-star";return n.createElement("tr",{key:d},n.createElement("td",{className:"clickable",onClick:this._onStar.bind(this,d,w)},n.createElement(g.A,{className:y,name:"fi-star",title:"icons.fi_star.account"})),o?e&&n.createElement("td",{onClick:this._onAddContact.bind(this,d)},n.createElement(g.A,{name:"plus-circle",title:"icons.plus_circle.add_contact"}))||n.createElement("td",{onClick:this._onRemoveContact.bind(this,d)},n.createElement(g.A,{name:"minus-circle",title:"icons.minus_circle.remove_contact"})):null,n.createElement("td",{style:{textAlign:"left"}},t.get("id")),n.createElement("td",{style:{textAlign:"left",paddingLeft:10},onClick:this._goAccount.bind(this,d,0),className:"clickable"+(m?" my-account":"")},n.createElement("span",{className:h?"lifetime":""},d)),n.createElement("td",{className:"clickable",onClick:this._goAccount.bind(this,d,1),style:{textAlign:"right"}},n.createElement(b.A,{noTip:!0,balances:[],openOrders:l})),s>=750?n.createElement("td",{className:"clickable",onClick:this._goAccount.bind(this,d,2),style:{textAlign:"right"}},n.createElement(b.A,{noTip:!0,balances:[],collateral:a})):null,s>=1200?n.createElement("td",{className:"clickable",onClick:this._goAccount.bind(this,d,2),style:{textAlign:"right"}},n.createElement(b.A,{noTip:!0,balances:[],debt:i})):null,n.createElement("td",{className:"clickable",onClick:this._goAccount.bind(this,d,0),style:{textAlign:"right"}},n.createElement(b.A,{noTip:!0,balances:u,collateral:a,debt:i,openOrders:l})))}})}render(){let{width:t,showIgnored:e,isContactsList:s}=this.props;const{dashboardFilter:a}=this.state;let i=this._renderList(this.props.accounts),r=this._renderList(this.props.ignoredAccounts,!0),c=s?y().translate("explorer.accounts.filter_contacts"):y().translate("explorer.accounts.filter");c+="...";let l=!!v.A.getWallet();return n.createElement("div",{style:this.props.style},this.props.compact?null:n.createElement("section",{style:{paddingTop:"1rem",paddingLeft:"2rem"}},n.createElement("input",{placeholder:c,style:{maxWidth:"20rem",display:"inline-block"},type:"text",value:a,onChange:this._onFilter.bind(this)}),l&&!s?n.createElement("div",{onClick:this._createAccount.bind(this),style:{display:"inline-block",marginLeft:5,marginBottom:"1rem"},className:"button small"},n.createElement(o(),{content:"header.create_account"})):null,r&&r.length?n.createElement("div",{onClick:this.props.onToggleIgnored,style:{display:"inline-block",float:"right",marginRight:"20px"},className:"button small"},n.createElement(o(),{content:"account."+(this.props.showIgnored?"hide_ignored":"show_ignored")})):null),n.createElement("table",{className:"table table-hover dashboard-table",style:{fontSize:"0.85rem"}},this.props.compact?null:n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",{onClick:this._setSort.bind(this,"star"),className:"clickable"},n.createElement(g.A,{className:"grey-star",name:"fi-star",title:"icons.fi_star.sort_accounts"})),s?n.createElement("th",null,n.createElement(g.A,{name:"user",title:"icons.user.account"})):null,n.createElement("th",{style:{textAlign:"left"}},"ID"),n.createElement("th",{style:{textAlign:"left",paddingLeft:10},onClick:this._setSort.bind(this,"name"),className:"clickable"},n.createElement(o(),{content:"header.account"})),n.createElement("th",{style:{textAlign:"right"}},n.createElement(o(),{content:"account.open_orders"})),t>=750?n.createElement("th",{style:{textAlign:"right"}},n.createElement(o(),{content:"account.as_collateral"})):null,t>=1200?n.createElement("th",{style:{textAlign:"right"}},n.createElement(o(),{content:"transaction.borrow_amount"})):null,n.createElement("th",{style:{textAlign:"right",marginRight:20}},n.createElement(o(),{content:"account.total_value"})))),n.createElement("tbody",null,i,e&&r.length?n.createElement("tr",{className:"dashboard-table--hiddenAccounts",style:{backgroundColor:"transparent"},key:"hidden"},n.createElement("td",{colSpan:"8"},y().translate("account.hidden_accounts_row"),":")):null,e&&r)))}}f=(0,u.A)(f);class S extends n.Component{render(){return n.createElement(f,this.props)}}S=(0,_.y)(S);const C=(0,c.N)(S,{listenTo:()=>[l.A,d.A,E.A],getProps:()=>({locked:d.A.getState().locked,starredAccounts:E.A.getState().starredAccounts,viewSettings:l.A.getState().viewSettings})});var T=s(1282),k=s(40702),x=s(81423),N=s(58586),L=s(23654),I=s(57127);function D(){return D=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var s=arguments[e];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(t[n]=s[n])}return t},D.apply(this,arguments)}class R extends n.Component{render(){return n.createElement(I.A,{stores:[E.A,l.A,N.A],inject:{contacts:()=>E.A.getState().accountContacts,myActiveAccounts:()=>E.A.getState().myActiveAccounts,myHiddenAccounts:()=>E.A.getState().myHiddenAccounts,accountsReady:()=>E.A.getState().accountsLoaded&&E.A.getState().refsLoaded,passwordAccount:()=>E.A.getState().passwordAccount,currentEntry:l.A.getState().viewSettings.get("dashboardEntry","accounts")}},n.createElement(O,this.props))}}class O extends n.Component{constructor(t){super(),this.state={width:null,showIgnored:!1,currentEntry:t.currentEntry},this._setDimensions=this._setDimensions.bind(this)}componentDidMount(){this._setDimensions(),window.addEventListener("resize",this._setDimensions,{capture:!1,passive:!0})}shouldComponentUpdate(t,e){return t.myActiveAccounts!==this.props.myActiveAccounts||t.contacts!==this.props.contacts||t.ignoredAccounts!==this.props.ignoredAccounts||t.passwordAccount!==this.props.passwordAccount||e.width!==this.state.width||t.accountsReady!==this.props.accountsReady||e.showIgnored!==this.state.showIgnored||e.currentEntry!==this.state.currentEntry}componentWillUnmount(){window.removeEventListener("resize",this._setDimensions)}_setDimensions(){let t=window.innerWidth;t!==this.state.width&&this.setState({width:t})}_onToggleIgnored(){this.setState({showIgnored:!this.state.showIgnored})}_onSwitchType(t){this.setState({currentEntry:t}),p.A.changeViewSetting({dashboardEntry:t})}render(){let{myActiveAccounts:t,myHiddenAccounts:e,accountsReady:s,passwordAccount:i}=this.props,{width:r,showIgnored:o}=this.state;i&&!t.has(i)&&(t=t.add(i));let c=t.toArray().sort();i&&-1===c.indexOf(i)&&c.push(i);let l=e.toArray().sort(),d=t.size+e.size+(i?1:0);if(!s)return n.createElement(k.A,null);if(!d)return n.createElement(x.A,null);const h=this.props.contacts.toArray();return n.createElement("div",{ref:"wrapper",className:"grid-block page-layout vertical"},n.createElement("div",{ref:"container",className:"tabs-container generic-bordered-box"},n.createElement(L.t,{setting:"accountTab",className:"account-tabs",defaultActiveTab:1,segmented:!1,tabsClass:"account-overview no-padding bordered-header content-block"},n.createElement(L.o,{title:"account.accounts"},n.createElement("div",{className:"generic-bordered-box"},n.createElement("div",{className:"box-content"},n.createElement(C,{accounts:a.Ay.List(c),ignoredAccounts:a.Ay.List(l),width:r,onToggleIgnored:this._onToggleIgnored.bind(this),showIgnored:o,showMyAccounts:!0})))),n.createElement(L.o,{title:"account.contacts"},n.createElement("div",{className:"generic-bordered-box"},n.createElement("div",{className:"box-content"},n.createElement(C,{accounts:h,passwordAccount:i,ignoredAccounts:a.Ay.List(l),width:r,onToggleIgnored:this._onToggleIgnored.bind(this),showIgnored:o,isContactsList:!0})))),n.createElement(L.o,{title:"account.recent"},n.createElement(T.$,{accountsList:t,limit:10,compactView:!1,fullHeight:!0,showFilters:!0,dashboard:!0})))))}}const B=t=>n.createElement(R,D({},t,{onlyAccounts:!0}))}}]);