Merge lp:~gesha/linaro-android-frontend/add-toolchain-tab into lp:linaro-android-frontend

Proposed by Georgy Redkozubov
Status: Merged
Merged at revision: 297
Proposed branch: lp:~gesha/linaro-android-frontend/add-toolchain-tab
Merge into: lp:linaro-android-frontend
Diff against target: 174 lines (+94/-7)
2 files modified
android_build/templates/index.html (+49/-1)
static/index.js (+45/-6)
To merge this branch: bzr merge lp:~gesha/linaro-android-frontend/add-toolchain-tab
Reviewer Review Type Date Requested Status
Paul Sokolovsky Approve
Linaro Infrastructure Pending
Review via email: mp+144078@code.launchpad.net

Description of the change

This branch adds toolchain tabs to Android-build UI.

To post a comment you must log in.
Revision history for this message
Paul Sokolovsky (pfalcon) wrote :

Categorization logic starts to look really complicated. It may also starting to be a performance penalty to re-evaluate all those boolean functions for each item, might be better idea to just have single functions which analyzes items and return category where it should go. Those are mostly comments for any future work, looks good for what it is now.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'android_build/templates/index.html'
2--- android_build/templates/index.html 2012-12-28 12:09:58 +0000
3+++ android_build/templates/index.html 2013-01-21 10:42:22 +0000
4@@ -243,6 +243,7 @@
5 <ul>
6 <li><a id="engineer-tab" href="#engineer-tab">Engineer Builds</a></li>
7 <li><a id="member-tab" href="#member-tab">Member Builds</a></li>
8+ <li><a id="toolchain-tab" href="#toolchain-tab">Toolchain Builds</a></li>
9 <li><a id="user-tab" href="#user-tab">User Builds</a></li>
10 <li><a id="community-tab" href="#community-tab">Community Builds</a></li>
11 <li><a id="archive-tab" href="#archive-tab">Archive Builds</a></li>
12@@ -298,7 +299,7 @@
13 <div id="member-tab">
14 <div id="msubteams">
15 <ul>
16- <li><a id="mti" href=#mti"><em>TI</em></a></li>
17+ <li><a id="mti" href="#mti"><em>TI</em></a></li>
18 <li><a id="msamsung" href="#msamsung"><em>Samsung</em></a></li>
19 <li><a id="marm" href="#marm"><em>ARM</em></a></li>
20 <li><a id="mste" href="#mste"><em>ST-E</em></a></li>
21@@ -495,6 +496,53 @@
22 </div>
23 </div>
24 </div>
25+ <div id="toolchain-tab">
26+ <div id="tsubteams">
27+ <ul>
28+ <li><a href="#tdaily-tab"><em>Daily</em></a></li>
29+ <li><a href="#trelease-tab"><em>Release</em></a></li>
30+ <li><a href="#trestricted-tab"><em>Restricted</em></a></li>
31+ </ul>
32+ <div>
33+ <div id="tdaily-tab">
34+ Search: <input class="search" />
35+ Status: <select>
36+ <option value="Any" selected="selected">Any</option>
37+ <option value="OK">Success</option>
38+ <option value="FAILED">Failure</option>
39+ <option value="ABORTED">Aborted</option>
40+ <option value="RUNNING">Building</option>
41+ <option value="">Never built</option>
42+ </select>
43+ <div class="build-table" id="toolchain-build-table"></div>
44+ </div>
45+ <div id="trelease-tab">
46+ Search: <input class="search" />
47+ Status: <select>
48+ <option value="Any" selected="selected">Any</option>
49+ <option value="OK">Success</option>
50+ <option value="FAILED">Failure</option>
51+ <option value="ABORTED">Aborted</option>
52+ <option value="RUNNING">Building</option>
53+ <option value="">Never built</option>
54+ </select>
55+ <div class="build-table" id="toolchain-release-build-table"></div>
56+ </div>
57+ <div id="trestricted-tab">
58+ Search: <input class="search" />
59+ Status: <select>
60+ <option value="Any" selected="selected">Any</option>
61+ <option value="OK">Success</option>
62+ <option value="FAILED">Failure</option>
63+ <option value="ABORTED">Aborted</option>
64+ <option value="RUNNING">Building</option>
65+ <option value="">Never built</option>
66+ </select>
67+ <div class="build-table" id="toolchain-restricted-build-table"></div>
68+ </div>
69+ </div>
70+ </div>
71+ </div>
72 <div id="user-tab">
73 Search: <input class="search" />
74 Status: <select>
75
76=== modified file 'static/index.js'
77--- static/index.js 2012-12-26 07:59:57 +0000
78+++ static/index.js 2013-01-21 10:42:22 +0000
79@@ -16,6 +16,8 @@
80 msubteam_tabview.render();
81 asubteam_tabview = new Y.TabView({ srcNode: '#asubteams' });
82 asubteam_tabview.render();
83+ tsubteam_tabview = new Y.TabView({ srcNode: '#tsubteams' });
84+ tsubteam_tabview.render();
85 team_tabview = new Y.TabView({srcNode: '#team-tabs'});
86 team_tabview.render();
87
88@@ -91,6 +93,18 @@
89 }
90 });
91
92+ tsubteam_tabview.on(
93+ 'render',
94+ function (e) {
95+ if (!globalConfig.userName || !in_array(groupsArray, 'linaro-toolchain-restricted')) {
96+ var restrictedBuildsTab = tsubteam_tabview.item(2);
97+ restrictedBuildsTab.on('click', function (e) { e.preventDefault(); });
98+ var restrictedlink = restrictedBuildsTab.get('boundingBox').one('a');
99+ restrictedlink.setStyle('color', 'grey');
100+ restrictedlink.setAttribute('href', globalConfig.loginURL + '?next=' + location.pathname + '%23teams=toolchain');
101+ }
102+ });
103+
104 mti_tabview.on(
105 'render',
106 function (e) {
107@@ -355,17 +369,21 @@
108 makeDT(
109 "#engineering-daily-build-table",
110 function (item) {
111- return item.getValue('name').search(/^~linaro-android\/(?!.*release).*$/) == 0;
112+ var group = 'linaro-android';
113+ var pattern = new RegExp("^~" + group + "\/(?!.*release).*$");
114+ return item.getValue('name').search(pattern) == 0 && item.getValue('name').search(/toolchain/) == -1;
115 }),
116 makeDT(
117 "#engineering-release-build-table",
118 function (item) {
119- return item.getValue('name').search(/^~linaro-android\/.*?(?:release).*$/) == 0;
120+ var group = 'linaro-android';
121+ var pattern = new RegExp("^~" + group + "\/.*?(?:release).*$");
122+ return item.getValue('name').search(pattern) == 0 && item.getValue('name').search(/toolchain/) == -1;
123 }),
124 makeDT(
125 "#engineering-restricted-build-table",
126 function (item) {
127- return item.getValue('name').search(/^~linaro-android-restricted\//) == 0;
128+ return item.getValue('name').search(/^~linaro-android-restricted\//) == 0 && item.getValue('name').search(/toolchain/) == -1;
129 }),
130 makeDT(
131 "#member-ti-build-table",
132@@ -382,7 +400,7 @@
133 makeDT(
134 "#member-ti-restricted-build-table",
135 function (item) {
136- return item.getValue('name').search(/^~linaro-android-member-ti-restricted\//) == 0;
137+ return item.getValue('name').search(/^~linaro-android-member-ti-restricted\//) == 0;
138 }),
139 makeDT(
140 "#member-samsung-build-table",
141@@ -441,10 +459,31 @@
142 function (item) { return item.getValue('name').search(userRegexp) == 0; } :
143 function (item) { return false; })
144 ),
145+ makeDT(
146+ "#toolchain-build-table",
147+ function (item) {
148+ var group = 'linaro-android';
149+ var pattern = new RegExp("^~" + group + "\/(?!.*201?\.??).*$");
150+ return item.getValue('name').search(pattern) == 0 && item.getValue('name').search(/toolchain/) > 0 && item.getValue('name').search(/aarch64/) == -1;
151+ }),
152+ makeDT(
153+ "#toolchain-release-build-table",
154+ function (item) {
155+ var group = 'linaro-android';
156+ var pattern = new RegExp("^~" + group + "\/.*?(?:201?\.??).*$");
157+ return item.getValue('name').search(pattern) == 0 && item.getValue('name').search(/toolchain/) > 0 && item.getValue('name').search(/aarch64/) == -1;
158+ }),
159+ makeDT(
160+ "#toolchain-restricted-build-table",
161+ function (item) {
162+ var group = 'linaro-android';
163+ var pattern = new RegExp("^~" + group + "\/.*?(?:aarch64).*$");
164+ return item.getValue('name').search(pattern) == 0 && item.getValue('name').search(/toolchain/) > 0;
165+ }),
166 makeDT("#archive-all-build-table",
167- function (item) { return item.getValue('name').search(/^~linaro-android\//) == 0; }),
168+ function (item) { return item.getValue('name').search(/^~linaro-android-archive\//) == 0; }),
169 makeDT("#archive-restricted-build-table",
170- function (item) { return item.getValue('name').search(/^~linaro-android-restricted\//) == 0; }),
171+ function (item) { return item.getValue('name').search(/^~linaro-android-archive-restricted\//) == 0; }),
172 makeDT("#community-build-table",
173 function (item) {
174 return item.getValue('name').search(/^~linaro-android-community\//) == 0;})

Subscribers

People subscribed via source and target branches