2 [% ctx.page_title = "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>Authority Fields</div>
7 <button dojoType="dijit.form.Button" onClick="acsaf_grid.showCreateDialog()">New Authority Field</button>
8 <button dojoType="dijit.form.Button" onClick="acsaf_grid.deleteSelected()">Delete Selected</button>
11 <div id="control-set-metadata-holder" class="hidden">
12 Showing only authority fields linked to control set:
13 <a id="control-set-metadata"></a>
16 <table jsId="acsaf_grid"
17 dojoType="openils.widget.AutoGrid"
19 defaultCellWidth="'12%'"
20 fieldOrder="['id','name','description','main_entry','control_set','tag','sf_list','bib_fields','axis_maps']"
21 suppressEditFields="['id']"
27 <th field="bib_fields" name="Controlled Bib Fields"
28 get="get_just_id" formatter="format_bib_fields"></th>
29 <th field="axis_maps" name="Axes"
30 get="get_just_id" formatter="format_axis_maps"></th>
36 <script type="text/javascript"
37 src="[% ctx.media_prefix %]/js/ui/default/conify/global/cat/authority/common.js"></script>
38 <script type="text/javascript">
39 dojo.require("openils.widget.AutoGrid");
40 dojo.require("openils.CGI");
41 dojo.require("openils.PermaCrud");
43 dojo.requireLocalization("openils.authority", "authority");
45 dojo.i18n.getLocalization("openils.authority", "authority");
47 var cgi, pcrud, control_set;
50 function acsaf_grid_loader() {
52 acsaf_grid.resetStore();
53 acsaf_grid.showLoadProgressIndicator();
54 fieldmapper.standardRequest(
56 "open-ils.cat.authority.control_set_authority_field.retrieve"],{
59 acsaf_grid.displayLimit, acsaf_grid.displayOffset,
60 control_set.id(), cgi.param("focus")
62 "onresponse": function(r) {
63 if (r = openils.Util.readResponse(r)) {
64 acsaf_cache[r.id()] = r;
65 acsaf_grid.store.newItem(r.toStoreItem());
68 "oncomplete": function() {
69 acsaf_grid.hideLoadProgressIndicator();
75 function get_just_id(row_index, item) {
76 if (item) return this.grid.store.getValue(item, "id");
79 function format_axis_maps(id) {
81 var text = acsaf_cache[id].axis_maps().map(
82 function(f) { return f.axis().name(); }
83 ).sort().join(", ") || localeStrings.NONE_LINK;
84 var href = "browse_axis_authority_field_map?";
86 href += "acs=" + control_set.id() + "&";
87 href += "acsaf=" + id;
88 return "<a href='" + href + "'>" + text + "</a>";
92 function format_bib_fields(id) {
94 var text = acsaf_cache[id].bib_fields().map(
95 function(f) { return f.tag(); }
96 ).sort().join(", ") || localeStrings.NONE_LINK;
97 var href = "control_set_bib_field?";
99 href += "acs=" + control_set.id() + "&";
100 href += "acsaf=" + id;
101 return "<a href='" + href + "'>" + text + "</a>";
106 cgi = new openils.CGI();
107 pcrud = new openils.PermaCrud();
109 control_set = cgi.param("acs");
111 control_set = pcrud.retrieve("acs", control_set);
112 render_control_set_metadata(control_set);
114 acsaf_grid.overrideEditWidgets.control_set =
115 new dijit.form.TextBox({"disabled": true});
116 acsaf_grid.overrideEditWidgets.control_set.shove =
117 {"create": control_set.id()};
120 acsaf_grid.onPostCreate = function(o) {
123 acsaf_cache[o.id()] = o;
126 acsaf_grid.dataLoader = acsaf_grid_loader;
130 openils.Util.addOnLoad(my_init);