From ea5b3ec411e853a978ec74747072e0fc914ca222 Mon Sep 17 00:00:00 2001 From: Kenshin Date: Fri, 20 Jul 2018 11:35:22 +0800 Subject: [PATCH] Add user sites to dropdown. --- src/module/enhancesite.jsx | 47 +++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/src/module/enhancesite.jsx b/src/module/enhancesite.jsx index 6a908cbd..572e03a0 100644 --- a/src/module/enhancesite.jsx +++ b/src/module/enhancesite.jsx @@ -7,7 +7,7 @@ import Dropdown from 'dropdown'; import {storage} from 'storage'; import * as run from 'runtime'; -let notify, secret, cur_user = {}, ori_user = {}, site_info = {}; +let notify, secret, cur_user = {}, ori_user = {}, site_info = {}, user_sites = {}; const category = [ {name: "科技媒体", value: "科技媒体"}, @@ -54,6 +54,20 @@ function fail( xhr, textStatus, error ) { loadingState( "fail" ); } +/** + * Get sites {name,value} items + * + * @param {object} sites object + */ +function getSites( sites ) { + let items = []; + Object.keys( sites ).forEach( idx => { + const desc = sites[idx].global == true ? "" : "(未审核)" + items.push({ name: sites[idx].title + desc, value: idx }); + }) + return items; +} + /** * Site info Render */ @@ -62,6 +76,33 @@ function siteinfoRender() { ReactDOM.render( , $( ".siteinfo" )[0] ); } +/** + * Sites Render + */ +function sitesRender() { + $( ".property .sites" ).empty(); + $( ".property .sites" ).parent().removeAttr("style"); + ReactDOM.render( , $( ".property .sites" )[0] ); +} + +class Sites extends React.Component { + + onChange( value, name ) { + if ( !$.isEmptyObject( user_sites[value] )) { + console.log( "adfasdfasdf", user_sites[value] ) + } else new Notify().Render( 2, "获取站点信息时发生了错误,请重新绑定获取。" ); + } + + render() { + const items = this.props.sites; + return ( + items.length > 0 ?
+ this.onChange(v,n) } /> +
:
+ ) + } +} + class SiteInfo extends React.Component { onChange( id, event ) { @@ -157,9 +198,9 @@ export default class Import extends React.Component { type : "POST", }).done( ( result, textStatus, jqXHR ) => { loadingState( "success", "获取当前用户全部站点" ); - console.log( "asdfadfadfs", result ) if ( result.code == 200 ) { - // TO-DO + user_sites = result.data; + sitesRender(); } else if ( result.code == 404 ) { loadingState( "faile", "当前用户没有任何站点,可以先新建 或 上传一个站点。" ); } else loadingState( "faile", "获取当前用户的站点获取失败,请稍后再试!" );