You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2014/05/16 00:51:11 UTC
git commit: AMBARI-5782. View: Files UI clean-up and adjustments.
(jaimin)
Repository: ambari
Updated Branches:
refs/heads/trunk 81173e14d -> a9bc8eb86
AMBARI-5782. View: Files UI clean-up and adjustments. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a9bc8eb8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a9bc8eb8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a9bc8eb8
Branch: refs/heads/trunk
Commit: a9bc8eb86bbd052e19626e6e6cca21304e8a9380
Parents: 81173e1
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Thu May 15 15:50:21 2014 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Thu May 15 15:50:59 2014 -0700
----------------------------------------------------------------------
.../files/src/main/resources/ui/app/adapter.js | 11 +++
.../main/resources/ui/app/controllers/file.js | 4 +-
.../main/resources/ui/app/controllers/files.js | 8 +-
.../src/main/resources/ui/app/models/file.js | 5 +-
.../src/main/resources/ui/app/routes/file.js | 2 +-
.../resources/ui/app/styles/application.less | 12 ++-
.../main/resources/ui/app/templates/files.hbs | 79 +++++++++++---------
.../src/main/resources/ui/app/views/file.js | 2 +-
8 files changed, 74 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/adapter.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/adapter.js b/contrib/views/files/src/main/resources/ui/app/adapter.js
index 9f7ca65..b8e127b 100644
--- a/contrib/views/files/src/main/resources/ui/app/adapter.js
+++ b/contrib/views/files/src/main/resources/ui/app/adapter.js
@@ -362,3 +362,14 @@ Ember.Handlebars.registerBoundHelper('showDateUnix', function(date,format) {
Ember.Handlebars.registerBoundHelper('capitalize', function(string) {
return string.capitalize();
});
+
+Ember.Handlebars.registerBoundHelper('humanSize', function(fileSizeInBytes) {
+ var i = -1;
+ var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB'];
+ do {
+ fileSizeInBytes = fileSizeInBytes / 1024;
+ i++;
+ } while (fileSizeInBytes > 1024);
+
+ return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i];
+});
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/controllers/file.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/controllers/file.js b/contrib/views/files/src/main/resources/ui/app/controllers/file.js
index 2c84a94..4c2cccd 100644
--- a/contrib/views/files/src/main/resources/ui/app/controllers/file.js
+++ b/contrib/views/files/src/main/resources/ui/app/controllers/file.js
@@ -31,7 +31,7 @@ App.FileController = Ember.ObjectController.extend({
var file = this.get('content'),
self,path,name,newPath;
if (opt === 'edit') {
- this.set('tmpName',file.get('title'));
+ this.set('tmpName',file.get('name'));
this.set('isRenaming',true);
};
@@ -49,7 +49,7 @@ App.FileController = Ember.ObjectController.extend({
return false;
}
- if (name === file.get('title')) {
+ if (name === file.get('name')) {
return self.set('isRenaming',false);
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/controllers/files.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/controllers/files.js b/contrib/views/files/src/main/resources/ui/app/controllers/files.js
index e8453d3..81d703a 100644
--- a/contrib/views/files/src/main/resources/ui/app/controllers/files.js
+++ b/contrib/views/files/src/main/resources/ui/app/controllers/files.js
@@ -27,13 +27,13 @@ App.FilesController = Ember.ArrayController.extend({
if (opt == 'cut') {
src = file.toJSON({includeId: true});
- src = Em.merge(src,{title:file.get('title'),path:file.get('path')})
+ src = Em.merge(src,{name:file.get('name'),path:file.get('path')})
this.set('movingFile',src);
};
if (opt == 'move') {
self = this;
- this.store.move(moving.path,[this.get('path'),moving.title].join('/').replace('//','/'))
+ this.store.move(moving.path,[this.get('path'),moving.name].join('/').replace('//','/'))
.then(function () {
self.set('movingFile',null);
});
@@ -112,7 +112,7 @@ App.FilesController = Ember.ArrayController.extend({
});
},
- sortProperties: ['title'],
+ sortProperties: ['name'],
sortAscending: true,
needs: ["file"],
@@ -125,7 +125,7 @@ App.FilesController = Ember.ArrayController.extend({
queryParams: ['path'],
path: '/',
hideMoving:function () {
- return (this.movingFile)?[this.path,this.movingFile.title].join('/').replace('//','/')===this.movingFile.path:false;
+ return (this.movingFile)?[this.path,this.movingFile.name].join('/').replace('//','/')===this.movingFile.path:false;
}.property('movingFile','path'),
currentDir:function () {
var splitpath = this.get('path').split('/');
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/models/file.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/models/file.js b/contrib/views/files/src/main/resources/ui/app/models/file.js
index 955bb4b..9b63f2b 100644
--- a/contrib/views/files/src/main/resources/ui/app/models/file.js
+++ b/contrib/views/files/src/main/resources/ui/app/models/file.js
@@ -33,11 +33,12 @@ App.File = DS.Model.extend({
modificationTime: a('isodate'),
blockSize: a('number'),
replication: a('number'),
- title:function () {
+ name:function () {
var splitpath = this.get('path').split('/');
return splitpath.get(splitpath.length-1);
}.property('path'),
date:function () {
return parseInt(moment(this.get('modificationTime')).format('X'))
- }.property('modificationTime')
+ }.property('modificationTime'),
+ size: Em.computed.alias('len')
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/routes/file.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/routes/file.js b/contrib/views/files/src/main/resources/ui/app/routes/file.js
index 97daf88..bad821c 100644
--- a/contrib/views/files/src/main/resources/ui/app/routes/file.js
+++ b/contrib/views/files/src/main/resources/ui/app/routes/file.js
@@ -39,7 +39,7 @@ App.FilesRoute = Em.Route.extend({
},
dirUp: function () {
var currentPath = this.controllerFor('files').get('path');
- var upDir = currentPath.replace(currentPath.substr(currentPath.lastIndexOf('/')), '');
+ var upDir = currentPath.substring(0,currentPath.lastIndexOf('/'));
var target = upDir || '/';
return this.transitionTo('files',{queryParams: {path: target}});
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/styles/application.less
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/styles/application.less b/contrib/views/files/src/main/resources/ui/app/styles/application.less
index 69f99f3..fa1db60 100644
--- a/contrib/views/files/src/main/resources/ui/app/styles/application.less
+++ b/contrib/views/files/src/main/resources/ui/app/styles/application.less
@@ -86,19 +86,23 @@
}
thead tr th.path {
cursor: pointer;
- width: 20%;
+ width: 30%;
+ }
+ thead tr th.size {
+ cursor: pointer;
+ width: 15%;
}
thead tr th.owner {
cursor: pointer;
- width: 20%;
+ width: 15%;
}
thead tr th.grp {
cursor: pointer;
- width: 20%;
+ width: 15%;
}
thead tr th.perm {
cursor: pointer;
- width: 20%;
+ width: 15%;
}
thead tr th.download {
width: 2%;
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/templates/files.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/files.hbs b/contrib/views/files/src/main/resources/ui/app/templates/files.hbs
index 56ff0d1..ba5b573 100644
--- a/contrib/views/files/src/main/resources/ui/app/templates/files.hbs
+++ b/contrib/views/files/src/main/resources/ui/app/templates/files.hbs
@@ -60,37 +60,40 @@
</div>
<div class="panel-body">
- <h4 class="i-am-in" > <i class="fa fa-folder fa-lg"></i> {{currentDir}}</h4>
+ <h4 class="i-am-in pull-left" > <i class="fa fa-folder fa-lg"></i> {{currentDir}}</h4>
+
+ <div class="btn-group btn-sort pull-right" data-toggle="tooltip" data-placement="left" title="Sort by:">
+ <button type="button" class="btn btn-xs btn-default" {{action sort 'toggle'}}>
+ {{#if sortAscending}} Asc {{else}} Desc {{/if}}
+ </button>
+
+ <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
+ <span>
+ {{capitalize sortProperties.firstObject}}
+ </span>
+ <span class="caret"></span>
+ </button>
+ <ul class="dropdown-menu" role="menu">
+ <li><a href="#" {{action 'sort' 'name'}} >Name</a></li>
+ <li><a href="#" {{action 'sort' 'size'}} >Size</a></li>
+ <li><a href="#" {{action 'sort' 'owner'}} >Owner</a></li>
+ <li><a href="#" {{action 'sort' 'group'}} >Group</a></li>
+ <li><a href="#" {{action 'sort' 'permission'}} >Permission</a></li>
+ <li><a href="#" {{action 'sort' 'date'}} >Date</a></li>
+ </ul>
+ </div>
</div>
<table class="table table-hover table-files">
<thead>
<tr>
<th class="icon"></th>
- <th class="path" {{action 'sort' 'title'}}> Title {{view view.sortArrow sortProperty='title'}} </th>
+ <th class="path" {{action 'sort' 'name'}}> Name {{view view.sortArrow sortProperty='name'}} </th>
+ <th class="size" {{action 'sort' 'size'}}>Size {{view view.sortArrow sortProperty='size'}}</th>
<th class="owner" {{action 'sort' 'owner'}}>Owner {{view view.sortArrow sortProperty='owner'}}</th>
<th class="grp" {{action 'sort' 'group'}} >Group {{view view.sortArrow sortProperty='group'}}</th>
<th class="perm" {{action 'sort' 'permission'}} >Permission {{view view.sortArrow sortProperty='permission'}}</th>
<th class="download">
- <div class="btn-group btn-sort" data-toggle="tooltip" data-placement="top" title="Sort by:">
- <button type="button" class="btn btn-xs btn-default" {{action sort 'toggle'}}>
- {{#if sortAscending}} Asc {{else}} Desc {{/if}}
- </button>
-
- <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
- <span>
- {{capitalize sortProperties.firstObject}}
- </span>
- <span class="caret"></span>
- </button>
- <ul class="dropdown-menu" role="menu">
- <li><a href="#" {{action 'sort' 'title'}} >Title</a></li>
- <li><a href="#" {{action 'sort' 'owner'}} >Owner</a></li>
- <li><a href="#" {{action 'sort' 'group'}} >Group</a></li>
- <li><a href="#" {{action 'sort' 'permission'}} >Permission</a></li>
- <li><a href="#" {{action 'sort' 'date'}} >Date</a></li>
- </ul>
- </div>
</th>
<th class="check">
<div id="bulkDropdown" class="btn-group">
@@ -125,12 +128,12 @@
<div>
<tr>
<td><i class="fa fa-folder"></i></td>
- <td {{action 'dirUp'}} colspan="6">
+ <td {{action 'dirUp'}} colspan="7">
<strong> .. </strong>
</td>
</tr>
<tr class="error-row">
- <td colspan="7" class="danger">
+ <td colspan="8" class="danger">
{{outlet error}}
</td>
</tr>
@@ -148,7 +151,7 @@
<div class="file-name">
<span>
<a>
- {{movingFile.title}}
+ {{movingFile.name}}
</a>
</span>
<span class="help-block mod-time">
@@ -158,6 +161,11 @@
</span>
</div>
</td>
+ <td>
+ {{#unless content.isDirectory}}
+ {{humanSize movingFile.size}}
+ {{/unless}}
+ </td>
<td >{{movingFile.owner}}</td>
<td>{{movingFile.group}}</td>
<td>{{movingFile.permission}}</td>
@@ -188,19 +196,12 @@
{{#unless isRenaming}}
<div class="file-name allow-open">
<span>
- {{#link-to 'files' (query-params path=content.path)}}
+ <a {{action 'open'}}>
<strong>
- {{content.title}}
+ {{content.name}}
</strong>
- {{/link-to}}
+ </a>
</span>
- {{#unless isMoving}}
- <a {{action 'rename' 'edit'}} {{bind-attr class=":btn-rename "}} data-toggle="tooltip" data-placement="bottom" title="Rename">
- <small>
- <i class="fa fa-edit fa-lg"></i>
- </small>
- </a>
- {{/unless }}
<span class="help-block mod-time allow-open">
<small class='allow-open'>
Updated {{showDate modificationTime 'YYYY-MM-DD HH:mm'}}
@@ -223,6 +224,11 @@
</div>
{{/unless}}
</td>
+ <td>
+ {{#unless content.isDirectory}}
+ {{humanSize content.size}}
+ {{/unless}}
+ </td>
<td >{{content.owner}}</td>
<td>{{content.group}}</td>
<td>{{content.permission}}</td>
@@ -236,10 +242,13 @@
<a href="#" {{action 'download' 'browse'}} data-toggle="tooltip" data-placement="bottom" title="Download"><i class="fa fa-download fa-fw fa-lg"></i></a>
{{/if}}
</li>
- <li>{{view view.deleteSingleView}}</li>
<li>
<a href="#" {{action 'moveFile' 'cut' this.content}} data-toggle="tooltip" data-placement="bottom" title="Move"><i class="fa fa-level-down fa-rotate-270 fa-fw fa-lg"></i></span></a>
</li>
+ <li>
+ <a {{action 'rename' 'edit'}} data-toggle="tooltip" data-placement="bottom" title="Rename"><i class="fa fa-edit fa-lg"></i></a>
+ </li>
+ <li>{{view view.deleteSingleView}}</li>
</ul>
{{/unless}}
</td>
http://git-wip-us.apache.org/repos/asf/ambari/blob/a9bc8eb8/contrib/views/files/src/main/resources/ui/app/views/file.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/views/file.js b/contrib/views/files/src/main/resources/ui/app/views/file.js
index ef1ed29..b9ee3bc 100644
--- a/contrib/views/files/src/main/resources/ui/app/views/file.js
+++ b/contrib/views/files/src/main/resources/ui/app/views/file.js
@@ -63,7 +63,7 @@ App.FilesView = Em.View.extend({
$(element).popover({
html:true,
trigger:'manual',
- placement:'top',
+ placement:'left',
content:function() {
var content = element.find('.df-popover');
return content.html();