<div class="row">
+ <a class="pull-right" href ng-click="toggle_search_form()"
+ title="[% l('Hide Search Form') %]"
+ ng-show="show_search_form()">
+ <span class="glyphicon glyphicon-resize-small"></span>
+ </a>
+ <a class="pull-right" href ng-click="toggle_search_form()"
+ title="[% l('Show Search Form') %]"
+ ng-hide="show_search_form()">
+ <span class="glyphicon glyphicon-resize-full"></span>
+ </a>
+</div>
+
+<div class="row">
<div class="col-xs-6">
<strong>[% l('Query') %]</strong>
<form ng-keyup="$event.keyCode == 13 && search()">
- <eg-z3950-search-field-list></eg-z3950-search-field-list>
+ <eg-z3950-search-field-list ng-show="show_search_form()"></eg-z3950-search-field-list>
</form>
</div>
<div class="col-xs-6">
<strong>[% l('Service and Credentials') %]</strong>
- <eg-z3950-target-list>
+ <eg-z3950-target-list ng-show="show_search_form()">
</div>
</div>
-<div class="row" id="z3950-search-form-row">
+<div class="row" id="z3950-search-form-row" ng-show="show_search_form()">
<form ng-submit="search()" id="z3950-search-form"
role="form" class="form-inline">
<div class="button-group">
<eg-grid
id-field="index"
idl-class="mvr"
- features="-display,-sort,-multisort"
- main-label="[% l('Results') %]"
+ features="-display,-sort,-multisort,-multiselect"
items-provider="z3950SearchGridProvider"
grid-controls="gridControls"
persist-key="cat.z3950_results">
label="[% l('Show in Catalog') %]"></eg-grid-menu>
<eg-grid-menu-item handler="import" disabled="cant_import"
label="[% l('Import') %]"></eg-grid-menu>
+ <eg-grid-menu-item handler="spawn_editor" disabled="cant_import"
+ label="[% l('Edit then Import') %]"></eg-grid-menu>
<!--
FIXME: it would be nice to make this column link
*/
angular.module('egCatZ3950Search',
- ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod', 'egGridMod', 'egZ3950Mod'])
+ ['ngRoute', 'ui.bootstrap', 'egCoreMod', 'egUiMod', 'egGridMod', 'egZ3950Mod', 'egMarcMod'])
.config(function($routeProvider, $locationProvider, $compileProvider) {
$locationProvider.html5Mode(true);
* List view - grid stuff
*/
.controller('Z3950SearchCtrl',
- ['$scope','$q','$location','$timeout','$window','egCore','egGridDataProvider','egZ3950TargetSvc',
-function($scope , $q , $location , $timeout , $window, egCore , egGridDataProvider, egZ3950TargetSvc ) {
+ ['$scope','$q','$location','$timeout','$window','egCore','egGridDataProvider','egZ3950TargetSvc','$modal',
+function($scope , $q , $location , $timeout , $window, egCore , egGridDataProvider, egZ3950TargetSvc, $modal) {
// get list of targets
egZ3950TargetSvc.loadTargets();
egZ3950TargetSvc.clearSearchFields();
};
+ var display_form = true;
+ $scope.show_search_form = function() {
+ return display_form;
+ }
+ $scope.toggle_search_form = function() {
+ display_form = !display_form;
+ }
+
$scope.showInCatalog = function() {
var items = $scope.gridControls.selectedItems();
// relying on cant_showInCatalog to protect us
if (items.length == 1) return false;
return true;
};
+
+ $scope.spawn_editor = function() {
+ var items = $scope.gridControls.selectedItems();
+ $modal.open({
+ templateUrl: './cat/z3950/t_marc_edit',
+ size: 'lg',
+ controller:
+ ['$scope', '$modalInstance', function($scope, $modalInstance) {
+console.debug('calling modal controller');
+ $scope.focusMe = true;
+ $scope.record_id = 0;
+ $scope.dirty_flag = false;
+ $scope.marc_xml = items[0]['marcxml'];
+ $scope.ok = function(args) { $modalInstance.close(args) }
+ $scope.cancel = function () { $modalInstance.dismiss() }
+ }]
+ }).result.then(function (args) {
+ if (!args || !args.name) return;
+ });
+ }
}])