Bugzilla – Attachment 118187 Details for
Bug 27737
Tag editor for authority lookup broken in authority editor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27737: Tag editor for authority lookup broken in authority editor
Bug-27737-Tag-editor-for-authority-lookup-broken-i.patch (text/plain), 14.95 KB, created by
Nick Clemens (kidclamp)
on 2021-03-12 12:47:46 UTC
(
hide
)
Description:
Bug 27737: Tag editor for authority lookup broken in authority editor
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2021-03-12 12:47:46 UTC
Size:
14.95 KB
patch
obsolete
>From e49ac6426baca4c974779120c1b13e972ff68925 Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >Date: Tue, 2 Mar 2021 17:44:35 +0000 >Subject: [PATCH] Bug 27737: Tag editor for authority lookup broken in > authority editor > >This patch changes the markup structure for the authorities >editor so that it better matches that of the basic bibliographic >record editor. This allows the authority-linking JavaScript to >correctly target fields on both pages. > >To test, apply the patch and go to Authorities in the staff client. > > - Create or edit an authority record. > - Switch to tab 5 and if necessary click one of the tag names (e.g. > "SEE ALSO FROM TRACING--PERSONAL NAME") to expand the subfields. > - Click the "..." plugin link next to subfield a ("Personal name" in > this example). > - In the popup window, search for an authority record. > - Click "Choose" next to one of the results. > - The popup window should close and the authority editor should contain > data from the record you chose, including a value in $9 and $a. > - Test with various records to confirm that data in other fields is > copied correctly, for instanct $d, dates associated with a name, $t > title of a work. > - Test other JavaScript-driven interactions in the editor: > - Duplicate repeatable tag > - Remove repeatable tag > - Empty tag > - Reorder sortable tags (e.g. multiple 500 tags) > - Reorder sortable subfields > - Duplicate repeatable subfield > - Remove repeatable subfield > - Empty repeatable subfield > >Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> > >https://bugs.koha-community.org/show_bug.cgi?id=22737 > >Signed-off-by: David Nind <david@davidnind.com> > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > koha-tmpl/intranet-tmpl/prog/css/addbiblio.css | 58 ++------------ > .../prog/en/modules/authorities/authorities.tt | 93 +++++++++++++--------- > 2 files changed, 64 insertions(+), 87 deletions(-) > >diff --git a/koha-tmpl/intranet-tmpl/prog/css/addbiblio.css b/koha-tmpl/intranet-tmpl/prog/css/addbiblio.css >index 4592e25a20..ddbefa898d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/css/addbiblio.css >+++ b/koha-tmpl/intranet-tmpl/prog/css/addbiblio.css >@@ -159,21 +159,21 @@ a.tagnum { > float: left; > } > >-#cat_addbiblio .subfieldcode { >+.subfieldcode { > float: none; > } > >-#cat_addbiblio .labelsubfield { >+.labelsubfield { > font-size: 90%; > float: none; > } > >-#cat_addbiblio .subfield { >+.subfield { > float: none; > padding: .25em .5em; > } > >-#cat_addbiblio .subfield label { >+.subfield label { > color: #00698a; > } > >@@ -182,21 +182,21 @@ a.tagnum { > width:30em; > } > >-#cat_addbiblio .input_marceditor { >+.input_marceditor { > float: none; > width: 100%; > } > >-#cat_addbiblio .subfield_line { >+.subfield_line { > display: flex; > } > >-#cat_addbiblio .field_marceditor { >+.field_marceditor { > flex-grow: 1; > padding: .25em .5em; > } > >-#cat_addbiblio .subfield_loop_mandatory { >+.subfield_loop_mandatory { > padding: .25em .5em; > } > >@@ -400,45 +400,3 @@ tbody tr.active td { > z-index: 2000; > } > >-#authoritiestabs .marc_field { >- display: inline-block; >- padding: .3em; >- border-radius: 3px; >-} >- >-#authoritiestabs .marc_subfield { >- font-weight: bold; >- color: #666; >-} >- >-#authoritiestabs .marc_subfield_desc { >- color: #00698a; >- font-style: italic; >-} >- >-#authoritiestabs .auth_subfield { >- display: flex; >-} >- >-#authoritiestabs .tag { >- padding: .4em 0; >-} >- >-#authoritiestabs .tag_desc { >- color: #026; >-} >- >-#authoritiestabs .tag_num { >- color: #080; >-} >- >-#authoritiestabs .tag_title { >- font-size: 100%; >- font-weight: bold; >- padding: 0; >-} >- >-#authoritiestabs .ui-tabs-nav.ui-widget-header { >- border-bottom: 1px solid #b9d8d9; >- border-radius: 0; >-} >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt >index 6e55762e06..fe9f5de0e6 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt >@@ -185,7 +185,7 @@ function confirmnotdup(redirect){ > > <div class="main container-fluid"> > <div class="row"> >- <div class="col-md-8 col-md-offset-2"> >+ <div class="col-md-10 col-md-offset-1"> > > [% IF ( authid ) %] > <h1>Modify authority #[% authid | html %] [% authtypetext | html %]</h1> >@@ -253,15 +253,23 @@ function confirmnotdup(redirect){ > </ul> > [% END %] > [% previous = innerloo.tag %] >- <ul class="sortable_field"> >+ [% IF ( innerloo.repeatable ) %] >+ <ul class="sortable_field"> >+ [% ELSE %] >+ <ul> >+ [% END %] >+ [% END %] >+ [% IF ( innerloo.repeatable ) %] >+ <li class="tag sortable_tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]"> >+ [% ELSE %] >+ <li class="tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]"> > [% END %] >- <li class="tag clearfix" id="tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]"> > <div class="tag_title" id="div_indicator_tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]"> > [% UNLESS hide_marc %] > [% IF advancedMARCEditor %] > <a href="#" tabindex="1" class="tagnum" title="[% innerloo.tag_lib | html %] - Click to Expand this Tag" onclick="ExpandField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;">[% innerloo.tag | html %]</a> > [% ELSE %] >- <span title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span> >+ <span class="tagnum" title="[% innerloo.tag_lib | html %]">[% innerloo.tag | html %]</span> > [% END %] > [% IF ( innerloo.fixedfield ) %] > <input type="text" >@@ -330,23 +338,17 @@ function confirmnotdup(redirect){ > <a href="#" tabindex="1" class="buttonMinus" onclick="UnCloneField('tag_[% innerloo.tag | html %]_[% innerloo.index | html %][% innerloo.random | html %]'); return false;" title="Delete this Tag"> > <img src="[% interface | html %]/[% theme | html %]/img/delete-tag.png" alt="Delete this Tag" /> > </a> >- </span> >+ </span> <!-- /.field_controls --> > >- </div> >+ </div> <!-- /div.tag_title --> > > <ul class="sortable_subfield"> > [% FOREACH subfield_loo IN innerloo.subfield_loop %] > <!-- One line on the marc editor --> > <li class="subfield_line" style="[% subfield_loo.visibility | html %]" id="subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]"> > >- [% UNLESS advancedMARCEditor %] >- [% IF ( subfield_loo.fixedfield ) %]<label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" style="display:none;" class="labelsubfield"> >- [% ELSE %]<label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield"> >- [% END %] >- [% END %] >- > [% UNLESS hide_marc %] >- <span class="subfieldcode"> >+ <div class="subfieldcode"> > <input type="text" > title="[% subfield_loo.marc_lib | $raw %]" > style=" [% IF ( subfield_loo.fixedfield ) %]display:none; [% END %]border:0;" >@@ -356,7 +358,7 @@ function confirmnotdup(redirect){ > maxlength="1" > class="flat" > tabindex="0" /> >- </span> >+ </div> > [% ELSE %] > <input type="hidden" > name="tag_[% subfield_loo.tag | html %]_code_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" >@@ -364,14 +366,23 @@ function confirmnotdup(redirect){ > [% END %] > > [% UNLESS advancedMARCEditor %] >- [% IF ( subfield_loo.mandatory ) %]<span class="subfield subfield_mandatory">[% ELSE %]<span class="subfield">[% END %] >- [% subfield_loo.marc_lib | $raw %] >- [% IF ( subfield_loo.mandatory ) %]<span class="mandatory_marker" title="This field is mandatory">*</span>[% END %] >- </span> >- </label> >+ [% IF ( subfield_loo.mandatory ) %] >+ <div class="subfield subfield_mandatory"> >+ [% ELSE %] >+ <div class="subfield"> >+ [% END %] >+ [% IF ( subfield_loo.fixedfield ) %] >+ <label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" style="display:none;" class="labelsubfield"> >+ [% ELSE %] >+ <label for="tag_[% subfield_loo.tag | html %]_subfield_[% subfield_loo.subfield | html %]_[% subfield_loo.index | html %]_[% subfield_loo.index_subfield | html %]" class="labelsubfield"> >+ [% END %] >+ [% subfield_loo.marc_lib | $raw %] >+ </label> >+ </div> > [% END %] >- >+ > [% SET mv = subfield_loo.marc_value %] >+ <div id="field_marceditor[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]" class="field_marceditor"> > [% IF ( mv.type == 'select' ) %] > [% IF mv.category AND CAN_user_parameters_manage_auth_values %] > <select name="[%- mv.name | html -%]" tabindex="1" size="1" class="input_marceditor" id="[%- mv.id | html -%]" data-category="[% mv.category | html %]"> >@@ -389,15 +400,8 @@ function confirmnotdup(redirect){ > </select> > [% ELSIF ( mv.type == 'text1' ) %] > <input type="text" id="[%- mv.id | html -%]" name="[%- mv.id | html -%]" value="[%- mv.value | html -%]" class="input_marceditor" tabindex="1" /> >- <a href="#" class="buttonDot" onclick="openAuth(this.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtypecode | html -%]','auth'); return false;" tabindex="1" title="Tag editor">...</a> > [% ELSIF ( mv.type == 'text2' ) %] > <input type="text" id="[%- mv.id | html -%]" size="67" maxlength="[%- mv.maxlength | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor" /> >- [% IF mv.noclick %] >- <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup">...</a> >- [% ELSE %] >- <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor" title="Tag editor">...</a> >- [% END %] >- [% mv.javascript | $raw %] > [% ELSIF ( mv.type == 'text' ) %] > <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor" tabindex="1" size="67" maxlength="[%- mv.maxlength | html -%]" /> > [% ELSIF ( mv.type == 'textarea' ) %] >@@ -407,17 +411,32 @@ function confirmnotdup(redirect){ > [% ELSIF ( mv.type == 'hidden_simple' ) %] > <input type="hidden" name="[%- mv.name | html -%]" /> > [% END %] >- >- <span class="subfield_controls"> >- [% IF ( subfield_loo.repeatable ) %] >- <a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]','[% advancedMARCEditor | html %]'); return false;"> >- <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /> >- </a> >- <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;"> >- <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /> >- </a> >+ </div> >+ [% IF ( subfield_loo.mandatory ) %] >+ <div class="subfield_loop_mandatory"> >+ <span class="required">Required</span> >+ </div> > [% END %] >- </span> >+ <div class="subfield_controls"> >+ [% IF ( mv.type == 'text1' ) %] >+ <a href="#" class="buttonDot tag_editor" onclick="openAuth(this.parentNode.parentNode.getElementsByTagName('input')[1].id,'[%- mv.authtypecode | html -%]','auth'); return false;" tabindex="1" title="Tag editor">Tag editor</a> >+ [% ELSIF ( mv.type == 'text2' ) %] >+ [% IF mv.noclick %] >+ <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup">...</a> >+ [% ELSE %] >+ <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor" title="Tag editor">...</a> >+ [% END %] >+ [% mv.javascript | $raw %] >+ [% END %] >+ [% IF ( subfield_loo.repeatable ) %] >+ <a href="#" class="buttonPlus" tabindex="1" onclick="CloneSubfield('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]','[% advancedMARCEditor | html %]'); return false;"> >+ <img src="[% interface | html %]/[% theme | html %]/img/clone-subfield.png" alt="Clone" title="Clone this subfield" /> >+ </a> >+ <a href="#" class="buttonMinus" tabindex="1" onclick="UnCloneField('subfield[% subfield_loo.tag | html %][% subfield_loo.subfield | html %][% subfield_loo.random | html %]'); return false;"> >+ <img src="[% interface | html %]/[% theme | html %]/img/delete-subfield.png" alt="Delete" title="Delete this subfield" /> >+ </a> >+ [% END %] >+ </div> > </li> > <!-- End of the line --> > [% END %] >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 27737
:
117544
|
117545
|
117860
|
117862
|
117872
|
117883
|
117884
|
117952
|
118115
|
118116
|
118117
|
118174
|
118179
| 118187 |
118188