1 file is getting out of hand. broke out each top-level content pane into its own...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 5 Oct 2008 23:06:05 +0000 (23:06 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 5 Oct 2008 23:06:05 +0000 (23:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@10758 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/vandelay/inc/attrs.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/marchtml.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/matches.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/progress.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/queue.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/queueselect.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/toolbar.xml [new file with mode: 0644]
Open-ILS/web/vandelay/inc/upload.xml [new file with mode: 0644]
Open-ILS/web/vandelay/vandelay.xml

diff --git a/Open-ILS/web/vandelay/inc/attrs.xml b/Open-ILS/web/vandelay/inc/attrs.xml
new file mode 100644 (file)
index 0000000..c65744b
--- /dev/null
@@ -0,0 +1,102 @@
+<div style='float: left; margin-top: 8px;'>
+    <input dojoType="dijit.form.RadioButton" name="attrEditorGroup" value="bib" 
+        id="aegB" onclick="setAttrEditorGroup('bib');" checked="checked"/>
+    <label for="aegB" style="margin-right: 1em;">&vandelay.bib.attrs;</label>
+    <input dojoType="dijit.form.RadioButton" name="attrEditorGroup" value="auth" 
+        id="aegA" onclick="setAttrEditorGroup('auth');"/>
+    <label for="aegA" style="margin-right: 1em;">&vandelay.auth.attrs;</label>
+</div>
+<div dojoType="dijit.form.DropDownButton" id="vl-create-attr-editor-button">
+    <span name="create">&vandelay.create.attr.def;</span>
+    <div dojoType="dijit.TooltipDialog" execute="vlSaveAttrDefinition(arguments[0]);" id="attr-editor-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">&vandelay.code;:</label></td>
+                <td><input id='attr-editor-code' name="code" dojoType="dijit.form.TextBox"/></td>
+            </tr>
+            <tr>
+                <td><label for="description">&vandelay.descrip;:</label></td>
+                <td><input id='attr-editor-description' dojoType="dijit.form.TextBox" name="description"> </input></td>
+            </tr>
+            <tr>
+                <td><label for="amount">&vandelay.tags;:</label></td>
+                <td><input id="attr-editor-tags" dojoType="dijit.form.TextBox" name="tag"></input>
+                <div class="hidden" id="attr-editor-tags-tip">
+                <p>&vandelay.tooltip.tags;</p>
+                <p>&vandelay.for.example;:<code>120, 220, 300</code> or <code>120 220 330</code></p></div>
+                </td>
+            </tr>
+
+            <tr>
+                <td><label for="amount">&vandelay.subfields;:</label></td>
+                <td><input dojoType="dijit.form.TextBox" name="subfield" id="attr-editor-subfields"></input>
+                    <div class="hidden" id="attr-editor-subfields-tip">
+                    <p>&vandelay.tooltip.subfields;</p>
+                    <p>&vandelay.for.example;: <code>a, b, j, x</code> or <code>a b j x</code></p></div>
+                </td>
+            </tr>
+            <tr>
+                <td><label for="ident">&vandelay.id.field;: </label></td>
+                <td>
+                    <select dojoType="dijit.form.FilteringSelect" name="ident" id="attr-editor-identifier">
+                        <option value='f' selected='selected'>&vandelay.false;</option>
+                        <option value='t'>&vandelay.true;</option>
+                    </select>
+                </td>
+            </tr>
+            <tr>
+                <td><label for="attr-editor-xpath">&vandelay.xpath.advanced;: </label></td>
+
+                <td><input dojoType="dijit.form.TextBox" id="attr-editor-xpath" name="xpath"></input></td>
+            </tr>
+            <tr>
+                <td><label for="attr-editor-remove">&vandelay.remove.advanced;: </label></td>
+
+                <td><input dojoType="dijit.form.TextBox" id="attr-editor-remove" name="remove"></input></td>
+            </tr>
+            <tr id="attr-editor-create-bar">
+                <td colspan='2' align='center'>
+                    <button dojoType="dijit.form.Button" type="submit" 
+                        id="attr-editor-create-button">&vandelay.create;</button>
+                    <button type="button" dojoType="dijit.form.Button"
+                        onclick="dijit.byId('attr-editor-dialog').onCancel();">&vandelay.cancel;</button>
+                </td>
+            </tr>
+            <tr id="attr-editor-update-bar">
+                <td colspan='2' align='center'>
+                    <button dojoType="dijit.form.Button" type="submit" 
+                        id="attr-editor-update-button">&vandelay.update;</button>
+                    <button type="button" dojoType="dijit.form.Button"
+                        onclick="dijit.byId('attr-editor-dialog').onCancel();">&vandelay.cancel;</button>
+                    <button dojoType="dijit.form.Button" 
+                        type="button" 
+                        id="attr-editor-delete-button"
+                        style="padding-left: 2em;"
+                        onclick="if(confirm('&vandelay.sure.to.delete;')) { vlAttrDelete(); }">
+                            &vandelay.delete.record;</button>
+                </td>
+            </tr>
+        </table>
+    </div>
+</div>
+<script>
+    var vlAttrGridLayout = [{
+        cells : [[
+        {name: '&vandelay.id;', field: 'id'},
+        {name: '&vandelay.code;', field:'code', width:'auto'},
+        {name: '&vandelay.descrip;', field: "description", width:'auto'}, 
+        {name: '&vandelay.tag;', get:attrGridGetTag},
+        {name: '&vandelay.subfield;', get: attrGridGetSubfield},
+        {name: '&vandelay.identifier;', field:'ident'},
+        {name: '&vandelay.xpath;', field:'xpath', width:'auto'},
+        {name: '&vandelay.remove;', field:'remove', width:'auto'}
+        ]]
+    }];
+</script>
+<div class='tall'>
+    <div dojoType='dojox.Grid' jsId='attrEditorGrid'> </div>
+</div>
+
+
diff --git a/Open-ILS/web/vandelay/inc/marchtml.xml b/Open-ILS/web/vandelay/inc/marchtml.xml
new file mode 100644 (file)
index 0000000..af70ba2
--- /dev/null
@@ -0,0 +1,10 @@
+<!-- MARC as HTML -->
+<h1>&vandelay.marc.record;</h1><br/>
+<div>
+    <button id='vl-marc-html-done-button' dojoType='dijit.form.Button'>&#x2196; &vandelay.return;</button>
+</div>
+<div>
+    <style>#vl-marc-record-html td {padding:0px;}</style>
+    <div id='vl-marc-record-html'> </div>
+</div>
+
diff --git a/Open-ILS/web/vandelay/inc/matches.xml b/Open-ILS/web/vandelay/inc/matches.xml
new file mode 100644 (file)
index 0000000..fa03c95
--- /dev/null
@@ -0,0 +1,43 @@
+<script>
+    var vlMatchGridLayout;
+    function resetVlMatchGridLayout() {
+        vlMatchGridLayout = [{
+            defaultCell: {styles: 'text-align: center;'},
+            cells : [[
+                {
+                    name: '&vandelay.overlay.target;', 
+                    get: vlGetOverlayTargetSelector,
+                    value: '&lt;input type="radio" name="overlay_target" '+
+                        'onclick="vlHandleOverlayTargetSelected();" id="vl-overlay-target-ID"/>'
+                },
+                {name:'&vandelay.source.match.point;', field:'src_matchpoint'},
+                {name:'&vandelay.dest.match.point;', field:'dest_matchpoint'},
+                {name: '&vandelay.id;', field:'id'},
+                {   name: '&vandelay.view.marc;', 
+                    get: vlGetViewMARC, 
+                    value:'&lt;a href="javascript:void(0);" onclick="vlLoadMARCHtml(RECID, '+
+                        'true, function(){displayGlobalDiv(\'vl-match-div\');});">&vandelay.view.marc;&lt;/a>'
+                },
+                {name: '&vandelay.creator;', get: vlGetCreator},
+                {name: '&vandelay.create.date;', field:'create_date', get: vlGetDateTimeField},
+                {name: '&vandelay.last.edit.date;', field:'edit_date', get: vlGetDateTimeField},
+                {name: '&vandelay.source;', field:'source'},
+                {name: '&vandelay.tcn.source;', field:'tcn_source'},
+                {name: '&vandelay.tcn.value;', field:'tcn_value'}
+            ]]
+        }];
+    }
+</script>
+<h1>&vandelay.import.matches;</h1><br/>
+<div>
+    <button dojoType='dijit.form.Button' 
+        onclick="displayGlobalDiv('vl-queue-div');">&#x2196; &vandelay.back.to.import.queue;</button>
+    <span style='padding-left:20px;'>
+        <input dojoType='dijit.form.CheckBox' jsId='vlOverlayTargetEnable' onclick='vlHandleOverlayTargetSelected'/> 
+        &vandelay.overlay.selected.record;
+    </span>
+</div>
+<div class='tall'>
+    <div dojoType='dojox.Grid' jsId='vlMatchGrid'> </div>
+</div>
+
diff --git a/Open-ILS/web/vandelay/inc/progress.xml b/Open-ILS/web/vandelay/inc/progress.xml
new file mode 100644 (file)
index 0000000..e5e1833
--- /dev/null
@@ -0,0 +1,16 @@
+<div id="vl-generic-progress" class='progress'>
+    <div dojoType="dijit.ProgressBar" style="width:300px" indeterminate="true"></div>
+</div>
+<div 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>&vandelay.upload.status;</h1><br/>
+    <div id='vl-upload-status-uploading'>
+        <h3>&vandelay.uploading;</h3>
+    </div>
+    <div id='vl-upload-status-processing' class='hidden'>
+        <h3>&vandelay.processing;<span id='vl-upload-status-count'/></h3>
+    </div>
+</div>
+
diff --git a/Open-ILS/web/vandelay/inc/queue.xml b/Open-ILS/web/vandelay/inc/queue.xml
new file mode 100644 (file)
index 0000000..d33e150
--- /dev/null
@@ -0,0 +1,105 @@
+<h1>&vandelay.record.queue;</h1><br/>
+<script>
+    var vlQueueGridLayout;
+    function resetVlQueueGridLayout() {
+        vlQueueGridLayout = [{
+            defaultCell: {styles: 'text-align: center;'},
+            cells : [[
+                {name: '&lt;input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"/>', 
+                    get: vlQueueGridDrawSelectBox },
+                {   name: '&vandelay.view.marc;', 
+                    get: vlGetViewMARC, 
+                    value:'&lt;a href="javascript:void(0);" onclick="vlLoadMARCHtml(RECID, false, '+
+                        'function(){displayGlobalDiv(\'vl-queue-div\');});">&vandelay.view.marc;&lt;/a>'
+                },
+                {   name: '&vandelay.matches;', 
+                    get: vlGetViewMatches,
+                    value:'&lt;a href="javascript:void(0);" onclick="vlLoadMatchUI(RECID);">&vandelay.matches;&lt;/a>'
+                },
+                {name: '&vandelay.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%'>&vandelay.column;</th><th width='33%'>&vandelay.display;</th><th width='33%'>&vandelay.auto.width;</th></tr>
+            </thead>
+            <tbody>
+                <tr>
+                    <td colspan='3' align='center'>
+                        <button jsId='vlQueueGridColumnPickerButton' 
+                            onclick='vlQueueGridColumePickerDialog.hide();vlQueueGridColumePicker.update();' 
+                            dojoType='dijit.form.Button'>&vandelay.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();'>&vandelay.import.selected;</button>
+                    <button dojoType='dijit.form.Button' onclick="
+                        if(confirm('&vandelay.sure.to.delete.queue;')) {
+                            vlDeleteQueue(currentType, currentQueueId, 
+                                function() { displayGlobalDiv('vl-marc-upload-div'); });
+                        }">&vandelay.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'>
+                            &vandelay.limit.to.collision.matches;
+                            <input dojoType='dijit.form.CheckBox' jsId='vlQueueGridShowMatches'/>
+                        </td>
+                        <td class='filter_td' style='padding-left:5px;'>
+                            &vandelay.limit.to.non.imported;
+                            <input dojoType='dijit.form.CheckBox' jsId='vlQueueGridShowNonImport' checked='checked'/>
+                        </td>
+                        <td class='filter_td' style='padding-left:5px;'>
+                            &vandelay.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;'>
+                            &vandelay.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)'>&vandelay.refresh;</button>
+                        </td>
+                    </tr></table>
+                </td>
+                <td align='right' valign='bottom'>
+                    <span style='padding-right:4px;'>
+                        <a href='javascript:void(0);' onclick='vlQueueGridPrevPage();'>&#171; &vandelay.prev.page;</a>
+                    </span>
+                    <span style='padding-right:10px;'>
+                        <a href='javascript:void(0);' onclick='vlQueueGridNextPage();'>&vandelay.next.page; &#187;</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();'>&vandelay.select.cols;</a>
+                    </span>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <!-- Queue Grid -->
+    <div class='' style='height:87%;' dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+        <div dojoType='dojox.Grid' jsId='vlQueueGrid'> </div>
+    </div>
+</div>
+
diff --git a/Open-ILS/web/vandelay/inc/queueselect.xml b/Open-ILS/web/vandelay/inc/queueselect.xml
new file mode 100644 (file)
index 0000000..2149dfa
--- /dev/null
@@ -0,0 +1,25 @@
+<!-- Form for choosing which queue to view -->
+<h1>&vandelay.select.queue;</h1><br/>
+<table class='form_table'>
+    <tr>
+        <td>&vandelay.queue.type;</td>
+        <td>
+            <select jsId='vlQueueSelectType' dojoType='dijit.form.FilteringSelect' onchange='vlShowQueueSelect();'>
+                <option value='bib' selected='selected'>&vandelay.bib.records;</option>
+                <option value='auth'>&vandelay.auth.records;</option>
+            </select>
+        </td>
+    </tr>
+    <tr>
+        <td>&vandelay.queue;</td>
+        <td>
+            <select jsId='vlQueueSelectQueueList' dojoType='dijit.form.FilteringSelect'>
+            </select>
+        </td>
+    </tr>
+    <tr>
+        <td colspan='2'>
+            <button dojoType='dijit.form.Button' onclick='vlFetchQueueFromForm();'>&vandelay.retrieve.queue;</button>
+        </td>
+    </tr>
+</table>
diff --git a/Open-ILS/web/vandelay/inc/toolbar.xml b/Open-ILS/web/vandelay/inc/toolbar.xml
new file mode 100644 (file)
index 0000000..5ce5431
--- /dev/null
@@ -0,0 +1,9 @@
+<div dojoType="dijit.Toolbar" id='toolbar'>
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+        onclick="displayGlobalDiv('vl-marc-upload-div');" showLabel="true">&vandelay.import.records;</div>
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+        onclick="vlShowQueueSelect();" showLabel="true">&vandelay.inspect.queue;</div>
+    <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
+        onclick="vlShowAttrEditor();" showLabel="true">&vandelay.edit.attributes;</div>
+</div>
+
diff --git a/Open-ILS/web/vandelay/inc/upload.xml b/Open-ILS/web/vandelay/inc/upload.xml
new file mode 100644 (file)
index 0000000..2acfe54
--- /dev/null
@@ -0,0 +1,47 @@
+<h1>&vandelay.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>&vandelay.record.type;</td>
+            <td colspan='4'>
+                <select id='vl-record-type' dojoType='dijit.form.FilteringSelect' 
+                        jsId='vlUploadRecordType' onchange='vlShowUploadForm();'>
+                    <option value='bib' selected='selected'>&vandelay.bib.records;</option>
+                    <option value='auth'>&vandelay.auth.records;</option>
+                </select>
+            </td>
+        </tr>
+        <tr>
+            <td>&vandelay.create.upload.queue;</td>
+            <td>
+                <input type='text' dojoType='dijit.form.TextBox' id='vl-queue-name' size='32'></input>
+            </td>
+            <td>&vandelay.add.existing.queue;</td>
+            <td>
+                <select jsId='vlUploadQueueSelector' dojoType='dijit.form.FilteringSelect'>
+                </select>
+            </td>
+        </tr>
+        <tr>
+            <td>&vandelay.auto.import.noncolliding;</td>
+            <td colspan='4'>
+                <input jsId='vlUploadQueueAutoImport' dojoType='dijit.form.CheckBox'/>
+            </td>
+        </tr>
+        <tr>
+            <td>
+                <span id="vl-file-label">&vandelay.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()">&vandelay.upload;</button>
+            </td>
+        </tr>
+    </table>
+</form>
+
index 43c988e..cd57dc0 100644 (file)
         <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' id="vl-nav-bar" style="visibility: hidden;">
-            <div dojoType="dijit.Toolbar" id='toolbar'>
-                <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
-                    onclick="displayGlobalDiv('vl-marc-upload-div');" showLabel="true">&vandelay.import.records;</div>
-                <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
-                    onclick="vlShowQueueSelect();" showLabel="true">&vandelay.inspect.queue;</div>
-
-               <div dojoType="dijit.form.Button" iconClass="dijitEditorIcon dijitEditorIconCopy" 
-                    onclick="vlShowAttrEditor();" showLabel="true">&vandelay.edit.attributes;</div>
+    <body class="tundra">
+        <div dojoType="dijit.layout.LayoutContainer" orientation="vertical" class="tall">
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='top' id="vl-nav-bar" style="visibility: hidden;">
+                <!--#include virtual="inc/toolbar.xml"-->
             </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>&vandelay.upload.status;</h1><br/>
-            <div id='vl-upload-status-uploading'><h3>&vandelay.uploading;</h3></div>
-            <div id='vl-upload-status-processing' class='hidden'>
-                <h3>&vandelay.processing;<span id='vl-upload-status-count'/></h3>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
+                <!--#include virtual="inc/progress.xml"-->
             </div>
-        </div>
-
-        <!-- MARC upload form -->
-        <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-upload-div' class='hidden'>
-            <h1>&vandelay.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>&vandelay.record.type;</td>
-                        <td colspan='4'>
-                            <select id='vl-record-type' dojoType='dijit.form.FilteringSelect' 
-                                    jsId='vlUploadRecordType' onchange='vlShowUploadForm();'>
-                                <option value='bib' selected='selected'>&vandelay.bib.records;</option>
-                                <option value='auth'>&vandelay.auth.records;</option>
-                            </select>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>&vandelay.create.upload.queue;</td>
-                        <td>
-                            <input type='text' dojoType='dijit.form.TextBox' id='vl-queue-name' size='32'></input>
-                        </td>
-                        <td>&vandelay.add.existing.queue;</td>
-                        <td>
-                            <select jsId='vlUploadQueueSelector' dojoType='dijit.form.FilteringSelect'>
-                            </select>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>&vandelay.auto.import.noncolliding;</td>
-                        <td colspan='4'>
-                            <input jsId='vlUploadQueueAutoImport' dojoType='dijit.form.CheckBox'/>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td>
-                            <span id="vl-file-label">&vandelay.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()">&vandelay.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>&vandelay.record.queue;</h1><br/>
-            <script>
-                var vlQueueGridLayout;
-                function resetVlQueueGridLayout() {
-                    vlQueueGridLayout = [{
-                        defaultCell: {styles: 'text-align: center;'},
-                        cells : [[
-                            {name: '&lt;input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"/>', 
-                                get: vlQueueGridDrawSelectBox },
-                            {   name: '&vandelay.view.marc;', 
-                                get: vlGetViewMARC, 
-                                value:'&lt;a href="javascript:void(0);" onclick="vlLoadMARCHtml(RECID, false, '+
-                                    'function(){displayGlobalDiv(\'vl-queue-div\');});">&vandelay.view.marc;&lt;/a>'
-                            },
-                            {   name: '&vandelay.matches;', 
-                                get: vlGetViewMatches,
-                                value:'&lt;a href="javascript:void(0);" onclick="vlLoadMatchUI(RECID);">&vandelay.matches;&lt;/a>'
-                            },
-                            {name: '&vandelay.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%'>&vandelay.column;</th><th width='33%'>&vandelay.display;</th><th width='33%'>&vandelay.auto.width;</th></tr>
-                        </thead>
-                        <tbody>
-                            <tr>
-                                <td colspan='3' align='center'>
-                                    <button jsId='vlQueueGridColumnPickerButton' 
-                                        onclick='vlQueueGridColumePickerDialog.hide();vlQueueGridColumePicker.update();' 
-                                        dojoType='dijit.form.Button'>&vandelay.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();'>&vandelay.import.selected;</button>
-                                <button dojoType='dijit.form.Button' onclick="
-                                    if(confirm('&vandelay.sure.to.delete.queue;')) {
-                                        vlDeleteQueue(currentType, currentQueueId, 
-                                            function() { displayGlobalDiv('vl-marc-upload-div'); });
-                                    }">&vandelay.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'>
-                                        &vandelay.limit.to.collision.matches;
-                                        <input dojoType='dijit.form.CheckBox' jsId='vlQueueGridShowMatches'/>
-                                    </td>
-                                    <td class='filter_td' style='padding-left:5px;'>
-                                        &vandelay.limit.to.non.imported;
-                                        <input dojoType='dijit.form.CheckBox' jsId='vlQueueGridShowNonImport' checked='checked'/>
-                                    </td>
-                                    <td class='filter_td' style='padding-left:5px;'>
-                                        &vandelay.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;'>
-                                        &vandelay.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)'>&vandelay.refresh;</button>
-                                    </td>
-                                </tr></table>
-                            </td>
-                            <td align='right' valign='bottom'>
-                                <span style='padding-right:4px;'>
-                                    <a href='javascript:void(0);' onclick='vlQueueGridPrevPage();'>&#171; &vandelay.prev.page;</a>
-                                </span>
-                                <span style='padding-right:10px;'>
-                                    <a href='javascript:void(0);' onclick='vlQueueGridNextPage();'>&vandelay.next.page; &#187;</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();'>&vandelay.select.cols;</a>
-                                </span>
-                            </td>
-                        </tr>
-                    </table>
-                </div>
-
-                <!-- Queue Grid -->
-                <div class='' style='height:87%;' dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-                    <div dojoType='dojox.Grid' jsId='vlQueueGrid'> </div>
-                </div>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-upload-div' class='hidden'>
+                <!--#include virtual="inc/upload.xml"-->
             </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: '&vandelay.overlay.target;', 
-                                get: vlGetOverlayTargetSelector,
-                                value: '&lt;input type="radio" name="overlay_target" '+
-                                    'onclick="vlHandleOverlayTargetSelected();" id="vl-overlay-target-ID"/>'
-                            },
-                            {name:'&vandelay.source.match.point;', field:'src_matchpoint'},
-                            {name:'&vandelay.dest.match.point;', field:'dest_matchpoint'},
-                            {name: '&vandelay.id;', field:'id'},
-                            {   name: '&vandelay.view.marc;', 
-                                get: vlGetViewMARC, 
-                                value:'&lt;a href="javascript:void(0);" onclick="vlLoadMARCHtml(RECID, '+
-                                    'true, function(){displayGlobalDiv(\'vl-match-div\');});">&vandelay.view.marc;&lt;/a>'
-                            },
-                            {name: '&vandelay.creator;', get: vlGetCreator},
-                            {name: '&vandelay.create.date;', field:'create_date', get: vlGetDateTimeField},
-                            {name: '&vandelay.last.edit.date;', field:'edit_date', get: vlGetDateTimeField},
-                            {name: '&vandelay.source;', field:'source'},
-                            {name: '&vandelay.tcn.source;', field:'tcn_source'},
-                            {name: '&vandelay.tcn.value;', field:'tcn_value'}
-                        ]]
-                    }];
-                }
-            </script>
-            <h1>&vandelay.import.matches;</h1><br/>
-            <div>
-                <button dojoType='dijit.form.Button' 
-                    onclick="displayGlobalDiv('vl-queue-div');">&#x2196; &vandelay.back.to.import.queue;</button>
-                <span style='padding-left:20px;'>
-                    <input dojoType='dijit.form.CheckBox' jsId='vlOverlayTargetEnable' onclick='vlHandleOverlayTargetSelected'/> 
-                    &vandelay.overlay.selected.record;
-                </span>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-queue-div' class='tall hidden'>
+                <!--#include virtual="inc/queue.xml"-->
             </div>
-            <div class='tall'>
-                <div dojoType='dojox.Grid' jsId='vlMatchGrid'> </div>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-match-div' class='tall hidden'>
+                <!--#include virtual="inc/matches.xml"-->
             </div>
-        </div>
-
-        <!-- MARC as HTML -->
-        <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-html-div' class='tall hidden'>
-            <h1>&vandelay.marc.record;</h1><br/>
-            <div>
-                <button id='vl-marc-html-done-button' dojoType='dijit.form.Button'>&#x2196; &vandelay.return;</button>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-marc-html-div' class='tall hidden'>
+                <!--#include virtual="inc/marchtml.xml"-->
             </div>
-            <div>
-                <style>#vl-marc-record-html td {padding:0px;}</style>
-                <div id='vl-marc-record-html'> </div>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign='client' id='vl-queue-select-div' class='tall hidden'>
+                <!--#include virtual="inc/queueselect.xml"-->
+            </div>
+            <div dojoType="dijit.layout.ContentPane" layoutAlign="client"  id="vl-attr-editor-div" 
+                    class='hidden attr-editor-detail-content-pane' title='&vandelay.edit.attrs;'>
+                <!--#include virtual="inc/attrs.xml"-->
             </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>&vandelay.select.queue;</h1><br/>
-            <table class='form_table'>
-                <tr>
-                    <td>&vandelay.queue.type;</td>
-                    <td>
-                        <select jsId='vlQueueSelectType' dojoType='dijit.form.FilteringSelect' onchange='vlShowQueueSelect();'>
-                            <option value='bib' selected='selected'>&vandelay.bib.records;</option>
-                            <option value='auth'>&vandelay.auth.records;</option>
-                        </select>
-                    </td>
-                </tr>
-                <tr>
-                    <td>&vandelay.queue;</td>
-                    <td>
-                        <select jsId='vlQueueSelectQueueList' dojoType='dijit.form.FilteringSelect'>
-                        </select>
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan='2'>
-                        <button dojoType='dijit.form.Button' onclick='vlFetchQueueFromForm();'>&vandelay.retrieve.queue;</button>
-                    </td>
-                </tr>
-            </table>
-        </div>
-
-       <!-- attribute editor  -->
-        <div dojoType="dijit.layout.ContentPane"  id="vl-attr-editor-div"
-                class='hidden attr-editor-detail-content-pane' title='&vandelay.edit.attrs;' style='height:400px;' layoutAlign="client">
-
-            <div style='margin:8px;'>  
-             <div style='float: left; margin-top: 8px;'>
-               <input dojoType="dijit.form.RadioButton" name="attrEditorGroup" value="bib" 
-                      id="aegB" onclick="setAttrEditorGroup('bib');" checked="checked"/>
-               <label for="aegB" style="margin-right: 1em;">&vandelay.bib.attrs;</label>
-               <input dojoType="dijit.form.RadioButton" name="attrEditorGroup" value="auth" 
-                      id="aegA" onclick="setAttrEditorGroup('auth');"/>
-               <label for="aegA" style="margin-right: 1em;">&vandelay.auth.attrs;</label>
-             </div>
-                <div dojoType="dijit.form.DropDownButton" id="vl-create-attr-editor-button">
-                    <span name="create">&vandelay.create.attr.def;</span>
-                    <div dojoType="dijit.TooltipDialog" execute="vlSaveAttrDefinition(arguments[0]);" id="attr-editor-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">&vandelay.code;:</label></td>
-                                <td><input id='attr-editor-code' name="code" dojoType="dijit.form.TextBox"/></td>
-                            </tr>
-                            <tr>
-                                <td><label for="description">&vandelay.descrip;:</label></td>
-                                <td><input id='attr-editor-description' dojoType="dijit.form.TextBox" name="description"> </input></td>
-                            </tr>
-                            <tr>
-                                <td><label for="amount">&vandelay.tags;:</label></td>
-                                <td><input id="attr-editor-tags" dojoType="dijit.form.TextBox" name="tag"></input>
-                               <div class="hidden" id="attr-editor-tags-tip">
-                               <p>&vandelay.tooltip.tags;</p>
-                               <p>&vandelay.for.example;:<code>120, 220, 300</code> or <code>120 220 330</code></p></div>
-                               </td>
-                            </tr>
-
-                            <tr>
-                                <td><label for="amount">&vandelay.subfields;:</label></td>
-                                <td><input dojoType="dijit.form.TextBox" name="subfield" id="attr-editor-subfields"></input></td>
-                               <div class="hidden" id="attr-editor-subfields-tip">
-                               <p>&vandelay.tooltip.subfields;</p>
-                               <p>&vandelay.for.example;: <code>a, b, j, x</code> or <code>a b j x</code></p></div>
-
-                            </tr>
-                            <tr>
-                                <td><label for="ident">&vandelay.id.field;: </label></td>
-                                <td>
-                                    <select dojoType="dijit.form.FilteringSelect" name="ident" id="attr-editor-identifier">
-                                        <option value='f' selected='selected'>&vandelay.false;</option>
-                                        <option value='t'>&vandelay.true;</option>
-                                    </select>
-                                </td>
-                            </tr>
-                            <tr>
-                                <td><label for="attr-editor-xpath">&vandelay.xpath.advanced;: </label></td>
-
-                                <td><input dojoType="dijit.form.TextBox" id="attr-editor-xpath" name="xpath"></input></td>
-                            </tr>
-                            <tr>
-                                <td><label for="attr-editor-remove">&vandelay.remove.advanced;: </label></td>
-
-                                <td><input dojoType="dijit.form.TextBox" id="attr-editor-remove" name="remove"></input></td>
-                            </tr>
-                            <tr id="attr-editor-create-bar">
-                                <td colspan='2' align='center'>
-                                    <button dojoType="dijit.form.Button" type="submit" 
-                                           id="attr-editor-create-button">&vandelay.create;</button>
-                                   <button type="button" dojoType="dijit.form.Button"
-                                           onclick="dijit.byId('attr-editor-dialog').onCancel();">&vandelay.cancel;</button>
-                                </td>
-                            </tr>
-                            <tr id="attr-editor-update-bar">
-                                <td colspan='2' align='center'>
-                                    <button dojoType="dijit.form.Button" type="submit" 
-                                           id="attr-editor-update-button">&vandelay.update;</button>
-                                   <button type="button" dojoType="dijit.form.Button"
-                                           onclick="dijit.byId('attr-editor-dialog').onCancel();">&vandelay.cancel;</button>
-                                    <button dojoType="dijit.form.Button" 
-                                           type="button" 
-                                           id="attr-editor-delete-button"
-                                           style="padding-left: 2em;"
-                                           onclick="if(confirm('&vandelay.sure.to.delete;')) { vlAttrDelete(); }">&vandelay.delete.record;</button>
-                                </td>
-                            </tr>
-                        </table>
-
-                    </div>
-                </div>
-
-           </div>
-           <script>
-               var vlAttrGridLayout = [{
-               cells : [[
-               {name: '&vandelay.id;', field: 'id'},
-               {name: '&vandelay.code;', field:'code', width:'auto'},
-               {name: '&vandelay.descrip;', field: "description", width:'auto'}, 
-               {name: '&vandelay.tag;', get:attrGridGetTag},
-               {name: '&vandelay.subfield;', get: attrGridGetSubfield},
-               {name: '&vandelay.identifier;', field:'ident'},
-               {name: '&vandelay.xpath;', field:'xpath', width:'auto'},
-               {name: '&vandelay.remove;', field:'remove', width:'auto'}
-               ]]
-               }];
-             </script>
-
-             <div class='tall'>
-               <div dojoType='dojox.Grid' jsId='attrEditorGrid'> </div>
-             </div>
-
-       </div>
-
-        <!--
-        <div style='text-align:center;width:100%;' dojoType="dijit.layout.ContentPane" layoutAlign='bottom'>
-            &vandelay.powered.by.evergreen;
-        </div>
-        -->
-      </div>
     </body>
 </html>