diff options
author | V.Krishn <vkrishn4@gmail.com> | 2016-07-05 09:55:51 +0530 |
---|---|---|
committer | V.Krishn <vkrishn4@gmail.com> | 2016-07-05 09:55:51 +0530 |
commit | 940421240ea5f198be484f0e489ea1201a029df5 (patch) | |
tree | 377c959b1e106d827abe7e17ede2b88bb09cedd1 | |
parent | 44b483442ea7d34face2eccf7e8450c2b4a1f79f (diff) | |
download | aports-ui-940421240ea5f198be484f0e489ea1201a029df5.tar.bz2 |
add flagged data on packages
-rw-r--r-- | packages.html | 2 | ||||
-rw-r--r-- | public/css/aports.api.css | 5 | ||||
-rw-r--r-- | public/js/aports.api.js | 12 | ||||
-rw-r--r-- | public/js/aports.package.js | 28 | ||||
-rw-r--r-- | public/js/aports.packages.js | 35 |
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); /*]]>*/ |