You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by db...@apache.org on 2016/02/24 19:18:00 UTC

[02/10] ambari git commit: AMBARI-15145. Revamped Filebrowser Design - UI. (dipayanb)

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/components/rename-modal.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/components/rename-modal.hbs b/contrib/views/files/src/main/resources/ui/app/templates/components/rename-modal.hbs
new file mode 100644
index 0000000..8b1fca7
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/templates/components/rename-modal.hbs
@@ -0,0 +1,50 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+{{#if modalGuard}}
+  <div class="modal fade" tabindex=-1 role="dialog">
+    <div class="modal-dialog">
+      <div class="modal-content">
+        <div class="modal-header">
+          <button type="button" class="close" data-dismiss="modal">&times;</button>
+          <h4 class="modal-title">{{fa-icon icon="edit"}} Rename {{#if selected.isDirectory}}Folder{{else}}File{{/if}}</h4>
+        </div>
+        <form>
+          <div class="modal-body">
+            <div class="form-group {{if hasError "has-error"}}">
+              <label>New name</label>
+              {{input class="form-control" placeholder="New name..." value=selectionName}}
+              {{#if hasError}}<span class="help-block">{{errorMessage}}</span>{{/if}}
+            </div>
+
+          </div>
+          <div class="modal-footer">
+            <span class="spinner-wrap">
+              {{#if isUpdating}}
+                {{fa-icon "refresh" spin=true}}
+              {{/if}}
+            </span>
+            <button type="button" class="btn btn-default {{if isUpdating "disabled"}}" {{action 'close'}}>{{fa-icon icon="close"}} Cancel</button>
+            <button type="submit" class="btn btn-primary {{if isUpdating "disabled"}}" {{action 'rename'}}>{{fa-icon icon="edit"}} Rename</button>
+          </div>
+        </form>
+
+      </div>
+    </div>
+  </div>
+{{/if}}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/components/renameInput.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/components/renameInput.hbs b/contrib/views/files/src/main/resources/ui/app/templates/components/renameInput.hbs
deleted file mode 100644
index 57a7b7c..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/components/renameInput.hbs
+++ /dev/null
@@ -1,38 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-{{#if isRenaming}}
-
-<div class="input-group input-group-sm rename-area">
-  {{view view.renameInputView class="form-control rename-input" valueBinding='tmpName'}}
-  <div class="input-group-btn">
-    <button  type="button" {{action 'rename' 'cancel'}} {{bind-attr class=":btn :btn-danger :btn-xs :btn-rename-cancel isRenaming:show"}} >
-      <i class="fa fa-times"></i> Cancel
-    </button>
-  </div>
-  <div class="input-group-btn">
-    <button  type="button" {{action 'rename' 'confirm'}} {{bind-attr class=":btn :btn-success :btn-xs :btn-rename isRenaming:show"}} >
-      <i class="fa fa-check"></i> Rename
-    </button>
-  </div>
-</div>
-
-{{else}}
-
-  {{yield}}
-
-{{/if}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/components/upload-file.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/components/upload-file.hbs b/contrib/views/files/src/main/resources/ui/app/templates/components/upload-file.hbs
new file mode 100644
index 0000000..c1352dd
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/templates/components/upload-file.hbs
@@ -0,0 +1,56 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<button type="button" class="btn btn-sm btn-primary" {{action "openModal"}} disabled={{currentPathIsTrash}}>{{fa-icon icon="upload"}} Upload</button>
+
+{{#if modalGuard}}
+  <!-- Modal Dialog -->
+  <div class="modal fade" role="dialog">
+    <div class="modal-dialog">
+      <!-- Modal content-->
+      <div class="modal-content">
+        <div class="modal-header">
+          <button type="button" class="close" data-dismiss="modal">&times;</button>
+          <h4>{{fa-icon "upload"}} Upload file to {{path}}</h4>
+        </div>
+        <div class="modal-body">
+          {{#unless isUploading}}
+            {{#file-picker fileLoaded="fileLoaded" preview=false}}
+              <div class="text-center vert-align-middle">
+                {{fa-icon "cloud-upload" size="4"}}
+                <h4> Drag file to upload or click to browse</h4>
+              </div>
+            {{/file-picker}}
+          {{else}}
+            <div class="progress file-picker-progress">
+              <div class="progress-bar" role="progressbar" aria-valuenow="{{uploadPercent}}" aria-valuemin="0"
+                   aria-valuemax="100" style={{uploadPercentStyle}}>
+                {{uploadPercent}}
+              </div>
+            </div>
+            <em>{{uploadFileName}}</em>
+          {{/unless}}
+        </div>
+        <div class="modal-footer">
+          <button type="button" class="btn btn-default" {{action 'close'}}>{{fa-icon icon="close"}} Cancel</button>
+        </div>
+      </div>
+    </div>
+  </div>
+  <!-- Modal Dialog Ends -->
+{{/if}}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/components/uploader.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/components/uploader.hbs b/contrib/views/files/src/main/resources/ui/app/templates/components/uploader.hbs
deleted file mode 100644
index cefc9f8..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/components/uploader.hbs
+++ /dev/null
@@ -1,35 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-
-<div class="input-group input-group-sm">
-  <span class="input-group-btn">
-    <span class="btn btn-primary btn-file">
-      Browse… {{view fileInput}}
-    </span>
-    <span  {{bind-attr class=":btn :btn-danger isFiles:hide"}} {{action 'clear'}}  >
-      Clear
-    </span>
-  </span>
-  <span {{bind-attr class=":input-group-btn :btn-upload isFiles:hide"}}>
-    {{#view uploadButton data-style="expand-right" data-size="xs"}}
-      <span class="ladda-label">Upload</span>
-    {{/view}}
-  </span>
-  {{view controlInput placeholder='Select files to upload.'}}
-</div>
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/error.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/error.hbs b/contrib/views/files/src/main/resources/ui/app/templates/error.hbs
deleted file mode 100644
index 202bb22..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/error.hbs
+++ /dev/null
@@ -1,32 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-
-<div class="container">
-  <div class="alert alert-danger collapse-group">
-    <strong>{{content.status}}</strong> {{publicMessage}}
-  </div>
-  {{#if stackTrace}}
-      <a href="#" {{action "toggleStackTrace" post}}>
-        <i {{bind-attr class=":fa isExpanded:fa-toggle-down:fa-toggle-right"}}></i>
-        {{#if isExpanded}} Collapse Stack Trace {{else}} Expand Stack Trace {{/if}}
-      </a>
-    {{#if isExpanded}}
-        <pre class="prettyprint">{{stackTrace}}</pre>
-    {{/if}}
-  {{/if}}
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/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 6d0f25b..769f0c8 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
@@ -1,211 +1,102 @@
 {{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
 }}
 
-<div class="panel-default panel-files">
-  <div class="panel-heading">
-    {{!-- BREADCRUMBS --}}
-    {{bread-crumbs path=path}}
-
-    <div class="um-section">
-    {{!-- UPLOADER --}}
-    <div {{bind-attr class="isUploading::hide :pull-right" }}>
-      <button {{action 'upload' 'close'}} type="button" class="close" aria-hidden="true">&times;</button>
-      {{file-uploader path=path uploader=uploader store=controller.store dirStatus=content.meta class="upload-area pull-right" alert='showAlert'}}
+<div class="row" >
+    <div class="col-md-12 col-xs-12 text-center context-text-row">
+      {{#if isSelected}}
+          <span class="context-text">
+            {{#if isSingleSelected}}
+                <strong>{{lastSelectedFile.name}}</strong> selected
+            {{else}}
+                <strong>{{selectedFilesCount}}</strong> Files, <strong>{{selectedFolderCount}}</strong> Folders selected
+            {{/if}}
+          </span>
+      {{else}}
+          <span class="context-text" style="    z-index: 1;
+      position: relative;">
+        Total: <strong>{{arrangedContent.length}}</strong> files or folders
+      </span>
+      {{/if}}
     </div>
-
-    <div {{bind-attr class="isUploading:hide: :pull-right :uploadwrap" }}>
-      <button type="button" {{action 'upload' 'open'}} {{bind-attr class=":btn :btn-default :btn-sm :pull-right"}}>
-        <i class="fa fa-upload"></i> Upload
-      </button>
+</div>
+<div class="row">
+    <div class="col-md-6 col-xs-6">
+      {{#if hasHomePath}}
+        {{#link-to 'files' (query-params path=homePath) class="btn btn-sm btn-default"}}{{fa-icon "home"}}{{/link-to}}
+      {{/if}}
+      {{#if hasTrashPath}}
+        {{#link-to 'files' (query-params path=trashPath) class="btn btn-sm btn-default"}}{{fa-icon "trash"}}{{/link-to}}
+      {{/if}}
+      <a href="#" {{action 'refreshCurrentRoute'}} class="btn btn-sm btn-default">{{fa-icon "refresh"}}</a>
+      {{files-breadcrumb path=path}}
     </div>
-
-    {{!-- MKDIR --}}
-    {{mkdir-input create="mkdir" path=path canCreate=true}}
-
+    <!-- Include directory name and rename button -->
+    <div class="col-md-6 col-xs-6">
+        <p class="pull-right">
+            <button class="btn btn-sm btn-primary" {{action "selectAll" allSelected}}>
+              {{#unless allSelected}}
+                {{fa-icon icon="plus" }} Select All
+              {{else}}
+                {{fa-icon icon="minus"}} Deselect All
+              {{/unless}}
+            </button>
+          {{new-directory path=path refreshAction="refreshCurrentRoute" currentPathIsTrash=currentPathIsTrash}}
+          {{upload-file path=path refreshAction="refreshCurrentRoute" currentPathIsTrash=currentPathIsTrash}}
+          {{#link-to 'messages' class="btn btn-sm btn-default"}}{{fa-icon "comment-o"}}{{/link-to}}
+        </p>
     </div>
-  </div>
-
-  <div class="panel-body">
-    <h4 class="i-am-in pull-left"> <i class="fa fa-folder fa-lg"></i>
-    {{#rename-input file=path confirm='renameDir' isRenaming=isRenaming class='renameable stocked half'}}
-      <a href="#" class="dir-name" {{action 'refreshDir'}}>{{currentDir}}</a>
-      <a href="#" {{bind-attr class="isRootDir:hide"}} {{action 'showRenameInput'}}><i class="fa fa-edit"></i></a>
-    {{/rename-input}}
-    </h4>
+</div>
 
-    <div class="input-group input-group-sm input-group-search">
-      {{input valueBinding='searchString' class="form-control input-search" placeholder="Search File Names" }}
-      {{#if searchString}}
-        <i {{action 'clearSearchField'}} class="fa fa-times form-control-feedback"></i>
-      {{/if}}
-      <div class="input-group-addon"><i class="fa fa-search"></i></div>
+<div class="row">
+    <div class="well well-sm col-md-12 col-xs-12">
+        <div class="col-md-8 col-xs-8">
+          {{context-row-menu
+            openFolderAction="openFolder"
+            refreshCurrentRouteAction="refreshCurrentRoute"
+            currentPathIsTrash=currentPathIsTrash
+            hasTrashPath=hasTrashPath
+          }}
+        </div>
+        <div class="col-md-4 col-xs-4">
+            <div class="row">
+              {{file-search searchText=searchText searchAction="searchFiles"}}
+            </div>
+        </div>
     </div>
-  </div>
-
-  <table class="table table-hover table-files">
-    <thead>
-      <tr>
-        <th class="icon"></th>
-        <th class="path" {{action 'sort' 'name'}}> Name {{sort-arrow sPs=sortProperties sA=sortAscending sP='name'}} </th>
-        <th class="size" {{action 'sort' 'size'}}>Size {{sort-arrow sPs=sortProperties sA=sortAscending sP='size'}}</th>
-        <th class="date" {{action 'sort' 'date'}}>Last Modified {{sort-arrow sPs=sortProperties sA=sortAscending sP='date'}}</th>
-        <th class="owner" {{action 'sort' 'owner'}}>Owner {{sort-arrow sPs=sortProperties sA=sortAscending sP='owner'}}</th>
-        <th class="grp" {{action 'sort' 'group'}} >Group {{sort-arrow sPs=sortProperties sA=sortAscending sP='group'}}</th>
-        <th class="perm" {{action 'sort' 'permission'}} >Permission {{sort-arrow sPs=sortProperties sA=sortAscending sP='permission'}}</th>
-        <th class="download">
-          <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>
+</div>
 
-            <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown">
-              <span>
-                {{#if isSortPropertyEqualsDate}}
-                  Last Modified
-                {{else}}
-                  {{capitalize sortProperties.firstObject}}
-                {{/if}}
-              </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' 'date'}} >Last Modified</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>
-            </ul>
-          </div>
-        </th>
-        <th class="check">
-        {{#dropdown-wrap}}
-          <div id="bulkDropdown" class="btn-group">
-            <span class="input-group-addon">
-              <div class="checkbox">
-                {{bulk-checkbox content=fileList}}
-              </div>
-            </span>
-            <button  type="button" data-toggle="dropdown" {{bind-attr class=":btn :btn-xs :btn-default :dropdown-toggle isSelected::disabled"}} >
-              <span class="caret"></span>
-            </button>
-            <ul class="dropdown-menu pull-right" role="menu">
-              <li><a href="#"  {{action 'download' 'zip'}} ><i class="fa fa-archive fa-fw"></i> Download zip</a></li>
-              {{#if canConcat}}
-              <li><a href="#"  {{action 'download' 'concat'}} ><i class="fa fa-th fa-fw"></i> Concat</a></li>
-              {{/if}}
-              <li class="divider"></li>
-              <li class="dropdown-submenu">
-                <a href="#" disabled="disabled">
-                  <i class="fa fa-chevron-left fa-gr fa-fw"></i> Delete
-                </a>
-                <ul class="dropdown-menu left-submenu">
-                  {{confirm-delete confirm="deleteFile" deleteForever=true selector='bulkDropdown' access=true}}
-                  {{confirm-delete confirm="deleteFile" deleteForever=false selector='bulkDropdown' access=true}}
-                </ul>
-              </li>
-            </ul>
-          </div>
-        {{/dropdown-wrap}}
-      </th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <td><i class="fa fa-folder"></i></td>
-        <td  {{action 'dirUp'}} colspan="7">
-          <strong> .. </strong>
-        </td>
-      </tr>
-      <tr class="error-row">
-        <td colspan="8" class="danger">
-          {{outlet error}}
-        </td>
-      </tr>
-      {{#unless hideMoving}}
-      {{#if movingFile}}
-        <tr class="isMoving">
-          <td>
-            {{#if movingFile.isDirectory}}
-            <i class="fa fa-folder"></i>
-            {{else}}
-            <i class="fa fa-file"></i>
-            {{/if}}
-          </td>
-          <td>
-            <div class="file-name">
-                <span>
-                  <a>
-                  {{movingFile.name}}
-                  </a>
-                </span>
-                <span class="help-block mod-time">
-                  <small>
-                    Updated {{showDateUnix movingFile.modificationTime 'YYYY-MM-DD HH:mm'}}
-                  </small>
-                </span>
-              </div>
-          </td>
-          <td>
-            {{#unless content.isDirectory}}
-              {{humanSize movingFile.len}}
-            {{/unless}}
-          </td>
-          <td >{{movingFile.owner}}</td>
-          <td>{{movingFile.group}}</td>
-          <td>{{movingFile.permission}}</td>
-          <td >
-            <ul class="list-inline file-actions text-right">
-              <li>
-                <a href="#" {{action 'moveFile' 'move'}} data-toggle="tooltip" data-placement="bottom" title="Paste"><i class="fa fa-clipboard fa-lg"></i></a>
-              </li>
-            </ul>
-          </td>
-          <td >
-            <a href="#" {{action 'moveFile' 'cancel' }} data-toggle="tooltip" data-placement="bottom" title="Cancel moving"> <i class="fa fa-times fa-lg"></i> </a>
-          </td>
-        </tr>
-      {{/if}}
-      {{/unless}}
-    </tbody>
-    {{#unless isLoadingFiles}}
-      {{cloaked-collection
-          cloakView="file"
-          content=fileList
-          itemController="file"
-          loadingHTML='<td colspan="8" class="text-center"><i class="fa fa-refresh"></i></td>'
-          tagName='tbody'
-          defaultHeight='47'}}
-    {{else}}
-      <tbody>
-        <td colspan="8" class="text-center"><i class="fa fa-refresh fa-spin"></i></td>
-      </tbody>
-    {{/unless}}
-    <tbody>
-      {{#unless fileList}}
-        <tr {{bind-attr class="isLoadingFiles:hide"}} >
-          <td colspan="8">
-            No files
-          </td>
-        </tr>
-      {{/unless}}
-    </tbody>
-  </table>
-  {{context-menu target=targetContextMenu}}
-  {{outlet modal}}
+<div class="row">
+    <div class="col-md-12 col-xs-12" id="filesCollectionView">
+      {{#files-collection items=arrangedContent
+      columnsConfig=columns
+      sortEnabled=sortEnabled
+      parentPath=parentPath
+      sortAction="sortFiles"
+      resetSelection="deselectAll"
+      selectAllAction="selectAll"
+      containerId="filesCollectionView" as |file index|}}
+        {{file-row index=index
+        file=file
+        columnHeaders=columns
+        singleSelectAction="selectSingle"
+        multiSelectAction="selectMultiple"}}
+      {{/files-collection}}
+    </div>
 </div>
+
+{{outlet}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/index.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/index.hbs b/contrib/views/files/src/main/resources/ui/app/templates/index.hbs
deleted file mode 100644
index 0efb5b2..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/index.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/loading.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/loading.hbs b/contrib/views/files/src/main/resources/ui/app/templates/loading.hbs
new file mode 100644
index 0000000..0c27eef
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/templates/loading.hbs
@@ -0,0 +1,25 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<div class="row text-center loading-spinner">
+  {{fa-icon "spinner" spin=true size=2}}
+  {{fa-icon "spinner" spin=true size=3}}
+  {{fa-icon "spinner" spin=true size=5}}
+  {{fa-icon "spinner" spin=true size=3}}
+  {{fa-icon "spinner" spin=true size=2}}
+</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/messages.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/messages.hbs b/contrib/views/files/src/main/resources/ui/app/templates/messages.hbs
new file mode 100644
index 0000000..8b6c685
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/templates/messages.hbs
@@ -0,0 +1,54 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<div class="row">
+  <div class="col-md-12 messages-header">
+    <div class="col-md-1">
+      {{#link-to "files" (query-params path=currentBrowserPath) class="btn btn-primary"}}{{fa-icon "arrow-left"}} Browser{{/link-to}}
+    </div>
+    <div class="col-md-2 col-md-offset-4 text-center">
+      <span class="messages-title">{{fa-icon "comment"}} Messages</span>
+    </div>
+  </div>
+</div>
+<div class="row">
+  <div class={{if isExpanded "col-md-12" "col-md-4"}}>
+    <div class="list-group">
+      {{#each model as |message|}}
+        {{#link-to 'messages.message' message class=(alert-message-context-class message.type "list-group-item list-group-item-")}}
+          <h4 class="list-group-item-heading">
+            {{#fa-stack}}
+              {{fa-icon "circle-thin" stack=2}}
+              {{fa-icon (alert-message-icon-class message.type) stack=1}}
+            {{/fa-stack}}
+            {{{message.message}}}</h4>
+          <p class="list-group-item-text">{{shorten-text message.responseMessage shortenLength}}</p>
+        {{/link-to}}
+      {{else}}
+        No messages present
+      {{/each}}
+    </div>
+
+  </div>
+  {{#unless isExpanded}}
+    <div class="col-md-8">
+      {{outlet}}
+    </div>
+  {{/unless}}
+</div>
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/messages/message.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/messages/message.hbs b/contrib/views/files/src/main/resources/ui/app/templates/messages/message.hbs
new file mode 100644
index 0000000..e3eacec
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/templates/messages/message.hbs
@@ -0,0 +1,48 @@
+{{!
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+}}
+
+<div class={{alert-message-context-class model.type "panel panel-"}}>
+  <div class="panel-heading">
+    {{#fa-stack size="lg"}}
+      {{fa-icon "circle-thin" stack=2}}
+      {{fa-icon (alert-message-icon-class model.type) stack=1}}
+    {{/fa-stack}}
+    {{{model.message}}}
+  </div>
+  {{#if displayBody}}
+    <div class="panel-body">
+      {{#if showStatus}}
+        <p><strong>Server status:</strong> {{model.status}}</p>
+        <hr/>
+      {{/if}}
+      {{#if model.responseMessage}}
+        {{alert-message-display title="Server Message:"
+        value=model.responseMessage
+        shorten=true
+        length=200}}
+        <hr/>
+      {{/if}}
+      {{#if model.trace}}
+        {{alert-message-display title="Error trace:"
+        value=model.trace
+        shorten=true
+        length=500}}
+      {{/if}}
+    </div>
+  {{/if}}
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/modal/chmod.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/modal/chmod.hbs b/contrib/views/files/src/main/resources/ui/app/templates/modal/chmod.hbs
deleted file mode 100644
index 5ef620c..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/modal/chmod.hbs
+++ /dev/null
@@ -1,97 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-
-
-<div class="modal chmodal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
-  <div class="modal-dialog modal-sm">
-    <div class="modal-content">
-      <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
-        <h4 class="modal-title">Edit permission</h4>
-      </div>
-      <div class="modal-body">
-
-        <form class="form-horizontal" role="form">
-          <div class="form-group">
-            <label class="col-sm-2 control-label">User</label>
-            <div class="col-sm-10">
-              <div class="btn-group" data-toggle="buttons">
-                <label {{bind-attr class=":btn :btn-sm usrR:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=usrR}} <span>Read</span>
-                </label>
-                <label {{bind-attr class=":btn :btn-sm usrW:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=usrW}} <span>Write</span>
-                </label>
-                <label {{bind-attr class=":btn :btn-sm usrE:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=usrE}} <span>Execute</span>
-                </label>
-              </div>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="col-sm-2 control-label">Group</label>
-            <div class="col-sm-10">
-              <div class="btn-group" data-toggle="buttons">
-                <label {{bind-attr class=":btn :btn-sm grpR:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=grpR}} <span>Read</span>
-                </label>
-                <label {{bind-attr class=":btn :btn-sm grpW:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=grpW}} <span>Write</span>
-                </label>
-                <label {{bind-attr class=":btn :btn-sm grpE:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=grpE}} <span>Execute</span>
-                </label>
-              </div>
-            </div>
-          </div>
-          <div class="form-group">
-            <label class="col-sm-2 control-label">Other</label>
-            <div class="col-sm-10">
-              <div class="btn-group" data-toggle="buttons">
-                <label {{bind-attr class=":btn :btn-sm otrR:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=otrR}} <span>Read</span>
-                </label>
-                <label {{bind-attr class=":btn :btn-sm otrW:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=otrW}} <span>Write</span>
-                </label>
-                <label {{bind-attr class=":btn :btn-sm otrE:btn-primary:btn-default :btn-chmod" }} >
-                  {{input type="checkbox" checked=otrE}} <span>Execute</span>
-                </label>
-              </div>
-            </div>
-          </div>
-
-          <div class="form-group">
-            <div class="col-sm-offset-2 col-sm-10">
-              <div class="checkbox">
-                <label>
-                  {{input type="checkbox"}} <span> Modify recursively</span>
-                </label>
-              </div>
-            </div>
-          </div>
-        </form>
-
-      </div>
-      <div class="modal-footer">
-        <button type="button" class="btn btn-default" {{action 'close' target="view"}}>Close</button>
-        <button type="button" class="btn btn-primary" {{action 'confirm' target="view"}}>Save changes</button>
-      </div>
-    </div>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/modal/preview.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/modal/preview.hbs b/contrib/views/files/src/main/resources/ui/app/templates/modal/preview.hbs
deleted file mode 100644
index d619bd9..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/modal/preview.hbs
+++ /dev/null
@@ -1,33 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-<div class="modal preview" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
-    <div class="modal-dialog modal-lg">
-        <div class="modal-content">
-            <div class="modal-header">
-                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
-                <h4 class="modal-title">File Preview</h4>
-                {{ file.path }}
-            </div>
-            <pre class="modal-body preview-content" style="white-space:pre;margin: 10px; padding: 10px;overflow-y: auto; height: 350px">{{ pagecontent }}</pre>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-default" {{action 'close' target="view"}}>Close</button>
-                <button type="button" class="btn btn-primary" {{action 'confirm' target="view"}}>Download File</button>
-            </div>
-        </div>
-    </div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/util/errorRow.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/util/errorRow.hbs b/contrib/views/files/src/main/resources/ui/app/templates/util/errorRow.hbs
deleted file mode 100644
index 5f0a03a..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/util/errorRow.hbs
+++ /dev/null
@@ -1,32 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-
-<div>
-  <button {{action 'removeAlert'}} type="button" class="close" aria-hidden="true">&times;</button>
-  <div class="text-center"><strong>{{content.status}} </strong> {{output}}
-    {{#if stackTrace}}
-      <a href="#" {{action "toggleStackTrace" post}}>
-        <i {{bind-attr class=":fa isExpanded:fa-toggle-down:fa-toggle-right"}}></i>
-        {{#if isExpanded}} Collapse Stack Trace {{else}} Expand Stack Trace {{/if}}
-      </a>
-      {{#if isExpanded}}
-          <pre class="prettyprint">{{stackTrace}}</pre>
-      {{/if}}
-    {{/if}}
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/templates/util/fileRow.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/templates/util/fileRow.hbs b/contrib/views/files/src/main/resources/ui/app/templates/util/fileRow.hbs
deleted file mode 100644
index 8cd0cbb..0000000
--- a/contrib/views/files/src/main/resources/ui/app/templates/util/fileRow.hbs
+++ /dev/null
@@ -1,79 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-
-  <td>
-    {{#if content.isDirectory}}
-    <i class="fa fa-folder"></i>
-    {{else}}
-    <i class="fa fa-file"></i>
-    {{/if}}
-  </td>
-  <td>
-    {{#rename-input fileBinding='content' confirm='rename' isRenaming=isRenaming}}
-      <div class="file-name allow-open">
-      {{#file-shaker action="open" isValid=true}}
-        <span>
-          <a>
-            <strong>
-              {{content.name}}
-            </strong>
-          </a>
-        </span>
-      {{/file-shaker}}
-      </div>
-    {{/rename-input}}
-  </td>
-  <td>
-    {{#unless content.isDirectory}}{{humanSize content.size}}{{else}}-{{/unless}}
-  </td>
-  <td>
-    <small class='allow-open'>
-      {{showDate modificationTime 'YYYY-MM-DD HH:mm'}}
-    </small>
-  </td>
-  <td >{{content.owner}}</td>
-  <td>{{content.group}}</td>
-  <td class="permission-cell">
-    {{content.permission}}
-    {{#if isPermissionsDirty}} <span>*</span>  {{/if}}
-  </td>
-  <td>
-    {{#unless isMoving}}
-      <ul class="list-inline file-actions text-right">
-        <li>
-          {{#if content.isDirectory}}
-            <a href="#" {{action 'download' 'zip'}} target="_blank" data-toggle="tooltip" data-placement="bottom" title="Download zip"><i class="fa fa-archive fa-fw fa-lg"></i></a>
-          {{else}}
-            <a href="#" {{action 'download' 'browse'}} target="_blank" data-toggle="tooltip" data-placement="bottom" title="Download"><i class="fa fa-download fa-fw fa-lg"></i></a>
-          {{/if}}
-        </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></a>
-        </li>
-        <li>{{popover-delete confirm="deleteFile"}}</li>
-      </ul>
-    {{/unless}}
-  </td>
-  <td>
-  {{#if isMoving}}
-    <a href="#" {{action 'moveFile' 'cancel' target="parentController" }} data-toggle="tooltip" data-placement="bottom" title="Cancel moving"> <i class="fa fa-times fa-lg"></i></a>
-  {{else}}
-    {{input type="checkbox" checkedBinding='content.selected'}}
-  {{/if}}
-  {{toggle-context}}
-  </td>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/transforms/iso-date.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/transforms/iso-date.js b/contrib/views/files/src/main/resources/ui/app/transforms/iso-date.js
new file mode 100644
index 0000000..510bc30
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/transforms/iso-date.js
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import DS from 'ember-data';
+
+export default DS.Transform.extend({
+  deserialize(serialized) {
+    if (serialized) {
+      return moment.utc(serialized).toDate();
+    }
+    return serialized;
+  },
+
+  serialize(deserialized) {
+    if (deserialized) {
+      return moment(deserialized).format('X');
+    }
+    return deserialized;
+  }
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/utils/file-uploader.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/utils/file-uploader.js b/contrib/views/files/src/main/resources/ui/app/utils/file-uploader.js
new file mode 100644
index 0000000..8a7f972
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/app/utils/file-uploader.js
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import Ember from 'ember';
+import EmberUploader from 'ember-uploader';
+
+export default EmberUploader.Uploader.extend({
+  type: 'PUT',
+  ajaxSettings: function(url, params, method) {
+    var defaultSettings = this._super(url, params, method);
+    return Ember.merge(defaultSettings, {
+      beforeSend:function (xhr) {
+        xhr.setRequestHeader('X-Requested-By', 'ambari');
+      }
+    });
+  }
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/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
deleted file mode 100644
index c0404a8..0000000
--- a/contrib/views/files/src/main/resources/ui/app/views/file.js
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-Em.CloakedView.reopen({
-  classNames:['file-row'],
-  classNameBindings:['_containedView.controller.isMoving:isMoving']
-});
-
-Ember.CloakedView.reopen({
-  cloak:Em.K
-});
-
-App.FileView = Em.View.extend({
-  templateName: 'util/fileRow',
-  tagName:'tr'
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/views/files.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/views/files.js b/contrib/views/files/src/main/resources/ui/app/views/files.js
deleted file mode 100644
index 1db7f61..0000000
--- a/contrib/views/files/src/main/resources/ui/app/views/files.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.FilesView = Em.View.extend({
-    templateName: 'files',
-    didInsertElement:function () {
-      this.scheduleRebind();
-    },
-    scheduleRebind:function () {
-      Em.run.scheduleOnce('render', this, this.get('reBindTooltips'));
-    },
-    reBindTooltips:function () {
-      this.$().tooltip({selector:'[data-toggle=tooltip]'});
-    }
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/views/filesAlert.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/views/filesAlert.js b/contrib/views/files/src/main/resources/ui/app/views/filesAlert.js
deleted file mode 100644
index 68dc60a..0000000
--- a/contrib/views/files/src/main/resources/ui/app/views/filesAlert.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.FilesAlertView = Em.View.extend({
-  templateName:'util/errorRow'
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/views/modalChmod.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/views/modalChmod.js b/contrib/views/files/src/main/resources/ui/app/views/modalChmod.js
deleted file mode 100644
index 5696539..0000000
--- a/contrib/views/files/src/main/resources/ui/app/views/modalChmod.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.ModalChmodView = Em.View.extend({
-  actions:{
-    confirm:function (file) {
-      this.get('controller.controllers.files').send('confirmChmod',this.get('controller.file'));
-      this.$('.chmodal').modal('hide');
-    },
-    close:function () {
-      var file = this.get('controller.file');
-      var diff = file.changedAttributes();
-      if (diff.permission) {
-        file.set('permission',diff.permission[0]);
-      }
-      this.$('.chmodal').modal('hide');
-    }
-  },
-  didInsertElement:function (argument) {
-    this.$('.btn-chmod').each(function () {
-      $(this).toggleClass('active',$(this).children('input').is(':checked'));
-    });
-
-    this.$('.chmodal').modal();
-    this.$('.chmodal').on('hidden.bs.modal',function  () {
-      this.get('controller.controllers.files').send('removeChmodModal');
-    }.bind(this));
-  },
-  willClearRender:function  () {
-    this.$('.chmodal').off('hidden.bs.modal');
-    this.$('.chmodal').modal('hide');
-  }
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/app/views/modalPreview.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/app/views/modalPreview.js b/contrib/views/files/src/main/resources/ui/app/views/modalPreview.js
deleted file mode 100644
index 49d7fce..0000000
--- a/contrib/views/files/src/main/resources/ui/app/views/modalPreview.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.ModalPreviewView = Em.View.extend({
-  actions:{
-    confirm:function (file) {
-      this.get('controller.controllers.file').send('confirmPreview', this.get('controller.file'));
-      this.$('.preview').modal('hide');
-    },
-    close:function () {
-      this.$('.preview').modal('hide');
-    }
-  },
-  didInsertElement:function (argument) {
-    var self = this;
-
-    this.$('.preview').modal();
-
-    this.$('.preview').on('hidden.bs.modal',function  () {
-      this.get('controller.controllers.files').send('removePreviewModal');
-    }.bind(this));
-
-    this.$('.preview-content').on('scroll', function() {
-      if($(this).scrollTop() + $(this).innerHeight() >= this.scrollHeight) {
-        self.get('controller').send('next');
-      }
-    });
-
-  },
-  willClearRender:function  () {
-    this.$('.preview').off('hidden.bs.modal');
-    this.$('.preview').modal('hide');
-  }
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/bower.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/bower.json b/contrib/views/files/src/main/resources/ui/bower.json
index c0a4049..7212b31 100644
--- a/contrib/views/files/src/main/resources/ui/bower.json
+++ b/contrib/views/files/src/main/resources/ui/bower.json
@@ -1,32 +1,21 @@
 {
-  "name": "filebrowser-web",
-  "version": "0.0.1",
-  "main": "public/app.js",
+  "name": "files-view",
   "dependencies": {
-    "ember": "1.7.0",
-    "ember-data": "1.0.0-beta.9",
-    "jquery": "2.x",
-    "bootstrap": "3.1.x",
-    "ember-uploader": "~0.2.7",
-    "ladda-bootstrap": "git://github.com/msurguy/ladda-bootstrap.git#~0.1.0",
-    "moment": "~2.5.1",
-    "ember-i18n": "~1.6.0",
-    "bootstrap-contextmenu": "~0.2.0",
-    "font-awesome": "~4.0.3",
-    "ivy-codemirror": "~1.0.0"
+    "ember": "2.2.0",
+    "ember-cli-shims": "0.1.0",
+    "ember-cli-test-loader": "0.2.2",
+    "ember-load-initializers": "0.1.7",
+    "ember-qunit-notifications": "0.1.0",
+    "jquery": "1.11.3",
+    "loader.js": "^3.5.0",
+    "qunit": "~1.20.0",
+    "bootstrap": "~3.3.6",
+    "bootstrap-treeview": "~1.2.0",
+    "moment": "~2.11.1",
+    "font-awesome": "~4.5.0",
+    "ember-uploader": "~0.3.11"
   },
-  "overrides": {
-    "ember-uploader": {
-      "main": "dist/ember-uploader.js"
-    },
-    "cldr": {
-      "main": "plurals.js"
-    },
-    "ember-i18n": {
-      "scripts": []
-    },
-    "font-awesome": {
-      "main": "css/font-awesome.css"
-    }
+  "resolutions": {
+    "ember": "2.2.0"
   }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/config.coffee
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/config.coffee b/contrib/views/files/src/main/resources/ui/config.coffee
deleted file mode 100644
index 3dfa8f9..0000000
--- a/contrib/views/files/src/main/resources/ui/config.coffee
+++ /dev/null
@@ -1,53 +0,0 @@
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-
-exports.config = 
-
-  watcher:
-    usePolling: true
-
-  fileListInterval: 512
-
-  files: 
-    javascripts: 
-      defaultExtension: 'js'
-      joinTo: 
-        'javascripts/app.js': /^app/
-        'javascripts/vendor.js': /^bower_components|vendor/,
-        'javascripts/test.js': /^test(\/|\\)(?!vendor)/
-
-    stylesheets:
-      defaultExtension: 'css'
-      joinTo: 'stylesheets/app.css'
-
-    templates:
-      precompile: true
-      root: 'templates'
-      defaultExtension: 'hbs'
-      joinTo: 'javascripts/app.js' : /^app/
-      paths:
-        jquery: 'bower_components/jquery/dist/jquery.js'
-        handlebars: 'bower_components/handlebars/handlebars.js'
-        ember: 'bower_components/ember/ember.js'
-
-  modules:
-    addSourceURLs: true
-
-  overrides:
-    development:
-      paths:
-        public: '/usr/lib/ambari-server/web/views-debug/FILES/1.0.0/MyFiles/'

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/config/environment.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/config/environment.js b/contrib/views/files/src/main/resources/ui/config/environment.js
new file mode 100644
index 0000000..9f29122
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/config/environment.js
@@ -0,0 +1,69 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* jshint node: true */
+
+module.exports = function(environment) {
+  var ENV = {
+    modulePrefix: 'files-view',
+    environment: environment,
+    baseURL: '/',
+    locationType: 'hash',
+    EmberENV: {
+      FEATURES: {
+        // Here you can enable experimental features on an ember canary build
+        // e.g. 'with-controller': true
+      }
+    },
+
+    APP: {
+      // Here you can pass flags/options to your application instance
+      // when it is created
+    },
+
+    flashMessageDefaults: {
+      injectionFactories: []
+    }
+  };
+
+  if (environment === 'development') {
+    // ENV.APP.LOG_RESOLVER = true;
+    // ENV.APP.LOG_ACTIVE_GENERATION = true;
+    // ENV.APP.LOG_TRANSITIONS = true;
+    // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
+    // ENV.APP.LOG_VIEW_LOOKUPS = true;
+  }
+
+  if (environment === 'test') {
+    // Testem prefers this...
+    ENV.baseURL = '/';
+    ENV.locationType = 'none';
+
+    // keep test console output quieter
+    ENV.APP.LOG_ACTIVE_GENERATION = false;
+    ENV.APP.LOG_VIEW_LOOKUPS = false;
+
+    ENV.APP.rootElement = '#ember-testing';
+  }
+
+  if (environment === 'production') {
+
+  }
+
+  return ENV;
+};

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/ember-cli-build.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/ember-cli-build.js b/contrib/views/files/src/main/resources/ui/ember-cli-build.js
new file mode 100644
index 0000000..ab684c4
--- /dev/null
+++ b/contrib/views/files/src/main/resources/ui/ember-cli-build.js
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*jshint node:true*/
+/* global require, module */
+var EmberApp = require('ember-cli/lib/broccoli/ember-app');
+
+module.exports = function(defaults) {
+  var app = new EmberApp(defaults, {
+    // Add options here
+    lessOptions: {
+      paths: [
+        'bower_components/bootstrap/less'
+      ]
+    }
+  });
+
+  // Use `app.import` to add additional libraries to the generated
+  // output files.
+  //
+  // If you need to use different assets in different
+  // environments, specify an object as the first parameter. That
+  // object's keys should be the environment name and the values
+  // should be the asset to use in that environment.
+  //
+  // If the library that you are including contains AMD or ES6
+  // modules that you would like to import into your application
+  // please specify an object with the list of modules as keys
+  // along with the exports of each module as its value.
+
+  app.import(app.bowerDirectory + '/bootstrap/dist/js/bootstrap.js');
+  app.import(app.bowerDirectory + '/bootstrap-treeview/src/js/bootstrap-treeview.js');
+  app.import(app.bowerDirectory + '/bootstrap-treeview/dist/bootstrap-treeview.min.css');
+
+  /*
+  app.import(app.bowerDirectory + '/bootstrap/fonts/glyphicons-halflings-regular.eot', {
+    destDir: 'fonts'
+  });
+  app.import(app.bowerDirectory + '/bootstrap/fonts/glyphicons-halflings-regular.svg', {
+    destDir: 'fonts'
+  });
+  app.import(app.bowerDirectory + '/bootstrap/fonts/glyphicons-halflings-regular.ttf', {
+    destDir: 'fonts'
+  });
+  app.import(app.bowerDirectory + '/bootstrap/fonts/glyphicons-halflings-regular.woff', {
+    destDir: 'fonts'
+  });*/
+
+  app.import('bower_components/moment/moment.js');
+  app.import('bower_components/ember-uploader/dist/ember-uploader.named-amd.js');
+
+  return app.toTree();
+};

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/collection/collection.js.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/collection/collection.js.hbs b/contrib/views/files/src/main/resources/ui/generators/collection/collection.js.hbs
deleted file mode 100644
index 04a95a9..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/collection/collection.js.hbs
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.{{#camelize}}{{pluralName}}{{/camelize}}Controller = Em.ArrayController.extend({
-    content: [] 
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/collection/generator.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/collection/generator.json b/contrib/views/files/src/main/resources/ui/generators/collection/generator.json
deleted file mode 100644
index 42d3588..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/collection/generator.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "files": [
-    {
-      "from": "collection.js.hbs",
-      "to": "app/controllers/{{pluralName}}.js"
-    }
-  ],
-  "dependencies": []
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/controller/controller.js.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/controller/controller.js.hbs b/contrib/views/files/src/main/resources/ui/generators/controller/controller.js.hbs
deleted file mode 100644
index 66c11bb..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/controller/controller.js.hbs
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.{{#camelize}}{{name}}{{/camelize}}Controller = Em.ObjectController.extend({
-    content: null
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/controller/generator.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/controller/generator.json b/contrib/views/files/src/main/resources/ui/generators/controller/generator.json
deleted file mode 100644
index 9da94c8..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/controller/generator.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "files": [
-    {
-      "from": "controller.js.hbs",
-      "to": "app/controllers/{{name}}.js"
-    }
-  ],
-  "dependencies": []
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/model/generator.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/model/generator.json b/contrib/views/files/src/main/resources/ui/generators/model/generator.json
deleted file mode 100644
index e771584..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/model/generator.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "files": [
-    {
-      "from": "model.js.hbs",
-      "to": "app/models/{{name}}.js"
-    }
-  ],
-  "dependencies": []
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/model/model.js.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/model/model.js.hbs b/contrib/views/files/src/main/resources/ui/generators/model/model.js.hbs
deleted file mode 100644
index d5f5ece..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/model/model.js.hbs
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.{{#camelize}}{{name}}{{/camelize}} = DS.Model.extend({
-    
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/route/generator.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/route/generator.json b/contrib/views/files/src/main/resources/ui/generators/route/generator.json
deleted file mode 100644
index 8c573b3..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/route/generator.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "files": [
-    {
-      "from": "route.js.hbs",
-      "to": "app/routes/{{name}}.js"
-    }
-  ],
-  "dependencies": []
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/route/route.js.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/route/route.js.hbs b/contrib/views/files/src/main/resources/ui/generators/route/route.js.hbs
deleted file mode 100644
index 5d45dc5..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/route/route.js.hbs
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.{{#camelize}}{{name}}{{/camelize}}Route = Em.Route.extend({
-    setupController: function (controller) {
-
-    }
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/template/generator.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/template/generator.json b/contrib/views/files/src/main/resources/ui/generators/template/generator.json
deleted file mode 100644
index 579243d..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/template/generator.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "files": [
-    {
-      "from": "template.hbs.hbs",
-      "to": "app/templates/{{name}}.hbs"
-    }
-  ],
-  "dependencies": []
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/template/template.hbs.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/template/template.hbs.hbs b/contrib/views/files/src/main/resources/ui/generators/template/template.hbs.hbs
deleted file mode 100644
index 0efb5b2..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/template/template.hbs.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-{{!
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-}}
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/view/generator.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/view/generator.json b/contrib/views/files/src/main/resources/ui/generators/view/generator.json
deleted file mode 100644
index 79b2da7..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/view/generator.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "files": [
-    {
-      "from": "view.js.hbs",
-      "to": "app/views/{{name}}.js"
-    }
-  ],
-  "dependencies": []
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/generators/view/view.js.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/generators/view/view.js.hbs b/contrib/views/files/src/main/resources/ui/generators/view/view.js.hbs
deleted file mode 100644
index 7e35717..0000000
--- a/contrib/views/files/src/main/resources/ui/generators/view/view.js.hbs
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.{{#camelize}}{{name}}{{/camelize}}View = Em.View.extend({
-    templateName: '{{name}}'
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/package.json
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/package.json b/contrib/views/files/src/main/resources/ui/package.json
index f172af8..8250489 100644
--- a/contrib/views/files/src/main/resources/ui/package.json
+++ b/contrib/views/files/src/main/resources/ui/package.json
@@ -1,41 +1,49 @@
 {
-  "author": "Your Name",
-  "name": "package-name",
-  "description": "Package description",
-  "version": "0.0.1",
-  "homepage": "",
-  "repository": {
-    "type": "git",
-    "url": ""
-  },
-  "engines": {
-    "node": "~0.6.10 || 0.8 || 0.9"
+  "name": "files-view",
+  "version": "0.0.0",
+  "description": "Small description for files-view goes here",
+  "private": true,
+  "directories": {
+    "doc": "doc",
+    "test": "tests"
   },
   "scripts": {
-    "test": "node_modules/phantomjs/bin/phantomjs runner.js public/tests.html",
-    "start": "brunch watch --server"
+    "build": "ember build",
+    "start": "ember server",
+    "test": "ember test",
+    "preinstall": "chmod +x node/npm/bin/node-gyp-bin/node-gyp",
+    "postinstall": "bash node/with_new_path.sh node node_modules/.bin/bower --allow-root install"
   },
-  "dependencies": {
-    "javascript-brunch": "^1.7.1",
-    "css-brunch": "^1.7.0",
-    "uglify-js-brunch": "^1.7.7",
-    "clean-css-brunch": "^1.7.1",
-    "bower": ">= 1.2.8",
-    "brunch": "1.7.17",
-    "scaffolt": "^0.4.3",
-    "ember-precompiler-brunch": ">= 1.5.0",
-    "less-brunch": "^1.7.2"
-  },
- "devDependencies": {
-    "phantomjs": "^1.9.2",
-    "karma": "*",
-    "karma-qunit": "*",
-    "karma-phantomjs-launcher": "~0.1.2",
-    "ivy-codemirror": "^1.2.0"
+  "repository": "",
+  "engines": {
+    "node": ">= 0.10.0"
   },
-  "ignore": [
-    "**/.*",
-    "node_modules",
-    "bower_components"
-  ]
+  "author": "",
+  "license": "MIT",
+  "devDependencies": {
+    "bower": "1.7.2",
+    "broccoli-asset-rev": "^2.2.0",
+    "ember-ajax": "0.7.1",
+    "ember-cli": "2.2.0-beta.4",
+    "ember-cli-app-version": "^1.0.0",
+    "ember-cli-babel": "^5.1.5",
+    "ember-cli-dependency-checker": "^1.2.0",
+    "ember-cli-file-picker": "0.0.9",
+    "ember-cli-flash": "1.3.8",
+    "ember-cli-font-awesome": "1.4.0",
+    "ember-cli-htmlbars": "^1.0.1",
+    "ember-cli-htmlbars-inline-precompile": "^0.3.1",
+    "ember-cli-inject-live-reload": "^1.3.1",
+    "ember-cli-less": "1.5.3",
+    "ember-cli-qunit": "^1.1.0",
+    "ember-cli-release": "0.2.8",
+    "ember-cli-sri": "^2.0.0",
+    "ember-cli-uglify": "^1.2.0",
+    "ember-collection": "git://github.com/emberjs/ember-collection.git#bf752508a501161791e3f3b9a546c9b97d5c387a",
+    "ember-data": "2.3.0",
+    "ember-disable-proxy-controllers": "^1.0.1",
+    "ember-export-application-global": "^1.0.4",
+    "ember-keyboard": "0.2.5",
+    "ember-resolver": "^2.0.3"
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/b988562a/contrib/views/files/src/main/resources/ui/runner.js
----------------------------------------------------------------------
diff --git a/contrib/views/files/src/main/resources/ui/runner.js b/contrib/views/files/src/main/resources/ui/runner.js
deleted file mode 100644
index 4fd7894..0000000
--- a/contrib/views/files/src/main/resources/ui/runner.js
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * PhantomJS Runner QUnit Plugin (List Tests) 1.2.0
- *
- * PhantomJS binaries: http://phantomjs.org/download.html
- * Requires PhantomJS 1.6+ (1.7+ recommended)
- *
- * Run with:
- *   phantomjs runner-list.js [url-of-your-qunit-testsuite]
- *
- * e.g.
- *   phantomjs runner-list.js http://localhost/qunit/test/index.html
- */
-
-/*global phantom:false, require:false, console:false, window:false, QUnit:false */
-
-(function() {
-  'use strict';
-
-  var url, page, timeout,
-    args = require('system').args;
-
-  // arg[0]: scriptName, args[1...]: arguments
-  if (args.length < 2 || args.length > 3) {
-    console.error('Usage:\n  phantomjs runner-list.js [url-of-your-qunit-testsuite] [timeout-in-seconds]');
-    phantom.exit(1);
-  }
-
-  url = args[1];
-  page = require('webpage').create();
-  if (args[2] !== undefined) {
-    timeout = parseInt(args[2], 10);
-  }
-
-  // Route `console.log()` calls from within the Page context to the main Phantom context (i.e. current `this`)
-  page.onConsoleMessage = function(msg) {
-    console.log(msg);
-  };
-
-  page.onInitialized = function() {
-    page.evaluate(addLogging);
-  };
-
-  page.onCallback = function(message) {
-    var result,
-      failed;
-
-    if (message) {
-      if (message.name === 'QUnit.done') {
-        result = message.data;
-        failed = !result || !result.total || result.failed;
-
-        if (!result.total) {
-          console.error('No tests were executed. Are you loading tests asynchronously?');
-        }
-
-        phantom.exit(failed ? 1 : 0);
-      }
-    }
-  };
-
-  page.open(url, function(status) {
-    if (status !== 'success') {
-      console.error('Unable to access network: ' + status);
-      phantom.exit(1);
-    } else {
-      // Cannot do this verification with the 'DOMContentLoaded' handler because it
-      // will be too late to attach it if a page does not have any script tags.
-      var qunitMissing = page.evaluate(function() { return (typeof QUnit === 'undefined' || !QUnit); });
-      if (qunitMissing) {
-        console.error('The `QUnit` object is not present on this page.');
-        phantom.exit(1);
-      }
-
-      // Set a timeout on the test running, otherwise tests with async problems will hang forever
-      if (typeof timeout === 'number') {
-        setTimeout(function() {
-          console.error('The specified timeout of ' + timeout + ' seconds has expired. Aborting...');
-          phantom.exit(1);
-        }, timeout * 1000);
-      }
-
-      // Do nothing... the callback mechanism will handle everything!
-    }
-  });
-
-  function addLogging() {
-    window.document.addEventListener('DOMContentLoaded', function() {
-      var currentTestAssertions = [];
-
-      QUnit.log(function(details) {
-        var response;
-
-        console.log((details.result ? "? ": "? ") + details.message);
-
-        if (!details.result) {
-          response = details.message || '';
-
-          if (typeof details.expected !== 'undefined') {
-            if (response) {
-              response += ', ';
-            }
-
-            response += 'expected: ' + details.expected + ', but was: ' + details.actual;
-          }
-
-          if (details.source) {
-            response += '\n' + details.source;
-          }
-
-          console.log('    Failed assertion: ' + response);
-        }
-      });
-
-      QUnit.moduleStart(function( details ) {
-        if (details.name) {
-          console.log('\n' + details.name);
-        }
-      });
-
-      QUnit.testStart(function(result) {
-        console.log('\n' + result.name);
-      });
-
-      QUnit.done(function(result) {
-        console.log('\n' + 'Took ' + result.runtime +  'ms to run ' + result.total + ' tests. ' + result.passed + ' passed, ' + result.failed + ' failed.');
-
-        if (typeof window.callPhantom === 'function') {
-          window.callPhantom({
-            'name': 'QUnit.done',
-            'data': result
-          });
-        }
-      });
-    }, false);
-  }
-})();