[open-ils-commits] SPAM: r10705 - trunk/Open-ILS/web/vandelay
svn at svn.open-ils.org
svn at svn.open-ils.org
Thu Sep 25 17:32:57 EDT 2008
Author: erickson
Date: 2008-09-25 17:32:52 -0400 (Thu, 25 Sep 2008)
New Revision: 10705
Added:
trunk/Open-ILS/web/vandelay/vandelay.xml
Log:
changed name to .xml since the file must be valid xml for mod_xmlent to eat it
Copied: trunk/Open-ILS/web/vandelay/vandelay.xml (from rev 10704, trunk/Open-ILS/web/vandelay/vandelay.html)
===================================================================
--- trunk/Open-ILS/web/vandelay/vandelay.xml (rev 0)
+++ trunk/Open-ILS/web/vandelay/vandelay.xml 2008-09-25 21:32:52 UTC (rev 10705)
@@ -0,0 +1,411 @@
+<!--
+# Copyright (C) 2008 Georgia Public Library Service
+# Bill Erickson <erickson at esilibrary.com>
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+-->
+
+<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" [
+ <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
+]>
+
+<html xmlns='http://www.w3.org/1999/xhtml'>
+ <head>
+ <title>Vandelay</title>
+ <link type='text/css' rel='stylesheet' href="/vandelay/vandelay.css"/>
+ <script type="text/javascript" djConfig="parseOnLoad: true,isDebug:false" src="/js/dojo/dojo/dojo.js"></script>
+ <script type="text/javascript" src='/js/dojo/openils/MarcXPathParser.js'></script>
+ <script type="text/javascript" src='/vandelay/vandelay.js'></script>
+ </head>
+ <body class="tundra tall">
+ <div dojoType="dijit.layout.LayoutContainer" orientation="vertical" class="tall">
+
+
+ <!-- navigation toolbar -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='top'>
+ <div dojoType="dijit.Toolbar" id='toolbar'>
+ <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy"
+ onclick="displayGlobalDiv('vl-marc-upload-div');" showLabel="true">Import Records</div>
+ <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy"
+ onclick="vlShowQueueSelect();" showLabel="true">Inspect Queue</div>
+
+ <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy"
+ onclick="vlShowBibAttrDefs();" showLabel="true">Bib Attr Definitions</div>
+ </div>
+ </div>
+
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id="vl-generic-progress" class='progress'>
+ <div dojoType="dijit.ProgressBar" style="width:300px" indeterminate="true"></div>
+ </div>
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id="vl-generic-progress-with-total" class='hidden progress'>
+ <div dojoType="dijit.ProgressBar" jsId='vlControlledProgressBar' style="width:300px"></div>
+ </div>
+
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-upload-status-div' class='hidden'>
+ <h1>Upload Status</h1><br/>
+ <div id='vl-upload-status-uploading'><h3>Uploading...</h3></div>
+ <div id='vl-upload-status-processing' class='hidden'>
+ <h3>Processing... <span id='vl-upload-status-count'/></h3>
+ </div>
+ </div>
+
+ <!-- MARC upload form -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-upload-div' class='hidden'>
+ <h1>Evergreen MARC File Upload</h1><br/>
+ <form id="vl-marc-upload-form" enctype="multipart/form-data">
+ <input type='hidden' name='ses' id='vl-ses-input'/>
+ <table class='form_table'>
+ <tr>
+ <td>Record Type</td>
+ <td colspan='4'>
+ <select id='vl-record-type' dojoType='dijit.form.FilteringSelect'
+ jsId='vlUploadRecordType' onchange='vlShowUploadForm();'>
+ <option value='bib' selected='selected'>Bibliographic Records</option>
+ <option value='auth'>Authority Records</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>Create a New Upload Queue</td>
+ <td>
+ <input type='text' dojoType='dijit.form.TextBox' id='vl-queue-name' size='32'></input>
+ </td>
+ <td>or Add to an Existing Queue</td>
+ <td>
+ <select jsId='vlUploadQueueSelector' dojoType='dijit.form.FilteringSelect'>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>Auto-Import Non-Colliding Records</td>
+ <td colspan='4'>
+ <input jsId='vlUploadQueueAutoImport' dojoType='dijit.form.CheckBox'/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <span id="vl-file-label">File to Upload:</span>
+ </td>
+ <td id='vl-input-td' colspan='4'>
+ <input size='48' type="file" name="marc_upload"/>
+ </td>
+ </tr>
+ <tr>
+ <td align='center' colspan='4'>
+ <button dojoType="dijit.form.Button" onclick="batchUpload()">Upload</button>
+ </td>
+ </tr>
+ </table>
+ </form>
+ </div>
+
+ <!-- record queue grid -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-queue-div' class='tall hidden'>
+ <h1>Record Queue</h1><br/>
+ <script>
+ var vlQueueGridLayout;
+ function resetVlQueueGridLayout() {
+ vlQueueGridLayout = [{
+ defaultCell: {styles: 'text-align: center;'},
+ cells : [[
+ {name: '<input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"/>',
+ get: vlQueueGridDrawSelectBox },
+ { name: 'View MARC',
+ get: vlGetViewMARC,
+ value:'<a href="javascript:void(0);" onclick="vlLoadMARCHtml(RECID, false, '+
+ 'function(){displayGlobalDiv(\'vl-queue-div\');});">View MARC</a>'
+ },
+ { name: 'Matches',
+ get: vlGetViewMatches,
+ value:'<a href="javascript:void(0);" onclick="vlLoadMatchUI(RECID);">Matches</a>'
+ },
+ {name: 'Import Time', field:'import_time', get:vlGetDateTimeField, selectableColumn:true}
+ ]]
+ }];
+ }
+ </script>
+ <div id='vl-queue-div-grid' class='tall' dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+
+ <!-- column picker dialog -->
+ <div dojoType="dijit.Dialog" jsId='vlQueueGridColumePickerDialog' title="Column Picker" execute="alert(2);">
+ <table class='form_table'>
+ <thead>
+ <tr><th width='33%'>Column</th><th width='33%'>Display</th><th width='33%'>Auto Width</th></tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td colspan='3' align='center'>
+ <button jsId='vlQueueGridColumnPickerButton'
+ onclick='vlQueueGridColumePickerDialog.hide();vlQueueGridColumePicker.update();'
+ dojoType='dijit.form.Button'>Done</button>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <!-- queue grid navigation row -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+ <table width='100%' style='margin-bottom:0px;'>
+ <tr>
+ <td align='left'>
+ <button dojoType='dijit.form.Button' onclick='vlImportSelectedRecords();'>Import Selected</button>
+ <button dojoType='dijit.form.Button' onclick="
+ if(confirm('Are you sure want to delete this queue?')) {
+ vlDeleteQueue(currentType, currentQueueId,
+ function() { displayGlobalDiv('vl-marc-upload-div'); });
+ }">Delete Queue</button>
+ </td>
+ <td align='middle'>
+ <style>.filter_td { padding-right: 5px; border-right: 2px solid #e8e1cf; } </style>
+ <table><tr>
+ <td class='filter_td'>
+ Limit to Collision Matches
+ <input dojoType='dijit.form.CheckBox' jsId='vlQueueGridShowMatches' checked='checked'/>
+ </td>
+ <td class='filter_td' style='padding-left:5px;'>
+ Results Per Page
+ <select style='width:68px;' jsId='vlQueueDisplayLimit' dojoType='dijit.form.FilteringSelect' value='10'>
+ <option value='10'>10</option>
+ <option value='20'>20</option>
+ <option value='50'>50</option>
+ <option value='100'>100</option>
+ </select>
+ </td>
+ <td class='filter_td' style='padding-left:5px;'>
+ Page <input style='width:36px;' dojoType='dijit.form.TextBox' jsId='vlQueueDisplayPage' value='1'/>
+ </td>
+ <td style='padding-left:5px;'>
+ <button dojoType='dijit.form.Button'
+ onclick='retrieveQueuedRecords(currentType, currentQueueId, handleRetrieveRecords)'>Refresh</button>
+ </td>
+ </tr></table>
+ </td>
+ <td align='right' valign='bottom'>
+ <span style='padding-right:4px;'>
+ <a href='javascript:void(0);' onclick='vlQueueGridPrevPage();'>« Previous Page</a>
+ </span>
+ <span style='padding-right:10px;'>
+ <a href='javascript:void(0);' onclick='vlQueueGridNextPage();'>Next Page »</a>
+ </span>
+ <span style='background:#e8e1cf;padding:3px 0px 0px 6px;-moz-border-radius:6px 0px 0px 0px;'>
+ <a href='javascript:void(0);' onclick='vlQueueGridColumePickerDialog.show();'>Select Columns</a>
+ </span>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <!-- Queue Grid -->
+ <div class='' style='height:90%;' dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+ <div dojoType='dojox.Grid' jsId='vlQueueGrid'> </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- Grid of record matches -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-match-div' class='tall hidden'>
+ <script>
+ var vlMatchGridLayout;
+ function resetVlMatchGridLayout() {
+ vlMatchGridLayout = [{
+ defaultCell: {styles: 'text-align: center;'},
+ cells : [[
+ {
+ name: 'Overlay Target',
+ get: vlGetOverlayTargetSelector,
+ value: '<input type="radio" name="overlay_target" '+
+ 'onclick="vlHandleOverlayTargetSelected();" id="vl-overlay-target-ID"/>'
+ },
+ {name:'Source Match Point', field:'src_matchpoint'},
+ {name:'Destination Match Point', field:'dest_matchpoint'},
+ {name: 'ID', field:'id'},
+ { name: 'View MARC',
+ get: vlGetViewMARC,
+ value:'<a href="javascript:void(0);" onclick="vlLoadMARCHtml(RECID, '+
+ 'true, function(){displayGlobalDiv(\'vl-match-div\');});">View MARC</a>'
+ },
+ {name: 'Creator', get: vlGetCreator},
+ {name: 'Create Date', field:'create_date', get: vlGetDateTimeField},
+ {name: 'Last Edit Date', field:'edit_date', get: vlGetDateTimeField},
+ {name: 'Source', field:'source'},
+ {name: 'TCN Source', field:'tcn_source'},
+ {name: 'TCN Value', field:'tcn_value'}
+ ]]
+ }];
+ }
+ </script>
+ <h1>Import Matches</h1><br/>
+ <div>
+ <button dojoType='dijit.form.Button'
+ onclick="displayGlobalDiv('vl-queue-div');">↖ Back To Import Queue</button>
+ <span style='padding-left:20px;'>
+ <input dojoType='dijit.form.CheckBox' jsId='vlOverlayTargetEnable' onclick='vlHandleOverlayTargetSelected'/>
+ Overlay selected record with imported record
+ </span>
+ </div>
+ <div class='tall'>
+ <div dojoType='dojox.Grid' jsId='vlMatchGrid'> </div>
+ </div>
+ </div>
+
+ <!-- MARC as HTML -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-html-div' class='tall hidden'>
+ <h1>MARC Record</h1><br/>
+ <div>
+ <button id='vl-marc-html-done-button' dojoType='dijit.form.Button'>↖ Return</button>
+ </div>
+ <div>
+ <style>#vl-marc-record-html td {padding:0px;}</style>
+ <div id='vl-marc-record-html'> </div>
+ </div>
+ </div>
+
+ <!-- Form for choosing which queue to view -->
+ <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-queue-select-div' class='tall hidden'>
+ <h1>Select a Queue to Inspect</h1><br/>
+ <table class='form_table'>
+ <tr>
+ <td>Queue Type</td>
+ <td>
+ <select jsId='vlQueueSelectType' dojoType='dijit.form.FilteringSelect' onchange='vlShowQueueSelect();'>
+ <option value='bib' selected='selected'>Bibliographic Records</option>
+ <option value='auth'>Authority Records</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>Queue</td>
+ <td>
+ <select jsId='vlQueueSelectQueueList' dojoType='dijit.form.FilteringSelect'>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td colspan='2'>
+ <button dojoType='dijit.form.Button' onclick='vlFetchQueueFromForm();'>Retrieve Queue</button>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <!-- bib attribute definitions -->
+ <div dojoType="dijit.layout.ContentPane" id="vl-bib-attr-defs-div"
+ class='hidden bib-attr-detail-content-pane' title="Bib Attr Definition" style='height:400px;' layoutAlign="client">
+
+ <div class='vl-bib-attr-defs-actions-div' style='margin:8px;'>
+
+ <div dojoType="dijit.form.DropDownButton" id="vl-create-bib-attr-button">
+ <span name="create">Create Attribute Definition</span>
+ <span name="update" class="hidden">Update Attribute Definition</span>
+
+ <div dojoType="dijit.TooltipDialog" execute="saveNewBibAttrRecord(arguments[0]);" id="bib-attr-dialog">
+ <script type='dojo/connect' event='onOpen'>onAttrEditorOpen();</script>
+ <script type='dojo/connect' event='onClose'>onAttrEditorClose();</script>
+ <table class='dijitTooltipTable'>
+ <tr>
+ <td><label for="code">Code: </label></td>
+ <td><input id='oils-bib-attr-code' name="code" dojoType="dijit.form.TextBox"/></td>
+ </tr>
+ <tr>
+ <td><label for="description">Description: </label></td>
+ <td><input id='bib-attr-description' dojoType="dijit.form.TextBox" name="description"> </input></td>
+ </tr>
+ <tr>
+ <td><label for="amount">Tag(s): </label></td>
+ <td><input id="bib-attr-tag" dojoType="dijit.form.TextBox" name="tag"></input>
+ <div class="hidden" id="bib-attr-tag-tip">
+ <p>You can enter multiple tags, separated by spaces and/or commas.</p>
+ <p>Example: <code>120, 220, 300</code> or <code>120 220 330</code></p></div>
+ </td>
+ </tr>
+
+ <tr>
+ <td><label for="amount">Subfield(s): </label></td>
+ <td><input dojoType="dijit.form.TextBox" name="subfield" id="bib-attr-subfield"></input></td>
+ <div class="hidden" id="bib-attr-subfield-tip">
+ <p>You can enter multiple subfields, separated by spaces and/or commas.</p>
+ <p>Example: <code>a, b, j, x</code> or <code>a b j x</code></p></div>
+
+ </tr>
+ <tr>
+ <td><label for="ident">Identifer Field?: </label></td>
+ <td>
+ <select dojoType="dijit.form.FilteringSelect" name="ident" id="bib-attr-ident-selector">
+ <option value='f' selected='selected'>False</option>
+ <option value='t'>True</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td><label for="amount">XPath (advanced): </label></td>
+
+ <td><input dojoType="dijit.form.TextBox" id="bib-attr-xpath" name="xpath"></input></td>
+ </tr>
+ <tr>
+ <td><label for="amount">Remove (advanced): </label></td>
+
+ <td><input dojoType="dijit.form.TextBox" id="bib-attr-remove" name="remove"></input></td>
+ </tr>
+ <tr class="create_bar">
+ <td colspan='2' align='center'>
+ <button dojoType="dijit.form.Button" type="submit"
+ id="bib-attr-create-button">Create</button>
+ <button type="button" dojoType="dijit.form.Button"
+ onclick="dijit.byId('bib-attr-dialog').onCancel();">Cancel</button>
+ </td>
+ </tr>
+ <tr class="update_bar">
+ <td colspan='2' align='center'>
+ <button dojoType="dijit.form.Button" type="submit"
+ id="bib-attr-update-button">Update</button>
+ <button type="button" dojoType="dijit.form.Button"
+ onclick="dijit.byId('bib-attr-dialog').onCancel();">Cancel</button>
+ <button dojoType="dijit.form.Button"
+ type="button"
+ id="bib-attr-delete-button"
+ style="padding-left: 2em;">Delete record</button>
+ </td>
+ </tr>
+ </table>
+
+ </div>
+ </div>
+
+ </div>
+ <script>
+ var bibAttrGridLayout = [{
+ cells : [[
+ {name: 'ID', field: 'id'},
+ {name: 'Code', field:'code', width:'auto'},
+ {name: 'Description', field: "description", width:'auto'},
+ {name: 'Tag', get:getTag},
+ {name: 'Subfield', get: getSubfield},
+ {name: 'Identifier', field:'ident'},
+ {name: 'XPath', field:'xpath', width:'auto'},
+ {name: 'Remove', field:'remove', width:'auto'}
+ ]]
+ }];
+ </script>
+
+ <div class='tall'>
+ <div dojoType='dojox.Grid' jsId='bibAttrGrid'> </div>
+ </div>
+
+ </div>
+
+ <div style='text-align:center;width:100%;' dojoType="dijit.layout.ContentPane" layoutAlign='bottom'>
+ Powered by Evergreen!
+ </div>
+ </div>
+ </body>
+</html>
More information about the open-ils-commits
mailing list