incubator-ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yus...@apache.org
Subject svn commit: r1431824 - in /incubator/ambari/trunk/ambari-web/app: ./ controllers/main/ controllers/main/service/info/ data/ mappers/ models/ styles/ templates/main/apps/item/ templates/main/host/ utils/ views/main/
Date Fri, 11 Jan 2013 02:30:31 GMT
Author: yusaku
Date: Fri Jan 11 02:30:30 2013
New Revision: 1431824

URL: http://svn.apache.org/viewvc?rev=1431824&view=rev
Log:
AMBARI-1145. Cluster Management refactoring. (yusaku)

Modified:
    incubator/ambari/trunk/ambari-web/app/controllers/main/host.js
    incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
    incubator/ambari/trunk/ambari-web/app/data/custom_configs.js
    incubator/ambari/trunk/ambari-web/app/mappers/jobs_mapper.js
    incubator/ambari/trunk/ambari-web/app/messages.js
    incubator/ambari/trunk/ambari-web/app/models/form.js
    incubator/ambari/trunk/ambari-web/app/models/host.js
    incubator/ambari/trunk/ambari-web/app/models/job.js
    incubator/ambari/trunk/ambari-web/app/styles/application.less
    incubator/ambari/trunk/ambari-web/app/styles/apps.less
    incubator/ambari/trunk/ambari-web/app/templates/main/apps/item/dag.hbs
    incubator/ambari/trunk/ambari-web/app/templates/main/host/summary.hbs
    incubator/ambari/trunk/ambari-web/app/utils/data_table.js
    incubator/ambari/trunk/ambari-web/app/views/main/apps_view.js
    incubator/ambari/trunk/ambari-web/app/views/main/host.js

Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/host.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/host.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/host.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/host.js Fri Jan 11 02:30:30 2013
@@ -22,9 +22,10 @@ var validator = require('utils/validator
 App.MainHostController = Em.ArrayController.extend({
   name:'mainHostController',
   content:[],
+  comeWithFilter: false,
   fullContent:App.Host.find(),
   clusters:App.Cluster.find(),
-  //componentsForFilter: App.Component.find(),
+
   isAdmin: function(){
     return App.db.getUser().admin;
   }.property('App.router.loginController.loginName'),
@@ -50,38 +51,6 @@ App.MainHostController = Em.ArrayControl
 
   totalBinding:'fullContent.length',
   filters:{components:[]},
-  pageSize: 25,
-  pageSizeRange:[10, 25, 50, 100, 'all'],
-  rangeStart:0,
-//  allChecked:false,
-//  selectedHostsIds:[],
-  selectedRack:null,
-
-//  assignHostsToRack:function () {
-//    var selectedRack = this.get('selectedRack');
-//    var sureMessage = this.t('hosts.assignToRack.sure');
-//    var hostsIds = this.get('selectedHostsIds');
-//
-//    var hostString = hostsIds.length + " " + this.t(hostsIds.length > 1 ? "host.plural" : "host.singular");
-//
-//    if (selectedRack.constructor == 'App.Cluster' && hostsIds.length
-//      && confirm(sureMessage.format(hostString, selectedRack.get('clusterName')))) {
-//      this.get('content').forEach(function (host) {
-//        if (host.get('isChecked')) {
-//          host.set('cluster', selectedRack);
-//          host.set('isChecked', false);
-//        }
-//      })
-//      this.set('selectedHostsIds', []);
-//    }
-//
-//  },
-
-  sortingAsc:true,
-  isSort:false,
-  sortClass:function () {
-    return this.get('sortingAsc') ? 'icon-arrow-down' : 'icon-arrow-up';
-  }.property('sortingAsc'),
   isDisabled:true,
 
   checkRemoved:function (host_id) {
@@ -124,38 +93,6 @@ App.MainHostController = Em.ArrayControl
     return 5;
   }.property(),
 
-//  onAllChecked:function () {
-//    var hosts = this.get('content');
-//    hosts.setEach('isChecked', this.get('allChecked'));
-//    this.set('isDisabled', !this.get('allChecked'));
-//    var selectedHostsIds = this.get('allChecked') ? hosts.getEach('id') : [];
-//    this.set('selectedHostsIds', selectedHostsIds);
-//  }.observes('allChecked'),
-//
-//  onHostChecked:function (host) {
-//    var selected = this.get('selectedHostsIds');
-//    host.set('isChecked', !host.get('isChecked'));
-//    if (host.get('isChecked')) {
-//      selected.push(host.get('id'));
-//    } else {
-//      var index = selected.indexOf(host.get('id'));
-//      if (index != -1) selected.splice(index, 1);
-//    }
-//    this.set('isDisabled', selected.length == 0);
-//    this.propertyDidChange('selectedHostsIds');
-//  },
-//
-//  changeSelectedHosts:function () {
-//    var visibleHosts = this.get('content');
-//    var selectedHosts = visibleHosts.filterProperty('isChecked', true);
-//    this.get('fullContent').forEach(function (item) {
-//      var index = visibleHosts.getEach('id').indexOf(item.get('id'));
-//      if (index == -1) item.set('isChecked', false);
-//    });
-//    this.set('isDisabled', selectedHosts.length == 0);
-//    this.set('selectedHostsIds', selectedHosts.getEach('id'));
-//  },
-
   checkedComponentsIds:function () {
     var checked = [];
     this.get('componentsForFilter').forEach(function (comp) {
@@ -166,20 +103,6 @@ App.MainHostController = Em.ArrayControl
     return checked;
   },
 
-  filterByComponentsIds:function () {
-    var componentsIds = this.checkedComponentsIds();
-    this.set('filters.components', componentsIds);
-
-//      component.set('isChecked', component.get('id') != -1);
-
-    this.changeContent();
-  },
-
-  filterHostsBy:function (field, value) {
-    this.set('hostFilter' + field, value);
-    this.changeContent();
-  },
-
   filterByComponent:function (component) {
     var id = component.get('id');
     /*this.get('componentsForFilter').setEach('isChecked', false);
@@ -189,7 +112,7 @@ App.MainHostController = Em.ArrayControl
     //component.set('checkedForHostFilter', true);
     this.set('filters.components', [component.get('id')]);
     console.log(this.get('filters.components').objectAt(0));
-    this.changeContent();
+    this.set('comeWithFilter', true);
   },
 
 
@@ -247,39 +170,8 @@ App.MainHostController = Em.ArrayControl
     items = this.applyHostFilters(items);
     this.set('total', items.length);
 
-    var content = items.slice(this.get('rangeStart'), this.get('rangeStop'));
-    this.replace(0, this.get('length'), content);
-//    this.changeSelectedHosts();
-  }.observes('rangeStart', 'rangeStop', 'total'),
-
-  showNextPage:function () {
-    this.nextPage();
-  },
-  showPreviousPage:function () {
-    this.previousPage();
-  },
-  assignedToRackPopup:function (event) {
-    var self = this;
-    App.ModalPopup.show({
-      header:Em.I18n.t('hosts.assignedToRack.popup.header'),
-      body:Em.I18n.t('hosts.assignedToRack.popup.body'),
-      primary:'Yes',
-      secondary:'No',
-      onPrimary:function () {
-        self.assignedToRack(event.context);
-        this.hide();
-      },
-      onSecondary:function () {
-        this.hide();
-      }
-    });
-  },
-
-  assignedToRack:function (rack) {
-    var hosts = this.get('content');
-    var selectedHosts = hosts.filterProperty('isChecked', true);
-    selectedHosts.setEach('cluster', rack);
-  },
+    this.replace(0, this.get('length'), items);
+  }.observes('total'),
 
   decommissionButtonPopup:function () {
     var self = this;
@@ -319,24 +211,7 @@ App.MainHostController = Em.ArrayControl
     selectedHosts.forEach(function (_hostInfo) {
       console.log('Removing:  ' + _hostInfo.hostName);
     });
-//    App.db.removeHosts(selectedHosts);
     this.get('fullContent').removeObjects(selectedHosts);
-  },
-  sortByName:function () {
-    var asc = this.get('sortingAsc');
-    var objects = this.get('fullContent').toArray().sort(function (a, b) {
-      var nA = a.get('hostName').toLowerCase();
-      var nB = b.get('hostName').toLowerCase();
-      if (nA < nB)
-        return asc ? -1 : 1;
-      else if (nA > nB)
-        return asc ? 1 : -1;
-      return 0;
-    });
-    this.set('fullContent', objects);
-    this.set('isSort', true);
-    this.set('sortingAsc', !this.get('sortingAsc'));
-    this.changeContent();
   }
 
 });
\ No newline at end of file

Modified: incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js (original)
+++ incubator/ambari/trunk/ambari-web/app/controllers/main/service/info/configs.js Fri Jan 11 02:30:30 2013
@@ -276,6 +276,7 @@ App.MainServiceInfoConfigsController = E
           serviceConfigObj.isRequired = configProperty.isRequired ? configProperty.isRequired : true;
           serviceConfigObj.isReconfigurable = (configProperty.isReconfigurable !== undefined) ? configProperty.isReconfigurable : true;
           serviceConfigObj.isVisible = (configProperty.isVisible !== undefined) ? configProperty.isVisible : true;
+          serviceConfigObj.unit = (configProperty.isVisible !== undefined) ? configProperty.unit : undefined;
 
         }
         serviceConfigObj.displayType = this.get('configs').someProperty('name', index) ? this.get('configs').findProperty('name', index).displayType : null;
@@ -877,16 +878,18 @@ App.MainServiceInfoConfigsController = E
           var value = _keyValue.match(/=(.*)/);
           if (key) {
             // Check dat entered config is allowed to reconfigure
-            if (this.get('uiConfigs').someProperty('name', key[1])) {
+            if (this.get('uiConfigs').filterProperty('filename', _site.name + '.xml').someProperty('name', key[1])) {
               var property = {
-                siteProperty: key[1],
+                siteProperty: null,
                 displayNames: []
               };
-              if (this.get('configMapping').someProperty('name', key[1])) {
-                this.setPropertyDisplayNames(property.displayNames, this.get('configMapping').findProperty('name', key[1]).templateName);
-              }
-              siteProperties.push(property);
               if (_site.name !== 'core-site') {
+                property.siteProperty = key[1];
+
+                if (this.get('configMapping').someProperty('name', key[1])) {
+                  this.setPropertyDisplayNames(property.displayNames, this.get('configMapping').findProperty('name', key[1]).templateName);
+                }
+                siteProperties.push(property);
                 flag = false;
               } else {
                 this.setSiteProperty(key[1], value[1], _site.name + '.xml');
@@ -924,8 +927,8 @@ App.MainServiceInfoConfigsController = E
    * Set property of the site variable
    */
   setSiteProperty: function (key, value, filename) {
-    if(filename === 'core-site.xml' && this.get('uiConfigs').filterProperty('filename','core-site.xml').someProperty('name',key)) {
-      this.get('uiConfigs').filterProperty('filename','core-site.xml').findProperty('name',key).value = value;
+    if (filename === 'core-site.xml' && this.get('uiConfigs').filterProperty('filename', 'core-site.xml').someProperty('name', key)) {
+      this.get('uiConfigs').filterProperty('filename', 'core-site.xml').findProperty('name', key).value = value;
       return;
     }
     this.get('uiConfigs').pushObject({

Modified: incubator/ambari/trunk/ambari-web/app/data/custom_configs.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/data/custom_configs.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/data/custom_configs.js (original)
+++ incubator/ambari/trunk/ambari-web/app/data/custom_configs.js Fri Jan 11 02:30:30 2013
@@ -29,6 +29,7 @@ module.exports =
       "displayType": "custom",
       "isVisible": true,
       "isRequired": false,
+      "isReconfigurable": false,
       "serviceName": "HDFS",
       "category": "Advanced"
     },

Modified: incubator/ambari/trunk/ambari-web/app/mappers/jobs_mapper.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/mappers/jobs_mapper.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/mappers/jobs_mapper.js (original)
+++ incubator/ambari/trunk/ambari-web/app/mappers/jobs_mapper.js Fri Jan 11 02:30:30 2013
@@ -38,17 +38,11 @@ App.jobsMapper = App.QuickDataMapper.cre
     job_name:'jobName',
     workflow_entity_name:'workflowEntityName',
     user_name:'userName',
-    $queue:'default',
-    $acls:5,
     conf_path:'confPath',
     submit_time:'submitTime',
     maps:'maps',
     reduces:'reduces',
     status:'status',
-    $priority:null,
-    $failed_maps:3,
-    $failed_reduces:3,
-    $job_counters:3,
     input:'inputBytes',
     output:'outputBytes',
     elapsed_time:'elapsedTime'

Modified: incubator/ambari/trunk/ambari-web/app/messages.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/messages.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/messages.js (original)
+++ incubator/ambari/trunk/ambari-web/app/messages.js Fri Jan 11 02:30:30 2013
@@ -279,8 +279,6 @@ Em.I18n.translations = {
   'hosts.host.stop.popup.header':'Confirmation',
   'hosts.host.start.popup.body':'Are you sure?',
   'hosts.host.stop.popup.body':'Are you sure?',
-  'hosts.assignedToRack.popup.body':'Are you sure?',
-  'hosts.assignedToRack.popup.header':'Confirmation',
   'hosts.decommission.popup.body':'Are you sure?',
   'hosts.decommission.popup.header':'Confirmation',
   'hosts.delete.popup.body':'Are you sure?',
@@ -323,7 +321,7 @@ Em.I18n.translations = {
   'dashboard.services':'Services',
   'dashboard.services.hosts':'Hosts',
   'dashboard.services.uptime':'{0}',
-  'dashboard.services.hdfs.summary':'{0} of {1} nodes live, {2}% capacity free',
+  'dashboard.services.hdfs.summary':'{0} of {1} nodes live, {2}% capacity used',
   'dashboard.services.hdfs.nanmenode':'NameNode',
   'dashboard.services.hdfs.snanmenode':'Secondary NameNode',
   'dashboard.services.hdfs.capacity':'HDFS Disk Capacity',

Modified: incubator/ambari/trunk/ambari-web/app/models/form.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/models/form.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/models/form.js (original)
+++ incubator/ambari/trunk/ambari-web/app/models/form.js Fri Jan 11 02:30:30 2013
@@ -124,12 +124,16 @@ App.Form = Em.View.extend({
       });
     } else {
       if (this.get('className'))
-        App.store.createRecord(this.get('className'), this.getValues())
-      else
+      {
+        var rec = App.store.createRecord(this.get('className'), this.getValues());
+        //rec.get('stateManager').send('becameClean');
+      }
+      else{
         console.log("Please define class name for your form " + this.constructor);
+      }
     }
 
-    App.store.commit();
+    //App.store.commit();
     this.set('result', 1);
 
     return true;

Modified: incubator/ambari/trunk/ambari-web/app/models/host.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/models/host.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/models/host.js (original)
+++ incubator/ambari/trunk/ambari-web/app/models/host.js Fri Jan 11 02:30:30 2013
@@ -68,13 +68,13 @@ App.Host = DS.Model.extend({
    * Format diskUsed value to float with 2 digits (also convert to GB)
    */
   diskUsedFormatted: function() {
-    return Math.round(this.get('diskUsed') / (1024*1024*1024) * Math.pow(10, 2)) / Math.pow(10, 2) + 'GB';
+    return Math.round(this.get('diskUsed') * Math.pow(10, 2)) / Math.pow(10, 2) + 'GB';
   }.property('diskUsed'),
   /**
    * Format diskTotal value to float with 2 digits (also convert to GB)
    */
   diskTotalFormatted: function() {
-    return Math.round(this.get('diskTotal') / (1024*1024*1024) * Math.pow(10, 2)) / Math.pow(10, 2) + 'GB';
+    return Math.round(this.get('diskTotal') * Math.pow(10, 2)) / Math.pow(10, 2) + 'GB';
   }.property('diskTotal'),
   /**
    * Percent value of used disk space

Modified: incubator/ambari/trunk/ambari-web/app/models/job.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/models/job.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/models/job.js (original)
+++ incubator/ambari/trunk/ambari-web/app/models/job.js Fri Jan 11 02:30:30 2013
@@ -28,23 +28,11 @@ App.Job = DS.Model.extend({
   jobName:DS.attr('string'),
   workflowEntityName:DS.attr('string'),
   userName:DS.attr('string'),
-  queue:DS.attr('string'),
-  acls:DS.attr('string'),
   confPath:DS.attr('string'),
   submitTime:DS.attr('number'),
-  launchTime:DS.attr('number'),
-  finishTime:DS.attr('number'),
   maps:DS.attr('number'),
   reduces:DS.attr('number'),
   status:DS.attr('string'),
-  priority:DS.attr('string'),
-  finishedMaps:DS.attr('number'),
-  finishedReduces:DS.attr('number'),
-  failedMaps:DS.attr('number'),
-  failedReduces:DS.attr('number'),
-  mapsRuntime:DS.attr('number'),
-  reducesRuntime:DS.attr('number'),
-  jobCounters:DS.attr('number'),
   input:DS.attr('number'),
   output:DS.attr('number'),
   elapsedTime:DS.attr('number'),
@@ -66,323 +54,8 @@ App.Job = DS.Model.extend({
   outputFormatted: function () {
     var output = this.get('output');
     return misc.formatBandwidth(output);
-  }.property('output'),
-
-  mapsProgress: function(){
-    return Math.round((this.get('finishedMaps') / this.get('maps'))*100) || 0;
-  }.property('finishedMaps', 'maps'),
-
-  reducesProgress: function(){
-    return Math.round((this.get('finishedReduces') / this.get('reduces'))*100) || 0;
-  }.property('finishedReduces', 'reduces')
+  }.property('output')
 
 });
 
-App.Job.FIXTURES = [
-  /*{
-    id:1,
-    job_id:'job_201209201356_0001',
-    workflow:1,
-    job_name:'PiEstimator',
-    workflow_entity_name:'nodeA',
-    user_name:'jsmith',
-    queue:'default',
-    acls:null,
-    conf_path:'hdfs://localhost:9000/tmp/hadoop-jsmith/mapred/staging/jsmith/\.staging/job_201209201356_0001/job\.xml',
-    submit_time:1348174627119,
-    launch_time:1348174627650,
-    finish_time:1348174669539,
-    maps:20,
-    reduces:11,
-    status:'RUNNING',
-    priority:null,
-    finished_maps:12,
-    finished_reduces:5,
-    failed_maps:null,    failed_reduces:null,
-
-    maps_runtime:22299,
-    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/trunk/ambari-web/app/styles/application.less
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/styles/application.less?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/styles/application.less (original)
+++ incubator/ambari/trunk/ambari-web/app/styles/application.less Fri Jan 11 02:30:30 2013
@@ -2280,6 +2280,10 @@ ul.inline li {
   border-color: #D2D9DD;
   color: #4E575B;
   text-shadow: none;
+  .spinner {
+    padding: 8px 35px 8px 42px;
+    background: url(/img/spinner.gif) no-repeat;
+  }
 }
 
 /*
@@ -2303,10 +2307,6 @@ ul.inline li {
 }
 
 .modal-body {
-  .spinner {
-    padding: 8px 35px 8px 42px;
-    background: url(/img/spinner.gif) no-repeat;
-  }
   max-height: none;
 }
 

Modified: incubator/ambari/trunk/ambari-web/app/styles/apps.less
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/styles/apps.less?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/styles/apps.less (original)
+++ incubator/ambari/trunk/ambari-web/app/styles/apps.less Fri Jan 11 02:30:30 2013
@@ -58,9 +58,7 @@
   #dataTable {
     table-layout: fixed;
     td {
-      &.appId {
-        word-wrap: break-word;
-      }
+      word-wrap: break-word;
     }
   }
 

Modified: incubator/ambari/trunk/ambari-web/app/templates/main/apps/item/dag.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/templates/main/apps/item/dag.hbs?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/templates/main/apps/item/dag.hbs (original)
+++ incubator/ambari/trunk/ambari-web/app/templates/main/apps/item/dag.hbs Fri Jan 11 02:30:30 2013
@@ -36,8 +36,8 @@
         <td>{{job.workflowEntityName}}</td>
         <td>{{job.id}}</td>
         <td>{{job.status}}</td>
-        <td>{{job.maps}}&nbsp;({{job.mapsProgress}}%)</td>
-        <td>{{job.reduces}}&nbsp;({{job.reducesProgress}}%)</td>
+        <td>{{job.maps}}</td>
+        <td>{{job.reduces}}</td>
         <td>{{job.inputFormatted}}</td>
         <td>{{job.outputFormatted}}</td>
         <td>{{job.duration}}</td>

Modified: incubator/ambari/trunk/ambari-web/app/templates/main/host/summary.hbs
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/templates/main/host/summary.hbs?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/templates/main/host/summary.hbs (original)
+++ incubator/ambari/trunk/ambari-web/app/templates/main/host/summary.hbs Fri Jan 11 02:30:30 2013
@@ -30,7 +30,7 @@
 		      <dt>IP Address:</dt><dd>&nbsp;{{view.content.ip}}</dd>
           <dt>OS:</dt><dd>&nbsp;{{view.content.osType}}&nbsp;({{view.content.osArch}})</dd>
 		      <dt>CPU:</dt><dd>&nbsp;{{view.content.cpu}}</dd>
-          <dt>Disk:</dt><dd>&nbsp;{{view.content.diskUsageFormatted}}</dd>
+          <dt>Disk:</dt><dd>&nbsp;{{view.content.diskInfoBar}}</dd>
           <dt>Memory:</dt><dd>&nbsp;{{view.content.memoryFormatted}}</dd>
 		      <dt>Load Avg:</dt><dd>&nbsp;{{view.content.loadAvg}}</dd>
 		      <dt>Agent <br/> Heartbeat:</dt><dd>{{view.timeSinceHeartBeat}}</dd>

Modified: incubator/ambari/trunk/ambari-web/app/utils/data_table.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/utils/data_table.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/utils/data_table.js (original)
+++ incubator/ambari/trunk/ambari-web/app/utils/data_table.js Fri Jan 11 02:30:30 2013
@@ -160,7 +160,7 @@ jQuery.extend($.fn.dataTableExt.afnFilte
         {iColumn: '0', elementId: 'star_filter', type: 'star'},
         {iColumn: '3', elementId: 'cpu_filter', type: 'number'},
         {iColumn: '6', elementId: 'load_avg_filter', type: 'number'},
-        {iColumn: '4', elementId: 'user_filter', type: 'multiple'},
+        {iColumn: '5', elementId: 'user_filter', type: 'multiple'},
         {iColumn: '9', elementId: 'components_filter', type: 'multiple'},
         {iColumn: '6', elementId: 'jobs_filter', type: 'number' },
         {iColumn: '4', elementId: 'ram_filter', type: 'ambari-bandwidth' },

Modified: incubator/ambari/trunk/ambari-web/app/views/main/apps_view.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/views/main/apps_view.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/views/main/apps_view.js (original)
+++ incubator/ambari/trunk/ambari-web/app/views/main/apps_view.js Fri Jan 11 02:30:30 2013
@@ -268,9 +268,11 @@ App.MainAppsView = Em.View.extend({
    */
   updateStars: function() {
     var self = this;
-    $('#dataTable tbody tr').each(function(index) {
-      self.get('oTable').fnUpdate( $('#dataTable tbody tr:eq(' + index + ') td:eq(0)').html(), self.get('oTable').fnSettings()['aiDisplay'][index], 0);
-    });
+    if (this.get('oTable').fnSettings().fnRecordsDisplay()) {
+      $('#dataTable tbody tr').each(function(index) {
+        self.get('oTable').fnUpdate( $('#dataTable tbody tr:eq(' + index + ') td:eq(0)').html(), self.get('oTable').fnSettings()['aiDisplay'][index], 0);
+      });
+    }
   },
   /**
    * Reset filters and "turn off" stars

Modified: incubator/ambari/trunk/ambari-web/app/views/main/host.js
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-web/app/views/main/host.js?rev=1431824&r1=1431823&r2=1431824&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-web/app/views/main/host.js (original)
+++ incubator/ambari/trunk/ambari-web/app/views/main/host.js Fri Jan 11 02:30:30 2013
@@ -95,46 +95,8 @@ App.MainHostView = Em.View.extend({
       //return "width:" + (25+Math.random()*50) + "%"; // Just for tests purposes
     }.property('content.diskUsage')
 
-//    HostCheckboxView:Em.Checkbox.extend({
-//      content:null,
-//      isChecked:false,
-//      change:function (event) {
-//        this.set('isChecked', !this.get('content.isChecked'));
-//        App.router.get('mainHostController').onHostChecked(this.get('content'));
-//      }
-//    })
   }),
 
-  RackCombobox:App.Combobox.extend({
-    disabled:function () {
-      var selectedHostsIds = App.router.get('mainHostController.selectedHostsIds');
-
-      // when user apply assigning and hosts become unchecked, we need to clear textfield
-      if (!selectedHostsIds.length) {
-        this.clearTextFieldValue();
-      }
-
-      return !selectedHostsIds.length;
-
-    }.property('App.router.mainHostController.selectedHostsIds'),
-
-    recordArray:App.Cluster.find(),
-    placeholderText:Em.I18n.t('hosts.assignRack'),
-    selectionBinding:"App.router.mainHostController.selectedRack",
-    optionLabelPath:"content.clusterName",
-    optionValuePath:"content.id",
-    didInsertElement:function () {
-      this._super();
-      App.router.get('mainHostController').propertyDidChange('selectedHostsIds');
-    }
-  }),
-
-  assignRackButtonDisabled:function () {
-    var selectedHostsIds = App.router.get('mainHostController.selectedHostsIds');
-    var rack = App.router.get('mainHostController.selectedRack');
-    return (selectedHostsIds.length && rack && rack.constructor == 'App.Cluster') ? false : "disabled";
-  }.property('App.router.mainHostController.selectedHostsIds', 'App.router.mainHostController.selectedRack'),
-
   nameFilterView: Em.TextField.extend({
     classNames:['input-medium'],
     type:'text',
@@ -343,7 +305,6 @@ App.MainHostView = Em.View.extend({
                     '{{/each}}' +
                   '</ul>' +
                 '</li>' +
-              '</li>' +
             '</ul>' +
           '</li>' +
           '<li>' +
@@ -391,6 +352,14 @@ App.MainHostView = Em.View.extend({
         });
       }
     },
+
+    didInsertElement:function () {
+      if (this.get('controller.comeWithFilter')) {
+        this.applyFilter();
+        this.closeFilters();
+      }
+    },
+
     applyFilter:function() {
       var chosenComponents = new Array();
 



Mime
View raw message