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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/localization.tt (-21 / +23 lines)
Lines 149-155 Link Here
149
            var message;
149
            var message;
150
            if ( type == 'success_on_update' ) {
150
            if ( type == 'success_on_update' ) {
151
                message = $('<div class="alert alert-info"></div>');
151
                message = $('<div class="alert alert-info"></div>');
152
                message.text(_("Entity %s (code %s) for lang %s has correctly been updated with '%s'").format(data.entity, data.code, data.lang, data.translation));
152
                message.text(_("Entity %s (code %s) for lang %s has been updated with '%s'").format(data.entity, data.code, data.lang, data.translation));
153
            } else if ( type == 'error_on_update' ) {
153
            } else if ( type == 'error_on_update' ) {
154
                message = $('<div class="alert alert-warning"></div>');
154
                message = $('<div class="alert alert-warning"></div>');
155
                if ( data.error_code == 'already_exists' ) {
155
                if ( data.error_code == 'already_exists' ) {
Lines 252-283 Link Here
252
                [% END %]
252
                [% END %]
253
            [% END %]
253
            [% END %]
254
254
255
            $("td.translation").on('focus', function(){
255
            $("body").on('focus', "td.translation", function(){
256
                $(this).css('background-color', '');
256
                $(this).css('background-color', '');
257
            });
257
            });
258
            $("td.lang").on('click', function(){
258
            $("body").on('click', "td.lang", function(){
259
                var td = this;
259
                var td = $(this);
260
                var lang = $(td).text();
260
                var tr = td.parent();
261
                $(td).css('background-color', '');
261
                var id = tr.data('id');
262
                var my_select = $(languages_select).clone();
262
                var lang = td.text();
263
                $(my_select).find('option[value="' + lang + '"]').attr('selected', 'selected');
263
                td.css('background-color', '');
264
                $(my_select).on('click', function(e){
264
                var my_select = languages_select.clone();
265
                my_select.find('option[value="' + lang + '"]').attr('selected', 'selected');
266
                my_select.on('click', function(e){
265
                    e.stopPropagation();
267
                    e.stopPropagation();
266
                });
268
                });
267
                $(my_select).on('change', function(){
269
                var lang;
268
                    var tr = $(this).parent().parent();
270
                my_select.on('change', function(){
269
                    var id = $(tr).data('id');
271
                    lang = td.find('option:selected').val();
270
                    var lang = $(this).find('option:selected').val();
272
                    var translation = tr.find("td.translation").text();
271
                    var translation = $(this).text();
273
                    send_update_request( {id, lang, translation}, td[0] );
272
                    send_update_request( {id, lang, translation}, td );
273
                });
274
                });
274
                $(my_select).on('blur', function(){
275
                my_select.on('blur', function(){
275
                    $(td).html(lang);
276
                    td.html(lang);
276
                });
277
                });
277
                $(this).html(my_select);
278
                td.html(my_select);
278
            });
279
            });
279
280
280
            $("td.translation").on('blur', function(){
281
            $("body").on('blur', "td.translation", function(){
281
                var tr = $(this).parent();
282
                var tr = $(this).parent();
282
                var id = $(tr).data('id');
283
                var id = $(tr).data('id');
283
                var lang = $(tr).find('td.lang').text();
284
                var lang = $(tr).find('td.lang').text();
Lines 311-316 Link Here
311
                        } else {
312
                        } else {
312
                            var new_row = table_dt.row.add( [ success.id, success.entity, success.code, success.lang, success.translation, "<a href=\"#\" class=\"btn btn-default btn-xs delete\"><i class=\"fa fa-trash-can\"></i> Delete</a>" ] ).draw().node();
313
                            var new_row = table_dt.row.add( [ success.id, success.entity, success.code, success.lang, success.translation, "<a href=\"#\" class=\"btn btn-default btn-xs delete\"><i class=\"fa fa-trash-can\"></i> Delete</a>" ] ).draw().node();
313
                            $( new_row ).attr("id", "row_id_" + success.id ).data("id", success.id );
314
                            $( new_row ).attr("id", "row_id_" + success.id ).data("id", success.id );
315
                            /* Is there a better way to target contenteditable cells than by index? */
316
                            $( new_row.children[3] ).prop("contenteditable", true).addClass("lang")
317
                            $( new_row.children[4] ).prop("contenteditable", true).addClass("translation")
314
                            show_message({ type: 'success_on_insert', data: success });
318
                            show_message({ type: 'success_on_insert', data: success });
315
                        }
319
                        }
316
                    },
320
                    },
Lines 320-326 Link Here
320
                    }
324
                    }
321
                );
325
                );
322
            });
326
            });
323
324
         });
327
         });
325
    </script>
328
    </script>
326
[% END %]
329
[% END %]
327
- 

Return to bug 40453