1 [% WRAPPER 'base.tt2' %]
2 [% ctx.page_title = l('Vandelay Match Set Editor') %]
3 <style type="text/css">
5 .outer { clear: both; margin-bottom: 1ex; }
6 .space-me input { margin: 0 1em; }
7 button { margin: 0 0.5em; }
8 input[type=submit] { padding: 0 0.5em; }
9 #tree-here { margin-bottom: 1.5em; }
10 #vms-table { padding-bottom: 2ex; }
11 #vms-table th { text-align: right; }
12 #vms-table td { padding-left: 1em; }
13 #src-pane { float: left; width: 49%; }
14 #tree-pane { float: right; width: 50%; }
15 #submit-row { clear: both; text-align: center; padding-top: 1.5ex; }
16 #submit-row hr { margin: 1.5ex 0; }
17 #expr-preview-row { margin: 2ex 0; }
19 font-family: monospace;
22 background-color: #000066;
25 .node-editor { margin-bottom: 1.5ex; }
26 .node-editor td { padding: 0.5ex; }
27 li { background-color: #ddd; }
28 .replace-mode { background-color: #990; color: #fff; }
30 <h1>[% ctx.page_title %]</h1>
31 <table id="vms-table">
34 <th>[% l('Match set name:') %]</th>
35 <td><strong id="vms-name"></strong></td>
38 <th>[% l('Owning Library:') %]</th>
39 <td id="vms-owner"></td>
42 <th>[% l('Type:') %]</th>
43 <td id="vms-mtype"></td>
49 give some indication of which match set we're editing the tree for
51 <table class="hidden">
52 <tr quality-controls="1">
54 <label for="value-input">[% l('Value:') %]</label>
57 <input id="value-input" type="text" fmfield="value" />
60 <tr consistent-controls="1">
62 <label for="quality-input"
63 title="[% l('A relative number representing the impact of this expression on the score of the overall record match') %]"><!-- XXX tooltipize -->
64 [% l('Match Score') %]
68 <input id="quality-input" type="text" value="1"
69 size="4" maxlength="3" fmfield="quality" />
72 <tr point-controls="1">
74 <label for="negate-input">[% l('Negate?') %]</label>
77 <input id="negate-input" type="checkbox" fmfield="negate" />
82 <div id="expr-preview-row">
83 <em>[% l('Your Expression:') %]</em>
84 <span id="expr-preview"></span>
86 <div id="vmsp-buttons">
88 <button onclick="node_editor.add('svf');">[% l('Record Attribute') %]</button>
89 <button onclick="node_editor.add('tag');">[% l('MARC Tag and Subfield') %]</button>
90 <button onclick="node_editor.add('bool_op');">[% l('Boolean Operator') %]</button>
93 <div class="outer" style="margin-top: 2ex;">
95 <div><big>[% l('Working Match Point') %]</big></div>
97 <form id="node-editor-container" onsubmit="return false;"></form>
99 <ul id="src-here"></ul>
103 <div><big>[% l('Your Expression') %]</big></div>
104 <div id="tree-here"></div>
106 <button id="deleter" onclick="delete_selected_in_tree()">
107 [% l('Delete Selected Node') %]
109 <button id="replacer" onclick="replace_mode()"></button>
113 <div id="submit-row">
114 <button onclick="save_tree()">[% l('Save Changes To Expression') %]</button>
117 <div id="quality-editor-wrapper">
119 <div style="float: left; width: 50%;">
120 <big>[% l('Quality Metrics for this Match Set') %]</big>
122 <div style="float: right; width: 49%; text-align: right;">
123 <button onclick="qnode_editor.add('svf')">
124 [% l('Record Attribute') %]
126 <button onclick="qnode_editor.add('tag')">
127 [% l('MARC Tag and Subfield') %]
129 <button onclick="vmsq_grid.deleteSelected()">
130 [% l('Delete Selected Metrics') %]
134 <br style="clear: both;" />
135 <table id="qnode-editor-container"></table>
136 <table jsId="vmsq_grid"
137 dojoType="openils.widget.AutoGrid"
139 defaultCellWidth="'17%'"
141 fieldOrder="['quality','svf','tag','subfield','value']"
142 suppressFields="['match_set']"
147 <div jsId="progress_dialog" dojoType="openils.widget.ProgressDialog"></div>
148 <script type="text/javascript"
149 src="[% ctx.media_prefix %]/js/ui/default/conify/global/vandelay/match_set.js"></script>