View | Details | Raw Unified | Return to bug 30975
Collapse All | Expand All

(-)a/C4/Items.pm (-1 / +1 lines)
Lines 1807-1813 sub PrepareItemrecordDisplay { Link Here
1807
                        my $tab= $plugin->noclick? '-1': '';
1807
                        my $tab= $plugin->noclick? '-1': '';
1808
                        my $class= $plugin->noclick? ' disabled': '';
1808
                        my $class= $plugin->noclick? ' disabled': '';
1809
                        my $title= $plugin->noclick? 'No popup': 'Tag editor';
1809
                        my $title= $plugin->noclick? 'No popup': 'Tag editor';
1810
                        $subfield_data{marc_value} = qq[<input type="text" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="50" maxlength="$maxlength" value="$defaultvalue" /><a href="#" id="buttonDot_$subfield_data{id}" class="buttonDot $class" title="$title">...</a>\n].$plugin->javascript;
1810
                        $subfield_data{marc_value} = qq[<input type="text" id="$subfield_data{id}" name="field_value" class="input_marceditor framework_plugin" size="50" maxlength="$maxlength" value="$defaultvalue" data-plugin="$plugin->{name}" /><a href="#" id="buttonDot_$subfield_data{id}" class="buttonDot $class" title="$title" data-plugin="$plugin->{name}">...</a>\n].$plugin->javascript;
1811
                    } else {
1811
                    } else {
1812
                        warn $plugin->errstr;
1812
                        warn $plugin->errstr;
1813
                        $subfield_data{marc_value} = qq(<input type="text" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="50" maxlength="$maxlength" value="$defaultvalue" />); # supply default input form
1813
                        $subfield_data{marc_value} = qq(<input type="text" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="50" maxlength="$maxlength" value="$defaultvalue" />); # supply default input form
(-)a/Koha/FrameworkPlugin.pm (-77 / +7 lines)
Lines 297-390 sub _process_javascript { Link Here
297
    $script =~ s/\<script[^>]*\>\s*(\/\/\<!\[CDATA\[)?\s*//s;
297
    $script =~ s/\<script[^>]*\>\s*(\/\/\<!\[CDATA\[)?\s*//s;
298
    $script =~ s/(\/\/\]\]\>\s*)?\<\/script\>//s;
298
    $script =~ s/(\/\/\]\]\>\s*)?\<\/script\>//s;
299
299
300
    my $id = $params->{id}//'';
301
    my $bind = '';
302
    my $clickfound = 0;
300
    my $clickfound = 0;
303
    my @events = qw|click focus blur change mouseover mouseout mousedown
301
    my @events = qw|click focus blur|;
304
        mouseup mousemove keydown keypress keyup|;
305
    foreach my $ev ( @events ) {
302
    foreach my $ev ( @events ) {
306
        my $scan = $ev eq 'click' && $self->{oldschool}? 'clic': $ev;
303
        my $scan = $ev eq 'click' && $self->{oldschool}? 'clic': $ev;
307
        if( $script =~ /function\s+($scan\w+)\s*\(([^\)]*)\)/is ) {
304
        if( $script =~ /function\s+($scan\w+)\s*\(/is ) {
308
            my ( $bl, $sl ) = $self->_add_binding( $1, $2, $ev, $id );
305
            my $function_name = $1;
309
            $script .= $sl;
306
            $script .= sprintf('registerFrameworkPluginHandler("%s", "%s", %s);', $self->name, $ev, $function_name);
310
            $bind .= $bl;
311
            $clickfound = 1 if $ev eq 'click';
307
            $clickfound = 1 if $ev eq 'click';
312
        }
308
        }
313
    }
309
    }
314
    if( !$clickfound ) { # make buttonDot do nothing
315
        my ( $bl ) = $self->_add_binding( 'noclick', '', 'click', $id );
316
        $bind .= $bl;
317
    }
318
    $self->{noclick} = !$clickfound;
310
    $self->{noclick} = !$clickfound;
319
    $self->{javascript}= _merge_script( $id, $script, $bind );
311
    $self->{javascript} = <<JS;
320
}
321
322
sub _add_binding {
323
# adds some jQuery code for event binding:
324
# $bind contains lines for the actual event binding: .click, .focus, etc.
325
# $script contains function definitions (if needed)
326
    my ( $self, $fname, $pars, $ev, $id ) = @_;
327
    my ( $bind, $script );
328
    my $ctl= $ev eq 'click'? 'buttonDot_'.$id: $id;
329
        #click event applies to buttonDot
330
331
    if( $pars =~ /^(e|ev|event)$/i ) { # new style event handler assumed
332
        $bind= qq|    \$("#$ctl").$ev(\{id: '$id'\}, $fname);\n|;
333
        $script='';
334
    } elsif( $fname eq 'noclick' ) { # no click: return false, no scroll
335
        $bind= qq|    \$("#$ctl").$ev(function () { return false; });\n|;
336
        $script='';
337
    } else { # add real event handler calling the function found
338
        $bind=qq|    \$("#$ctl").$ev(\{id: '$id'\}, ${fname}_handler);\n|;
339
        $script = $self->_add_handler( $ev, $fname );
340
    }
341
    return ( $bind, $script );
342
}
343
344
sub _add_handler {
345
# adds a handler with event parameter
346
# event.data.id is passed to the plugin function in parameters
347
# for the click event we always return false to prevent scrolling
348
    my ( $self, $ev, $fname ) = @_;
349
    my $first= $self->_first_item_par( $ev );
350
    my $prefix= $ev eq 'click'? '': 'return ';
351
    my $suffix= $ev eq 'click'? "\n    return false;": '';
352
    return <<HERE;
353
function ${fname}_handler(event) {
354
    $prefix$fname(${first}event.data.id);$suffix
355
}
356
HERE
357
}
358
359
sub _first_item_par {
360
    my ( $self, $event ) = @_;
361
    # needed for backward compatibility
362
    # js event functions in old style item plugins have an extra parameter
363
    # BUT.. not for all events (exceptions provide employment :)
364
    if( $self->{item_style} && $self->{oldschool} &&
365
            $event=~/focus|blur|change/ ) {
366
        return qq/'0',/;
367
    }
368
    return '';
369
}
370
371
sub _merge_script {
372
# Combine script and event bindings, enclosed in script tags.
373
# The BindEvents function is added to easily repeat event binding;
374
# this is used in additem.js for dynamically created item blocks.
375
    my ( $id, $script, $bind ) = @_;
376
    chomp ($script, $bind);
377
    return <<HERE;
378
<script>
312
<script>
313
\$(document).ready(function () {
379
$script
314
$script
380
function BindEvents$id() {
381
$bind
382
}
383
\$(document).ready(function() {
384
    BindEvents$id();
385
});
315
});
386
</script>
316
</script>
387
HERE
317
JS
388
}
318
}
389
319
390
=head1 AUTHOR
320
=head1 AUTHOR
(-)a/Koha/UI/Form/Builder/Item.pm (+1 lines)
Lines 328-333 sub generate_subfield_form { Link Here
328
                class      => $class,
328
                class      => $class,
329
                nopopup    => $plugin->noclick,
329
                nopopup    => $plugin->noclick,
330
                javascript => $plugin->javascript,
330
                javascript => $plugin->javascript,
331
                plugin     => $plugin->name,
331
            };
332
            };
332
        }
333
        }
333
        else {
334
        else {
(-)a/authorities/authorities.pl (+1 lines)
Lines 206-211 sub create_input { Link Here
206
                maxlength => $max_length,
206
                maxlength => $max_length,
207
                javascript => $plugin->javascript,
207
                javascript => $plugin->javascript,
208
                noclick    => $plugin->noclick,
208
                noclick    => $plugin->noclick,
209
                plugin     => $plugin->name,
209
            };
210
            };
210
        } else { # warn and supply default field
211
        } else { # warn and supply default field
211
            warn $plugin->errstr;
212
            warn $plugin->errstr;
(-)a/cataloguing/value_builder/EXAMPLE.pl (-22 / +4 lines)
Lines 65-101 my $builder= sub { Link Here
65
<script>
65
<script>
66
function Focus$id(event) {
66
function Focus$id(event) {
67
    if( \$('#'+event.data.id).val()=='' ) {
67
    if( \$('#'+event.data.id).val()=='' ) {
68
        \$('#'+event.data.id).val('EXAMPLE:');
68
        \$('#'+event.data.id).val('Focus');
69
    }
69
    }
70
}
70
}
71
71
72
function MouseOver$id(event) {
72
function Blur$id(event) {
73
    return Focus$id(event);
73
    if( \$('#'+event.data.id).val()=='' ) {
74
    /* just redirecting it to Focus for the same effect */
74
        \$('#'+event.data.id).val('Blur');
75
}
76
77
function KeyPress$id(event) {
78
    if( event.which == 64 ) { /* at character */
79
        var f= \$('#'+event.data.id).val();
80
        \$('#'+event.data.id).val( f + 'AT' );
81
        return false; /* prevents getting the @ character back too */
82
    }
83
}
84
85
function Change$id(event) {
86
    var colors= [ 'rgb(0, 0, 255)', 'rgb(0, 128, 0)', 'rgb(255, 0, 0)' ];
87
    var curcol= \$('#'+event.data.id).css('color');
88
    var i= Math.floor( Math.random() * 3 );
89
    if( colors[i]==curcol ) {
90
        i= (i + 1)%3;
91
    }
75
    }
92
    var f= \$('#'+event.data.id).css('color',colors[i]);
93
}
76
}
94
77
95
function Click$id(event) {
78
function Click$id(event) {
96
    var fieldvalue=\$('#'+event.data.id).val();
79
    var fieldvalue=\$('#'+event.data.id).val();
97
    window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=EXAMPLE.pl&index=\"+event.data.id+\"&result=\"+fieldvalue,\"tag_editor\",'width=700,height=700,toolbar=false,scrollbars=yes');
80
    window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=EXAMPLE.pl&index=\"+event.data.id+\"&result=\"+fieldvalue,\"tag_editor\",'width=700,height=700,toolbar=false,scrollbars=yes');
98
    return false; /* prevents scrolling */
99
}
81
}
100
</script>|;
82
</script>|;
101
};
83
};
(-)a/cataloguing/value_builder/barcode.pl (-5 / +7 lines)
Lines 86-99 END_OF_JS Link Here
86
86
87
    my $js  = <<END_OF_JS;
87
    my $js  = <<END_OF_JS;
88
<script>
88
<script>
89
89
function set_barcode(id, force) {
90
function Focus$function_name(id, force) {
91
$scr
90
$scr
92
}
91
}
93
92
94
function Click$function_name(id) {
93
function Focus$function_name(event) {
95
    Focus$function_name(id, 1);
94
    set_barcode(event.data.id, false);
96
    return false;
95
}
96
97
function Click$function_name(event) {
98
    set_barcode(event.data.id, true);
97
}
99
}
98
</script>
100
</script>
99
END_OF_JS
101
END_OF_JS
(-)a/cataloguing/value_builder/barcode_manual.pl (-1 / +2 lines)
Lines 66-72 END_OF_JS Link Here
66
    my $js  = <<END_OF_JS;
66
    my $js  = <<END_OF_JS;
67
    <script>
67
    <script>
68
68
69
    function Click$function_name(id) {
69
    function Click$function_name(event) {
70
        const id = event.data.id;
70
        $scr
71
        $scr
71
            return false;
72
            return false;
72
    }
73
    }
(-)a/cataloguing/value_builder/callnumber-KU.pl (-2 / +2 lines)
Lines 46-53 my $builder = sub { Link Here
46
    my ( $params ) = @_;
46
    my ( $params ) = @_;
47
    my $res="
47
    my $res="
48
    <script>
48
    <script>
49
        function Click$params->{id}() {
49
        function Click$params->{id}(ev) {
50
                var code = document.getElementById('$params->{id}');
50
                var code = document.getElementById(ev.data.id);
51
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=callnumber-KU.pl&code=' + code.value;
51
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=callnumber-KU.pl&code=' + code.value;
52
                var req = \$.get(url);
52
                var req = \$.get(url);
53
                req.done(function(resp){
53
                req.done(function(resp){
(-)a/cataloguing/value_builder/callnumber.pl (-2 / +2 lines)
Lines 43-50 my $builder = sub { Link Here
43
    my ( $params ) = @_;
43
    my ( $params ) = @_;
44
    my $res="
44
    my $res="
45
    <script>
45
    <script>
46
        function Blur$params->{id}() {
46
        function Blur$params->{id}(ev) {
47
                var code = document.getElementById('$params->{id}');
47
                var code = document.getElementById(ev.data.id);
48
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=callnumber.pl&code=' + code.value;
48
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=callnumber.pl&code=' + code.value;
49
                var req = \$.get(url);
49
                var req = \$.get(url);
50
                req.done(function(resp){
50
                req.done(function(resp){
(-)a/cataloguing/value_builder/cn_browser.pl (-2 / +2 lines)
Lines 33-40 my $builder = sub { Link Here
33
    my $res = "
33
    my $res = "
34
<script>
34
<script>
35
35
36
function Click$function_name(i) {
36
function Click$function_name(ev) {
37
    q = document.getElementById('$params->{id}');
37
    q = document.getElementById(ev.data.id);
38
    window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=cn_browser.pl&popup&q=\"+encodeURIComponent(q.value),\"cnbrowser\",\"width=500,height=400,toolbar=false,scrollbars=yes\");
38
    window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=cn_browser.pl&popup&q=\"+encodeURIComponent(q.value),\"cnbrowser\",\"width=500,height=400,toolbar=false,scrollbars=yes\");
39
}
39
}
40
40
(-)a/cataloguing/value_builder/dateaccessioned.pl (-1 lines)
Lines 50-56 function Focus$function_name(event) { Link Here
50
}
50
}
51
51
52
function Click$function_name(event) {
52
function Click$function_name(event) {
53
    event.preventDefault();
54
    set_to_today(event.data.id, 1);
53
    set_to_today(event.data.id, 1);
55
}
54
}
56
55
(-)a/cataloguing/value_builder/marc21_field_005.pl (-1 lines)
Lines 34-40 my $builder = sub { Link Here
34
34
35
function Focus$function_name(event) {
35
function Focus$function_name(event) {
36
    document.getElementById(event.data.id).value='$date';
36
    document.getElementById(event.data.id).value='$date';
37
    return 0;
38
}
37
}
39
38
40
</script>
39
</script>
(-)a/cataloguing/value_builder/stocknumber.pl (-3 / +6 lines)
Lines 39-53 my $builder = sub { Link Here
39
    my $js  = <<END_OF_JS;
39
    my $js  = <<END_OF_JS;
40
<script>
40
<script>
41
41
42
function Focus$function_name(id, force) {
42
function set_stocknumber(id, force) {
43
    if (\$('#' + id).val() == '' || force) {
43
    if (\$('#' + id).val() == '' || force) {
44
        \$('#' + id).val('$nextnum');
44
        \$('#' + id).val('$nextnum');
45
    }
45
    }
46
}
46
}
47
47
48
function Focus$function_name(event) {
49
    set_stocknumber(event.data.id, false);
50
}
51
48
function Click$function_name(event) {
52
function Click$function_name(event) {
49
    Focus$function_name(event.data.id, 1);
53
    set_stocknumber(event.data.id, true);
50
    return false;
51
}
54
}
52
</script>
55
</script>
53
END_OF_JS
56
END_OF_JS
(-)a/cataloguing/value_builder/stocknumberAV.pl (-3 / +3 lines)
Lines 47-54 my $builder = sub { Link Here
47
    my ( $params ) = @_;
47
    my ( $params ) = @_;
48
    my $res = qq{
48
    my $res = qq{
49
    <script>
49
    <script>
50
        function Click$params->{id}() {
50
        function Click$params->{id}(ev) {
51
                var code = document.getElementById('$params->{id}');
51
                var code = document.getElementById(ev.data.id);
52
                \$.ajax({
52
                \$.ajax({
53
                    url: '/cgi-bin/koha/cataloguing/plugin_launcher.pl',
53
                    url: '/cgi-bin/koha/cataloguing/plugin_launcher.pl',
54
                    type: 'POST',
54
                    type: 'POST',
Lines 57-63 my $builder = sub { Link Here
57
                        'code'    : code.value,
57
                        'code'    : code.value,
58
                    },
58
                    },
59
                    success: function(data){
59
                    success: function(data){
60
                        var field = document.getElementById('$params->{id}');
60
                        var field = document.getElementById(ev.data.id);
61
                        field.value = data;
61
                        field.value = data;
62
                        return 1;
62
                        return 1;
63
                    }
63
                    }
(-)a/cataloguing/value_builder/stocknumberam123.pl (-2 / +2 lines)
Lines 44-51 my $builder = sub { Link Here
44
    my ( $params ) = @_;
44
    my ( $params ) = @_;
45
    my $res="
45
    my $res="
46
    <script>
46
    <script>
47
        function Blur$params->{id}() {
47
        function Blur$params->{id}(ev) {
48
                var code = document.getElementById('$params->{id}');
48
                var code = document.getElementById(ev.data.id);
49
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=stocknumberam123.pl&code=' + code.value;
49
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=stocknumberam123.pl&code=' + code.value;
50
                var req = \$.get(url);
50
                var req = \$.get(url);
51
                req.done(function(resp){
51
                req.done(function(resp){
(-)a/cataloguing/value_builder/unimarc_field_010.pl (-2 / +2 lines)
Lines 29-36 sub plugin_javascript { Link Here
29
    my ($dbh,$record,$tagslib,$field_number) = @_;
29
    my ($dbh,$record,$tagslib,$field_number) = @_;
30
    my $res="
30
    my $res="
31
    <script>
31
    <script>
32
        function Blur$field_number() {
32
        function Blur$field_number(ev) {
33
                var isbn = document.getElementById('$field_number');
33
                var isbn = document.getElementById(ev.data.id);
34
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_010.pl&isbn=' + isbn.value;
34
                var url = '../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_010.pl&isbn=' + isbn.value;
35
                var req = \$.get(url);
35
                var req = \$.get(url);
36
                req.done(function(resp){
36
                req.done(function(resp){
(-)a/cataloguing/value_builder/unimarc_field_100.pl (-1 / +2 lines)
Lines 33-39 sub plugin_javascript { Link Here
33
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
33
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
34
    my $res           = "
34
    my $res           = "
35
        <script>
35
        <script>
36
            function Clic$field_number(i) {
36
            function Clic$field_number(event) {
37
                const i = event.data.id;
37
                var defaultvalue;
38
                var defaultvalue;
38
                try {
39
                try {
39
                    defaultvalue = document.getElementById(i).value;
40
                    defaultvalue = document.getElementById(i).value;
(-)a/cataloguing/value_builder/unimarc_field_100_authorities.pl (-1 / +2 lines)
Lines 30-36 sub plugin_javascript { Link Here
30
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
30
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
31
    my $res           = "
31
    my $res           = "
32
        <script>
32
        <script>
33
            function Clic$field_number(i) {
33
            function Clic$field_number(event) {
34
                const i = event.data.id;
34
                var defaultvalue;
35
                var defaultvalue;
35
                try {
36
                try {
36
                    defaultvalue = document.getElementById(i).value;
37
                    defaultvalue = document.getElementById(i).value;
(-)a/cataloguing/value_builder/unimarc_field_105.pl (-3 / +3 lines)
Lines 33-41 sub plugin_javascript { Link Here
33
    my ($dbh,$record,$tagslib,$field_number) = @_;
33
    my ($dbh,$record,$tagslib,$field_number) = @_;
34
    my $res="
34
    my $res="
35
    <script>
35
    <script>
36
        function Clic$field_number() {
36
        function Clic$field_number(ev) {
37
                defaultvalue=document.getElementById(\"$field_number\").value;
37
                defaultvalue=document.getElementById(ev.data.id).value;
38
                window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_105.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_105\",'width=1200,height=400,toolbar=false,scrollbars=yes');
38
                window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_105.pl&index=\" + ev.data.id + \"&result=\"+defaultvalue,\"unimarc_field_105\",'width=1200,height=400,toolbar=false,scrollbars=yes');
39
39
40
        }
40
        }
41
    </script>
41
    </script>
(-)a/cataloguing/value_builder/unimarc_field_106.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= "106".(int(rand(100000))+1);
32
my $function_name= "106".(int(rand(100000))+1);
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$field_number() {
35
function Clic$field_number(ev) {
36
        defaultvalue=document.getElementById(\"$field_number\").value;
36
        defaultvalue=document.getElementById(ev.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_106.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_106\",'width=500,height=400,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_106.pl&index=\" + ev.data.id + \"&result=\"+defaultvalue,\"unimarc_field_106\",'width=500,height=400,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_110.pl (-3 / +3 lines)
Lines 33-41 sub plugin_javascript { Link Here
33
    my ($dbh,$record,$tagslib,$field_number) = @_;
33
    my ($dbh,$record,$tagslib,$field_number) = @_;
34
    my $res="
34
    my $res="
35
    <script>
35
    <script>
36
    function Clic$field_number() {
36
    function Clic$field_number(ev) {
37
            defaultvalue=document.getElementById(\"$field_number\").value;
37
            defaultvalue=document.getElementById(ev.data.id).value;
38
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_110.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_110\",'width=700,height=600,toolbar=false,scrollbars=yes');
38
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_110.pl&index=\" + ev.data.id + \"&result=\"+defaultvalue,\"unimarc_field_110\",'width=700,height=600,toolbar=false,scrollbars=yes');
39
39
40
    }
40
    }
41
    </script>
41
    </script>
(-)a/cataloguing/value_builder/unimarc_field_115a.pl (-2 / +3 lines)
Lines 32-38 sub plugin_javascript { Link Here
32
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
32
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
33
    my $res = "
33
    my $res = "
34
    <script>
34
    <script>
35
    function Clic$field_number(i) {
35
    function Clic$field_number(event) {
36
        const i = event.data.id;
36
        var defaultvalue;
37
        var defaultvalue;
37
        try {
38
        try {
38
            defaultvalue = document.getElementById(i).value;
39
            defaultvalue = document.getElementById(i).value;
Lines 40-46 sub plugin_javascript { Link Here
40
            alert('error when getting '+i);
41
            alert('error when getting '+i);
41
            return;
42
            return;
42
        }
43
        }
43
    	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_115a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_115a\",'width=1200,height=600,toolbar=false,scrollbars=yes');
44
    	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_115a.pl&index=\" + i + \"&result=\"+defaultvalue,\"unimarc_field_115a\",'width=1200,height=600,toolbar=false,scrollbars=yes');
44
    }
45
    }
45
46
46
    </script>
47
    </script>
(-)a/cataloguing/value_builder/unimarc_field_115b.pl (-3 / +3 lines)
Lines 32-40 sub plugin_javascript { Link Here
32
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
32
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
33
    my $res = "
33
    my $res = "
34
<script>
34
<script>
35
function Clic$field_number() {
35
function Clic$field_number(ev) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(ev.data.id).value;
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_115b.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_115b\",'width=1200,height=600,toolbar=false,scrollbars=yes');
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_115b.pl&index=\" + ev.data.id + \"&result=\"+defaultvalue,\"unimarc_field_115b\",'width=1200,height=600,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_116.pl (-3 / +3 lines)
Lines 32-40 sub plugin_javascript { Link Here
32
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
32
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
33
    my $res = "
33
    my $res = "
34
<script>
34
<script>
35
function Clic$field_number(i) {
35
function Clic$field_number(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_116.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_116\",'width=1200,height=600,toolbar=false,scrollbars=yes');
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_116.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_116\",'width=1200,height=600,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_117.pl (-3 / +3 lines)
Lines 32-40 sub plugin_javascript { Link Here
32
my ($dbh,$record,$tagslib,$field_number) = @_;
32
my ($dbh,$record,$tagslib,$field_number) = @_;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$field_number(i) {
35
function Clic$field_number(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_117.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_117\",'width=600,height=225,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_117.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_117\",'width=600,height=225,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_120.pl (-3 / +3 lines)
Lines 34-42 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
34
my $function_name=$field_number;
34
my $function_name=$field_number;
35
my $res="
35
my $res="
36
<script>
36
<script>
37
function Clic$function_name(i) {
37
function Clic$function_name(event) {
38
	defaultvalue=document.getElementById(\"$field_number\").value;
38
	defaultvalue=document.getElementById(event.data.id).value;
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_120.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_120\",'width=1200,height=750,toolbar=false,scrollbars=yes');
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_120.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_120\",'width=1200,height=750,toolbar=false,scrollbars=yes');
40
40
41
}
41
}
42
</script>
42
</script>
(-)a/cataloguing/value_builder/unimarc_field_121a.pl (-3 / +3 lines)
Lines 33-41 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
33
my $function_name= $field_number;
33
my $function_name= $field_number;
34
my $res="
34
my $res="
35
<script>
35
<script>
36
function Clic$function_name(i) {
36
function Clic$function_name(event) {
37
	defaultvalue=document.getElementById(\"$field_number\").value;
37
	defaultvalue=document.getElementById(event.data.id).value;
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_121a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_121a\",'width=1210,height=750,toolbar=false,scrollbars=yes');
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_121a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_121a\",'width=1210,height=750,toolbar=false,scrollbars=yes');
39
39
40
}
40
}
41
</script>
41
</script>
(-)a/cataloguing/value_builder/unimarc_field_121b.pl (-3 / +3 lines)
Lines 31-39 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
31
my $function_name= $field_number;
31
my $function_name= $field_number;
32
my $res="
32
my $res="
33
<script>
33
<script>
34
function Clic$function_name(i) {
34
function Clic$function_name(event) {
35
	defaultvalue=document.getElementById(\"$field_number\").value;
35
	defaultvalue=document.getElementById(event.data.id).value;
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_121b.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_121b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_121b.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_121b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
37
38
}
38
}
39
</script>
39
</script>
(-)a/cataloguing/value_builder/unimarc_field_122.pl (-3 / +3 lines)
Lines 31-39 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
31
my $function_name= $field_number;
31
my $function_name= $field_number;
32
my $res="
32
my $res="
33
<script>
33
<script>
34
function Clic$function_name(i) {
34
function Clic$function_name(event) {
35
	defaultvalue=document.getElementById(\"$field_number\").value;
35
	defaultvalue=document.getElementById(event.data.id).value;
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_122.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_122\",'width=1000,height=375,toolbar=false,scrollbars=yes');
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_122.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_122\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
37
38
}
38
}
39
</script>
39
</script>
(-)a/cataloguing/value_builder/unimarc_field_123a.pl (-3 / +3 lines)
Lines 31-39 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
31
my $function_name= $field_number;
31
my $function_name= $field_number;
32
my $res="
32
my $res="
33
<script>
33
<script>
34
function Clic$function_name(i) {
34
function Clic$function_name(event) {
35
	defaultvalue=document.getElementById(\"$field_number\").value;
35
	defaultvalue=document.getElementById(event.data.id).value;
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
37
38
}
38
}
39
</script>
39
</script>
(-)a/cataloguing/value_builder/unimarc_field_123d.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_123e.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_123f.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_123g.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123g.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_123i.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123i.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123i\",'width=800,height=400,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123i.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123i\",'width=800,height=400,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_123j.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
    <script>
34
    <script>
35
        function Clic$function_name(i) {
35
        function Clic$function_name(event) {
36
        	defaultvalue=document.getElementById(\"$field_number\").value;
36
        	defaultvalue=document.getElementById(event.data.id).value;
37
        	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123j.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_123j\",'width=800,height=400,toolbar=false,scrollbars=yes');
37
        	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_123j.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_123j\",'width=800,height=400,toolbar=false,scrollbars=yes');
38
38
39
        }
39
        }
40
    </script>
40
    </script>
(-)a/cataloguing/value_builder/unimarc_field_124.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_100.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_100\",'width=500,height=400,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_100.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_100\",'width=500,height=400,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124a.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_124a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_124a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124b.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124b.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_124b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124b.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_124b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124c.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124c.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc_field_124c\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124c.pl&index=\"+event.data.id+\"&result=\"+defaultvalue,\"unimarc_field_124c\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124d.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124d.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc_field_124d\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124d.pl&index=\"+event.data.id+\"&result=\"+defaultvalue,\"unimarc_field_124d\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124e.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124e.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc_field_124e\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124e.pl&index=\"+event.data.id+\"&result=\"+defaultvalue,\"unimarc_field_124e\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124f.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124f.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_124f\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124f.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_124f\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_124g.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124g.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_124g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_124g.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_124g\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_125.pl (-3 / +3 lines)
Lines 38-46 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
38
my $function_name= $field_number;
38
my $function_name= $field_number;
39
my $res="
39
my $res="
40
<script>
40
<script>
41
function Clic$function_name(i) {
41
function Clic$function_name(event) {
42
	defaultvalue=document.getElementById(\"$field_number\").value;
42
	defaultvalue=document.getElementById(event.data.id).value;
43
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_100.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_100\",'width=500,height=400,toolbar=false,scrollbars=yes');
43
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_100.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_100\",'width=500,height=400,toolbar=false,scrollbars=yes');
44
44
45
}
45
}
46
</script>
46
</script>
(-)a/cataloguing/value_builder/unimarc_field_125a.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
    <script>
34
    <script>
35
    function Clic$function_name(i) {
35
    function Clic$function_name(event) {
36
    	defaultvalue=document.getElementById(\"$field_number\").value;
36
    	defaultvalue=document.getElementById(event.data.id).value;
37
    	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_125a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_125a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
    	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_125a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_125a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
    }
39
    }
40
    </script>
40
    </script>
(-)a/cataloguing/value_builder/unimarc_field_125b.pl (-3 / +3 lines)
Lines 33-41 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
33
my $function_name= $field_number;
33
my $function_name= $field_number;
34
my $res="
34
my $res="
35
<script>
35
<script>
36
function Clic$function_name(i) {
36
function Clic$function_name(event) {
37
	defaultvalue=document.getElementById(\"$field_number\").value;
37
	defaultvalue=document.getElementById(event.data.id).value;
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_125b.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_125b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_125b.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_125b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
39
39
40
}
40
}
41
</script>
41
</script>
(-)a/cataloguing/value_builder/unimarc_field_126.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_100.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_100\",'width=500,height=400,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_100.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_100\",'width=500,height=400,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_126a.pl (-3 / +3 lines)
Lines 33-41 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
33
my $function_name= $field_number;
33
my $function_name= $field_number;
34
my $res="
34
my $res="
35
<script>
35
<script>
36
function Clic$function_name(i) {
36
function Clic$function_name(event) {
37
	defaultvalue=document.getElementById(\"$field_number\").value;
37
	defaultvalue=document.getElementById(event.data.id).value;
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_126a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_126a\",'width=1000,height=575,toolbar=false,scrollbars=yes');
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_126a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_126a\",'width=1000,height=575,toolbar=false,scrollbars=yes');
39
39
40
}
40
}
41
</script>
41
</script>
(-)a/cataloguing/value_builder/unimarc_field_126b.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_126b.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_126b\",'width=1000,height=575,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_126b.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_126b\",'width=1000,height=575,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_127.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_127.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_127\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_127.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_127\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_128a.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_128a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_128a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_128a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_128a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_128b.pl (-3 / +4 lines)
Lines 33-41 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
33
my $function_name= $field_number;
33
my $function_name= $field_number;
34
my $res="
34
my $res="
35
<script>
35
<script>
36
function Clic$function_name(i) {
36
function Clic$function_name(event) {
37
	defaultvalue=document.getElementById(\"$field_number\").value;
37
    const id = event.data.id;
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_128b.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_128b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
	defaultvalue=document.getElementById(id).value;
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_128b.pl&index=\" + id + \"&result=\"+defaultvalue,\"unimarc_field_128b\",'width=1000,height=375,toolbar=false,scrollbars=yes');
39
40
40
}
41
}
41
</script>
42
</script>
(-)a/cataloguing/value_builder/unimarc_field_128c.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_128c.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_128c\",'width=1000,height=375,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_128c.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_128c\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_130.pl (-3 / +3 lines)
Lines 34-42 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
34
my $function_name= $field_number;
34
my $function_name= $field_number;
35
my $res="
35
my $res="
36
<script>
36
<script>
37
function Clic$function_name(i) {
37
function Clic$function_name(event) {
38
	defaultvalue=document.getElementById(\"$field_number\").value;
38
	defaultvalue=document.getElementById(event.data.id).value;
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_130.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_130\",'width=1000,height=375,toolbar=false,scrollbars=yes');
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_130.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_130\",'width=1000,height=375,toolbar=false,scrollbars=yes');
40
40
41
}
41
}
42
</script>
42
</script>
(-)a/cataloguing/value_builder/unimarc_field_135a.pl (-3 / +3 lines)
Lines 33-41 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
33
my $function_name= $field_number;
33
my $function_name= $field_number;
34
my $res="
34
my $res="
35
<script>
35
<script>
36
function Clic$function_name(i) {
36
function Clic$function_name(event) {
37
 	defaultvalue=document.getElementById(\"$field_number\").value;
37
 	defaultvalue=document.getElementById(event.data.id).value;
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_135a.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_135a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_135a.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_135a\",'width=1000,height=375,toolbar=false,scrollbars=yes');
39
39
40
}
40
}
41
</script>
41
</script>
(-)a/cataloguing/value_builder/unimarc_field_140.pl (-3 / +3 lines)
Lines 34-42 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
34
my $function_name= $field_number;
34
my $function_name= $field_number;
35
my $res="
35
my $res="
36
<script>
36
<script>
37
function Clic$function_name(i) {
37
function Clic$function_name(event) {
38
	defaultvalue=document.getElementById(\"$field_number\").value;
38
	defaultvalue=document.getElementById(event.data.id).value;
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_140.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_140\",'width=1000,height=575,toolbar=false,scrollbars=yes');
39
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_140.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_140\",'width=1000,height=575,toolbar=false,scrollbars=yes');
40
40
41
}
41
}
42
</script>
42
</script>
(-)a/cataloguing/value_builder/unimarc_field_141.pl (-3 / +3 lines)
Lines 32-40 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
32
my $function_name= $field_number;
32
my $function_name= $field_number;
33
my $res="
33
my $res="
34
<script>
34
<script>
35
function Clic$function_name(i) {
35
function Clic$function_name(event) {
36
	defaultvalue=document.getElementById(\"$field_number\").value;
36
	defaultvalue=document.getElementById(event.data.id).value;
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_141.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_141\",'width=1000,height=575,toolbar=false,scrollbars=yes');
37
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_141.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_141\",'width=1000,height=575,toolbar=false,scrollbars=yes');
38
38
39
}
39
}
40
</script>
40
</script>
(-)a/cataloguing/value_builder/unimarc_field_146a.pl (-1 lines)
Lines 29-35 my $builder = sub { Link Here
29
    return qq|
29
    return qq|
30
<script>
30
<script>
31
function Click$id(event) {
31
function Click$id(event) {
32
    event.preventDefault();
33
    const value = document.getElementById(event.data.id).value;
32
    const value = document.getElementById(event.data.id).value;
34
    const url = new URL('/cgi-bin/koha/cataloguing/plugin_launcher.pl', location);
33
    const url = new URL('/cgi-bin/koha/cataloguing/plugin_launcher.pl', location);
35
    url.searchParams.set('plugin_name', 'unimarc_field_146a.pl');
34
    url.searchParams.set('plugin_name', 'unimarc_field_146a.pl');
(-)a/cataloguing/value_builder/unimarc_field_146h.pl (-1 lines)
Lines 29-35 my $builder = sub { Link Here
29
    return qq|
29
    return qq|
30
<script>
30
<script>
31
function Click$id(event) {
31
function Click$id(event) {
32
    event.preventDefault();
33
    const value = document.getElementById(event.data.id).value;
32
    const value = document.getElementById(event.data.id).value;
34
    const url = new URL('/cgi-bin/koha/cataloguing/plugin_launcher.pl', location);
33
    const url = new URL('/cgi-bin/koha/cataloguing/plugin_launcher.pl', location);
35
    url.searchParams.set('plugin_name', 'unimarc_field_146h.pl');
34
    url.searchParams.set('plugin_name', 'unimarc_field_146h.pl');
(-)a/cataloguing/value_builder/unimarc_field_146i.pl (-1 lines)
Lines 29-35 my $builder = sub { Link Here
29
    return qq|
29
    return qq|
30
<script>
30
<script>
31
function Click$id(event) {
31
function Click$id(event) {
32
    event.preventDefault();
33
    const value = document.getElementById(event.data.id).value;
32
    const value = document.getElementById(event.data.id).value;
34
    const url = new URL('/cgi-bin/koha/cataloguing/plugin_launcher.pl', location);
33
    const url = new URL('/cgi-bin/koha/cataloguing/plugin_launcher.pl', location);
35
    url.searchParams.set('plugin_name', 'unimarc_field_146i.pl');
34
    url.searchParams.set('plugin_name', 'unimarc_field_146i.pl');
(-)a/cataloguing/value_builder/unimarc_field_210c.pl (-3 / +3 lines)
Lines 43-51 my $function_name= $field_number; Link Here
43
43
44
my $res  = "
44
my $res  = "
45
<script>
45
<script>
46
function Clic$function_name(subfield_managed) {
46
function Clic$function_name(event) {
47
    defaultvalue=escape(document.getElementById(\"$field_number\").value);
47
    defaultvalue=escape(document.getElementById(event.data.id).value);
48
    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_210c.pl&index=\"+subfield_managed,\"unimarc_225a\",'width=500,height=600,toolbar=false,scrollbars=yes');
48
    newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_210c.pl&index=\" + event.data.id, \"unimarc_225a\",'width=500,height=600,toolbar=false,scrollbars=yes');
49
}
49
}
50
</script>
50
</script>
51
";
51
";
(-)a/cataloguing/value_builder/unimarc_field_210c_bis.pl (-2 / +2 lines)
Lines 54-61 sub plugin_javascript { Link Here
54
    <script>
54
    <script>
55
    
55
    
56
    
56
    
57
        function Clic$function_name(index) {
57
        function Clic$function_name(event) {
58
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_210c_bis.pl&index=\"+index,\"unimarc210c\",'width=500,height=400,toolbar=false,scrollbars=no');
58
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_210c_bis.pl&index=\"+event.data.id,\"unimarc210c\",'width=500,height=400,toolbar=false,scrollbars=no');
59
        }
59
        }
60
    </script>
60
    </script>
61
";
61
";
(-)a/cataloguing/value_builder/unimarc_field_225a.pl (-3 / +3 lines)
Lines 62-68 sub plugin_javascript { Link Here
62
    <script>
62
    <script>
63
    
63
    
64
    
64
    
65
        function Clic$function_name(index) {
65
        function Clic$function_name(event) {
66
        /* find the 010a value and the 210c. it will be used in the popup to find possibles collections */
66
        /* find the 010a value and the 210c. it will be used in the popup to find possibles collections */
67
            var isbn_found   = 0;
67
            var isbn_found   = 0;
68
            var editor_found = 0;
68
            var editor_found = 0;
Lines 81-88 sub plugin_javascript { Link Here
81
                }
81
                }
82
            }
82
            }
83
                    
83
                    
84
            defaultvalue = document.getElementById(\"$field_number\").value;
84
            defaultvalue = document.getElementById(event.data.id).value;
85
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_225a.pl&index=\"+index+\"&result=\"+defaultvalue+\"&editor_found=\"+editor_found,\"unimarc225a\",'width=500,height=400,toolbar=false,scrollbars=no');
85
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_225a.pl&index=\"+event.data.id+\"&result=\"+defaultvalue+\"&editor_found=\"+editor_found,\"unimarc225a\",'width=500,height=400,toolbar=false,scrollbars=no');
86
    
86
    
87
        }
87
        }
88
    </script>
88
    </script>
(-)a/cataloguing/value_builder/unimarc_field_225a_bis.pl (-2 / +2 lines)
Lines 35-42 sub plugin_javascript { Link Here
35
    my $function_name = $field_number;
35
    my $function_name = $field_number;
36
    my $res           = "
36
    my $res           = "
37
    <script>
37
    <script>
38
        function Clic$function_name(index) {
38
        function Clic$function_name(event) {
39
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_225a_bis.pl&index=\"+index,\"unimarc225a\",'width=500,height=400,toolbar=false,scrollbars=no');
39
            window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_225a_bis.pl&index=\"+event.data.id,\"unimarc225a\",'width=500,height=400,toolbar=false,scrollbars=no');
40
        }
40
        }
41
    </script>
41
    </script>
42
";
42
";
(-)a/cataloguing/value_builder/unimarc_field_4XX.pl (-3 / +3 lines)
Lines 45-53 sub plugin_javascript { Link Here
45
    my $function_name = $field_number;
45
    my $function_name = $field_number;
46
    my $res           = "
46
    my $res           = "
47
    <script>
47
    <script>
48
        function Clic$function_name(i) {
48
        function Clic$function_name(event) {
49
            defaultvalue=document.getElementById(\"$field_number\").value;
49
            defaultvalue=document.getElementById(event.data.id).value;
50
            window.open(\"/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_4XX.pl&index=\" + i + \"&result=\"+defaultvalue,\"unimarc_field_4\"+i+\"\",'width=900,height=700,toolbar=false,scrollbars=yes');
50
            window.open(\"/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_4XX.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_4\"+event.data.id+\"\",'width=900,height=700,toolbar=false,scrollbars=yes');
51
51
52
        }
52
        }
53
    </script>
53
    </script>
(-)a/cataloguing/value_builder/unimarc_field_686a.pl (-3 / +3 lines)
Lines 31-39 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
31
my $function_name= $field_number;
31
my $function_name= $field_number;
32
my $res  = "
32
my $res  = "
33
<script>
33
<script>
34
function Clic$function_name(subfield_managed) {
34
function Clic$function_name(event) {
35
	defaultvalue=document.getElementById(\"$field_number\").value;
35
	defaultvalue=document.getElementById(event.data.id).value;
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_686a.pl&result=\"+defaultvalue+\"&index=$field_number\",\"value_builder\",'width=700,height=600,toolbar=false,scrollbars=yes');
36
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_686a.pl&result=\"+defaultvalue+\"&index=\" + event.data.id, \"value_builder\",'width=700,height=600,toolbar=false,scrollbars=yes');
37
37
38
}
38
}
39
</script>
39
</script>
(-)a/cataloguing/value_builder/unimarc_field_700-4.pl (-3 / +3 lines)
Lines 33-41 my ($dbh,$record,$tagslib,$field_number) = @_; Link Here
33
my $function_name= $field_number;
33
my $function_name= $field_number;
34
my $res  = "
34
my $res  = "
35
<script>
35
<script>
36
function Clic$function_name(subfield_managed) {
36
function Clic$function_name(event) {
37
	defaultvalue=document.getElementById(\"$field_number\").value;
37
	defaultvalue=document.getElementById(event.data.id).value;
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_700-4.pl&result=\"+defaultvalue+\"&index=$field_number\",\"value_builder\",'width=500,height=400,toolbar=false,scrollbars=yes');
38
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_700-4.pl&result=\"+defaultvalue+\"&index=\" + event.data.id, \"value_builder\",'width=500,height=400,toolbar=false,scrollbars=yes');
39
39
40
}
40
}
41
</script>
41
</script>
(-)a/cataloguing/value_builder/unimarc_leader.pl (-6 / +5 lines)
Lines 33-49 sub plugin_javascript { Link Here
33
    my $function_name = $field_number;
33
    my $function_name = $field_number;
34
    my $res           = "
34
    my $res           = "
35
<script>
35
<script>
36
function Blur$function_name(subfield_managed) {
36
function Blur$function_name(event) {
37
	var leader_length = document.getElementById(\"$field_number\").value.length;
37
	var leader_length = document.getElementById(event.data.id).value.length;
38
    if (leader_length != 24 && leader_length !=0) {
38
    if (leader_length != 24 && leader_length !=0) {
39
        alert(_('leader has an incorrect size: ' + leader_length + ' instead of 24 chars'));
39
        alert(_('leader has an incorrect size: ' + leader_length + ' instead of 24 chars'));
40
    }
40
    }
41
    return 1;
42
}
41
}
43
42
44
function Clic$function_name(i) {
43
function Clic$function_name(event) {
45
	defaultvalue=document.getElementById(\"$field_number\").value;
44
	defaultvalue=document.getElementById(event.data.id).value;
46
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_leader.pl&index=$field_number&result=\"+defaultvalue,\"unimarc_field_100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
45
	newin=window.open(\"../cataloguing/plugin_launcher.pl?plugin_name=unimarc_leader.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_100\",'width=1000,height=600,toolbar=false,scrollbars=yes');
47
46
48
}
47
}
49
</script>
48
</script>
(-)a/cataloguing/value_builder/unimarc_leader_authorities.pl (-4 / +4 lines)
Lines 30-44 sub plugin_javascript { Link Here
30
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
30
    my ( $dbh, $record, $tagslib, $field_number ) = @_;
31
    my $res           = "
31
    my $res           = "
32
        <script type='text/javascript'>
32
        <script type='text/javascript'>
33
            function Clic$field_number(i) {
33
            function Clic$field_number(event) {
34
                var defaultvalue;
34
                var defaultvalue;
35
                try {
35
                try {
36
                    defaultvalue = document.getElementById(i).value;
36
                    defaultvalue = document.getElementById(event.data.id).value;
37
                } catch(e) {
37
                } catch(e) {
38
                    alert('error when getting '+i);
38
                    alert('error when getting '+event.data.id);
39
                    return;
39
                    return;
40
                }
40
                }
41
                window.open(\"/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_leader_authorities.pl&index=\"+i+\"&result=\"+defaultvalue,\"unimarc_field_000\",'width=1000,height=600,toolbar=false,scrollbars=yes');
41
                window.open(\"/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_leader_authorities.pl&index=\" + event.data.id + \"&result=\"+defaultvalue,\"unimarc_field_000\",'width=1000,height=600,toolbar=false,scrollbars=yes');
42
            }
42
            }
43
        </script>
43
        </script>
44
";
44
";
(-)a/cataloguing/value_builder/upload.pl (-1 lines)
Lines 35-41 my $builder = sub { Link Here
35
    return <<"SCRIPT";
35
    return <<"SCRIPT";
36
<script>
36
<script>
37
        function Click$params->{id}(event) {
37
        function Click$params->{id}(event) {
38
            event.preventDefault();
39
            var index = event.data.id;
38
            var index = event.data.id;
40
            var str = document.getElementById(index).value;
39
            var str = document.getElementById(index).value;
41
            var myurl, term;
40
            var myurl, term;
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/html_helpers.inc (-3 / +3 lines)
Lines 133-143 Link Here
133
                        [% IF mv.readonly %]
133
                        [% IF mv.readonly %]
134
                            <input type="text" id="[%- mv.id | html -%]" name="[% kohafield | html %]" class="input_marceditor" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" readonly="readonly" />
134
                            <input type="text" id="[%- mv.id | html -%]" name="[% kohafield | html %]" class="input_marceditor" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" readonly="readonly" />
135
                        [% ELSE %]
135
                        [% ELSE %]
136
                            <input type="text" id="[%- mv.id | html -%]" name="[% kohafield | html %]" class="input_marceditor" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
136
                            <input type="text" id="[%- mv.id | html -%]" name="[% kohafield | html %]" class="input_marceditor framework_plugin" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" data-plugin="[% mv.plugin | html %]" />
137
                            [% IF ( mv.nopopup ) %]
137
                            [% IF ( mv.nopopup ) %]
138
                                <a href="#" id="buttonDot_[%- mv.id | html -%]" class="[%- mv.class | html -%]" title="No popup">...</a>
138
                                <a href="#" id="buttonDot_[%- mv.id | html -%]" class="[%- mv.class | html -%]" title="No popup" data-plugin="[% mv.plugin | html %]">...</a>
139
                            [% ELSE  %]
139
                            [% ELSE  %]
140
                                <a href="#" id="buttonDot_[%- mv.id | html -%]" class="[%- mv.class | html -%]" title="Tag editor">...</a>
140
                                <a href="#" id="buttonDot_[%- mv.id | html -%]" class="[%- mv.class | html -%]" title="Tag editor" data-plugin="[% mv.plugin | html %]">...</a>
141
                            [% END %]
141
                            [% END %]
142
                            [% UNLESS no_plugin %][%# FIXME - from batchMod-edit, jQuery is included at the end of the template and cataloguing plugins are not working in this situation %]
142
                            [% UNLESS no_plugin %][%# FIXME - from batchMod-edit, jQuery is included at the end of the template and cataloguing plugins are not working in this situation %]
143
                                [%- mv.javascript | $raw -%]
143
                                [%- mv.javascript | $raw -%]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (-1 / +1 lines)
Lines 319-325 Link Here
319
              <div class="dialog message">The autoBarcode system preference is set to [% Koha.Preference('autoBarcode') | html %] and items with blank barcodes will have barcodes generated upon save to database</div>
319
              <div class="dialog message">The autoBarcode system preference is set to [% Koha.Preference('autoBarcode') | html %] and items with blank barcodes will have barcodes generated upon save to database</div>
320
          [% END %]
320
          [% END %]
321
321
322
          <div id="outeritemblock"></div>
322
          <div id="outeritemblock" class="marc_editor"></div>
323
323
324
      </fieldset>
324
      </fieldset>
325
      [% END %][%# | html UNLESS subscriptionid %]
325
      [% END %][%# | html UNLESS subscriptionid %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt (-1 / +1 lines)
Lines 214-220 Link Here
214
                      used
214
                      used
215
                  </p>
215
                  </p>
216
              [% END %]
216
              [% END %]
217
              <div id="outeritemblock"></div>
217
              <div id="outeritemblock" class="marc_editor"></div>
218
          </fieldset>
218
          </fieldset>
219
        [% END %]
219
        [% END %]
220
    [% ELSIF (AcqCreateItem == 'ordering') %]
220
    [% ELSIF (AcqCreateItem == 'ordering') %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt (-2 / +2 lines)
Lines 363-369 Link Here
363
                                This authority is not used in any records.
363
                                This authority is not used in any records.
364
                        [% END %]
364
                        [% END %]
365
                    </div>
365
                    </div>
366
                    <div id="authoritytabs" class="toptabs numbered">
366
                    <div id="authoritytabs" class="toptabs numbered marc_editor">
367
                        <ul>
367
                        <ul>
368
                            [% FOREACH BIG_LOO IN BIG_LOOP %]
368
                            [% FOREACH BIG_LOO IN BIG_LOOP %]
369
                                <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
369
                                <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
Lines 556-562 Link Here
556
                                                                [% IF mv.noclick %]
556
                                                                [% IF mv.noclick %]
557
                                                                    <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup">...</a>
557
                                                                    <a href="#" class="buttonDot tag_editor disabled" tabindex="-1" title="No popup">...</a>
558
                                                                [% ELSE %]
558
                                                                [% ELSE %]
559
                                                                    <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor" title="Tag editor">...</a>
559
                                                                    <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor" title="Tag editor" data-plugin="[% mv.plugin | html %]">...</a>
560
                                                                [% END %]
560
                                                                [% END %]
561
                                                                [% mv.javascript | $raw %]
561
                                                                [% mv.javascript | $raw %]
562
                                                            [% END #/IF ( mv.type == 'text1' ) %]
562
                                                            [% END #/IF ( mv.type == 'text1' ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt (-4 / +4 lines)
Lines 994-1000 function PopupMARCFieldDoc(field) { Link Here
994
                <input type="hidden" name="breedingid" value="[% breedingid | html %]" />
994
                <input type="hidden" name="breedingid" value="[% breedingid | html %]" />
995
                <input type="hidden" name="changed_framework" value="" />
995
                <input type="hidden" name="changed_framework" value="" />
996
996
997
                <div id="addbibliotabs" class="toptabs numbered">
997
                <div id="addbibliotabs" class="toptabs numbered marc_editor">
998
                    <ul>
998
                    <ul>
999
                        [% FOREACH BIG_LOO IN BIG_LOOP %]
999
                        [% FOREACH BIG_LOO IN BIG_LOOP %]
1000
                            <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
1000
                            <li><a href="#tab[% BIG_LOO.number | uri %]XX">[% BIG_LOO.number | html %]</a></li>
Lines 1127-1133 function PopupMARCFieldDoc(field) { Link Here
1127
                                                        [% END %]
1127
                                                        [% END %]
1128
1128
1129
                                                    [% ELSIF ( mv.type == 'text_complex' ) %]
1129
                                                    [% ELSIF ( mv.type == 'text_complex' ) %]
1130
                                                        <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor framework_plugin" tabindex="1" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" />
1130
                                                        <input type="text" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" value="[%- mv.value | html -%]" class="input_marceditor framework_plugin" tabindex="1" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" data-plugin="[% mv.plugin | html %]" />
1131
                                                        [% mv.javascript | $raw %]
1131
                                                        [% mv.javascript | $raw %]
1132
                                                    [% ELSIF ( mv.type == 'hidden' ) %]
1132
                                                    [% ELSIF ( mv.type == 'hidden' ) %]
1133
                                                        <input tabindex="1" type="hidden" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
1133
                                                        <input tabindex="1" type="hidden" id="[%- mv.id | html -%]" name="[%- mv.name | html -%]" size="[%- mv.size | html -%]" maxlength="[%- mv.maxlength | html -%]" value="[%- mv.value | html -%]" />
Lines 1168-1176 function PopupMARCFieldDoc(field) { Link Here
1168
                                                                <span class="buttonDot tag_editor disabled" tabindex="-1" title="Field autofilled by plugin"></span>
1168
                                                                <span class="buttonDot tag_editor disabled" tabindex="-1" title="Field autofilled by plugin"></span>
1169
                                                            [% ELSE %]
1169
                                                            [% ELSE %]
1170
                                                                [% IF mv.plugin == "upload.pl" %]
1170
                                                                [% IF mv.plugin == "upload.pl" %]
1171
                                                                    <a href="#" id="buttonDot_[% mv.id | html %]" class="tag_editor upload framework_plugin" tabindex="1"><i class="fa fa-upload" aria-hidden="true"></i> Upload</a>
1171
                                                                    <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor upload framework_plugin" tabindex="1" data-plugin="[% mv.plugin | html %]"><i class="fa fa-upload" aria-hidden="true"></i> Upload</a>
1172
                                                                [% ELSE %]
1172
                                                                [% ELSE %]
1173
                                                                    <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor">Tag editor</a>
1173
                                                                    <a href="#" id="buttonDot_[% mv.id | html %]" class="buttonDot tag_editor framework_plugin" tabindex="1" title="Tag editor" data-plugin="[% mv.plugin | html %]">Tag editor</a>
1174
                                                                [% END %]
1174
                                                                [% END %]
1175
                                                            [% END %]
1175
                                                            [% END %]
1176
                                                        </span>
1176
                                                        </span>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt (-1 / +1 lines)
Lines 140-146 Link Here
140
    </div>
140
    </div>
141
    <div class="col-sm-10">
141
    <div class="col-sm-10">
142
142
143
<div id="cataloguing_additem_newitem">
143
<div id="cataloguing_additem_newitem" class="marc_editor">
144
    <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblio.biblionumber | html %]" name="f">
144
    <form id="f" method="post" action="/cgi-bin/koha/cataloguing/additem.pl?biblionumber=[% biblio.biblionumber | html %]" name="f">
145
    <input type="hidden" name="op" value="[% op | html %]" />
145
    <input type="hidden" name="op" value="[% op | html %]" />
146
    [% IF (popup) %]
146
    [% IF (popup) %]
(-)a/koha-tmpl/intranet-tmpl/prog/js/additem.js (-14 lines)
Lines 213-236 function cloneItemBlock(index, unique_item_fields, callback) { Link Here
213
                var cloneIndex = "itemblock"+random;
213
                var cloneIndex = "itemblock"+random;
214
                callback(cloneIndex);
214
                callback(cloneIndex);
215
            }
215
            }
216
            BindPluginEvents(data);
217
        }
216
        }
218
    });
217
    });
219
}
218
}
220
219
221
function BindPluginEvents(data) {
222
// the script tag in data for plugins contains a document ready that binds
223
// the events for the plugin
224
// when we append, this code does not get executed anymore; so we do it here
225
    var events= data.match(/BindEventstag_\d+_subfield_._\d+/g);
226
    if ( events == null ) return;
227
    for(var i=0; i<events.length; i++) {
228
        window[events[i]]();
229
        if( i<events.length-1 && events[i]==events[i+1] ) { i++; }
230
        // normally we find the function name twice
231
    }
232
}
233
234
function clearItemBlock(node) {
220
function clearItemBlock(node) {
235
    var index = $(node).closest("div").attr('id');
221
    var index = $(node).closest("div").attr('id');
236
    var block = $("#"+index);
222
    var block = $("#"+index);
(-)a/koha-tmpl/intranet-tmpl/prog/js/cataloging.js (-56 / +42 lines)
Lines 1-5 Link Here
1
/* global __ */
1
/* global __ */
2
/* exported openAuth ExpandField CloneField CloneSubfield UnCloneField CloneItemSubfield CheckMandatorySubfields */
2
/* exported openAuth ExpandField CloneField CloneSubfield UnCloneField CloneItemSubfield CheckMandatorySubfields registerFrameworkPluginHandler */
3
3
4
/*
4
/*
5
 * Unified file for catalogue edition
5
 * Unified file for catalogue edition
Lines 182-189 function CloneField(index, hideMarc, advancedMARCEditor) { Link Here
182
182
183
            var inputs   = divs[i].getElementsByTagName('input');
183
            var inputs   = divs[i].getElementsByTagName('input');
184
            var id_input = "";
184
            var id_input = "";
185
            var olddiv;
186
            var oldcontrol;
187
185
188
            for( j = 0 ; j < inputs.length ; j++ ) {
186
            for( j = 0 ; j < inputs.length ; j++ ) {
189
                if(inputs[j].getAttribute("id") && inputs[j].getAttribute("id").match(/^tag_/) ){
187
                if(inputs[j].getAttribute("id") && inputs[j].getAttribute("id").match(/^tag_/) ){
Lines 224-234 function CloneField(index, hideMarc, advancedMARCEditor) { Link Here
224
                        }
222
                        }
225
                    }
223
                    }
226
                }
224
                }
227
                if( $(inputs[1]).hasClass('framework_plugin') ) {
228
                    olddiv= original.getElementsByTagName('li')[i];
229
                    oldcontrol= olddiv.getElementsByTagName('input')[1];
230
                    AddEventHandlers( oldcontrol,inputs[1],id_input );
231
                }
232
            }
225
            }
233
            // when cloning a subfield, re set its label too.
226
            // when cloning a subfield, re set its label too.
234
            try {
227
            try {
Lines 266-287 function CloneField(index, hideMarc, advancedMARCEditor) { Link Here
266
                if(!CloneButtonPlus){ // it s impossible to have  + ... (buttonDot AND buttonPlus)
259
                if(!CloneButtonPlus){ // it s impossible to have  + ... (buttonDot AND buttonPlus)
267
                    buttonDot = spans[0];
260
                    buttonDot = spans[0];
268
                    if(buttonDot){
261
                    if(buttonDot){
269
                        // 2 possibilities :
262
                        try {
270
                        try{
263
                            // do not copy the script section.
271
                            if( $(buttonDot).hasClass('framework_plugin') ) {
264
                            var script = spans[0].getElementsByTagName('script')[0];
272
                                olddiv= original.getElementsByTagName('li')[i];
265
                            spans[0].removeChild(script);
273
                                oldcontrol= olddiv.getElementsByTagName('a')[0];
266
                        } catch(e) {
274
                                AddEventHandlers(oldcontrol,buttonDot,id_input);
267
                            // do nothing if there is no script
275
                            }
276
                            try {
277
                                // do not copy the script section.
278
                                var script = spans[0].getElementsByTagName('script')[0];
279
                                spans[0].removeChild(script);
280
                            } catch(e) {
281
                                // do nothing if there is no script
282
                            }
283
                        } catch(e){
284
                            //
285
                        }
268
                        }
286
                    }
269
                    }
287
                }
270
                }
Lines 343-349 function CloneSubfield(index, advancedMARCEditor){ Link Here
343
    var selects    = clone.getElementsByTagName('select');
326
    var selects    = clone.getElementsByTagName('select');
344
    var textareas  = clone.getElementsByTagName('textarea');
327
    var textareas  = clone.getElementsByTagName('textarea');
345
    var linkid;
328
    var linkid;
346
    var oldcontrol;
347
329
348
    // input
330
    // input
349
    var id_input = "";
331
    var id_input = "";
Lines 357-368 function CloneSubfield(index, advancedMARCEditor){ Link Here
357
        linkid = id_input;
339
        linkid = id_input;
358
    }
340
    }
359
341
360
    // Plugin input
361
    if( $(inputs[1]).hasClass('framework_plugin') ) {
362
        oldcontrol= original.getElementsByTagName('input')[1];
363
        AddEventHandlers( oldcontrol, inputs[1], linkid );
364
    }
365
366
    // select
342
    // select
367
    for(i=0,len=selects.length; i<len ; i++ ){
343
    for(i=0,len=selects.length; i<len ; i++ ){
368
        id_input = selects[i].getAttribute('id')+new_key;
344
        id_input = selects[i].getAttribute('id')+new_key;
Lines 382-394 function CloneSubfield(index, advancedMARCEditor){ Link Here
382
        linkid = id_input;
358
        linkid = id_input;
383
    }
359
    }
384
360
385
    // Handle click event on buttonDot for plugin
386
    var links  = clone.getElementsByTagName('a');
387
    if( $(links[0]).hasClass('framework_plugin') ) {
388
        oldcontrol= original.getElementsByTagName('a')[0];
389
        AddEventHandlers( oldcontrol, links[0], linkid );
390
    }
391
392
    if(advancedMARCEditor == '0') {
361
    if(advancedMARCEditor == '0') {
393
        // when cloning a subfield, reset its label too.
362
        // when cloning a subfield, reset its label too.
394
        var label = clone.getElementsByTagName('label')[0];
363
        var label = clone.getElementsByTagName('label')[0];
Lines 427-449 function CloneSubfield(index, advancedMARCEditor){ Link Here
427
    clone.querySelectorAll('input.input_marceditor').value = "";
396
    clone.querySelectorAll('input.input_marceditor').value = "";
428
}
397
}
429
398
430
function AddEventHandlers (oldcontrol, newcontrol, newinputid ) {
431
// This function is a helper for CloneField and CloneSubfield.
432
// It adds the event handlers from oldcontrol to newcontrol.
433
// newinputid is the id attribute of the cloned controlling input field
434
// Note: This code depends on the jQuery data for events; this structure
435
// is moved to _data as of jQuery 1.8.
436
    var ev= $(oldcontrol).data('events');
437
    if(typeof ev != 'undefined') {
438
        $.each(ev, function(prop,val) {
439
            $.each(val, function(prop2,val2) {
440
                $(newcontrol).off( val2.type );
441
                $(newcontrol).on( val2.type, {id: newinputid}, val2.handler );
442
            });
443
        });
444
    }
445
}
446
447
/**
399
/**
448
 * This function removes or clears unwanted subfields
400
 * This function removes or clears unwanted subfields
449
 */
401
 */
Lines 639-641 $(document).ready(function() { Link Here
639
    });
591
    });
640
592
641
});
593
});
642
- 
594
595
Koha.frameworkPlugins ||= {};
596
function registerFrameworkPluginHandler(name, eventType, handler) {
597
    // 'focus' and 'blur' events do not bubble,
598
    // so we have to use 'focusin' and 'focusout' instead
599
    if (eventType === 'focus') eventType = 'focusin';
600
    else if (eventType === 'blur') eventType = 'focusout';
601
602
    Koha.frameworkPlugins[name] ||= {};
603
    Koha.frameworkPlugins[name][eventType] ||= handler;
604
}
605
$(document).ready(function() {
606
    function callPluginEventHandler (event) {
607
        event.preventDefault();
608
        event.stopPropagation();
609
610
        const plugin = event.target.getAttribute('data-plugin');
611
        if (plugin && plugin in Koha.frameworkPlugins && event.type in Koha.frameworkPlugins[plugin]) {
612
            event.data = {};
613
            if (event.target.classList.contains('buttonDot')) {
614
                event.data.id = event.target.closest('.subfield_line').querySelector('input.input_marceditor').id;
615
            } else {
616
                event.data.id = event.target.id;
617
            }
618
619
            Koha.frameworkPlugins[plugin][event.type].call(this, event);
620
        }
621
    }
622
623
    // We use delegated event handlers here so that dynamically added elements
624
    // (like when cloning a field or a subfield) respond to these events
625
    // without having to re-attach events manually
626
    $('.marc_editor').on('click', '.buttonDot', callPluginEventHandler)
627
    $('.marc_editor').on('focusin focusout', 'input.input_marceditor.framework_plugin', callPluginEventHandler);
628
});

Return to bug 30975