Skip to content

Commit

Permalink
Taxonomy subset dl (#31)
Browse files Browse the repository at this point in the history
* Bump version

* add flag to enable formatting based on a search

* Enable subset taxonomy download (fixes #29)

* Add padding to prevent overflow on toggle

* Bump version to reflect release

* ignore cruft

* Stop spinning appropriately when PDF creation fails
  • Loading branch information
tigerhawkvok authored May 19, 2017
1 parent 94a77b0 commit 46121ab
Show file tree
Hide file tree
Showing 21 changed files with 154 additions and 55 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ errors/
*.out
*.aux

.vscode
bower_components/bootstrap/node_modules/
node_modules/
admin/node_modules/
Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ASM Mammal Database",
"version": "0.6.4",
"version": "1.1.2",
"homepage": "https://github.com/tigerhawkvok/asm-mammal-database",
"authors": [
"Philip Kahn <[email protected]>"
Expand Down
46 changes: 37 additions & 9 deletions coffee/download.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Depends on the service worker to do some of the load off-thread
# See ./serviceWorker.coffee

downloadCSVList = ->
downloadCSVList = (useLastSearch = false) ->
###
# Download a CSV file list
#
Expand All @@ -13,12 +13,18 @@ downloadCSVList = ->
startTime = Date.now()
_asm.progressTracking =
estimate: new Array()
try
searchString = if useLastSearch then searchParams.lastSearch else "*"
if isNull searchString
searchString = "*"
catch
searchString = "*"
try
for button in $("#download-chooser .buttons paper-button")
p$(button).disabled = true
#filterArg = "eyJpc19hbGllbiI6MCwiYm9vbGVhbl90eXBlIjoib3IifQ"
#args = "filter=#{filterArg}"
args = "q=*"
args = "q=#{searchString}"
d = new Date()
adjMonth = d.getMonth() + 1
month = if adjMonth.toString().length is 1 then "0#{adjMonth}" else adjMonth
Expand Down Expand Up @@ -195,7 +201,7 @@ downloadCSVList = ->



downloadHTMLList = ->
downloadHTMLList = (useLastSearch = false) ->
###
# Download a HTML file list
#
Expand All @@ -216,6 +222,12 @@ downloadHTMLList = ->
startTime = Date.now()
_asm.progressTracking =
estimate: new Array()
try
searchString = if useLastSearch then searchParams.lastSearch else "*"
if isNull searchString
searchString = "*"
catch
searchString = "*"
try
for button in $("#download-chooser .buttons paper-button")
p$(button).disabled = true
Expand Down Expand Up @@ -245,7 +257,7 @@ downloadHTMLList = ->
<article>
<h1 class="text-center">ASM Species Checklist ver. #{dateString}</h1>
"""
args = "q=*&order=linnean_order,linnean_family,genus,species,subspecies"
args = "q=#{searchString}&order=linnean_order,linnean_family,genus,species,subspecies"
$.get "#{searchParams.apiPath}", args, "json"
.done (result) ->
startLoad()
Expand Down Expand Up @@ -284,7 +296,8 @@ downloadHTMLList = ->
</p>
"""
$("#download-chooser .dialog-content .scrollable").append html
p$("#download-progress-indicator").value = e.data.progress
try
p$("#download-progress-indicator").value = e.data.progress
timeElapsed = Date.now() - startTime
fractionalProgress = toFloat(e.data.progress) / 1000.0
totalTimeEstimate = timeElapsed / fractionalProgress
Expand Down Expand Up @@ -360,10 +373,10 @@ downloadHTMLList = ->
"""
$("#download-html-file #download-html-summary").after pdfDownload
else
console.error "Couldn't make PDF file"
stopLoadError "Couldn't make PDF file"
$("#download-html-file #download-html-summary").after pdfError
.error (result, status) ->
console.error "Wasn't able to fetch PDF"
stopLoadError "Wasn't able to fetch PDF"
$("#download-html-file #download-html-summary").after pdfError
.always ->
try
Expand All @@ -388,6 +401,9 @@ showDownloadChooser = ->
<p>
Once you select a file type, it will take a moment to prepare your download. Please be patient.
</p>
<div>
<paper-toggle-button id="use-search">Use current search results</paper-toggle-button>
</div>
</paper-dialog-scrollable>
<div class="buttons">
<paper-button dialog-dismiss>Cancel</paper-button>
Expand All @@ -400,9 +416,21 @@ showDownloadChooser = ->
$("body").append(html)
$("#initiate-csv-download").click ->
# Show a notice to docs for direct queries
downloadCSVList()
try
isChecked = p$("#use-search").checked
catch
isChecked = false
try
p$("#use-search").disabled = true
downloadCSVList(isChecked)
$("#initiate-html-download").click ->
downloadHTMLList()
try
isChecked = p$("#use-search").checked
catch
isChecked = false
try
p$("#use-search").disabled = true
downloadHTMLList(isChecked)
## Close events
# When we close it, we want to remove it to reset the
# progress bar and the disabled's, etc.
Expand Down
10 changes: 7 additions & 3 deletions coffee/search.coffee
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
searchParams = new Object()
searchParams.targetApi = "api.php"
searchParams.targetContainer = "#result_container"
searchParams =
lastSearch: "*"
targetApi: "api.php"
targetContainer: "#result_container"
searchParams.apiPath = uri.urlString + searchParams.targetApi

window._asm = new Object()
Expand Down Expand Up @@ -235,6 +236,7 @@ performSearch = (stateArgs = undefined) ->
return false
animateLoad()
console.log("Got search value #{s}, hitting","#{searchParams.apiPath}?#{args}")
searchParams.lastSearch = s
$.get(searchParams.targetApi,args,"json")
.done (result) ->
# Populate the result container
Expand Down Expand Up @@ -1528,6 +1530,8 @@ $ ->
# Perform the initial search
if not isNull(loadArgs) and loadArgs isnt "#"
# console.log("Doing initial search with '#{loadArgs}', hitting","#{searchParams.apiPath}?q=#{loadArgs}")
try
searchParams.lastSearch = loadArgs
$.get searchParams.targetApi,"q=#{loadArgs}","json"
.done (result) ->
# Populate the result container
Expand Down
3 changes: 3 additions & 0 deletions css/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -6945,6 +6945,9 @@ main #images-block div.no-image {
#eutheria-extra {
display: inline-block;
}
paper-dialog#download-chooser paper-dialog-scrollable .scrollable {
padding-bottom: 2rem;
}
paper-dialog#set-license-value {
width: 85vw;
}
Expand Down
2 changes: 1 addition & 1 deletion css/main.css.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion css/main.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion css/main.min.css.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion currentVersion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v0.6.4
v1.1.2
14 changes: 9 additions & 5 deletions js/c.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions js/c.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion js/c.min.js.map

Large diffs are not rendered by default.

10 changes: 7 additions & 3 deletions js/c.src.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -1809,9 +1809,10 @@ $ ->
lightboxImages()
false

searchParams = new Object()
searchParams.targetApi = "api.php"
searchParams.targetContainer = "#result_container"
searchParams =
lastSearch: "*"
targetApi: "api.php"
targetContainer: "#result_container"
searchParams.apiPath = uri.urlString + searchParams.targetApi

window._asm = new Object()
Expand Down Expand Up @@ -2046,6 +2047,7 @@ performSearch = (stateArgs = undefined) ->
return false
animateLoad()
console.log("Got search value #{s}, hitting","#{searchParams.apiPath}?#{args}")
searchParams.lastSearch = s
$.get(searchParams.targetApi,args,"json")
.done (result) ->
# Populate the result container
Expand Down Expand Up @@ -3339,6 +3341,8 @@ $ ->
# Perform the initial search
if not isNull(loadArgs) and loadArgs isnt "#"
# console.log("Doing initial search with '#{loadArgs}', hitting","#{searchParams.apiPath}?q=#{loadArgs}")
try
searchParams.lastSearch = loadArgs
$.get searchParams.targetApi,"q=#{loadArgs}","json"
.done (result) ->
# Populate the result container
Expand Down
Loading

0 comments on commit 46121ab

Please sign in to comment.