From 11f6fb6e5a5c5f343f9c87fc5d323b50669cdfa4 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Wed, 24 Oct 2012 14:51:35 -0400 Subject: [PATCH] Resolving VUFIND-327 (Add availability status to list view). --- .../RecordDriver/SolrDefault/list-entry.phtml | 23 ++++++++++++++++++- .../templates/myresearch/mylist.phtml | 1 + .../RecordDriver/SolrDefault/list-entry.phtml | 18 ++++++++++++++- .../templates/myresearch/mylist.phtml | 5 +++- 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/themes/blueprint/templates/RecordDriver/SolrDefault/list-entry.phtml b/themes/blueprint/templates/RecordDriver/SolrDefault/list-entry.phtml index a5ef70353f0..099ab934f3d 100644 --- a/themes/blueprint/templates/RecordDriver/SolrDefault/list-entry.phtml +++ b/themes/blueprint/templates/RecordDriver/SolrDefault/list-entry.phtml @@ -10,7 +10,8 @@ $user_id = $this->user ? $this->user->id : null; } ?> -<div class="listentry recordId source<?=$this->escapeHtml($source)?>" id="record<?=$this->escapeHtml($id)?>"> +<div class="listentry recordId source<?=$this->escapeHtml($source)?><?=$this->driver->supportsAjaxStatus()?' ajaxItemId':''?>" id="record<?=$this->escapeHtml($id)?>"> + <input type="hidden" value="<?=$this->escapeHtml($this->driver->getUniqueID())?>" class="hiddenId" /> <div class="span-2"> <? if ($listThumb = $this->record($this->driver)->getThumbnail()): ?> <img src="<?=$this->escapeHtml($listThumb)?>" class="summcover" alt="<?=$this->transEsc('Cover Image')?>"/> @@ -58,7 +59,27 @@ <br/> <? endif; ?> + <div class="callnumAndLocation"> + <? if ($this->driver->supportsAjaxStatus()): ?> + <strong class="hideIfDetailed"><?=$this->transEsc('Call Number')?>:</strong> + <span class="callnumber ajax_availability hide"> + <?=$this->transEsc('Loading')?>... + </span><br class="hideIfDetailed"/> + <strong><?=$this->transEsc('Located')?>:</strong> + <span class="location ajax_availability hide"> + <?=$this->transEsc('Loading')?>... + </span> + <div class="locationDetails hide"></div> + <? else: ?> + <? $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?> + <strong><?=$this->transEsc('Call Number')?>:</strong> <?=$this->escapeHtml($summCallNo)?> + <? endif; ?> + <? endif; ?> + </div> <?=$this->record($this->driver)->getFormatList()?> + <? if ($this->driver->supportsAjaxStatus()): ?> + <div class="status ajax_availability hide"><?=$this->transEsc('Loading')?>...</div> + <? endif; ?> </div> <? // Allow editing if a list is selected and edit is allowed OR if no list is selected diff --git a/themes/blueprint/templates/myresearch/mylist.phtml b/themes/blueprint/templates/myresearch/mylist.phtml index 594ca91ca6f..a2b5c8346f6 100644 --- a/themes/blueprint/templates/myresearch/mylist.phtml +++ b/themes/blueprint/templates/myresearch/mylist.phtml @@ -13,6 +13,7 @@ // Load Javascript dependencies into header: $this->headScript()->appendFile("bulk_actions.js"); + $this->headScript()->appendFile("check_item_statuses.js"); // Convenience variable: $account = $this->auth()->getManager(); diff --git a/themes/jquerymobile/templates/RecordDriver/SolrDefault/list-entry.phtml b/themes/jquerymobile/templates/RecordDriver/SolrDefault/list-entry.phtml index debf75de308..af10d29eb69 100644 --- a/themes/jquerymobile/templates/RecordDriver/SolrDefault/list-entry.phtml +++ b/themes/jquerymobile/templates/RecordDriver/SolrDefault/list-entry.phtml @@ -11,7 +11,8 @@ } ?> <a rel="external" href="<?=$this->recordLink()->getUrl($this->driver)?>"> - <div class="result"> + <div class="result source<?=$this->escapeHtml($this->driver->getResourceSource())?> recordId<?=$this->driver->supportsAjaxStatus()?' ajaxItemId':''?>"> + <input type="hidden" value="<?=$this->escapeHtml($this->driver->getUniqueID())?>" class="hiddenId" /> <h3> <? $listTitle = $this->driver->getTitle(); @@ -44,7 +45,22 @@ <? endforeach; ?> <? endif; ?> + <? if ($this->driver->supportsAjaxStatus()): ?> + <p class="callnumAndLocation"> + <strong><?=$this->transEsc('Call Number')?>:</strong> + <span class="callnumber ajax_availability hide"><?=$this->transEsc('Loading')?>...</span><br /> + <strong><?=$this->transEsc('Located')?>:</strong> + <span class="location ajax_availability hide"><?=$this->transEsc('Loading')?>...</span> + </p> + <? else: ?> + <? $summCallNo = $this->driver->getCallNumber(); if (!empty($summCallNo)): ?> + <p><strong><?=$this->transEsc('Call Number')?>:</strong> <?=$this->escapeHtml($summCallNo)?></p> + <? endif; ?> + <? endif; ?> <?=$this->record($this->driver)->getFormatList()?> + <? if ($this->driver->supportsAjaxStatus()): ?> + <p><span class="ajax_availability hide status"><?=$this->transEsc('Loading')?>...</span></p> + <? endif; ?> </div> </a> <? // Allow editing if a list is selected and edit is allowed OR if no list is selected diff --git a/themes/jquerymobile/templates/myresearch/mylist.phtml b/themes/jquerymobile/templates/myresearch/mylist.phtml index 60bd3abe4db..d98e6d6478a 100644 --- a/themes/jquerymobile/templates/myresearch/mylist.phtml +++ b/themes/jquerymobile/templates/myresearch/mylist.phtml @@ -8,6 +8,9 @@ // Set up page title: $this->headTitle(isset($list) ? $list->title : $this->translate('Favorites')); + // Load Javascript dependencies into header: + $this->headScript()->appendFile("check_item_statuses.js"); + // Set up extra button for header: $extraButton = (isset($list) && $list->editAllowed($user)) ? '<a rel="external" href="' @@ -18,7 +21,7 @@ : ''; ?> -<div data-role="page" id="MyResearch-list"> +<div data-role="page" id="MyResearch-list" class="results-page"> <?=$this->mobileMenu()->header(array('extraButtons'=>array($extraButton)))?> <div data-role="content"> <? foreach ($this->results->getRecommendations('side') as $current): ?> -- GitLab