summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorV.Krishn <vkrishn4@gmail.com>2016-07-05 09:55:51 +0530
committerV.Krishn <vkrishn4@gmail.com>2016-07-05 09:55:51 +0530
commit940421240ea5f198be484f0e489ea1201a029df5 (patch)
tree377c959b1e106d827abe7e17ede2b88bb09cedd1
parent44b483442ea7d34face2eccf7e8450c2b4a1f79f (diff)
downloadaports-ui-940421240ea5f198be484f0e489ea1201a029df5.tar.bz2
add flagged data on packages
-rw-r--r--packages.html2
-rw-r--r--public/css/aports.api.css5
-rw-r--r--public/js/aports.api.js12
-rw-r--r--public/js/aports.package.js28
-rw-r--r--public/js/aports.packages.js35
5 files changed, 59 insertions, 23 deletions
diff --git a/packages.html b/packages.html
index de14795..d1368d3 100644
--- a/packages.html
+++ b/packages.html
@@ -18,7 +18,7 @@
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" id="name" name="name" value="" placeholder="Package name" autofocus>
- <span data-toggle="tooltip" class="input-group-addon cursor-pointer" title="Use * and ? as wildcards">?</span>
+ <span data-toggle="tooltip" class="input-group-addon cursor-pointer" title="Use _ as wildcards">?</span>
</div>
</div>
diff --git a/public/css/aports.api.css b/public/css/aports.api.css
index 3b55f76..bfc4e08 100644
--- a/public/css/aports.api.css
+++ b/public/css/aports.api.css
@@ -38,4 +38,9 @@ div.form-group {
margin: 4px auto;
}
+.version {
+ font-weight: bold;
+}
+
+
diff --git a/public/js/aports.api.js b/public/js/aports.api.js
index 2e47fde..947da2d 100644
--- a/public/js/aports.api.js
+++ b/public/js/aports.api.js
@@ -22,6 +22,8 @@ packages.fields = ['name', 'version', 'url', 'license', 'branch',
'repo', 'arch', 'maintainer', 'build_time'];
packages.class = 'packages';
+flagged = {};
+
meta = {};
meta.stats = ['count', 'total-pages', 'per-page', 'total-count',
'elapsed_time', 'memory_usage'];
@@ -70,7 +72,9 @@ temp = {}
return makeElm( 'a', data[field], {'title':data['description'], 'href':url_} );
}
if('version' == field) {
- return makeElm( 'a', data[field], {'title':'Flag this package out of date', 'href':''} );
+ var t_ = (data['fid']) ? 'Flagged: ' : 'Flag this package out of date';
+ var c_ = (data['fid']) ? 'version text-danger fid'+data['fid'] : 'version text-success';
+ return makeElm( 'a', data[field], {'title':t_, 'href':'', 'class': c_} );
}
if('url' == field) {
return makeElm( 'a', 'URL', {'title':'', 'href':data[field]} )
@@ -98,11 +102,11 @@ temp = {}
};
makePgn = function(data) {
- links = data.links;
+ var links = data.links;
var pgs = parseInt((/[\d]+$/i).exec(links.last));
currPg = parseInt((/[\d]+$/i).exec(app.query));
app.query = (app.query).split(/\&page.*/)[0];
- pgr = $('#api-active-pager');
+ var pgr = $('#api-active-pager');
setTimeout(function() {
$(pgr).twbsPagination({
startPage: (currPg <= data.meta['total-pages']) ? currPg : 1,
@@ -161,7 +165,7 @@ temp = {}
fmtDate = function(epoch, fmt) {
fmt = fmt ? fmt : "ddd, mmm dS, yyyy, h:MM TT";
- now = new Date();
+ var now = new Date();
var mEpoch = parseInt(epoch);
if(mEpoch < 10000000000) { mEpoch *= 1000; }
now.setTime(mEpoch);
diff --git a/public/js/aports.package.js b/public/js/aports.package.js
index 5c1d675..ea7bb3b 100644
--- a/public/js/aports.package.js
+++ b/public/js/aports.package.js
@@ -33,33 +33,33 @@
getPackage = function(data) {
//----- data.data -----
- var d = data.data[0]; var d_ = d['attributes']; var ln = '';
- var name = d['attributes']['name'];
- var version = d['attributes']['version'];
- var branch = d['attributes']['branch'];
- var repo = d['attributes']['repo'];
- var arch = d['attributes']['arch'];
- var items = [];
+ var d = data.data[0]; var d_ = d['attributes'];
+ var name = d_['name'];
+ var version = d_['version'];
+ var branch = d_['branch'];
+ var repo = d_['repo'];
+ var arch = d_['arch'];
+ var items = []; var ln = '';
ln = 'http://git.alpinelinux.org/cgit/aports/tree';
var gr = (makeElm('a', 'Git repository', {
'href': ln+'/'+repo+'/'+name+'?h=master'
}));
- d['attributes']['git_repository'] = gr;
+ d_['git_repository'] = gr;
ln = 'http://build.alpinelinux.org/buildlogs';
var bl = (makeElm('a', 'Bluid log', {
'href': ln+'/'+'build-'+branch+'-'+arch+'/'+repo+'/'+name+'/'+name+'-'+version+'.log'
}));
- d['attributes']['build_log'] = bl;
+ d_['build_log'] = bl;
ln = 'http://pkgs.alpinelinux.org/contents';
var ct = (makeElm('a', 'Contents of package', {
'href': ln+'?branch='+branch+'&name='+name+'&arch='+arch+'&repo='+repo+''
}));
- d['attributes']['contents'] = ct;
+ d_['contents'] = ct;
- $.each( d['attributes'], function( key, val ) {
+ $.each( d_, function( key, val ) {
key_ = key;
if('name' == key_) { key_ = 'Package' };
if('url' == key_) { key_ = 'Project' };
@@ -68,7 +68,7 @@
if('checksum' == key_) { key = '' };
if('fid' == key_) { key = '' };
if('commit' == key_) {
- d['attributes']['commit'] = (makeElm('a', val, {
+ d_['commit'] = (makeElm('a', val, {
'href':'http://git.alpinelinux.org/cgit/aports/commit/?id='+val
}));
};
@@ -76,7 +76,7 @@
items.push('<tr>');
if(key !== '') {
items.push(makeElm('th', titleCase(key_).replace(/\_/, ' '), {'class': 'text-nowrap'}) );
- items.push(makeElm('td', fmtData(d['attributes'], key, 'data'), {}) );
+ items.push(makeElm('td', fmtData(d_, key, 'data'), {}) );
}
items.push('</tr>');
});
@@ -102,6 +102,8 @@
_getPackage(url);
+
+
/*]]>*/
diff --git a/public/js/aports.packages.js b/public/js/aports.packages.js
index cc6ba11..3c5a8ff 100644
--- a/public/js/aports.packages.js
+++ b/public/js/aports.packages.js
@@ -11,11 +11,18 @@
get_packages = function(data) {
//----- data.data -----
- var items = [];
+ var items = []; var fids = [];
var h = getTblRow('', packages.tblHdrs, 'data', 'th', 'tr');
$.each( data.data, function( key, val ) {
- items.push( getTblRow(val['attributes'], packages.fields, 'data', 'td', 'tr') );
+ items.push(getTblRow(val['attributes'], packages.fields, 'data', 'td', 'tr'));
+ if(val['attributes'].fid) fids[val['attributes'].fid] = '';
});
+
+ //get flagged items data
+ var fids_ = []; for(a in fids) { fids_.push(a); }
+ url_ = config.api.baseurl+'/flagged/fid/'+fids_.join(',');
+ asyncReq(url_, 'callback', get_flagged_by_fids);
+
var tbl = "\n" + h + "\n" + items.join( "\n" );
$( "<table/>", {
"id": "packages",
@@ -24,6 +31,9 @@
html: tbl
}).appendTo( "body .container" );
//setTimeout(function() { sortables_init(); }, 1600);
+ packages_ = document.getElementById('packages');
+ packages_.onmouseover = packagesOver;
+
//----- data.links -----
var links = [];
@@ -59,6 +69,22 @@
};
+ get_flagged_by_fids = function(data) {
+ //----- data.data -----
+ var fids = []; flagged.onpage = [];
+ $.each( data.data, function( key, val ) {
+ if(val.id) flagged.onpage[val.id] = fmtDate(val['attributes'].created, "yyyy-mm-dd HH:MM:ss");
+ });
+ };
+
+ packagesOver = function(e) {
+ e.preventDefault(); obj = e.target;
+ if(obj.tagName != 'A') return;
+ if( ! $(obj).hasClass('text-danger') ) return;
+ var fid = parseInt((/[\d]+$/i).exec(obj.className));
+ obj.title = 'Flagged: '+flagged.onpage[fid];
+ }
+
get_categories = function(data) {
//----- data.data -----
var items = [];
@@ -95,7 +121,7 @@
$( html ).appendTo( "body #search" );
};
- get_maintainers = function(data) {
+ get_maintainer_names = function(data) {
//----- data.data -----
var items = [];
items.push(makeElm('option', '', {}) );
@@ -122,8 +148,7 @@
asyncReq(url, 'callback', get_categories);
url=config.api.baseurl+'/maintainer/names';
- asyncReq(url, 'callback', get_maintainers);
-
+ asyncReq(url, 'callback', get_maintainer_names);
/*]]>*/