Merge lp:~blake-rouse/maas/small-storage-ui-fixes into lp:~maas-committers/maas/trunk

Proposed by Blake Rouse
Status: Merged
Approved by: Blake Rouse
Approved revision: no longer in the source branch.
Merged at revision: 4437
Proposed branch: lp:~blake-rouse/maas/small-storage-ui-fixes
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 219 lines (+39/-35)
3 files modified
src/maasserver/static/js/angular/controllers/node_details_storage.js (+2/-2)
src/maasserver/static/js/angular/controllers/tests/test_node_details_storage.js (+3/-3)
src/maasserver/static/partials/node-details.html (+34/-30)
To merge this branch: bzr merge lp:~blake-rouse/maas/small-storage-ui-fixes
Reviewer Review Type Date Requested Status
Mike Pontillo (community) Approve
Lee Trager (community) Approve
Review via email: mp+276203@code.launchpad.net

Commit message

Move the model/serial column under the name column. Add tickbox on the create bond row. Rename available space to size for consistency. Change Format & Mount to just Mount. Remove the empty column on the create RAID and Bcache rows. Fix all buttons to be lower case.

To post a comment you must log in.
Revision history for this message
Lee Trager (ltrager) wrote :

Looks good!

review: Approve
Revision history for this message
Mike Pontillo (mpontillo) wrote :

Looks good to me.

Lowercase "bcache"! Finally vindicated! ;-)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/maasserver/static/js/angular/controllers/node_details_storage.js'
--- src/maasserver/static/js/angular/controllers/node_details_storage.js 2015-10-29 16:39:49 +0000
+++ src/maasserver/static/js/angular/controllers/node_details_storage.js 2015-10-30 01:45:15 +0000
@@ -114,7 +114,7 @@
114 }114 }
115 ];115 ];
116116
117 $scope.column = 'model';117 $scope.column = 'name';
118 $scope.has_disks = false;118 $scope.has_disks = false;
119 $scope.filesystems = [];119 $scope.filesystems = [];
120 $scope.filesystemsMap = {};120 $scope.filesystemsMap = {};
@@ -878,7 +878,7 @@
878 $scope.getAvailableFormatSubmitText = function(disk) {878 $scope.getAvailableFormatSubmitText = function(disk) {
879 if(angular.isString(disk.$options.mount_point) &&879 if(angular.isString(disk.$options.mount_point) &&
880 disk.$options.mount_point !== "") {880 disk.$options.mount_point !== "") {
881 return "Format & Mount";881 return "Mount";
882 } else {882 } else {
883 return "Format";883 return "Format";
884 }884 }
885885
=== modified file 'src/maasserver/static/js/angular/controllers/tests/test_node_details_storage.js'
--- src/maasserver/static/js/angular/controllers/tests/test_node_details_storage.js 2015-10-29 16:39:49 +0000
+++ src/maasserver/static/js/angular/controllers/tests/test_node_details_storage.js 2015-10-30 01:45:15 +0000
@@ -252,7 +252,7 @@
252252
253 it("sets initial values", function() {253 it("sets initial values", function() {
254 var controller = makeController();254 var controller = makeController();
255 expect($scope.column).toBe('model');255 expect($scope.column).toBe('name');
256 expect($scope.has_disks).toBe(false);256 expect($scope.has_disks).toBe(false);
257 expect($scope.filesystems).toEqual([]);257 expect($scope.filesystems).toEqual([]);
258 expect($scope.filesystemsMap).toEqual({});258 expect($scope.filesystemsMap).toEqual({});
@@ -1546,7 +1546,7 @@
15461546
1547 describe("getAvailableFormatSubmitText", function() {1547 describe("getAvailableFormatSubmitText", function() {
15481548
1549 it("returns 'Format & Mount' when mount_point set", function() {1549 it("returns 'Mount' when mount_point set", function() {
1550 var controller = makeController();1550 var controller = makeController();
1551 var disk = {1551 var disk = {
1552 $options: {1552 $options: {
@@ -1555,7 +1555,7 @@
1555 };1555 };
15561556
1557 expect($scope.getAvailableFormatSubmitText(disk)).toBe(1557 expect($scope.getAvailableFormatSubmitText(disk)).toBe(
1558 "Format & Mount");1558 "Mount");
1559 });1559 });
15601560
1561 it("returns 'Format' when mount_point is null", function() {1561 it("returns 'Format' when mount_point is null", function() {
15621562
=== modified file 'src/maasserver/static/partials/node-details.html'
--- src/maasserver/static/partials/node-details.html 2015-10-29 16:12:05 +0000
+++ src/maasserver/static/partials/node-details.html 2015-10-30 01:45:15 +0000
@@ -550,6 +550,8 @@
550 </div>550 </div>
551 <div class="table__row active ng-hide" data-ng-show="isShowingCreateBond()">551 <div class="table__row active ng-hide" data-ng-show="isShowingCreateBond()">
552 <div class="table__data table__column--3">552 <div class="table__data table__column--3">
553 <input class="checkbox" type="checkbox" id="bond-create" disabled="disabled" checked />
554 <label class="checkbox-label" for="bond-create"></label>
553 </div>555 </div>
554 <div class="table__data table__column--12">556 <div class="table__data table__column--12">
555 <input type="text" class="table__input editible"557 <input type="text" class="table__input editible"
@@ -648,7 +650,7 @@
648 </ul>650 </ul>
649 </div>651 </div>
650 <div class="twelve-col padding-bottom">652 <div class="twelve-col padding-bottom">
651 <h3>File System</h3>653 <h3>File system</h3>
652 <section class="table">654 <section class="table">
653 <header class="table__head">655 <header class="table__head">
654 <div class="table__row">656 <div class="table__row">
@@ -791,16 +793,17 @@
791 data-ng-disabled="isAvailableDisabled()" />793 data-ng-disabled="isAvailableDisabled()" />
792 <label class="checkbox-label" for="available-check-all"></label>794 <label class="checkbox-label" for="available-check-all"></label>
793 </div>795 </div>
794 <div class="table__header table__column--15">Name</div>796 <div class="table__header table__column--20">
795 <div class="table__header table__column--15">Space Available</div>797 <a data-ng-click="column = 'name'" data-ng-class="{active: column === 'name'}">Name</a>
798 <span class="divide"></span>
799 <a data-ng-click="column = 'model'" data-ng-class="{active: column === 'model'}">Model</a>
800 <span class="divide"></span>
801 <a data-ng-click="column = 'serial'" data-ng-class="{active: column === 'serial'}">Serial</a>
802 </div>
803 <div class="table__header table__column--15">Size</div>
796 <div class="table__header table__column--15">Device Type</div>804 <div class="table__header table__column--15">Device Type</div>
797 <div class="table__header table__column--15">File system</div>805 <div class="table__header table__column--15">File system</div>
798 <div class="table__header table__column--15" colspan="2">806 <div class="table__header table__column--25">Tags</div>
799 <a data-ng-click="column = 'model'" data-ng-class="{active: column === 'model'}">Model</a>
800 <span class="divide"></span>
801 <a data-ng-click="column = 'serial'" data-ng-class="{active: column === 'serial'}">Serial</a>
802 </div>
803 <div class="table__header table__column--15">Tags</div>
804 <div class="table__header table__column--7"></div>807 <div class="table__header table__column--7"></div>
805 </div>808 </div>
806 </header>809 </header>
@@ -820,7 +823,7 @@
820 data-ng-disabled="isAvailableDisabled()" />823 data-ng-disabled="isAvailableDisabled()" />
821 <label class="checkbox-label" for="{$ item.name $}" ></label>824 <label class="checkbox-label" for="{$ item.name $}" ></label>
822 </div>825 </div>
823 <div class="table__data table__column--15">826 <div class="table__data table__column--20" data-ng-show="column === 'name'">
824 <input type="text" class="table__input"827 <input type="text" class="table__input"
825 data-ng-model="item.name"828 data-ng-model="item.name"
826 data-maas-enter-blur829 data-maas-enter-blur
@@ -829,6 +832,8 @@
829 data-ng-disabled="item.type === 'partition'"832 data-ng-disabled="item.type === 'partition'"
830 data-ng-change="nameHasChanged(item)">833 data-ng-change="nameHasChanged(item)">
831 </div>834 </div>
835 <div class="table__data table__column--20 ng-hide" data-ng-show="column === 'model'">{$ item.model $}</div>
836 <div class="table__data table__column--20 ng-hide" data-ng-show="column === 'serial'">{$ item.serial $}</div>
832 <div class="table__data table__column--15">{$ item.size_human $} <span class="table__label ng-hide" data-ng-show="showFreeSpace(item)">Free: {$ item.available_size_human $}</span></div>837 <div class="table__data table__column--15">{$ item.size_human $} <span class="table__label ng-hide" data-ng-show="showFreeSpace(item)">Free: {$ item.available_size_human $}</span></div>
833 <div class="table__data table__column--15">{$ getDeviceType(item) $}</div>838 <div class="table__data table__column--15">{$ getDeviceType(item) $}</div>
834 <div class="table__data table__column--15">839 <div class="table__data table__column--15">
@@ -839,9 +844,7 @@
839 data-ng-class="{ 'margin-left--ten': item.fstype }">{$ getFormatAndMountButtonText (item) $}</a>844 data-ng-class="{ 'margin-left--ten': item.fstype }">{$ getFormatAndMountButtonText (item) $}</a>
840 </span>845 </span>
841 </div>846 </div>
842 <div class="table__data table__column--15" colspan="2" data-ng-show="column === 'model'">{$ item.model $}</div>847 <div class="table__data table__tags table__column--25">
843 <div class="table__data table__column--15 ng-hide" colspan="2" data-ng-show="column === 'serial'">{$ item.serial $}</div>
844 <div class="table__data table__tags table__column--15">
845 <span class="table__tag" data-ng-repeat="tag in item.tags" data-ng-hide="item.$options.editingTags">848 <span class="table__tag" data-ng-repeat="tag in item.tags" data-ng-hide="item.$options.editingTags">
846 <a href="#/node/?query=storage_tags:({$ tag.text $})">{$ tag.text $}</a>849 <a href="#/node/?query=storage_tags:({$ tag.text $})">{$ tag.text $}</a>
847 </span>850 </span>
@@ -1038,7 +1041,6 @@
1038 <option value="writearound">writearound</option>1041 <option value="writearound">writearound</option>
1039 </select>1042 </select>
1040 </div>1043 </div>
1041 <div class="table__data table__column--15"></div>
1042 <div class="table__data table__column--15">1044 <div class="table__data table__column--15">
1043 <label for="type">File system</label>1045 <label for="type">File system</label>
1044 <select name="filesys"1046 <select name="filesys"
@@ -1055,6 +1057,7 @@
1055 data-ng-disabled="availableNew.fstype === null"1057 data-ng-disabled="availableNew.fstype === null"
1056 data-ng-class="{ invalid: isMountPointInvalid(availableNew.mountPoint) }">1058 data-ng-class="{ invalid: isMountPointInvalid(availableNew.mountPoint) }">
1057 </div>1059 </div>
1060 <div class="table__data table__column--15"></div>
1058 <div class="table__data table__column--7"></div>1061 <div class="table__data table__column--7"></div>
1059 </div>1062 </div>
1060 <div class="table__row table__dropdown-row table__dropdown-row--head">1063 <div class="table__row table__dropdown-row table__dropdown-row--head">
@@ -1107,8 +1110,6 @@
1107 data-ng-options="mode as mode.title for mode in getAvailableRAIDModes()">1110 data-ng-options="mode as mode.title for mode in getAvailableRAIDModes()">
1108 </select>1111 </select>
1109 </div>1112 </div>
1110 <div class="table__data table__column--15"></div>
1111 <div class="table__data table__column--15"></div>
1112 <div class="table__data table__column--15">1113 <div class="table__data table__column--15">
1113 <label for="type">File system</label>1114 <label for="type">File system</label>
1114 <select name="filesys"1115 <select name="filesys"
@@ -1125,6 +1126,8 @@
1125 data-ng-disabled="availableNew.fstype === null"1126 data-ng-disabled="availableNew.fstype === null"
1126 data-ng-class="{ invalid: isMountPointInvalid(availableNew.mountPoint) }">1127 data-ng-class="{ invalid: isMountPointInvalid(availableNew.mountPoint) }">
1127 </div>1128 </div>
1129 <div class="table__data table__column--15"></div>
1130 <div class="table__data table__column--15"></div>
1128 <div class="table__data table__column--7"></div>1131 <div class="table__data table__column--7"></div>
1129 </div>1132 </div>
1130 <div class="table__row table__dropdown-row table__dropdown-row--head">1133 <div class="table__row table__dropdown-row table__dropdown-row--head">
@@ -1217,13 +1220,13 @@
1217 data-ng-click="createRAID()">Create RAID</a>1220 data-ng-click="createRAID()">Create RAID</a>
1218 <a class="link-cta-ubuntu secondary margin-right"1221 <a class="link-cta-ubuntu secondary margin-right"
1219 data-ng-disabled="!canCreateVolumeGroup()"1222 data-ng-disabled="!canCreateVolumeGroup()"
1220 data-ng-click="createVolumeGroup()">Create Volume Group</a>1223 data-ng-click="createVolumeGroup()">Create volume group</a>
1221 <a class="link-cta-ubuntu secondary margin-right"1224 <a class="link-cta-ubuntu secondary margin-right"
1222 data-ng-disabled="!canCreateCacheSet()"1225 data-ng-disabled="!canCreateCacheSet()"
1223 data-ng-click="createCacheSet()">Create Cache Set</a>1226 data-ng-click="createCacheSet()">Create cache Set</a>
1224 <a class="link-cta-ubuntu secondary"1227 <a class="link-cta-ubuntu secondary"
1225 data-ng-disabled="!canCreateBcache()"1228 data-ng-disabled="!canCreateBcache()"
1226 data-ng-click="createBcache()">Create Bcache</a>1229 data-ng-click="createBcache()">Create bcache</a>
1227 </div>1230 </div>
1228 <div class="twelve-col padding-bottom">1231 <div class="twelve-col padding-bottom">
1229 <h3>Used disks and partitions</h3>1232 <h3>Used disks and partitions</h3>
@@ -1231,14 +1234,15 @@
1231 <header class="table__head">1234 <header class="table__head">
1232 <div class="table__row">1235 <div class="table__row">
1233 <div class="table__header table__column--3"></div>1236 <div class="table__header table__column--3"></div>
1234 <div class="table__header table__column--15">Name</div>1237 <div class="table__header table__column--20">
1238 <a data-ng-click="column = 'name'" data-ng-class="{active: column === 'name'}">Name</a>
1239 <span class="divide"></span>
1240 <a data-ng-click="column = 'model'" data-ng-class="{active: column === 'model'}">Model</a>
1241 <span class="divide"></span>
1242 <a data-ng-click="column = 'serial'" data-ng-class="{active: column === 'serial'}">Serial</a>
1243 </div>
1235 <div class="table__header table__column--15">Device type</div>1244 <div class="table__header table__column--15">Device type</div>
1236 <div class="table__header table__column--30" colspan="2">1245 <div class="table__header table__column--52">Used for</div>
1237 <a data-ng-click="column = 'model'" data-ng-class="{active: column === 'model'}">Model</a>
1238 <span class="divide"></span>
1239 <a data-ng-click="column = 'serial'" data-ng-class="{active: column === 'serial'}">Serial</a>
1240 </div>
1241 <div class="table__header table__column--37">Used for</div>
1242 </div>1246 </div>
1243 </header>1247 </header>
1244 <main class="table-body">1248 <main class="table-body">
@@ -1250,11 +1254,11 @@
1250 <div data-ng-repeat="item in used">1254 <div data-ng-repeat="item in used">
1251 <div class="table__row details__used">1255 <div class="table__row details__used">
1252 <div class="table__data table__column--3"></div>1256 <div class="table__data table__column--3"></div>
1253 <div class="table__data table__column--15">{$ item.name $}</div>1257 <div class="table__data table__column--20" data-ng-show="column === 'name'">{$ item.name $}</div>
1258 <div class="table__data table__column--20" data-ng-show="column === 'model'">{$ item.model $}</div>
1259 <div class="table__data table__column--20" data-ng-show="column === 'serial'">{$ item.serial $}</div>
1254 <div class="table__data table__column--15">{$ getDeviceType(item) $}</div>1260 <div class="table__data table__column--15">{$ getDeviceType(item) $}</div>
1255 <div class="table__data table__column--30" colspan="2" data-ng-show="column === 'model'">{$ item.model $}</div>1261 <div class="table__data table__column--52">{$ item.used_for $}</div>
1256 <div class="table__data table__column--30" colspan="2" data-ng-show="column === 'serial'">{$ item.serial $}</div>
1257 <div class="table__data table__column--37">{$ item.used_for $}</div>
1258 </div>1262 </div>
1259 </div>1263 </div>
1260 </main>1264 </main>