Sha256: 730be61d7faeb0a4b8afb6cd09b6a6a32a3927a875a041ec49368a475c652c2f
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
# Your Adapter SHOULD define: # * @QueryDefaults - The default parameters if no others are passed in. class Embeditor.Adapter className: "Adapter" @QueryDefaults = {} constructor: (@element, @options={}) -> @adapter = Embeditor.Adapters[@className] @href = @element.attr('href') @dataOptions = @_extractData() @queryParams = @_buildParams(@dataOptions, options) swap: -> return embed: (html) -> @wrapper = $("<div />", class: @options.wrapperClass) @wrapper.html(html) @element.after @wrapper _extractData: -> dataOptions = {} for key,val of @element.data() # Make sure we care about this attribute if @adapter.QueryDefaults?[key] dataOptions[key] = val dataOptions # We're combining a few things (in order of precedence): # 1. The `data-attributes` of the placeholder, # 2. The adapter-specific options specified at Embeditor # initialization, # 3. The global options specified at Embeditor initialization, # 4. This adapter's default options (fallback options). _buildParams: (dataOptions, options) -> _.defaults(dataOptions, @adapter.query, options['query'], @adapter.QueryDefaults )
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
embeditor-rails-0.1.0 | app/assets/javascripts/embeditor/adapter.js.coffee |