Return-Path: X-Original-To: apmail-incubator-ambari-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-ambari-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 111B2D083 for ; Thu, 8 Nov 2012 02:41:29 +0000 (UTC) Received: (qmail 37407 invoked by uid 500); 8 Nov 2012 02:41:28 -0000 Delivered-To: apmail-incubator-ambari-commits-archive@incubator.apache.org Received: (qmail 37248 invoked by uid 500); 8 Nov 2012 02:41:23 -0000 Mailing-List: contact ambari-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@incubator.apache.org Delivered-To: mailing list ambari-commits@incubator.apache.org Received: (qmail 37222 invoked by uid 99); 8 Nov 2012 02:41:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Nov 2012 02:41:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.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; Thu, 08 Nov 2012 02:41:13 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id EC93E23888E3; Thu, 8 Nov 2012 02:40:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1406897 - in /incubator/ambari/branches/AMBARI-666: ./ ambari-web/app/models/ ambari-web/app/styles/ ambari-web/app/templates/main/ ambari-web/app/templates/main/apps/ ambari-web/app/templates/main/apps/item/ ambari-web/app/utils/ ambari-w... Date: Thu, 08 Nov 2012 02:40:50 -0000 To: ambari-commits@incubator.apache.org From: yusaku@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121108024050.EC93E23888E3@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: yusaku Date: Thu Nov 8 02:40:49 2012 New Revision: 1406897 URL: http://svn.apache.org/viewvc?rev=1406897&view=rev Log: AMBARI-990. Refactor App Browser. (yusaku) Modified: incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt incubator/ambari/branches/AMBARI-666/ambari-web/app/models/job.js incubator/ambari/branches/AMBARI-666/ambari-web/app/models/run.js incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/apps.less incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/item.hbs incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/item/bar.hbs incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/item/dag.hbs incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/bar_view.js incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item_view.js incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js Modified: incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt (original) +++ incubator/ambari/branches/AMBARI-666/AMBARI-666-CHANGES.txt Thu Nov 8 02:40:49 2012 @@ -388,6 +388,8 @@ AMBARI-666 branch (unreleased changes) AMBARI-676. Seperate directory for ambari-server. (jitendra) IMPROVEMENTS + + AMBARI-990. Refactor App Browser. (yusaku) AMBARI-979. More refactoring of App Browser code. (yusaku) Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/models/job.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/models/job.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/models/job.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/models/job.js Thu Nov 8 02:40:49 2012 @@ -18,6 +18,7 @@ var App = require('app'); +var date = require('utils/date'); App.Job = DS.Model.extend({ jobId:DS.attr('string'), @@ -44,10 +45,13 @@ App.Job = DS.Model.extend({ mapCounters:DS.attr('number'), reduceCounters:DS.attr('number'), jobCounters:DS.attr('number'), - jobTimeline:DS.attr('string'), - jobTaskview:DS.attr('string'), input:DS.attr('number'), - output:DS.attr('number') + output:DS.attr('number'), + duration: function() { + return date.dateFormatInterval(parseInt((parseInt(this.get('finishTime')) - parseInt(this.get('launchTime')))/1000)); + }.property('launchTime', 'finishTime'), + jobTimeline:DS.attr('string'), + jobTaskview:DS.attr('string') }); App.Job.FIXTURES = [ @@ -63,20 +67,20 @@ App.Job.FIXTURES = [ conf_path:'hdfs://localhost:9000/tmp/hadoop-jsmith/mapred/staging/jsmith/\.staging/job_201209201356_0001/job\.xml', submit_time:1348174627119, launch_time:1348174627650, - finishTime:1348174669539, - maps:2, - reduces:1, + finish_time:1348174669539, + maps:20, + reduces:11, status:'RUNNING', priority:null, - finishedMaps:2, - finishedReduces:1, - failedMaps:null, - failedReduces:null, + finished_maps:12, + finished_reduces:5, + failed_maps:null, failed_reduces:null, + maps_runtime:22299, - reducesRuntime:11470, - mapCounters:null, - reduceCounters:null, - jobCounters:null, + reduces_runtime:11470, + map_counters:null, + reduce_counters:null, + job_counters:null, job_timeline:'[[{"x":0,"y":0},{"x":1,"y":0},{"x":2,"y":0},{"x":3,"y":0},{"x":4,"y":0},{"x":5,"y":0},{"x":6,"y":0},{"x":7,"y":0},{"x":8,"y":0},{"x":9,"y":0},{"x":10,"y":0},{"x":11,"y":0},{"x":12,"y":0},{"x":13,"y":0},{"x":14,"y":0},{"x":15,"y":0},{"x":16,"y":0},{"x":17,"y":0},{"x":18,"y":0},{"x":19,"y":0},{"x":20,"y":0},{"x":21,"y":0},{"x":22,"y":0},{"x":23,"y":0},{"x":24,"y":0},{"x":25,"y":0},{"x":26,"y":0},{"x":27,"y":0},{"x":28,"y":0},{"x":29,"y":0},{"x":30,"y":0},{"x":31,"y":0},{"x":32,"y":0},{"x":33,"y":0},{"x":34,"y":0},{"x":35,"y":0},{"x":36,"y":0},{"x":37,"y":0},{"x":38,"y":0},{"x":39,"y":0},{"x":40,"y":0},{"x":41,"y":0},{"x":42,"y":0},{"x":43,"y":0},{"x":44,"y":0},{"x":45,"y":0},{"x":46,"y":0},{"x":47,"y":0},{"x":48,"y":0},{"x":49,"y":0},{"x":50,"y":0},{"x":51,"y":0},{"x":52,"y":0},{"x":53,"y":0},{"x":54,"y":0},{"x":55,"y":0},{"x":56,"y":0},{"x":57,"y":0},{"x":58,"y":0},{"x":59,"y":0},{"x":60,"y":0},{"x":61,"y":0},{"x":62,"y":0},{"x":63,"y":0},{"x":64,"y":0},{"x" :65,"y":0},{"x":66,"y":0},{"x":67,"y":0},{"x":68,"y":0},{"x":69,"y":0},{"x":70,"y":0},{"x":71,"y":0},{"x":72,"y":0},{"x":73,"y":0},{"x":74,"y":0},{"x":75,"y":0},{"x":76,"y":0},{"x":77,"y":0},{"x":78,"y":0},{"x":79,"y":0},{"x":80,"y":0},{"x":81,"y":0},{"x":82,"y":0},{"x":83,"y":0},{"x":84,"y":0},{"x":85,"y":0},{"x":86,"y":0},{"x":87,"y":0},{"x":88,"y":0},{"x":89,"y":0},{"x":90,"y":0},{"x":91,"y":0},{"x":92,"y":0},{"x":93,"y":0},{"x":94,"y":0},{"x":95,"y":0},{"x":96,"y":0},{"x":97,"y":0},{"x":98,"y":0},{"x":99,"y":0},{"x":100,"y":0},{"x":101,"y":0},{"x":102,"y":0},{"x":103,"y":0},{"x":104,"y":0},{"x":105,"y":0},{"x":106,"y":0},{"x":107,"y":0},{"x":108,"y":0},{"x":109,"y":0},{"x":110,"y":0},{"x":111,"y":0},{"x":112,"y":0},{"x":113,"y":0},{"x":114,"y":0},{"x":115,"y":0},{"x":116,"y":0},{"x":117,"y":0},{"x":118,"y":0},{"x":119,"y":0},{"x":120,"y":0},{"x":121,"y":0},{"x":122,"y":0},{"x":123,"y":0},{"x":124,"y":0},{"x":125,"y":0},{"x":126,"y":0},{"x":127,"y":0},{"x":128,"y":0},{"x" :129,"y":0},{"x":130,"y":0},{"x":131,"y":0},{"x":132,"y":0},{"x":133,"y":0},{"x":134,"y":0},{"x":135,"y":0},{"x":136,"y":0},{"x":137,"y":0},{"x":138,"y":0},{"x":139,"y":0},{"x":140,"y":0},{"x":141,"y":0},{"x":142,"y":0},{"x":143,"y":0},{"x":144,"y":0},{"x":145,"y":2},{"x":146,"y":2},{"x":147,"y":2},{"x":148,"y":2},{"x":149,"y":2},{"x":150,"y":2},{"x":151,"y":2},{"x":152,"y":2},{"x":153,"y":2},{"x":154,"y":2},{"x":155,"y":2},{"x":156,"y":2},{"x":157,"y":2},{"x":158,"y":2},{"x":159,"y":2},{"x":160,"y":2},{"x":161,"y":2},{"x":162,"y":2},{"x":163,"y":2},{"x":164,"y":2},{"x":165,"y":2},{"x":166,"y":2},{"x":167,"y":2},{"x":168,"y":2},{"x":169,"y":2},{"x":170,"y":2},{"x":171,"y":2},{"x":172,"y":2},{"x":173,"y":2},{"x":174,"y":2},{"x":175,"y":2},{"x":176,"y":2},{"x":177,"y":2},{"x":178,"y":2},{"x":179,"y":2},{"x":180,"y":2},{"x":181,"y":2},{"x":182,"y":2},{"x":183,"y":2},{"x":184,"y":2},{"x":185,"y":2},{"x":186,"y":2},{"x":187,"y":2},{"x":188,"y":2},{"x":189,"y":2},{"x":190,"y":2},{ "x":191,"y":2},{"x":192,"y":2},{"x":193,"y":2},{"x":194,"y":2},{"x":195,"y":2},{"x":196,"y":2},{"x":197,"y":2},{"x":198,"y":2},{"x":199,"y":2},{"x":200,"y":2},{"x":201,"y":2},{"x":202,"y":2},{"x":203,"y":2},{"x":204,"y":2},{"x":205,"y":2},{"x":206,"y":2},{"x":207,"y":2},{"x":208,"y":2},{"x":209,"y":2},{"x":210,"y":2},{"x":211,"y":2},{"x":212,"y":2},{"x":213,"y":2},{"x":214,"y":2},{"x":215,"y":2},{"x":216,"y":2},{"x":217,"y":2},{"x":218,"y":2},{"x":219,"y":2},{"x":220,"y":2},{"x":221,"y":2},{"x":222,"y":2},{"x":223,"y":2},{"x":224,"y":2},{"x":225,"y":2},{"x":226,"y":2},{"x":227,"y":2},{"x":228,"y":2},{"x":229,"y":2},{"x":230,"y":2},{"x":231,"y":2},{"x":232,"y":2},{"x":233,"y":2},{"x":234,"y":2},{"x":235,"y":2},{"x":236,"y":2},{"x":237,"y":2},{"x":238,"y":2},{"x":239,"y":2},{"x":240,"y":2},{"x":241,"y":2},{"x":242,"y":2},{"x":243,"y":2},{"x":244,"y":2},{"x":245,"y":2},{"x":246,"y":2},{"x":247,"y":2},{"x":248,"y":2},{"x":249,"y":2},{"x":250,"y":2},{"x":251,"y":2},{"x":252,"y":2 },{"x":253,"y":2},{"x":254,"y":2},{"x":255,"y":2},{"x":256,"y":2},{"x":257,"y":2},{"x":258,"y":2},{"x":259,"y":2},{"x":260,"y":2},{"x":261,"y":2},{"x":262,"y":2},{"x":263,"y":2},{"x":264,"y":2},{"x":265,"y":2},{"x":266,"y":2},{"x":267,"y":2},{"x":268,"y":2},{"x":269,"y":2},{"x":270,"y":2},{"x":271,"y":2},{"x":272,"y":2},{"x":273,"y":2},{"x":274,"y":1},{"x":275,"y":1},{"x":276,"y":1},{"x":277,"y":1},{"x":278,"y":1},{"x":279,"y":0},{"x":280,"y":0},{"x":281,"y":0},{"x":282,"y":0},{"x":283,"y":0},{"x":284,"y":0},{"x":285,"y":0},{"x":286,"y":0},{"x":287,"y":0},{"x":288,"y":0},{"x":289,"y":0},{"x":290,"y":0},{"x":291,"y":0},{"x":292,"y":0},{"x":293,"y":0},{"x":294,"y":0},{"x":295,"y":0},{"x":296,"y":0},{"x":297,"y":0},{"x":298,"y":0},{"x":299,"y":0},{"x":300,"y":0},{"x":301,"y":0},{"x":302,"y":0},{"x":303,"y":0},{"x":304,"y":0},{"x":305,"y":0},{"x":306,"y":0},{"x":307,"y":0},{"x":308,"y":0},{"x":309,"y":0},{"x":310,"y":0},{"x":311,"y":0},{"x":312,"y":0},{"x":313,"y":0},{"x":314,"y ":0},{"x":315,"y":0},{"x":316,"y":0},{"x":317,"y":0},{"x":318,"y":0},{"x":319,"y":0},{"x":320,"y":0},{"x":321,"y":0},{"x":322,"y":0},{"x":323,"y":0},{"x":324,"y":0},{"x":325,"y":0},{"x":326,"y":0},{"x":327,"y":0},{"x":328,"y":0},{"x":329,"y":0},{"x":330,"y":0},{"x":331,"y":0},{"x":332,"y":0},{"x":333,"y":0},{"x":334,"y":0},{"x":335,"y":0},{"x":336,"y":0},{"x":337,"y":0},{"x":338,"y":0},{"x":339,"y":0},{"x":340,"y":0},{"x":341,"y":0},{"x":342,"y":0},{"x":343,"y":0},{"x":344,"y":0},{"x":345,"y":0},{"x":346,"y":0},{"x":347,"y":0},{"x":348,"y":0},{"x":349,"y":0},{"x":350,"y":0},{"x":351,"y":0},{"x":352,"y":0},{"x":353,"y":0},{"x":354,"y":0},{"x":355,"y":0},{"x":356,"y":0},{"x":357,"y":0},{"x":358,"y":0},{"x":359,"y":0},{"x":360,"y":0},{"x":361,"y":0},{"x":362,"y":0},{"x":363,"y":0},{"x":364,"y":0},{"x":365,"y":0},{"x":366,"y":0},{"x":367,"y":0},{"x":368,"y":0},{"x":369,"y":0},{"x":370,"y":0},{"x":371,"y":0},{"x":372,"y":0},{"x":373,"y":0},{"x":374,"y":0},{"x":375,"y":0},{"x":376 ,"y":0},{"x":377,"y":0},{"x":378,"y":0},{"x":379,"y":0},{"x":380,"y":0},{"x":381,"y":0},{"x":382,"y":0},{"x":383,"y":0},{"x":384,"y":0},{"x":385,"y":0},{"x":386,"y":0},{"x":387,"y":0},{"x":388,"y":0},{"x":389,"y":0},{"x":390,"y":0},{"x":391,"y":0},{"x":392,"y":0},{"x":393,"y":0},{"x":394,"y":0},{"x":395,"y":0},{"x":396,"y":0},{"x":397,"y":0},{"x":398,"y":0},{"x":399,"y":0},{"x":400,"y":0},{"x":401,"y":0},{"x":402,"y":0},{"x":403,"y":0},{"x":404,"y":0},{"x":405,"y":0},{"x":406,"y":0},{"x":407,"y":0},{"x":408,"y":0},{"x":409,"y":0},{"x":410,"y":0},{"x":411,"y":0},{"x":412,"y":0},{"x":413,"y":0},{"x":414,"y":0},{"x":415,"y":0},{"x":416,"y":0},{"x":417,"y":0},{"x":418,"y":0},{"x":419,"y":0},{"x":420,"y":0},{"x":421,"y":0},{"x":422,"y":0},{"x":423,"y":0},{"x":424,"y":0},{"x":425,"y":0},{"x":426,"y":0},{"x":427,"y":0},{"x":428,"y":0},{"x":429,"y":0},{"x":430,"y":0},{"x":431,"y":0},{"x":432,"y":0},{"x":433,"y":0},{"x":434,"y":0},{"x":435,"y":0},{"x":436,"y":0},{"x":437,"y":0},{"x": 438,"y":0},{"x":439,"y":0},{"x":440,"y":0},{"x":441,"y":0},{"x":442,"y":0},{"x":443,"y":0},{"x":444,"y":0},{"x":445,"y":0},{"x":446,"y":0},{"x":447,"y":0},{"x":448,"y":0},{"x":449,"y":0},{"x":450,"y":0},{"x":451,"y":0},{"x":452,"y":0},{"x":453,"y":0},{"x":454,"y":0},{"x":455,"y":0},{"x":456,"y":0},{"x":457,"y":0},{"x":458,"y":0},{"x":459,"y":0},{"x":460,"y":0},{"x":461,"y":0},{"x":462,"y":0},{"x":463,"y":0},{"x":464,"y":0},{"x":465,"y":0},{"x":466,"y":0},{"x":467,"y":0},{"x":468,"y":0},{"x":469,"y":0},{"x":470,"y":0},{"x":471,"y":0},{"x":472,"y":0},{"x":473,"y":0},{"x":474,"y":0},{"x":475,"y":0},{"x":476,"y":0},{"x":477,"y":0},{"x":478,"y":0},{"x":479,"y":0},{"x":480,"y":0},{"x":481,"y":0},{"x":482,"y":0},{"x":483,"y":0},{"x":484,"y":0},{"x":485,"y":0},{"x":486,"y":0},{"x":487,"y":0},{"x":488,"y":0},{"x":489,"y":0},{"x":490,"y":0},{"x":491,"y":0},{"x":492,"y":0},{"x":493,"y":0},{"x":494,"y":0},{"x":495,"y":0},{"x":496,"y":0},{"x":497,"y":0},{"x":498,"y":0},{"x":499,"y":0}],[ {"x":0,"y":0},{"x":1,"y":0},{"x":2,"y":0},{"x":3,"y":0},{"x":4,"y":0},{"x":5,"y":0},{"x":6,"y":0},{"x":7,"y":0},{"x":8,"y":0},{"x":9,"y":0},{"x":10,"y":0},{"x":11,"y":0},{"x":12,"y":0},{"x":13,"y":0},{"x":14,"y":0},{"x":15,"y":0},{"x":16,"y":0},{"x":17,"y":0},{"x":18,"y":0},{"x":19,"y":0},{"x":20,"y":0},{"x":21,"y":0},{"x":22,"y":0},{"x":23,"y":0},{"x":24,"y":0},{"x":25,"y":0},{"x":26,"y":0},{"x":27,"y":0},{"x":28,"y":0},{"x":29,"y":0},{"x":30,"y":0},{"x":31,"y":0},{"x":32,"y":0},{"x":33,"y":0},{"x":34,"y":0},{"x":35,"y":0},{"x":36,"y":0},{"x":37,"y":0},{"x":38,"y":0},{"x":39,"y":0},{"x":40,"y":0},{"x":41,"y":0},{"x":42,"y":0},{"x":43,"y":0},{"x":44,"y":0},{"x":45,"y":0},{"x":46,"y":0},{"x":47,"y":0},{"x":48,"y":0},{"x":49,"y":0},{"x":50,"y":0},{"x":51,"y":0},{"x":52,"y":0},{"x":53,"y":0},{"x":54,"y":0},{"x":55,"y":0},{"x":56,"y":0},{"x":57,"y":0},{"x":58,"y":0},{"x":59,"y":0},{"x":60,"y":0},{"x":61,"y":0},{"x":62,"y":0},{"x":63,"y":0},{"x":64,"y":0},{"x":65,"y":0},{"x":66," y":0},{"x":67,"y":0},{"x":68,"y":0},{"x":69,"y":0},{"x":70,"y":0},{"x":71,"y":0},{"x":72,"y":0},{"x":73,"y":0},{"x":74,"y":0},{"x":75,"y":0},{"x":76,"y":0},{"x":77,"y":0},{"x":78,"y":0},{"x":79,"y":0},{"x":80,"y":0},{"x":81,"y":0},{"x":82,"y":0},{"x":83,"y":0},{"x":84,"y":0},{"x":85,"y":0},{"x":86,"y":0},{"x":87,"y":0},{"x":88,"y":0},{"x":89,"y":0},{"x":90,"y":0},{"x":91,"y":0},{"x":92,"y":0},{"x":93,"y":0},{"x":94,"y":0},{"x":95,"y":0},{"x":96,"y":0},{"x":97,"y":0},{"x":98,"y":0},{"x":99,"y":0},{"x":100,"y":0},{"x":101,"y":0},{"x":102,"y":0},{"x":103,"y":0},{"x":104,"y":0},{"x":105,"y":0},{"x":106,"y":0},{"x":107,"y":0},{"x":108,"y":0},{"x":109,"y":0},{"x":110,"y":0},{"x":111,"y":0},{"x":112,"y":0},{"x":113,"y":0},{"x":114,"y":0},{"x":115,"y":0},{"x":116,"y":0},{"x":117,"y":0},{"x":118,"y":0},{"x":119,"y":0},{"x":120,"y":0},{"x":121,"y":0},{"x":122,"y":0},{"x":123,"y":0},{"x":124,"y":0},{"x":125,"y":0},{"x":126,"y":0},{"x":127,"y":0},{"x":128,"y":0},{"x":129,"y":0},{"x":130 ,"y":0},{"x":131,"y":0},{"x":132,"y":0},{"x":133,"y":0},{"x":134,"y":0},{"x":135,"y":0},{"x":136,"y":0},{"x":137,"y":0},{"x":138,"y":0},{"x":139,"y":0},{"x":140,"y":0},{"x":141,"y":0},{"x":142,"y":0},{"x":143,"y":0},{"x":144,"y":0},{"x":145,"y":0},{"x":146,"y":0},{"x":147,"y":0},{"x":148,"y":0},{"x":149,"y":0},{"x":150,"y":0},{"x":151,"y":0},{"x":152,"y":0},{"x":153,"y":0},{"x":154,"y":0},{"x":155,"y":0},{"x":156,"y":0},{"x":157,"y":0},{"x":158,"y":0},{"x":159,"y":0},{"x":160,"y":0},{"x":161,"y":0},{"x":162,"y":0},{"x":163,"y":0},{"x":164,"y":0},{"x":165,"y":0},{"x":166,"y":0},{"x":167,"y":0},{"x":168,"y":0},{"x":169,"y":0},{"x":170,"y":0},{"x":171,"y":0},{"x":172,"y":0},{"x":173,"y":0},{"x":174,"y":0},{"x":175,"y":0},{"x":176,"y":0},{"x":177,"y":0},{"x":178,"y":0},{"x":179,"y":0},{"x":180,"y":0},{"x":181,"y":0},{"x":182,"y":0},{"x":183,"y":0},{"x":184,"y":0},{"x":185,"y":0},{"x":186,"y":0},{"x":187,"y":0},{"x":188,"y":0},{"x":189,"y":0},{"x":190,"y":0},{"x":191,"y":0},{"x": 192,"y":0},{"x":193,"y":0},{"x":194,"y":0},{"x":195,"y":0},{"x":196,"y":0},{"x":197,"y":0},{"x":198,"y":0},{"x":199,"y":0},{"x":200,"y":0},{"x":201,"y":0},{"x":202,"y":0},{"x":203,"y":0},{"x":204,"y":0},{"x":205,"y":0},{"x":206,"y":0},{"x":207,"y":0},{"x":208,"y":0},{"x":209,"y":0},{"x":210,"y":0},{"x":211,"y":0},{"x":212,"y":0},{"x":213,"y":0},{"x":214,"y":0},{"x":215,"y":0},{"x":216,"y":0},{"x":217,"y":0},{"x":218,"y":0},{"x":219,"y":0},{"x":220,"y":0},{"x":221,"y":0},{"x":222,"y":0},{"x":223,"y":0},{"x":224,"y":0},{"x":225,"y":0},{"x":226,"y":0},{"x":227,"y":0},{"x":228,"y":0},{"x":229,"y":0},{"x":230,"y":0},{"x":231,"y":0},{"x":232,"y":0},{"x":233,"y":0},{"x":234,"y":0},{"x":235,"y":0},{"x":236,"y":0},{"x":237,"y":0},{"x":238,"y":0},{"x":239,"y":0},{"x":240,"y":0},{"x":241,"y":0},{"x":242,"y":0},{"x":243,"y":0},{"x":244,"y":0},{"x":245,"y":0},{"x":246,"y":0},{"x":247,"y":0},{"x":248,"y":0},{"x":249,"y":0},{"x":250,"y":0},{"x":251,"y":0},{"x":252,"y":0},{"x":253,"y":0},{" x":254,"y":0},{"x":255,"y":0},{"x":256,"y":0},{"x":257,"y":0},{"x":258,"y":0},{"x":259,"y":0},{"x":260,"y":0},{"x":261,"y":0},{"x":262,"y":0},{"x":263,"y":0},{"x":264,"y":0},{"x":265,"y":0},{"x":266,"y":0},{"x":267,"y":0},{"x":268,"y":0},{"x":269,"y":0},{"x":270,"y":0},{"x":271,"y":0},{"x":272,"y":0},{"x":273,"y":0},{"x":274,"y":0},{"x":275,"y":0},{"x":276,"y":0},{"x":277,"y":0},{"x":278,"y":0},{"x":279,"y":0},{"x":280,"y":0},{"x":281,"y":0},{"x":282,"y":0},{"x":283,"y":0},{"x":284,"y":0},{"x":285,"y":0},{"x":286,"y":0},{"x":287,"y":0},{"x":288,"y":1},{"x":289,"y":1},{"x":290,"y":1},{"x":291,"y":1},{"x":292,"y":1},{"x":293,"y":1},{"x":294,"y":1},{"x":295,"y":1},{"x":296,"y":1},{"x":297,"y":1},{"x":298,"y":1},{"x":299,"y":1},{"x":300,"y":1},{"x":301,"y":1},{"x":302,"y":1},{"x":303,"y":1},{"x":304,"y":1},{"x":305,"y":1},{"x":306,"y":1},{"x":307,"y":1},{"x":308,"y":1},{"x":309,"y":1},{"x":310,"y":1},{"x":311,"y":1},{"x":312,"y":1},{"x":313,"y":1},{"x":314,"y":1},{"x":315,"y":1} ,{"x":316,"y":1},{"x":317,"y":1},{"x":318,"y":1},{"x":319,"y":1},{"x":320,"y":1},{"x":321,"y":1},{"x":322,"y":1},{"x":323,"y":1},{"x":324,"y":1},{"x":325,"y":1},{"x":326,"y":1},{"x":327,"y":1},{"x":328,"y":1},{"x":329,"y":1},{"x":330,"y":1},{"x":331,"y":1},{"x":332,"y":1},{"x":333,"y":1},{"x":334,"y":1},{"x":335,"y":1},{"x":336,"y":1},{"x":337,"y":1},{"x":338,"y":1},{"x":339,"y":1},{"x":340,"y":1},{"x":341,"y":1},{"x":342,"y":1},{"x":343,"y":1},{"x":344,"y":1},{"x":345,"y":1},{"x":346,"y":1},{"x":347,"y":1},{"x":348,"y":1},{"x":349,"y":1},{"x":350,"y":1},{"x":351,"y":1},{"x":352,"y":1},{"x":353,"y":1},{"x":354,"y":1},{"x":355,"y":1},{"x":356,"y":1},{"x":357,"y":1},{"x":358,"y":1},{"x":359,"y":1},{"x":360,"y":1},{"x":361,"y":1},{"x":362,"y":1},{"x":363,"y":1},{"x":364,"y":1},{"x":365,"y":1},{"x":366,"y":1},{"x":367,"y":1},{"x":368,"y":1},{"x":369,"y":1},{"x":370,"y":1},{"x":371,"y":1},{"x":372,"y":1},{"x":373,"y":1},{"x":374,"y":1},{"x":375,"y":1},{"x":376,"y":1},{"x":377,"y" :1},{"x":378,"y":1},{"x":379,"y":1},{"x":380,"y":1},{"x":381,"y":1},{"x":382,"y":1},{"x":383,"y":1},{"x":384,"y":1},{"x":385,"y":1},{"x":386,"y":1},{"x":387,"y":1},{"x":388,"y":0},{"x":389,"y":0},{"x":390,"y":0},{"x":391,"y":0},{"x":392,"y":0},{"x":393,"y":0},{"x":394,"y":0},{"x":395,"y":0},{"x":396,"y":0},{"x":397,"y":0},{"x":398,"y":0},{"x":399,"y":0},{"x":400,"y":0},{"x":401,"y":0},{"x":402,"y":0},{"x":403,"y":0},{"x":404,"y":0},{"x":405,"y":0},{"x":406,"y":0},{"x":407,"y":0},{"x":408,"y":0},{"x":409,"y":0},{"x":410,"y":0},{"x":411,"y":0},{"x":412,"y":0},{"x":413,"y":0},{"x":414,"y":0},{"x":415,"y":0},{"x":416,"y":0},{"x":417,"y":0},{"x":418,"y":0},{"x":419,"y":0},{"x":420,"y":0},{"x":421,"y":0},{"x":422,"y":0},{"x":423,"y":0},{"x":424,"y":0},{"x":425,"y":0},{"x":426,"y":0},{"x":427,"y":0},{"x":428,"y":0},{"x":429,"y":0},{"x":430,"y":0},{"x":431,"y":0},{"x":432,"y":0},{"x":433,"y":0},{"x":434,"y":0},{"x":435,"y":0},{"x":436,"y":0},{"x":437,"y":0},{"x":438,"y":0},{"x":439, "y":0},{"x":440,"y":0},{"x":441,"y":0},{"x":442,"y":0},{"x":443,"y":0},{"x":444,"y":0},{"x":445,"y":0},{"x":446,"y":0},{"x":447,"y":0},{"x":448,"y":0},{"x":449,"y":0},{"x":450,"y":0},{"x":451,"y":0},{"x":452,"y":0},{"x":453,"y":0},{"x":454,"y":0},{"x":455,"y":0},{"x":456,"y":0},{"x":457,"y":0},{"x":458,"y":0},{"x":459,"y":0},{"x":460,"y":0},{"x":461,"y":0},{"x":462,"y":0},{"x":463,"y":0},{"x":464,"y":0},{"x":465,"y":0},{"x":466,"y":0},{"x":467,"y":0},{"x":468,"y":0},{"x":469,"y":0},{"x":470,"y":0},{"x":471,"y":0},{"x":472,"y":0},{"x":473,"y":0},{"x":474,"y":0},{"x":475,"y":0},{"x":476,"y":0},{"x":477,"y":0},{"x":478,"y":0},{"x":479,"y":0},{"x":480,"y":0},{"x":481,"y":0},{"x":482,"y":0},{"x":483,"y":0},{"x":484,"y":0},{"x":485,"y":0},{"x":486,"y":0},{"x":487,"y":0},{"x":488,"y":0},{"x":489,"y":0},{"x":490,"y":0},{"x":491,"y":0},{"x":492,"y":0},{"x":493,"y":0},{"x":494,"y":0},{"x":495,"y":0},{"x":496,"y":0},{"x":497,"y":0},{"x":498,"y":0},{"x":499,"y":0}],[{"x":0,"y":0},{"x":1 ,"y":0},{"x":2,"y":0},{"x":3,"y":0},{"x":4,"y":0},{"x":5,"y":0},{"x":6,"y":0},{"x":7,"y":0},{"x":8,"y":0},{"x":9,"y":0},{"x":10,"y":0},{"x":11,"y":0},{"x":12,"y":0},{"x":13,"y":0},{"x":14,"y":0},{"x":15,"y":0},{"x":16,"y":0},{"x":17,"y":0},{"x":18,"y":0},{"x":19,"y":0},{"x":20,"y":0},{"x":21,"y":0},{"x":22,"y":0},{"x":23,"y":0},{"x":24,"y":0},{"x":25,"y":0},{"x":26,"y":0},{"x":27,"y":0},{"x":28,"y":0},{"x":29,"y":0},{"x":30,"y":0},{"x":31,"y":0},{"x":32,"y":0},{"x":33,"y":0},{"x":34,"y":0},{"x":35,"y":0},{"x":36,"y":0},{"x":37,"y":0},{"x":38,"y":0},{"x":39,"y":0},{"x":40,"y":0},{"x":41,"y":0},{"x":42,"y":0},{"x":43,"y":0},{"x":44,"y":0},{"x":45,"y":0},{"x":46,"y":0},{"x":47,"y":0},{"x":48,"y":0},{"x":49,"y":0},{"x":50,"y":0},{"x":51,"y":0},{"x":52,"y":0},{"x":53,"y":0},{"x":54,"y":0},{"x":55,"y":0},{"x":56,"y":0},{"x":57,"y":0},{"x":58,"y":0},{"x":59,"y":0},{"x":60,"y":0},{"x":61,"y":0},{"x":62,"y":0},{"x":63,"y":0},{"x":64,"y":0},{"x":65,"y":0},{"x":66,"y":0},{"x":67,"y":0} ,{"x":68,"y":0},{"x":69,"y":0},{"x":70,"y":0},{"x":71,"y":0},{"x":72,"y":0},{"x":73,"y":0},{"x":74,"y":0},{"x":75,"y":0},{"x":76,"y":0},{"x":77,"y":0},{"x":78,"y":0},{"x":79,"y":0},{"x":80,"y":0},{"x":81,"y":0},{"x":82,"y":0},{"x":83,"y":0},{"x":84,"y":0},{"x":85,"y":0},{"x":86,"y":0},{"x":87,"y":0},{"x":88,"y":0},{"x":89,"y":0},{"x":90,"y":0},{"x":91,"y":0},{"x":92,"y":0},{"x":93,"y":0},{"x":94,"y":0},{"x":95,"y":0},{"x":96,"y":0},{"x":97,"y":0},{"x":98,"y":0},{"x":99,"y":0},{"x":100,"y":0},{"x":101,"y":0},{"x":102,"y":0},{"x":103,"y":0},{"x":104,"y":0},{"x":105,"y":0},{"x":106,"y":0},{"x":107,"y":0},{"x":108,"y":0},{"x":109,"y":0},{"x":110,"y":0},{"x":111,"y":0},{"x":112,"y":0},{"x":113,"y":0},{"x":114,"y":0},{"x":115,"y":0},{"x":116,"y":0},{"x":117,"y":0},{"x":118,"y":0},{"x":119,"y":0},{"x":120,"y":0},{"x":121,"y":0},{"x":122,"y":0},{"x":123,"y":0},{"x":124,"y":0},{"x":125,"y":0},{"x":126,"y":0},{"x":127,"y":0},{"x":128,"y":0},{"x":129,"y":0},{"x":130,"y":0},{"x":131,"y" :0},{"x":132,"y":0},{"x":133,"y":0},{"x":134,"y":0},{"x":135,"y":0},{"x":136,"y":0},{"x":137,"y":0},{"x":138,"y":0},{"x":139,"y":0},{"x":140,"y":0},{"x":141,"y":0},{"x":142,"y":0},{"x":143,"y":0},{"x":144,"y":0},{"x":145,"y":0},{"x":146,"y":0},{"x":147,"y":0},{"x":148,"y":0},{"x":149,"y":0},{"x":150,"y":0},{"x":151,"y":0},{"x":152,"y":0},{"x":153,"y":0},{"x":154,"y":0},{"x":155,"y":0},{"x":156,"y":0},{"x":157,"y":0},{"x":158,"y":0},{"x":159,"y":0},{"x":160,"y":0},{"x":161,"y":0},{"x":162,"y":0},{"x":163,"y":0},{"x":164,"y":0},{"x":165,"y":0},{"x":166,"y":0},{"x":167,"y":0},{"x":168,"y":0},{"x":169,"y":0},{"x":170,"y":0},{"x":171,"y":0},{"x":172,"y":0},{"x":173,"y":0},{"x":174,"y":0},{"x":175,"y":0},{"x":176,"y":0},{"x":177,"y":0},{"x":178,"y":0},{"x":179,"y":0},{"x":180,"y":0},{"x":181,"y":0},{"x":182,"y":0},{"x":183,"y":0},{"x":184,"y":0},{"x":185,"y":0},{"x":186,"y":0},{"x":187,"y":0},{"x":188,"y":0},{"x":189,"y":0},{"x":190,"y":0},{"x":191,"y":0},{"x":192,"y":0},{"x":193, "y":0},{"x":194,"y":0},{"x":195,"y":0},{"x":196,"y":0},{"x":197,"y":0},{"x":198,"y":0},{"x":199,"y":0},{"x":200,"y":0},{"x":201,"y":0},{"x":202,"y":0},{"x":203,"y":0},{"x":204,"y":0},{"x":205,"y":0},{"x":206,"y":0},{"x":207,"y":0},{"x":208,"y":0},{"x":209,"y":0},{"x":210,"y":0},{"x":211,"y":0},{"x":212,"y":0},{"x":213,"y":0},{"x":214,"y":0},{"x":215,"y":0},{"x":216,"y":0},{"x":217,"y":0},{"x":218,"y":0},{"x":219,"y":0},{"x":220,"y":0},{"x":221,"y":0},{"x":222,"y":0},{"x":223,"y":0},{"x":224,"y":0},{"x":225,"y":0},{"x":226,"y":0},{"x":227,"y":0},{"x":228,"y":0},{"x":229,"y":0},{"x":230,"y":0},{"x":231,"y":0},{"x":232,"y":0},{"x":233,"y":0},{"x":234,"y":0},{"x":235,"y":0},{"x":236,"y":0},{"x":237,"y":0},{"x":238,"y":0},{"x":239,"y":0},{"x":240,"y":0},{"x":241,"y":0},{"x":242,"y":0},{"x":243,"y":0},{"x":244,"y":0},{"x":245,"y":0},{"x":246,"y":0},{"x":247,"y":0},{"x":248,"y":0},{"x":249,"y":0},{"x":250,"y":0},{"x":251,"y":0},{"x":252,"y":0},{"x":253,"y":0},{"x":254,"y":0},{"x":2 55,"y":0},{"x":256,"y":0},{"x":257,"y":0},{"x":258,"y":0},{"x":259,"y":0},{"x":260,"y":0},{"x":261,"y":0},{"x":262,"y":0},{"x":263,"y":0},{"x":264,"y":0},{"x":265,"y":0},{"x":266,"y":0},{"x":267,"y":0},{"x":268,"y":0},{"x":269,"y":0},{"x":270,"y":0},{"x":271,"y":0},{"x":272,"y":0},{"x":273,"y":0},{"x":274,"y":0},{"x":275,"y":0},{"x":276,"y":0},{"x":277,"y":0},{"x":278,"y":0},{"x":279,"y":0},{"x":280,"y":0},{"x":281,"y":0},{"x":282,"y":0},{"x":283,"y":0},{"x":284,"y":0},{"x":285,"y":0},{"x":286,"y":0},{"x":287,"y":0},{"x":288,"y":0},{"x":289,"y":0},{"x":290,"y":0},{"x":291,"y":0},{"x":292,"y":0},{"x":293,"y":0},{"x":294,"y":0},{"x":295,"y":0},{"x":296,"y":0},{"x":297,"y":0},{"x":298,"y":0},{"x":299,"y":0},{"x":300,"y":0},{"x":301,"y":0},{"x":302,"y":0},{"x":303,"y":0},{"x":304,"y":0},{"x":305,"y":0},{"x":306,"y":0},{"x":307,"y":0},{"x":308,"y":0},{"x":309,"y":0},{"x":310,"y":0},{"x":311,"y":0},{"x":312,"y":0},{"x":313,"y":0},{"x":314,"y":0},{"x":315,"y":0},{"x":316,"y":0},{"x ":317,"y":0},{"x":318,"y":0},{"x":319,"y":0},{"x":320,"y":0},{"x":321,"y":0},{"x":322,"y":0},{"x":323,"y":0},{"x":324,"y":0},{"x":325,"y":0},{"x":326,"y":0},{"x":327,"y":0},{"x":328,"y":0},{"x":329,"y":0},{"x":330,"y":0},{"x":331,"y":0},{"x":332,"y":0},{"x":333,"y":0},{"x":334,"y":0},{"x":335,"y":0},{"x":336,"y":0},{"x":337,"y":0},{"x":338,"y":0},{"x":339,"y":0},{"x":340,"y":0},{"x":341,"y":0},{"x":342,"y":0},{"x":343,"y":0},{"x":344,"y":0},{"x":345,"y":0},{"x":346,"y":0},{"x":347,"y":0},{"x":348,"y":0},{"x":349,"y":0},{"x":350,"y":0},{"x":351,"y":0},{"x":352,"y":0},{"x":353,"y":0},{"x":354,"y":0},{"x":355,"y":0},{"x":356,"y":0},{"x":357,"y":0},{"x":358,"y":0},{"x":359,"y":0},{"x":360,"y":0},{"x":361,"y":0},{"x":362,"y":0},{"x":363,"y":0},{"x":364,"y":0},{"x":365,"y":0},{"x":366,"y":0},{"x":367,"y":0},{"x":368,"y":0},{"x":369,"y":0},{"x":370,"y":0},{"x":371,"y":0},{"x":372,"y":0},{"x":373,"y":0},{"x":374,"y":0},{"x":375,"y":0},{"x":376,"y":0},{"x":377,"y":0},{"x":378,"y":0}, {"x":379,"y":0},{"x":380,"y":0},{"x":381,"y":0},{"x":382,"y":0},{"x":383,"y":0},{"x":384,"y":0},{"x":385,"y":0},{"x":386,"y":0},{"x":387,"y":0},{"x":388,"y":1},{"x":389,"y":1},{"x":390,"y":1},{"x":391,"y":1},{"x":392,"y":1},{"x":393,"y":1},{"x":394,"y":1},{"x":395,"y":1},{"x":396,"y":1},{"x":397,"y":1},{"x":398,"y":1},{"x":399,"y":1},{"x":400,"y":1},{"x":401,"y":1},{"x":402,"y":1},{"x":403,"y":1},{"x":404,"y":1},{"x":405,"y":1},{"x":406,"y":1},{"x":407,"y":1},{"x":408,"y":1},{"x":409,"y":1},{"x":410,"y":1},{"x":411,"y":1},{"x":412,"y":1},{"x":413,"y":1},{"x":414,"y":1},{"x":415,"y":1},{"x":416,"y":1},{"x":417,"y":1},{"x":418,"y":1},{"x":419,"y":1},{"x":420,"y":1},{"x":421,"y":1},{"x":422,"y":1},{"x":423,"y":0},{"x":424,"y":0},{"x":425,"y":0},{"x":426,"y":0},{"x":427,"y":0},{"x":428,"y":0},{"x":429,"y":0},{"x":430,"y":0},{"x":431,"y":0},{"x":432,"y":0},{"x":433,"y":0},{"x":434,"y":0},{"x":435,"y":0},{"x":436,"y":0},{"x":437,"y":0},{"x":438,"y":0},{"x":439,"y":0},{"x":440,"y": 0},{"x":441,"y":0},{"x":442,"y":0},{"x":443,"y":0},{"x":444,"y":0},{"x":445,"y":0},{"x":446,"y":0},{"x":447,"y":0},{"x":448,"y":0},{"x":449,"y":0},{"x":450,"y":0},{"x":451,"y":0},{"x":452,"y":0},{"x":453,"y":0},{"x":454,"y":0},{"x":455,"y":0},{"x":456,"y":0},{"x":457,"y":0},{"x":458,"y":0},{"x":459,"y":0},{"x":460,"y":0},{"x":461,"y":0},{"x":462,"y":0},{"x":463,"y":0},{"x":464,"y":0},{"x":465,"y":0},{"x":466,"y":0},{"x":467,"y":0},{"x":468,"y":0},{"x":469,"y":0},{"x":470,"y":0},{"x":471,"y":0},{"x":472,"y":0},{"x":473,"y":0},{"x":474,"y":0},{"x":475,"y":0},{"x":476,"y":0},{"x":477,"y":0},{"x":478,"y":0},{"x":479,"y":0},{"x":480,"y":0},{"x":481,"y":0},{"x":482,"y":0},{"x":483,"y":0},{"x":484,"y":0},{"x":485,"y":0},{"x":486,"y":0},{"x":487,"y":0},{"x":488,"y":0},{"x":489,"y":0},{"x":490,"y":0},{"x":491,"y":0},{"x":492,"y":0},{"x":493,"y":0},{"x":494,"y":0},{"x":495,"y":0},{"x":496,"y":0},{"x":497,"y":0},{"x":498,"y":0},{"x":499,"y":0}]]', [... 282 lines stripped ...] Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/models/run.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/models/run.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/models/run.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/models/run.js Thu Nov 8 02:40:49 2012 @@ -34,7 +34,7 @@ App.Run = DS.Model.extend({ appId:DS.attr('number'), jobs:DS.hasMany('App.Job'), duration: function() { - return date.dateFormatInterval(((parseInt(this.get('lastUpdateTime')) - parseInt(this.get('startTime')))/1000)); + return date.dateFormatInterval(parseInt((parseInt(this.get('lastUpdateTime')) - parseInt(this.get('startTime')))/1000)); }.property('lastUpdateTime', 'startTime'), isRunning: function () { if (!this.get('isLoaded')) { Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/apps.less URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/apps.less?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/apps.less (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/styles/apps.less Thu Nov 8 02:40:49 2012 @@ -18,11 +18,14 @@ .dropdown-menu label.checkbox { margin-left: 10px; } - span.icon-star{ + .icon-star{ color: gray; &.stared { color: inherit; } + &:hover { + text-decoration: none; + } } a.a { cursor: pointer; @@ -54,12 +57,15 @@ .clear { clear:both; } - .dataTable { + > div > .dataTable { border: 1px solid silver; th { border-top:none; } } + .content { + padding: 0; + } .app-table-row.hover{ opacity:0.8 ; } @@ -69,6 +75,12 @@ #filter_info { float:left; padding-top:10px; + + > .span3 > a.selected{ + cursor: default; + text-decoration: none; + color: #000; + } } .page-bar { border: 1px solid silver; @@ -93,5 +105,61 @@ } } } + #graph1 { + margin-left: 30px; + } + #graph2 { + margin-right: 30px; + } + + tr.containerRow > td{ + background: #f9f9f9; + } + + svg{ + vertical-align: top; //remove extra spaces after svg element + } + + ul.nav-tabs{ + margin-bottom: 0; + } + + #jobs, #bars{ + border: 1px solid #ddd; + border-top: none; + background: #fff; + padding: 10px; + box-sizing: border-box; + } + + #jobs h2{ + margin-top: 0; + } +//fix stripped in inner table + .table-striped tbody tr:nth-child(odd) + td .table-striped tbody + tr:nth-child(odd) td, + tr:nth-child(even) th{ + background: none; + } + + .sorting_asc { background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAEwATAwERAAIRAQMRAf/EAHgAAAMBAQAAAAAAAAAAAAAAAAAFCAYKAQACAQUAAAAAAAAAAAAAAAAABQMCBAYHCBAAAQUAAQMEAwAAAAAAAAAAAwECBAUGABESByExIghBMxQRAAIBAwMDAwUAAAAAAAAAAAECAwAEBRESBiExUUHhB2GBIhMU/9oADAMBAAIRAxEAPwDvA8k+Qc54sxGj32qlNi0ucrjTj/JqGlmROyJXQ2u/bOsZTmBExPd70/HXmQcW41lOX5+145h0L391KEHhR3Z28Ii6sx9AKgubiO1gaeU6Io19h9TUg/S/7eP+wia3NbBIFbuqiyn3VTCjIMArHHTJarEDGGiNU8vOKVsc7/VxBuGR3yV683X86/Cq/GpssrhP2S8emiSKRm1JS5VfyLH0WfQug7KwZR0CilWHy39++ObQTgkgeV9ux+xq9uc6U8pLfZzP6mClZpKWrvq1DilJAt4Mewh/0hRyBOsaUMoVKLvXtVU6t6+nL/HZTJYi4/rxU81tdbSu+N2Rtp7jcpB0OnUa9aoeOOVdsgDL4I1pFS+NPHmcsQ2+fw+UpLWOwwwWNVQ1kCaIcgaiONkmLGEZrDDXtcnXo5PfjC+5VybKWrWWSyF5cWbEEpJNI6kqdQSrMRqD1B9KjS2t423xoqt5AArb8 QVPRwoo4UUcKK//2Q==) no-repeat 85% 50%; } + .sorting_desc { background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAEwATAwERAAIRAQMRAf/EAIEAAAIDAQAAAAAAAAAAAAAAAAAGBwgJCgEBAAIDAQAAAAAAAAAAAAAAAAMFBAYHCBAAAAUDAwMFAAAAAAAAAAAAAQIDBAUABgcSNTYRFQgTZFUWZhEAAAQEAggGAwAAAAAAAAAAAAECAxEhBAYSMjFBYRMzFDQFUZFSYmMHJFRk/9oADAMBAAIRAxEAPwDv4oAKACgCKc1tMmusb3Eph6cSgsgx7fucEZxGRks2llGIGVWgVm8q1dt0+6ogKaapSgdNbQPXTqAdwsN602bopk3vTnUW24rduwccbU2S5E8Sm1JM92czSZwNOKUYDFrCqTp1corDUFMpEcYap+Ipb4P5O8n81y9xXXlG50yY+thR3AEivqFvRDmduvSUrhuLtrFNXqCFvJm1LAQ5RMuchB6gBy13f7+tP6lsOipuz2jSGdy1ZJeNzmXnEtU+pWFTikmbxyTEjgglKKZpMU3ZanudYtTtSr8dMoYSKKvKMte0aUV5YGxgoASbD2iQ4Tyi6uB7Rvz/AHD9R8r7/wBWr64uta6/pKfq+JwUZP5/1/hwCFjIeTMrLo0np93q2xDtVCJh/9k=) no-repeat 85% 50%; } + .sorting { background: url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAEwATAwERAAIRAQMRAf/EAGgAAAIDAQAAAAAAAAAAAAAAAAUHAAYICgEBAQAAAAAAAAAAAAAAAAAAAAEQAAEEAQIFAgcAAAAAAAAAAAECAwQFABEGIRI0NQcTFDFBMmNUZRYRAQEBAQAAAAAAAAAAAAAAAAABEUH/2gAMAwEAAhEDEQA/AO93cd/XbXpLC9tHQ1Dr46nljUBby/gzGZB+p+Q6QhA+ZOApfDnllW/ha1tv6Ee7iyH5kRlvlbTIqHndWkNJ0HO7XFQbWeJUkpUeOpySrZh65UUnyFUW1ztaexRmIbaPyzoLE6vg2UWW9GC1e0XHnsSGEqfQohCwApK9OIGuAjfBP9VuG0m39vGqINVUe4r2xF21TVsuXZOI9N9lMmLBYkttQ21auBKhqtSUngCMkW5xqjKiYASh6SR2Tulr2HpOvf6j9p+V9/mwDeB//9k=) no-repeat 85% 50%; } + + a.paginate_disabled_next, a.paginate_disabled_previous { + color: gray; + &:hover { + color: gray; + text-decoration: none; + } + } + + a.paginate_enabled_next, a.paginate_enabled_previous { + &:hover { + text-decoration: none; + } + } + } Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps.hbs Thu Nov 8 02:40:49 2012 @@ -16,10 +16,10 @@ * limitations under the License. -->
- + Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/templates/main/apps/list_row.hbs Thu Nov 8 02:40:49 2012 @@ -16,7 +16,8 @@ * limitations under the License. --> - ID {{run.appId}} + +ID {{run.appId}} {{run.appName}} {{run.type}} {{run.userName}} Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/utils/data_table.js Thu Nov 8 02:40:49 2012 @@ -113,12 +113,12 @@ jQuery.extend(jQuery.fn.dataTableExt.oAp jQuery.extend($.fn.dataTableExt.afnFiltering.push( function (oSettings, aData, iDataIndex) { var inputFilters = [ - {iColumn: '3', elementId: 'user_filter', type: 'multiple'}, - {iColumn: '4', elementId: 'jobs_filter', type: 'number' }, - {iColumn: '5', elementId: 'input_filter', type: 'number' }, - {iColumn: '6', elementId: 'output_filter', type: 'number' }, - {iColumn: '7', elementId: 'duration_filter', type: 'time' }, - {iColumn: '8', elementId: 'rundate_filter', type: 'date' } + {iColumn: '4', elementId: 'user_filter', type: 'multiple'}, + {iColumn: '5', elementId: 'jobs_filter', type: 'number' }, + {iColumn: '6', elementId: 'input_filter', type: 'number' }, + {iColumn: '7', elementId: 'output_filter', type: 'number' }, + {iColumn: '8', elementId: 'duration_filter', type: 'time' }, + {iColumn: '9', elementId: 'rundate_filter', type: 'date' } ]; var match = true; for (i = 0; i < inputFilters.length; i++) { @@ -246,7 +246,6 @@ jQuery.extend($.fn.dataTableExt.afnFilte ) ); - jQuery.extend(jQuery.fn.dataTableExt.oApi, { "fnFilterClear": function (oSettings) { /* Remove global filter */ Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/bar_view.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/bar_view.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/bar_view.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/bar_view.js Thu Nov 8 02:40:49 2012 @@ -20,6 +20,7 @@ var App = require('app'); var graph = require('utils/graph'); App.MainAppsItemBarView = Em.View.extend({ + elementId: 'bars', templateName: require('templates/main/apps/item/bar'), content:function(){ return this.get('parentView.jobs'); Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item/dag_view.js Thu Nov 8 02:40:49 2012 @@ -20,17 +20,26 @@ var App = require('app'); App.MainAppsItemDagView = Em.View.extend({ templateName: require('templates/main/apps/item/dag'), + elementId : 'jobs', content:function(){ - return this.get('parentView.jobs'); + var content = this.get('parentView.jobs'); + content.forEach(function(job){ + job.set('mapsProgress', Math.round((job.get('finishedMaps') / job.get('maps'))*100)); + job.set('reducesProgress', Math.round((job.get('finishedReduces') / job.get('reduces'))*100)); + }); + return content; }.property('parentView.jobs'), classNames:['table','dataTable'], + /** + * convert content to special jobs object for DagViewer + */ jobs: function(){ var c = this.get('content'); - var result = new Array(); + var result = []; c.forEach(function(item, index){ result[index] = new Object({ 'name' : item.get('id'), - 'status' : (item.get('status') == 'COMPLETE')? true : false, + 'status' : item.get('status') == 'COMPLETE', 'info' : [], 'input' : 2, 'output' : 3 @@ -39,12 +48,25 @@ App.MainAppsItemDagView = Em.View.extend return result; }.property('content'), didInsertElement:function (){ - var innerTable = this.$('#innerTable').dataTable({}); - var dagSchema = this.get('parentView.parentView.run').get('workflowContext'); - var jobs = this.get('content'); - var graph = new DagViewer(false,'dag_viewer') - .setPhysicalParametrs(800,250,-800,0.01) - .setData(dagSchema,jobs) - .drawDag(10,20,100); + var innerTable = this.$('#innerTable').dataTable({ + "sDom": 'rt<"page-bar"lip><"clear">', + "oLanguage": { + "sSearch": " Search", + "sLengthMenu": "Show: _MENU_", + "sInfo": "_START_ - _END_ of _TOTAL_", + "oPaginate":{ + "sPrevious": "", + "sNext": "" + } + }, + "iDisplayLength": 5, + "aLengthMenu": [[5, 10, 25, 50, -1], [5, 10, 25, 50, "All"]] + }); + var dagSchema = this.get('parentView.parentView.content').get('workflowContext'); + var jobs = this.get('jobs'); + var graph = new DagViewer(false, 'dag_viewer') + .setPhysicalParametrs(800, 250, -800, 0.01) + .setData(dagSchema, jobs) + .drawDag(10, 20, 100); } }); Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item_view.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item_view.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item_view.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps/item_view.js Thu Nov 8 02:40:49 2012 @@ -20,6 +20,7 @@ var App = require('app'); App.MainAppsItemView = Em.View.extend({ tagName: 'tr', + classNames : ['containerRow'], templateName:require('templates/main/apps/item'), menuTabs:[ Em.Object.create({ @@ -28,39 +29,42 @@ App.MainAppsItemView = Em.View.extend({ content:'App.MainAppsItemDagView' }), Em.Object.create({ - label:'Jobs', + label:'Charts', active:'', content:'App.MainAppsItemBarView' }) ], - run:function(){ - return this.get('parentView.run'); - }.property('parentView.run'), + content:function(){ + return App.router.get('mainAppsItemController.content'); + }.property('App.router.mainAppsItemController.content'), activeTab:null, switchTab:function(event){ var tabs = this.get('menuTabs'); for(var i = 0; i < tabs.length; i++){ - if(tabs[i] === event.context) tabs[i].set('active', 'active'); - else tabs[i].set('active', ''); + if(tabs[i] === event.context){ + tabs[i].set('active', 'active'); + } + else { + tabs[i].set('active', ''); + } } this.set('activeTab', event.context); }, + didInsertElement: function(){ + var tabs = this.get('menuTabs'); + tabs[0].set('active', 'active'); + tabs[1].set('active', ''); + }, containerView:Em.ContainerView.extend({ - elementId:'cont', jobs:function(){ - return this.get('parentView.run').get('jobs'); - }.property('parentView.run'), + return this.get('parentView.content').get('jobs'); + }.property('parentView.content'), onchange:function(){ - var view; - if(this.get('parentView.activeTab').get('label') === 'DAG'){ - var view = App.MainAppsItemDagView.create(); - } - if(this.get('parentView.activeTab').get('label') === 'Jobs'){ - var view = App.MainAppsItemBarView.create(); - } + var view = this.get('parentView.activeTab.content').split('.')[1]; + view = App[view].create(); + if(this.get('childViews')){ this.get('childViews').get('firstObject').destroy(); - this.get('childViews').removeObject(this.get('childViews').get('firstObject')); } this.get('childViews').pushObject(view); }.observes('parentView.activeTab') Modified: incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js URL: http://svn.apache.org/viewvc/incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js?rev=1406897&r1=1406896&r2=1406897&view=diff ============================================================================== --- incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js (original) +++ incubator/ambari/branches/AMBARI-666/ambari-web/app/views/main/apps_view.js Thu Nov 8 02:40:49 2012 @@ -27,16 +27,26 @@ App.MainAppsView = Em.View.extend({ */ content:function () { var content = this.get('controller').get('content'); - content.forEach(function(item){ - var app = App.store.find(App.App, item.get('appId')); - item.set('appName', app.get('appName')); - item.set('type', app.get('type')); - item.set('numJobsTotal' ,item.get('jobs').get('content').length); - item.get('jobs').forEach(function(item) { + content.forEach(function(run){ + var app = App.store.find(App.App, run.get('appId')); + run.set('appName', app.get('appName')); + run.set('type', app.get('type')); + run.set('numJobsTotal' ,run.get('jobs').get('content').length); + run.get('jobs').forEach(function(job) { + }); }); return content; }.property('App.router.mainAppsController.content'), + + /** + * Choose view type for apps list: + * all - show all runs + * filtered - show only filtered runs + * starred - show only filtered runs with stars selected + */ + viewType : 'all', + /** * List of users */ @@ -194,37 +204,61 @@ App.MainAppsView = Em.View.extend({ return ret; }, /** - * Reset filters - * @param event - */ - clearFilters:function(event) { - this._childViews.forEach(function(item){ - if(item.get('tagName') === 'input') { - item.set('value',''); - } - if(item.get('tagName') === 'select') { - item.set('value','Any'); - } - }); - this.get('oTable').fnFilterClear(); - this.set('filtered',this.get('oTable').fnSettings().fnRecordsDisplay()); - }, - /** * Click on big star on the avg block */ avgStarClick: function() { this.set('whatAvgShow', !this.get('whatAvgShow')); - event.srcElement.classList.toggle('active'); + $('a.icon-star.a').toggleClass('active'); }, /** * "turn off" stars in the table */ - clearStars: function(){ + clearStars: function() { if (this.get('controller.staredRunsLength') == 0 && this.get('smallStarsIcons') != null) { this.get('smallStarsIcons').removeClass('stared'); + this.set('whatAvgShow', true); + $('a.icon-star.a').removeClass('active'); } }.observes('controller.staredRunsLength'), /** + * Reset filters and "turn off" stars + */ + showAll: function() { + this.clearFilters(); + this.clearStars(); + }, + + /** + * Onclick handler for Show All/Filtered/Starred links + */ + changeViewType: function(event){ + if($(event.toElement).hasClass('selected')){ + return; + } + + $(event.toElement).parent().children('.selected').removeClass('selected'); + $(event.toElement).addClass('selected'); + + var viewType = $(event.toElement).data('view-type'); + console.log(viewType); + + switch(viewType){ + case 'all': + //do stuff here + break; + + case 'starred': + break; + + case 'filtered': + default: + //do stuff here + break; + }; + + }, + + /** * jQuery dataTable init */ didInsertElement:function () { @@ -237,9 +271,11 @@ App.MainAppsView = Em.View.extend({ // no need more. 31.10.2012 }, "oLanguage": { - "sSearch": " Search", + "sSearch": "Search:", "sLengthMenu": "Show: _MENU_", - "sInfo": "_START_ - _END_ of _TOTAL_", + "sInfo": "_START_ - _END_ of _TOTAL_ (_TOTAL_ total)", + "sInfoEmpty": "0 - _END_ of _TOTAL_ (_TOTAL_ total)", + "sInfoFiltered": "", "oPaginate":{ "sPrevious": "", "sNext": "" @@ -249,6 +285,7 @@ App.MainAppsView = Em.View.extend({ "iDisplayLength": 10, "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]], "aoColumns":[ + { "bSortable": false }, null, null, null, @@ -316,9 +353,9 @@ App.MainAppsView = Em.View.extend({ content:['Any', 'Pig', 'Hive', 'mapReduce'], change:function(event){ if(this.get('selection') === 'Any') { - this._parentView.get('oTable').fnFilter('', 2); + this._parentView.get('oTable').fnFilter('', 3); } else { - this._parentView.get('oTable').fnFilter(this.get('selection'), 2); + this._parentView.get('oTable').fnFilter(this.get('selection'), 3); } this._parentView.set('filtered',this._parentView.get('oTable').fnSettings().fnRecordsDisplay()); } @@ -335,7 +372,7 @@ App.MainAppsView = Em.View.extend({ classNames:['input-medium'], elementId: 'rundate_filter', change:function(event) { - this.get('parentView').get('applyFilter')(this.get('parentView'), 8); + this.get('parentView').get('applyFilter')(this.get('parentView'), 9); } }), /** @@ -345,8 +382,9 @@ App.MainAppsView = Em.View.extend({ classNames:['input-small'], type:'text', placeholder: 'Any ID', - filtering:function(){ - this.get('parentView').get('applyFilter')(this.get('parentView'), 0, this.get('value')); + elementId:'appid_filter', + filtering:function() { + this.get('parentView').get('applyFilter')(this.get('parentView'), 1, this.get('value')); }.observes('value') }), /** @@ -357,7 +395,7 @@ App.MainAppsView = Em.View.extend({ type:'text', placeholder: 'Any Name', filtering:function(){ - this.get('parentView').get('applyFilter')(this.get('parentView'), 1, this.get('value')); + this.get('parentView').get('applyFilter')(this.get('parentView'), 2, this.get('value')); }.observes('value') }), /** @@ -369,7 +407,7 @@ App.MainAppsView = Em.View.extend({ placeholder: 'Any ', elementId:'jobs_filter', filtering:function(){ - this.get('parentView').get('applyFilter')(this.get('parentView'), 4); + this.get('parentView').get('applyFilter')(this.get('parentView'), 5); }.observes('value') }), /** @@ -381,7 +419,7 @@ App.MainAppsView = Em.View.extend({ placeholder: 'Any ', elementId: 'input_filter', filtering:function(){ - this.get('parentView').get('applyFilter')(this.get('parentView'), 5); + this.get('parentView').get('applyFilter')(this.get('parentView'), 6); }.observes('value') }), /** @@ -393,7 +431,7 @@ App.MainAppsView = Em.View.extend({ placeholder: 'Any ', elementId: 'output_filter', filtering:function(){ - this.get('parentView').get('applyFilter')(this.get('parentView'), 6); + this.get('parentView').get('applyFilter')(this.get('parentView'), 7); }.observes('value') }), /** @@ -405,7 +443,7 @@ App.MainAppsView = Em.View.extend({ placeholder: 'Any ', elementId: 'duration_filter', filtering:function(){ - this.get('parentView').get('applyFilter')(this.get('parentView'), 7); + this.get('parentView').get('applyFilter')(this.get('parentView'), 8); }.observes('value') }), /** @@ -457,7 +495,7 @@ App.MainAppsView = Em.View.extend({ jQuery('#user_filter').val([]); self.get('parentView').get('oTable').fnFilter('', 3); }, - applyFilter:function(){ + applyFilter:function() { var chosenUsers = new Array(); this.set('open', !this.get('open')); this.set('isApplyDisabled', !this.get('isApplyDisabled')); @@ -481,27 +519,33 @@ App.MainAppsView = Em.View.extend({ containerRow : Em.ContainerView.extend({ /** - * Uniq row id + * Unique row id */ - id: function(){ + id: function() { return this.get('run.id'); }.property("run.id"), - + /** + * Delete expanded row from table + * + * @param row + */ + deleteRow:function(row){ + row.get('rowChildView').destroy(); + row.set('rowView', null); + row.set('rowChildView', null); + }, /** * Show/hide additional content appropriated for this row */ expandToggle : function(){ var newView = App.MainAppsItemView.create(); var expandedView = this.get('parentView.expandedRow'); + App.router.get('mainAppsItemController').set('content', this.get('run')); if(expandedView.get('rowView')) { if(this === expandedView.get('rowView')) { - expandedView.get('rowView').get('childViews').removeObject(expandedView.get('rowChildView')); - expandedView.get('rowChildView').destroy(); - expandedView.set('rowView', null); - expandedView.set('rowChildView', null); + this.get('deleteRow')(expandedView); } else { - //expandedView.get('rowView').get('childViews').removeObject(expandedView.get('rowChildView')); - expandedView.get('rowChildView').destroy(); + this.get('deleteRow')(expandedView); expandedView.set('rowView', this); expandedView.set('rowChildView', newView); this.get('childViews').pushObject(newView);