Return-Path: Delivered-To: apmail-hadoop-chukwa-commits-archive@minotaur.apache.org Received: (qmail 89110 invoked from network); 29 Nov 2009 23:16:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 29 Nov 2009 23:16:46 -0000 Received: (qmail 85495 invoked by uid 500); 29 Nov 2009 23:16:46 -0000 Delivered-To: apmail-hadoop-chukwa-commits-archive@hadoop.apache.org Received: (qmail 85474 invoked by uid 500); 29 Nov 2009 23:16:46 -0000 Mailing-List: contact chukwa-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: chukwa-dev@hadoop.apache.org Delivered-To: mailing list chukwa-commits@hadoop.apache.org Received: (qmail 85464 invoked by uid 99); 29 Nov 2009 23:16:46 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 29 Nov 2009 23:16:46 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 29 Nov 2009 23:16:40 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 93F3A23889FF; Sun, 29 Nov 2009 23:16:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r885291 [5/7] - in /hadoop/chukwa/trunk: ./ conf/ contrib/chukwa-pig/ ivy/ src/java/org/apache/hadoop/chukwa/conf/ src/java/org/apache/hadoop/chukwa/datastore/ src/java/org/apache/hadoop/chukwa/hicc/ src/java/org/apache/hadoop/chukwa/rest/b... Date: Sun, 29 Nov 2009 23:16:17 -0000 To: chukwa-commits@hadoop.apache.org From: eyang@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091129231618.93F3A23889FF@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: hadoop/chukwa/trunk/src/web/hicc/js/workspace/workspace.js URL: http://svn.apache.org/viewvc/hadoop/chukwa/trunk/src/web/hicc/js/workspace/workspace.js?rev=885291&r1=885290&r2=885291&view=diff ============================================================================== --- hadoop/chukwa/trunk/src/web/hicc/js/workspace/workspace.js (original) +++ hadoop/chukwa/trunk/src/web/hicc/js/workspace/workspace.js Sun Nov 29 23:16:13 2009 @@ -16,10 +16,12 @@ * limitations under the License. */ +var _widget_catalog=null; + var portalView = Class.create(); -function showView (request) { - _currentView.viewObj=request.responseText.evalJSON(); +function showView (data) { + _currentView.viewObj=data; _currentView.createView(); _currentView.getCurrentPage().pageSelected(); } @@ -28,7 +30,7 @@ initialize: function(id,tab) { // initialize values - this.baseURL='/hicc/Workspace'; + this.baseURL='/hicc/v1/view'; this.id=id; // id of the view this.pagesCount=0; // total number of pages @@ -39,6 +41,9 @@ } this.pages=new Array(); // list of pages this.description=''; // description of view + this.owner=''; + this.name=''; + this.permissionType='private'; this.modified=0; this.columnParentBox=null; @@ -68,23 +73,26 @@ getView: function() { var id=this.id; var json_text=''; - var myAjax=new Ajax.Request( - this.baseURL, - { - //asynchronous: false, - method: 'get', - parameters: {"_s":(new Date().getTime()),"method":"get_view","id":id}, - onSuccess: showView, - onException: function(request, error) { - alert("Cannot load workspace information."); - } - } - ); + var url = this.baseURL+"/vid/"+id; + jQuery.ajax({ + type:'GET', + dataType:'json', + url: url, + success: function(data) { + showView(data); + }, + error: function(data) { + alert("Error in loading dashboard."); + } + }); }, getConfig: function() { var v=new Object(); v.description=this.description; + v.name=this.name; + v.owner=this.owner; + v.permissionType=this.permissionType; if (this.viewObj) { v.description=this.viewObj.description; } @@ -109,6 +117,10 @@ createView: function() { if (this.viewObj != null) { + this.name = this.viewObj.name; + this.description = this.viewObj.description; + this.owner = this.viewObj.owner; + this.permissionType = this.viewObj.permissionType; for (var j=0;j'; // loop through parameters list - for (iCount=0;iCount'; - content+='
'; - if (param.type=='string') { - content+='' - } else if (param.type=='text') { - content+='' - } else if (param.type=='checkbox') { - content+='' - } else if (param.type=='radio') { - for (var j=0;j'+option.label+' '; - } - } else if (param.type=='select_callback') { - // call the backend to get a list - var json_text=''; - var myAjax=new Ajax.Request( - param.callback, - { - asynchronous: false, - method: 'get', - onSuccess: function(transport) { - param_options=transport.responseText.evalJSON(); - content+=''; - } - } - ); - - } else if (param.type=='select_multiple_callback') { - // call the backend to get a list - var json_text=''; - var myAjax=new Ajax.Request( - param.callback, - { asynchronous: false, - method: 'get' - } - ); - if (myAjax.success()) { - json_text=myAjax.transport.responseText; - } - param_options=json_text.evalJSON(); - content+='
'; - content+='Available:
'; - content+='
'; - content+='Selected:
'; - content+='
'; - content+=''; - content+=''; - content+='
'; - content+='
'; - content+=''; - content+='
'; - content+='
'; - } else if (param.type=='select') { - content+=''; - } else if (param.type=='select_multiple') { - content+='' + } else if (param.type=='text') { + content+='' + } else if (param.type=='checkbox') { + content+='' + } else if (param.type=='radio') { + if(param.options!=null) { + for (var j=0;j'+option.label+' '; + } } - } - content+=''; + } else if (param.type=='select_callback') { + // call the backend to get a list + var json_text=''; + var myAjax=new Ajax.Request( + param.callback, + { + asynchronous: false, + method: 'get', + onSuccess: function(transport) { + param_options=transport.responseText.evalJSON(); + content+=''; + } + } + ); + + } else if (param.type=='select_multiple_callback') { + // call the backend to get a list + var json_text=''; + var myAjax=new Ajax.Request( + param.callback, + { asynchronous: false, + method: 'get' + } + ); + if (myAjax.success()) { + json_text=myAjax.transport.responseText; + } + param_options=json_text.evalJSON(); + content+=''; + content+='
'; + content+='Available:
'; + content+='
'; + content+='
'; + content+='
'; + content+='Selected:
'; + content+='
'; + content+=''; + content+=''; + content+='
'; + content+='
'; + content+=''; + content+='
'; + content+='
'; + } else if (param.type=='select') { + content+=''; + } else if (param.type=='select_multiple') { + content+=''; + } else if (param.type=='custom') { + // build a custom widget + content+=build_custom_edit(param_id, param); + } + content+='<\/td><\/tr>' } - content+=''; - } else if (param.type=='custom') { - // build a custom widget - content+=build_custom_edit(param_id, param); } - content+='<\/td><\/tr>' - } } content+=''+'Refresh (min)'+':<\/td>'; @@ -597,8 +617,7 @@ closeEditBox: function() { // close the edit box var editBox= $('dragableBoxEdit' + this.pageid+"_"+this.boxIndex); - new Effect.BlindUp(editBox); - //editBox.style.display='none'; + jQuery(editBox).slideUp("fast"); $('dragableBoxHeader' + this.pageid+"_"+this.boxIndex).style.height = '20px'; }, @@ -881,10 +900,11 @@ } var string=module+"/"; string+='&_page='+this.pageid+'&boxIndex='+this.boxIndex+'&boxId='+this.pageid+'_'+this.boxIndex; - - for (iCount=0;iCount=0;j--) { - this.addWidget(this.pageLayout.layout[i][j], i+1,false); + for (var j=this.pageLayout.layout[i].widgets.length-1;j>=0;j--) { + this.addWidget(this.pageLayout.layout[i].widgets[j], i+1,false); } } }, @@ -2268,203 +2281,173 @@ need_save=0; close_all_popup(); var config=_currentView.getConfig(); - var myAjax=new Ajax.Request( - '/hicc/Workspace', - { - asynchronous: false, - method: 'post', - parameters: "_s="+(new Date().getTime())+"&"+'method=save_view&force=1&name='+_currentView.id+'&config='+escape(config) - } - ); - if (myAjax.success()) { - var return_text=myAjax.transport.responseText; - // alert(return_text); - } -} - -// -// Clone the current view -// -function cloneView(id) { - var myAjax=new Ajax.Request( - '/hicc/Workspace', - { - asynchronous: false, - method: 'post', - parameters: "&method=clone_view&name="+id+"&clone_name="+id+".view&_s="+(new Date().getTime()) - } - ); - if (myAjax.success()) { - var return_text=myAjax.transport.responseText; - // alert(return_text); - } - update_views_list(); -} + var url='/hicc/v1/view'; + jQuery.ajax({ + type:'PUT', + contentType: 'application/json', + dataType:'json', + url: url, + data: config, + success: function(data) { + }, + error: function(request) { + alert("Error saving dashboard, reason: "+request.responseText); + } + }); -// -// restore the default view -// -function restoreView() { -// var myAjax=new Ajax.Request( -// '/admin/', -// { -// asynchronous: false, -// method: 'post', -// parameters: "_s="+(new Date().getTime())+"&"+'module=Workspace&method=restore_view' -// } -// ); -alert("TODO: implement this"); -// if (myAjax.success()) { -// var return_text=myAjax.transport.responseText; - // alert(return_text); -// } - update_views_list(); - initScript('default'); - set_current_view('default'); } -function createNewView() { - var myAjax=new Ajax.Request( - '/hicc/Workspace', - { - asynchronous: false, - method: 'post', - parameters: "&method=clone_view&name=NewView&clone_name=newview.tpl&_s="+(new Date().getTime()) - } - ); - if (myAjax.success()) { - var return_text=myAjax.transport.responseText; - // alert(return_text); - } - update_views_list(); -} - -function changeViewName(id, save) { - if ($("changeViewNameButtonBlock"+id).style.display=="block") { - $("displayViewPermissionBlock"+id).style.display="none"; - $("editViewPermissionBlock"+id).style.display="block"; - $("changeViewNameButtonBlock"+id).style.display="none"; - $("cancelChangeViewNameBlock"+id).style.display="block"; - $("displayViewNameBlock"+id).style.display="none"; - $("changeViewNameBlock"+id).style.display="block"; - } else { - // save it - if (save) { - // make sure the description name cannot contain ' - if ($("changeViewNameField"+id).value.indexOf("'")>=0) { - alert("Name cannot contain '."); - return false; - } - - // make sure that we have at least one permission - - var tbl=$('permissionTable'+id); - var trTags=$A(tbl.getElementsByTagName('tr')); - if (trTags.length <= 0) { - alert("At least one permissions level must be enabled"); - return false; - } - - var okay=0; - trTags.each(function(node) { - var selectObjArray=node.getElementsByTagName('select'); - var read_permission=0; - var modify_permission=0; - if (selectObjArray.length > 0) { - var obj=selectObjArray[0]; - var userid=obj.options[obj.selectedIndex].value; - var inputArray=node.getElementsByTagName('input'); - for (var i=0;i").attr("value",data[i].name).text(data[i].name).attr("selected","selected")); + } else { + jQuery('#currentpage').append(jQuery("").attr("value",data[i].name).text(data[i].name)); + } + var view=""; + if(data[i].editable=="true") { + view=view+""; + view=view+""; + view=view+""; + view=view+""; + view=view+" Public"; + view=view+" Private"; + view=view+""+data[i].name; + view=view+""; + } else { + view=view+""; + view=view+""; + view=view+""; + view=view+""; + view=view+" Public"; + view=view+" Private"; + view=view+""+data[i].name+""; + } + view=view+""+data[i].owner+""; + view=view+""; + jQuery('#views_list tr:last').after(view); + } + } + ); } function changeView(obj) { @@ -2571,85 +2554,41 @@ _currentView.renamePage(_configPageTag, $F('new_page_name')); } -function _addTextNode(node, thisId, title) { - var data = { - id: thisId, - label: title, - href: "javascript:onLabelClick('" + thisId + "')" - } - new YAHOO.widget.TextNode(data, node, false); -} - function _findNode(id) { - for (var i=0;i<_plugin_hash.detail.length;i++) { - if (_plugin_hash.detail[i].id==id) { - return _plugin_hash.detail[i]; - } - } - return null; -} - -function _addNode(parent, node) { - if (node != null) { - for (x in node) { - if (x.indexOf('node:')==0) { - var newNode=new YAHOO.widget.TextNode(x.substring(5), parent, false); - _addNode(newNode, node[x]); - } else if (x.indexOf('leaf:')==0) { - tmpNode=_findNode(node[x]); - _addTextNode(parent, node[x], tmpNode.title) - } - } - } } function onLabelClick(id) { - // create detail panel - - var node=_findNode(id); - var boxId="widget"+new Date().getTime(); - var detail=''; - detail+=""; - detail+="
"; - detail+=""; - detail+=""; - detail+=""; - detail+="
"+'Name'+": "; - detail+=node.title; - detail+="
"+'Version'+": "; - detail+=node.version; - detail+="
"+'Description'+": "; - detail+=node.description; - detail+='
'; - detail+="
"; - detail+="
"; - - $('widget_detail').innerHTML=detail; - var url=""; - var parameters=""; - if(node.module) { - if(node.module.match(/^http:\/\//)) { - url=node.module; - } else { - url=node.module; - var string=node.module+"?"; - string+="&boxId="+boxId; - for (iCount=0;iCount "; + detail+=node.title; + detail+=""; + detail+=""+'Version'+": "; + detail+=node.version; + detail+=""; + detail+=""+'Description'+": "; + detail+=node.description; + detail+=''; + detail+=""; + detail+=""; + detail+="
"; + detail+="
"; + + jQuery('#widget_detail').empty(); + jQuery('#widget_detail').append(detail); + var url=node.url; + var parameters = {}; + jQuery.each(node.parameters, + function(i,param) { + parameters[param.name]=param.value; } + ); + jQuery('#_preview').load(url, parameters); } - var myAjax = new Ajax.Updater( - boxId, - url, - { - method: 'get', - parameters: parameters, - onComplete: renderWidget - } - ); + ); + } function renderWidget(request) { @@ -2790,10 +2729,12 @@ add widget ***************************************************/ function add_widget(id) { - var node=_findNode(id); - eval("var tmp ="+ Object.toJSON(node)); need_save=1; - _currentView.getCurrentPage().addWidget(tmp,1,false); + jQuery.getJSON('/hicc/v1/widget/wid/'+id, + function(node) { + _currentView.getCurrentPage().addWidget(node,1,false); + } + ); } @@ -2807,75 +2748,42 @@ var _menu_open=false; -function manage_content(close) { - if ((_menu_open) || (close)) { - //$('manage_button').value='Workspace Builder >>'; - if(_menu_open) { - new Effect.BlindUp($('manage_view')); - } - //$('manage_view').style.display="none"; - _menu_open=false; - } else { - close_all_popup(); - //$('manage_button').value='Workspace Builder <<'; - $('manage_view').style.zIndex='20'; - new Effect.BlindDown($('manage_view')); - //$('manage_view').style.display="block"; - _menu_open=true; - } - return false; -} - var _widget_menu_open=false; +function add_widget_menu(close) { + // manage widget + if (_widget_catalog == null) { + var json_text=''; + jQuery.getJSON('/hicc/v1/widget/catalog', + function(data) { + TreeBuilder.buildTree(data.children); + } + ); + } + jQuery('#manage_view').slideUp("fast"); + jQuery('#widget_view').slideToggle("fast"); + return false; +} + var TreeBuilder = { - buildTree:function (treeNodes){ - tree = new YAHOO.widget.TreeView("myWidgetContainer"); - _addNode(tree.getRoot(), treeNodes); + buildTree:function (data){ + tree = new YAHOO.widget.TreeView("myWidgetContainer",data); tree.subscribe("labelClick", function(node) { - onLabelClick(node); + onLabelClick(node.data.id); }); - tree.draw(); } } -function add_widget_menu(close) { - // manage widget - if (_plugin_hash == null) { - var json_text=''; - var myAjax=new Ajax.Request( - '/hicc/Workspace', - { - asynchronous: false, - method: 'get', - parameters: "_s="+(new Date().getTime())+"&"+ - 'method=get_widget_list&id='+'userid', - onSuccess : function(transport) { - _plugin_hash=transport.responseText.evalJSON(); - TreeBuilder.buildTree(_plugin_hash.children); - } - } - ); - } - if ((_widget_menu_open) || (close)) { - if(_widget_menu_open) { - new Effect.BlindUp($('widget_view')); - } - _widget_menu_open=false; - } else { - close_all_popup(); - $('widget_view').style.zIndex='15'; - new Effect.BlindDown($('widget_view')); - _widget_menu_open=true; - } - return false; +function manage_content(close) { + jQuery('#widget_view').slideUp("fast"); + jQuery('#manage_view').slideToggle("fast"); + return false; } function close_all_popup() { - manage_content('close'); - add_widget_menu('close'); - configPage(''); + jQuery('#manage_view').slideUp("fast"); + jQuery('#widget_view').slideUp("fast"); } var permissionRowObj = Class.create();