{I" class:ETI"ProcessedAsset;FI"logical_path;TI"fshop/item_extras.js;FI" pathname;TI"O/home/nofxx/projects/fshop/app/assets/javascripts/fshop/item_extras.coffee;FI"content_type;TI"application/javascript;TI" mtime;Tl+Àf`RI" length;Ti¨I" digest;TI"%26edfc03f4468128f6262008e1f77301;FI" source;TI"¨(function() { var d, doc, idsFor, itemExtraDefaultOptionIds, itemExtraHtml, itemExtraOptionIds, magicPositionNumber, setPosition, tmpTooltip, updateExtraOptionsFor, _fn, _i, _len, _ref; doc = $(document); magicPositionNumber = 142; doc.on('created', '.item-extra-base', function() { var el; el = this; return setTimeout(function() { return updateExtraOptionsFor(el, true); }, 0); }); doc.on('change', 'select.item-extra-select', function(e) { itemExtraDefaultOptionIds(this, []); itemExtraOptionIds(this, []); return updateExtraOptionsFor(this); }); _ref = [['default', 'default-options'], ['select-checkbox', 'options']]; _fn = function(className, classHiddenName) { return doc.on('change', ".item-extra-" + className, function(e) { var $el, $optionEls; $el = $(this); $optionEls = $el.closest('.item-extra-base').find(".item-extra-" + className + ":checked").closest('[data-id]'); return itemExtraOptionIds($el, idsFor($optionEls), classHiddenName); }); }; for (_i = 0, _len = _ref.length; _i < _len; _i++) { d = _ref[_i]; _fn(d[0], d[1]); } doc.on('mouseover', '.item-extra-default:not(.tiped), .item-extra-select-checkbox:not(.tiped)', function(e) { var $el; $el = $(this); $el.addClass('tiped'); $el.tooltip({ title: $el.hasClass('item-extra-default') ? "Marcado por padrão?" : "Incluir essa opção?", delay: { show: 500, hide: 0 } }); return $el.trigger(e.type); }); doc.on('submit', '#edit_item', function(e) { return $('input.item-extra-optional:visible').each(function(i, el) { var $el; $el = $(this); if (!$el.is(':checked') && !itemExtraDefaultOptionIds(this).length) { tmpTooltip($el, 'E necessário selecionar essa opção caso não vá ter uma opção padrão!'); e.preventDefault(); } if (!itemExtraOptionIds(this).length) { tmpTooltip($el.closest('.item-extra-base').find('.item-extra-options-area'), 'É necessário habilitar ao menos uma opção!'); return e.preventDefault(); } }); }); doc.on('click', '.item-extra-base .option-down, .item-extra-base .option-up', function(e) { var $el, $otherEl, names; e.preventDefault(); $el = $(this); names = $el.hasClass('option-up') ? ['prev', 'Before', -1] : ['next', 'After', 1]; $el = $el.closest('.item-extra-option-base'); $otherEl = $el[names[0]](); if ($otherEl.length) { $el["insert" + names[1]]($otherEl); setPosition($el, $el.data('position-index') + names[2], true); setPosition($otherEl, $otherEl.data('position-index') + (names[2] * -1)); return $el.find('.item-extra-select-checkbox:first').change(); } }); tmpTooltip = function($el, text, time) { if (time == null) { time = 10000; } $el.tooltip('destroy'); clearTimeout($el.data('tooltip-timeout')); $el.tooltip({ title: text, delay: time }); $el.data('tooltip-timeout', setTimeout((function() { return $el.tooltip('destroy'); }), 10000)); return $el.tooltip('show'); }; idsFor = function($els) { return $.map($els, function(el, idx) { return $(el).data('id'); }); }; itemExtraDefaultOptionIds = function(el, vals) { return itemExtraOptionIds(el, vals, 'default-options'); }; itemExtraOptionIds = function(el, vals, className) { var $el; if (className == null) { className = "options"; } $el = $(el).closest('.item-extra-base').find(".item-extra-" + className); if (vals) { $el.html($.map(vals, function(val, i) { return $('