# $ -> # items = $('[writer_ids][tags]') # if items.length > 0 # items.each -> # item = $(this) # tags = item.data('tags') # tags = tags.map (item)-> "#{item}" # console.log tags.length # item.select2 # tags: tags, # tokenSeparators: [';', ','], # removeValue = (val)-> # item.val(item.val().replace(new RegExp("(^|,)#{val}((?:,)|(?:$))", "g"),'')) # setTimeout (-> # item.trigger('change')), 1 # item.off('change.check_writer').on 'change.check_writer', -> # _items = item.val().split(',').filter (i)-> i.length > 0 # if _items.length>0 # last_src = _items[_items.length-1] # last = last_src.replace(/[^0-9]/g, '') # console.log last, _items.length # if last.length > 2 # $.get("/writers/#{last}.json") # .success (data)-> # if data['id'] # console.log 'writer accepted' # else # console.log 'no such writer' # removeValue(last_src) # else # removeValue(last_src) inlineTranslate = -> # add translateable fields $('.inline-lang-container:not(.inline-lang-active)').each -> _this = $(this) if _this.find('.inline-lang-title:visible > .active').length <= 0 _this.find('.inline-lang-block > div').hide().first().show() _this.find('.inline-lang-title > span').first().addClass('active') # leave only one switch _root = _this.closest('.framed-block') _root = _this.closest('.nested_item') if _root.length <= 0 _root = _this.closest('.wysiwyg-holder') if _root.length <= 0 _aliased = _root.find('.inline-lang-container:not(.inline-lang-active)') _aliased.not(':eq(0)').find('.inline-lang-title').hide() _this.data('inlineTranslate', { root: _root, aliased: _aliased}) _this.addClass('inline-lang-active') $('.inline-lang-title > span').off('click.inline-lang touchstart.inline-lang keydown.inline-lang') .on 'click touchstart keydown', -> _this = $(this) _container = _this.closest('.inline-lang-container') _root = _container.data('inlineTranslate')['root'] _aliased = _container.data('inlineTranslate')['aliased'] _aliased.find(".inline-lang-title > .lang-#{_this.data('locale')}").addClass('active') .siblings().removeClass('active') _aliased.find(".inline-lang-block > .lang-#{_this.data('locale')}").show() .siblings().hide() $ -> # init select2 on new nested items $('.nested_bottom > .button').on 'click', -> setTimeout (-> $('select:visible').select2 width: 'resolve' inlineTranslate() ), 100 inlineTranslate()