From fea87a2497d5dae3daca4763b6b03554196f7afb Mon Sep 17 00:00:00 2001 From: Ben Zifkin Date: Wed, 28 May 2014 20:37:15 +0000 Subject: [PATCH 1/6] ended up deleting changes, still making me commit --- homer/web/css/style.css | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/homer/web/css/style.css b/homer/web/css/style.css index fd3e12e2..fe01f07a 100644 --- a/homer/web/css/style.css +++ b/homer/web/css/style.css @@ -115,4 +115,8 @@ img.thumbnail { padding:10px; border:2px solid gray; margin:0px; -} \ No newline at end of file +} + + + + From 9cbab576a4b2cb7d4a951654241cf93fd5c372e4 Mon Sep 17 00:00:00 2001 From: Ben Zifkin Date: Wed, 28 May 2014 20:38:25 +0000 Subject: [PATCH 2/6] added a button --- homer/web/js/internetArchive.js | 35 +++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/homer/web/js/internetArchive.js b/homer/web/js/internetArchive.js index 0856fb83..5f3aad09 100644 --- a/homer/web/js/internetArchive.js +++ b/homer/web/js/internetArchive.js @@ -44,23 +44,28 @@ var renderResult = function(queryTerms, result) { name += ' pp. ' + pageNum; var previewImage = '' + - '' + - ''; + '' + + ''; var html = '
' + - '' + - '' + - '' + - '' + - '' + - ''; - if(snippet) { - html += ''; - } - html += '
' + previewImage + '' + name + '' + result.score.toFixed(3) + ' r'+ result.rank + '
...'; - html += highlightText(queryTerms, snippet, '',''); - html += '...
'; - + '' + + '' + + '' + + '' + + '' + + ''+ + '' + + ''+ + ''; + + +if(snippet) { +html += ''; +} +html += '
' + previewImage + '' + name + '' + result.score.toFixed(3) + ' r'+ result.rank + '
'+ '' + '
...'; +html += highlightText(queryTerms, snippet, '',''); +html += '...
'; + return html; From 26db54a9874b2163ab93634175f8a3f93639f68d Mon Sep 17 00:00:00 2001 From: Ben Zifkin Date: Wed, 28 May 2014 20:46:48 +0000 Subject: [PATCH 3/6] Resolve merge --- homer/web/css/style.css | 5 ----- 1 file changed, 5 deletions(-) diff --git a/homer/web/css/style.css b/homer/web/css/style.css index 67b7d105..e5453493 100644 --- a/homer/web/css/style.css +++ b/homer/web/css/style.css @@ -129,10 +129,6 @@ img.thumbnail { } -<<<<<<< HEAD - - -======= .read-only-li{ background-color: red; } @@ -152,4 +148,3 @@ img.thumbnail { margin: 2px 5px 2px 0; } ->>>>>>> upstream/master From 3f2115bfa2f39870e6673bbe3dcdcb174828a5f3 Mon Sep 17 00:00:00 2001 From: Ben Zifkin Date: Thu, 29 May 2014 21:03:32 +0000 Subject: [PATCH 4/6] Refactored the render function to allow for more dynamic programming --- homer/web/js/internetArchive.js | 1 - homer/web/js/ui.js | 165 ++++++++++++++++---------------- 2 files changed, 81 insertions(+), 85 deletions(-) diff --git a/homer/web/js/internetArchive.js b/homer/web/js/internetArchive.js index 5f3aad09..f75b8d34 100644 --- a/homer/web/js/internetArchive.js +++ b/homer/web/js/internetArchive.js @@ -47,7 +47,6 @@ var renderResult = function(queryTerms, result) { '' + ''; var html = - '
' + '' + '' + '' + diff --git a/homer/web/js/ui.js b/homer/web/js/ui.js index ee635440..5418de04 100644 --- a/homer/web/js/ui.js +++ b/homer/web/js/ui.js @@ -16,31 +16,31 @@ var searchButtons = $("#search-buttons"); queryBox.keypress(function(e) -{ -if (e.keyCode == 13) -handleEnter(); -}); + { + if (e.keyCode == 13) + handleEnter(); + }); // UI object/namespace var UI = {}; UI.generateButtons = function() { API.getKinds({}, function(data) { - var availableKinds = _(data.kinds); - var buttonDescriptions = _(UI.buttons); + var availableKinds = _(data.kinds); + var buttonDescriptions = _(UI.buttons); - _.forIn(data.kinds, function(spec, kind) { - spec.kind = kind; // so the onClick knows what kind it was - if (!spec.button) { + _.forIn(data.kinds, function(spec, kind) { + spec.kind = kind; // so the onClick knows what kind it was + if (!spec.button) { UI.showError("You need to specify a \"button\" display attribute for kind \"" + kind + "\""); - } - var button = $(''); - button.click(function() { - UI.onClickSearchButton(spec); + } + var button = $(''); + button.click(function() { + UI.onClickSearchButton(spec); + }); + searchButtons.append(button) + }); }); - searchButtons.append(button) - }); - }); }; UI.clear = function() { @@ -78,73 +78,70 @@ UI.setQuery = function(q) { queryBox.val(q); }; -/** - * Render a single search result. - * @see render.js - */ -UI.makeResult = function(queryTerms, result) { - var renderer = getResultRenderer(result.viewKind); - return '
' + renderer(queryTerms, result) + '
'; -}; /** - * Renders search results into UI after current results +* Renders search results into UI after current results */ UI.appendResults = function(queryTerms, results) { UI.showProgress("Ajax response received!"); + _(results).forEach(function(result) { + console.debug("result name: " + result.name); + + var renderer = getResultRenderer(result.viewKind); + var resDiv = $('
'); + resDiv.attr('class', 'result'); + resDiv.attr('id',result.name); + $(resDiv).append(renderer(queryTerms, result)); + resultsDiv.append(resDiv); + + + var tagName = "#tags_" + result.name; + + $(tagName).tagit({ +availableTags: GLOBAL.uniqTypes, +autocomplete: {delay: 0, minLength: 0}, +allowSpaces: true, +placeholderText: "Add a Label", +// uniqueID: result.name + +afterTagRemoved: function(event, ui) { + +deleteTag(ui.tagLabel, result.name); +return true; + +}, +beforeTagAdded: function(event, ui) { +if (!ui.duringInitialization) { +// only ask "are you sure" if this is a NEW tag TYPE +tmp = ui.tagLabel.split(":"); + +var res = true; +if (tmp.length === 2 && $.inArray(tmp[0], GLOBAL.uniqTypes) === -1) { +res = confirm("Are you sure you want to create the label type \"" + tmp[0] + "\"?"); +// add the new type to our list +GLOBAL.uniqTypes.push(tmp[0]); +UI.appendMyTag(tmp[0]); + +} +if (res == true) { + addTag(ui.tagLabel, result.name); +} +return res; + +} else { + return true; +} +} +}); +$(".read-only-tags").tagit({ +readOnly: true +}); - _(results).forEach(function(result) { - console.debug("result name: " + result.name); - resultsDiv.append(UI.makeResult(queryTerms, result)); - - - var tagName = "#tags_" + result.name; - - $(tagName).tagit({ - availableTags: GLOBAL.uniqTypes, - autocomplete: {delay: 0, minLength: 0}, - allowSpaces: true, - placeholderText: "Add a Label", - // uniqueID: result.name - - afterTagRemoved: function(event, ui) { - - deleteTag(ui.tagLabel, result.name); - return true; - - }, - beforeTagAdded: function(event, ui) { - if (!ui.duringInitialization) { - // only ask "are you sure" if this is a NEW tag TYPE - tmp = ui.tagLabel.split(":"); - - var res = true; - if (tmp.length === 2 && $.inArray(tmp[0], GLOBAL.uniqTypes) === -1) { - res = confirm("Are you sure you want to create the label type \"" + tmp[0] + "\"?"); - // add the new type to our list - GLOBAL.uniqTypes.push(tmp[0]); - UI.appendMyTag(tmp[0]); - - } - if (res == true) { - addTag(ui.tagLabel, result.name); - } - return res; - - } else { - return true; - } - } - }); - $(".read-only-tags").tagit({ - readOnly: true - }); - - moreButton.show(); +moreButton.show(); - }); +}); }; @@ -153,9 +150,9 @@ UI.appendResults = function(queryTerms, results) { */ UI.setReadyHandler = function(callback) { $(document).ready(function() { - UI.generateButtons(); - callback(); - }); + UI.generateButtons(); + callback(); + }); }; UI.setMoreHandler = function(callback) { moreButton.click(callback); @@ -167,20 +164,20 @@ UI.setUserName = function(user) { } else { loginInfo.html("Welcome " + user + " "); $("#ui-go-logout").click(function() { - logOut(); - }); + logOut(); + }); } }; UI.clearUserName = function() { loginInfo.html(" " + - ""); + ""); // have to bind click event here because that ID doesn't exist until we do this. $("#ui-go-login").click(function() { - var username = $("#ui-username").val(); - logIn(username); - UI.setUserName(username); - }); + var username = $("#ui-username").val(); + logIn(username); + UI.setUserName(username); + }); }; UI.renderTags = function(result) { From 8080639b437d1e97d4e6a51cc3992671d26e329b Mon Sep 17 00:00:00 2001 From: Ben Zifkin Date: Thu, 26 Jun 2014 15:09:06 +0000 Subject: [PATCH 5/6] getting upstream files --- homer/web/css/style.css | 149 -------------------------------- homer/web/js/internetArchive.js | 42 --------- homer/web/js/ui.js | 123 +------------------------- 3 files changed, 1 insertion(+), 313 deletions(-) diff --git a/homer/web/css/style.css b/homer/web/css/style.css index 521d35e8..61d34e52 100644 --- a/homer/web/css/style.css +++ b/homer/web/css/style.css @@ -1,151 +1,3 @@ -<<<<<<< HEAD -body { - margin: 0; - padding: 0; -} - -.snippet { - padding-left: 20pt; - color: #666; -} - -.hili { - color: black; - font-weight: bold; -} - -#request { - display: none; -} - -#progress { - color: white; - text-align: right; - vertical-align: middle; - font-family: monospace; - display:inline; -} - -#error { - color: white; - background-color: #a00; - font-weight: bold; - text-align: center; - display:none; - padding:10pt; - margin:0; -} - -#footer { - margin: 0; - margin-top: 40pt; - padding: 10pt; - background-color: #009; -} - -#ui { - margin: 0; - padding-bottom: 20pt; - padding-top: 10pt; - background-color: #009; -} - -#title { - margin: 0; - vertical-align: middle; - padding-right: 20pt; - font-size: 20pt; - font-weight: bold; - height: 20pt; - color: #fff; -} -#search-buttons { - text-align: right; - float:right; - height: 20pt; - vertical-align: middle; -} -#login-form { - color: #fff; - text-align: right; - float:right; - height: 20pt; - vertical-align: middle; - -} - -#toggle-my-tags{ - color: #fff; - text-align: right; - float:left; - height: 20pt; - vertical-align: middle; - -} - -#login-form a:hover, #login-form a:visited { - color: #fff; -} - -#ui { - vertical-align: middle; -} - -.result { - /*border-bottom: 1px solid grey;*/ - padding-left: 20pt; - padding-right: 20pt; -} - -.result .preview { - padding: 10pt; -} - -img.thumbnail { - width: 100px; - height: 120px; -} - -.result .rank { - color: grey; - padding-right:10pt; -} - -.result .name { } -.result .score { - color: grey; - text-align: right; -} - -.create-label-form { - background-color: yellow; - box-shadow: 10px 10px 5px #888888; - padding:10px; - border:2px solid gray; - margin:0px; -} - - -.read-only-li{ - background-color: red; -} - -#all-tags { - float: right; - width: 25%; - -} -#my-tags { - background-color: lightblue; - padding: 5px; - -} - -.type-button{ - margin: 2px 5px 2px 0; - -} -======= body { margin: 0; padding: 0; @@ -297,4 +149,3 @@ img.thumbnail { text-align: right; } ->>>>>>> upstream/master diff --git a/homer/web/js/internetArchive.js b/homer/web/js/internetArchive.js index bdb16ef5..2acaa9c6 100644 --- a/homer/web/js/internetArchive.js +++ b/homer/web/js/internetArchive.js @@ -27,47 +27,6 @@ var pageThumbnail = function(archiveId, pageNum) { console.log("Defining table, renderResult=" + renderResult); var renderResult = function(queryTerms, result) { -<<<<<<< HEAD - var name = result.meta.title || result.name; - var identifier = result.name.split('_')[0]; - var snippet = result.snippet; - var pageNum= result.name.split('_')[1]; - var iaURL = result.meta["identifier-access"]; - - - console.log(result); - - if (iaURL) { - - - name = '' + name + ''; - } - name += ' pp. ' + pageNum; - - var previewImage = '' + - '' + - ''; - var html = - '
' + previewImage + '
' + - '' + - '' + - '' + - '' + - ''+ - '' + - ''+ - ''; - - -if(snippet) { -html += ''; -} -html += '
' + previewImage + '' + name + '' + result.score.toFixed(3) + ' r'+ result.rank + '
'+ '' + '
...'; -html += highlightText(queryTerms, snippet, '',''); -html += '...
'; - - return html; -======= var name = result.meta.title || result.name; var identifier = result.name.split('_')[0]; var snippet = result.snippet; @@ -105,7 +64,6 @@ html += ''; html += UI.renderTags(result); } return html; ->>>>>>> upstream/master }; diff --git a/homer/web/js/ui.js b/homer/web/js/ui.js index ac07cd90..26f9a0d0 100644 --- a/homer/web/js/ui.js +++ b/homer/web/js/ui.js @@ -14,37 +14,16 @@ var loginInfo = $("#ui-login-info"); var moreButton = $("#ui-go-more"); var searchButtons = $("#search-buttons"); queryBox.keypress(function(e) -<<<<<<< HEAD - { - if (e.keyCode == 13) - handleEnter(); - }); - -======= { if (e.keyCode == 13) handleEnter(); }); ->>>>>>> upstream/master + // UI object/namespace var UI = {}; UI.generateButtons = function() { -<<<<<<< HEAD - _.forIn(data.kinds, function(spec, kind) { - spec.kind = kind; // so the onClick knows what kind it was - if (!spec.button) { - UI.showError("You need to specify a \"button\" display attribute for kind \"" + kind + "\""); - } - var button = $(''); - button.click(function() { - UI.onClickSearchButton(spec); - }); - searchButtons.append(button) - }); - }); -======= API.getKinds({}, function(data) { UI.defaultKind = data.defaultKind; var availableKinds = _(data.kinds); @@ -61,7 +40,6 @@ UI.generateButtons = function() { searchButtons.append(button) }); }); ->>>>>>> upstream/master }; UI.clear = function() { UI.clearResults(); @@ -91,75 +69,6 @@ UI.getQuery = function() { UI.setQuery = function(q) { queryBox.val(q); }; -<<<<<<< HEAD - - -/** -* Renders search results into UI after current results - */ - - -UI.appendResults = function(queryTerms, results) { - UI.showProgress("Ajax response received!"); - _(results).forEach(function(result) { - console.debug("result name: " + result.name); - - var renderer = getResultRenderer(result.viewKind); - var resDiv = $('
'); - resDiv.attr('class', 'result'); - resDiv.attr('id',result.name); - $(resDiv).append(renderer(queryTerms, result)); - resultsDiv.append(resDiv); - - - var tagName = "#tags_" + result.name; - - $(tagName).tagit({ -availableTags: GLOBAL.uniqTypes, -autocomplete: {delay: 0, minLength: 0}, -allowSpaces: true, -placeholderText: "Add a Label", -// uniqueID: result.name - -afterTagRemoved: function(event, ui) { - -deleteTag(ui.tagLabel, result.name); -return true; - -}, -beforeTagAdded: function(event, ui) { -if (!ui.duringInitialization) { -// only ask "are you sure" if this is a NEW tag TYPE -tmp = ui.tagLabel.split(":"); - -var res = true; -if (tmp.length === 2 && $.inArray(tmp[0], GLOBAL.uniqTypes) === -1) { -res = confirm("Are you sure you want to create the label type \"" + tmp[0] + "\"?"); -// add the new type to our list -GLOBAL.uniqTypes.push(tmp[0]); -UI.appendMyTag(tmp[0]); - -} -if (res == true) { - addTag(ui.tagLabel, result.name); -} -return res; - -} else { - return true; -} -} -}); -$(".read-only-tags").tagit({ -readOnly: true -}); - -moreButton.show(); - -}); -}; - -======= /** * Render a single search result. * @see render.js @@ -257,7 +166,6 @@ UI.appendResults = function(queryTerms, results, usingLabels) { } else { moreButton.show(); } ->>>>>>> upstream/master }); } @@ -266,32 +174,15 @@ UI.appendResults = function(queryTerms, results, usingLabels) { * A set of functions for reacting to events in other, more general code. */ UI.setReadyHandler = function(callback) { -<<<<<<< HEAD - $(document).ready(function() { - UI.generateButtons(); - callback(); - }); -======= $(document).ready(function() { UI.generateButtons(); callback(); }); ->>>>>>> upstream/master }; UI.setMoreHandler = function(callback) { moreButton.click(callback); }; UI.setUserName = function(user) { -<<<<<<< HEAD - if (!user) { - UI.clearUserName(); - } else { - loginInfo.html("Welcome " + user + " "); - $("#ui-go-logout").click(function() { - logOut(); - }); - } -======= if (!user) { UI.clearUserName(); } else { @@ -300,19 +191,8 @@ UI.setUserName = function(user) { logOut(); }); } ->>>>>>> upstream/master }; UI.clearUserName = function() { -<<<<<<< HEAD - loginInfo.html(" " + - ""); - // have to bind click event here because that ID doesn't exist until we do this. - $("#ui-go-login").click(function() { - var username = $("#ui-username").val(); - logIn(username); - UI.setUserName(username); - }); -======= loginInfo.html(" " + ""); // have to bind click event here because that ID doesn't exist until we do this. @@ -321,7 +201,6 @@ UI.clearUserName = function() { logIn(username); UI.setUserName(username); }); ->>>>>>> upstream/master }; UI.renderTags = function(result) { From 1537444b9130a952a6545896229e8228c9762ad0 Mon Sep 17 00:00:00 2001 From: Ben Zifkin Date: Thu, 26 Jun 2014 17:56:53 +0000 Subject: [PATCH 6/6] Added a div to render to make adding/subtracting elements easier in furture --- homer/web/js/ui.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/homer/web/js/ui.js b/homer/web/js/ui.js index 26f9a0d0..75e59687 100644 --- a/homer/web/js/ui.js +++ b/homer/web/js/ui.js @@ -72,11 +72,11 @@ UI.setQuery = function(q) { /** * Render a single search result. * @see render.js + * I'm adding comments now since i regret it + * when I dont + * deleted UI.makeResult since its useless. + */ -UI.makeResult = function(queryTerms, result) { - var renderer = getResultRenderer(result.viewKind); - return '
' + renderer(queryTerms, result) + '
'; -}; // added labels to our button bar when they add a new one @@ -117,8 +117,14 @@ UI.appendResults = function(queryTerms, results, usingLabels) { UI.showProgress("Ajax response received!"); _(results).forEach(function(result) { - console.debug("result name: " + result.name); - resultsDiv.append(UI.makeResult(queryTerms, result)); + console.debug("result nAME: " + result.name); + var renderer = getResultRenderer(result.viewKind); //added this line and 5 below make adding/subt elements in future easier + var resDiv = $('
'); + resDiv.attr('class', 'result'); + resDiv.attr('id',result.name); + $(resDiv).append(renderer(queryTerms, result)); + resultsDiv.append(resDiv); //* 6/26/2014 + var tagName = "#tags_" + result.name; $(tagName).tagit({ availableTags: GLOBAL.uniqTypes,