2 [% ctx.page_title = l("Configure Authority Authority Fields") %]
3 <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
4 <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
5 <div>[% l('Authority Fields') %]</div>
7 <button dojoType="dijit.form.Button" onClick="acsaf_grid.showCreateDialog()">[% l('New Authority Field') %]</button>
8 <button dojoType="dijit.form.Button" onClick="acsaf_grid.deleteSelected()">[% l('Delete Selected') %]</button>
11 <div id="control-set-metadata-holder" class="hidden">
12 [% l('Showing only authority fields linked to control set:') %]
13 <a id="control-set-metadata"></a>
15 <table jsId="acsaf_grid"
16 dojoType="openils.widget.AutoGrid"
18 defaultCellWidth="'12%'"
19 fieldOrder="['id','name','description','main_entry','control_set','tag','sf_list','bib_fields','axis_maps']"
20 suppressEditFields="['id']"
26 <th field="bib_fields" name="[% l('Controlled Bib Fields') %]"
27 get="get_just_id" formatter="format_bib_fields"></th>
28 <th field="axis_maps" name="[% l('Axes') %]"
29 get="get_just_id" formatter="format_axis_maps"></th>
34 <script type="text/javascript"
35 src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
36 <script type="text/javascript">
37 dojo.require("openils.widget.AutoGrid");
38 dojo.require("openils.CGI");
39 dojo.require("openils.PermaCrud");
41 dojo.requireLocalization("openils.authority", "authority");
43 dojo.i18n.getLocalization("openils.authority", "authority");
45 var cgi, pcrud, control_set;
48 function acsaf_grid_loader() {
50 acsaf_grid.resetStore();
51 acsaf_grid.showLoadProgressIndicator();
52 fieldmapper.standardRequest(
54 "open-ils.cat.authority.control_set_authority_field.retrieve"],{
57 acsaf_grid.displayLimit, acsaf_grid.displayOffset,
58 control_set.id(), cgi.param("focus")
60 "onresponse": function(r) {
61 if (r = openils.Util.readResponse(r)) {
62 acsaf_cache[r.id()] = r;
63 acsaf_grid.store.newItem(r.toStoreItem());
66 "oncomplete": function() {
67 acsaf_grid.hideLoadProgressIndicator();
73 function get_just_id(row_index, item) {
74 if (item) return this.grid.store.getValue(item, "id");
77 function format_axis_maps(id) {
79 var text = acsaf_cache[id].axis_maps().map(
80 function(f) { return f.axis().name(); }
81 ).sort().join(", ") || localeStrings.NONE_LINK;
82 var href = "browse_axis_authority_field_map?";
84 href += "acs=" + control_set.id() + "&";
85 href += "acsaf=" + id;
86 return "<a href='" + href + "'>" + text + "</a>";
90 function format_bib_fields(id) {
92 var text = acsaf_cache[id].bib_fields().map(
93 function(f) { return f.tag(); }
94 ).sort().join(", ") || localeStrings.NONE_LINK;
95 var href = "control_set_bib_field?";
97 href += "acs=" + control_set.id() + "&";
98 href += "acsaf=" + id;
99 return "<a href='" + href + "'>" + text + "</a>";
104 cgi = new openils.CGI();
105 pcrud = new openils.PermaCrud();
107 control_set = cgi.param("acs");
109 control_set = pcrud.retrieve("acs", control_set);
110 render_control_set_metadata(control_set);
112 acsaf_grid.overrideEditWidgets.control_set =
113 new dijit.form.TextBox({"disabled": true});
114 acsaf_grid.overrideEditWidgets.control_set.shove =
115 {"create": control_set.id()};
118 acsaf_grid.onPostCreate = function(o) {
121 acsaf_cache[o.id()] = o;
124 acsaf_grid.dataLoader = acsaf_grid_loader;
128 openils.Util.addOnLoad(my_init);