diff --git a/app/assets/javascripts/spree/backend/taxon_tree_menu.js b/app/assets/javascripts/spree/backend/taxon_tree_menu.js new file mode 100644 index 00000000..feca53de --- /dev/null +++ b/app/assets/javascripts/spree/backend/taxon_tree_menu.js @@ -0,0 +1,53 @@ +(function() { + var root; + + root = typeof exports !== "undefined" && exports !== null ? exports : this; + + root.taxon_tree_menu = function(obj, context) { + var admin_base_url, edit_url, id, translation_base_path, translation_url; + id = obj.attr("id"); + admin_base_url = Spree.url(Spree.routes.admin_taxonomy_taxons_path); + edit_url = admin_base_url.clone(); + edit_url.setPath(edit_url.path() + '/' + id + "/edit"); + translation_url = admin_base_url.clone(); + translation_base_path = admin_base_url.path().replace(/taxons/, "translations"); + translation_base_path = translation_base_path.replace(/taxonomies/, "taxons"); + translation_base_path = translation_base_path.replace(/\d+/, id); + translation_url.setPath(translation_base_path); + return { + create: { + label: " " + Spree.translations.add, + action: function(obj) { + return context.create(obj); + } + }, + rename: { + label: " " + Spree.translations.rename, + action: function(obj) { + return context.rename(obj); + } + }, + remove: { + label: " " + Spree.translations.remove, + action: function(obj) { + return context.remove(obj); + } + }, + edit: { + separator_before: true, + label: " " + Spree.translations.edit, + action: function(obj) { + return window.location = edit_url.toString(); + } + }, + translate: { + separator_before: true, + label: " " + Spree.translations.translations, + action: function(obj) { + return window.location = translation_url.toString(); + } + } + }; + }; + +}).call(this); diff --git a/app/assets/javascripts/spree/backend/taxon_tree_menu.js.coffee b/app/assets/javascripts/spree/backend/taxon_tree_menu.js.coffee deleted file mode 100644 index 3a64992f..00000000 --- a/app/assets/javascripts/spree/backend/taxon_tree_menu.js.coffee +++ /dev/null @@ -1,35 +0,0 @@ -root = exports ? this - -root.taxon_tree_menu = (obj, context) -> - - id = obj.attr("id") - - admin_base_url = Spree.url(Spree.routes.admin_taxonomy_taxons_path) - - edit_url = admin_base_url.clone() - edit_url.setPath(edit_url.path() + '/' + id + "/edit"); - - translation_url = admin_base_url.clone() - - translation_base_path = admin_base_url.path().replace(/taxons/, "translations") - translation_base_path = translation_base_path.replace(/taxonomies/, "taxons") - translation_base_path = translation_base_path.replace(/\d+/, id) - translation_url.setPath(translation_base_path); - - create: - label: " " + Spree.translations.add, - action: (obj) -> context.create(obj) - rename: - label: " " + Spree.translations.rename, - action: (obj) -> context.rename(obj) - remove: - label: " " + Spree.translations.remove, - action: (obj) -> context.remove(obj) - edit: - separator_before: true, - label: " " + Spree.translations.edit, - action: (obj) -> window.location = edit_url.toString() - translate: - separator_before: true, - label: " " + Spree.translations.translations, - action: (obj) -> window.location = translation_url.toString() diff --git a/app/assets/javascripts/spree/backend/translations.js b/app/assets/javascripts/spree/backend/translations.js new file mode 100644 index 00000000..5560d123 --- /dev/null +++ b/app/assets/javascripts/spree/backend/translations.js @@ -0,0 +1,51 @@ +(function() { + var display_locale_fields; + + display_locale_fields = function() { + var attr, locale, locales, show, _fn, _i, _len; + attr = $('#attr_list a.active').data('attr'); + locales = $('#locale').val(); + show = $("select[name='show-only']").val(); + $('#attr_fields .panel').hide(); + _fn = function(locale) { + var display, value; + value = $('#attr_fields .panel.' + attr + '.' + locale + ' :input').val().replace(/^\s+|\s+$/g, ""); + if (show === 'incomplete') { + display = value === ''; + } else if (show === 'complete') { + display = value !== ''; + } else { + display = true; + } + if (display) { + return $('#attr_fields .panel.' + attr + '.' + locale).show(); + } + }; + for (_i = 0, _len = locales.length; _i < _len; _i++) { + locale = locales[_i]; + _fn(locale); + } + if ($('#attr_fields .panel:visible').length === 0 && show !== 'all') { + return $('#attr_fields .no-translations').show(); + } + }; + + $(function() { + $('#attr_list a').click(function() { + $('#attr_list a').removeClass('active'); + $(this).addClass('active'); + display_locale_fields(); + return false; + }); + $('#locale, #supported_locales_').select2({ + placeholder: Spree.translations['please_choose_language'] + }); + $('#locale').change(function() { + return display_locale_fields(); + }); + return $("select[name='show-only']").change(function() { + return display_locale_fields(); + }); + }); + +}).call(this); diff --git a/app/assets/javascripts/spree/backend/translations.js.coffee b/app/assets/javascripts/spree/backend/translations.js.coffee deleted file mode 100644 index faf2a194..00000000 --- a/app/assets/javascripts/spree/backend/translations.js.coffee +++ /dev/null @@ -1,39 +0,0 @@ -display_locale_fields = () -> - attr = $('#attr_list a.active').data('attr') - locales = $('#locale').val() - show = $("select[name='show-only']").val() - - $('#attr_fields .panel').hide() - - for locale in locales - do (locale) -> - value = $('#attr_fields .panel.' + attr + '.' + locale + ' :input').val().replace /^\s+|\s+$/g, "" - - if show == 'incomplete' - display = value == '' - else if show == 'complete' - display = value != '' - else - display = true - - if display - $('#attr_fields .panel.' + attr + '.' + locale).show() - - if $('#attr_fields .panel:visible').length == 0 and show != 'all' - $('#attr_fields .no-translations').show() - -$ -> - $('#attr_list a').click -> - $('#attr_list a').removeClass('active') - $(this).addClass('active') - - display_locale_fields() - false - - $('#locale, #supported_locales_').select2({placeholder: Spree.translations['please_choose_language']}) - - $('#locale').change -> - display_locale_fields() - - $("select[name='show-only']").change -> - display_locale_fields()