Skip to content

Instantly share code, notes, and snippets.

Revisions

  1. adtaylor revised this gist Apr 23, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion CoffeeScript_jQuery_Plugin_Pattern.coffee
    Original file line number Diff line number Diff line change
    @@ -44,7 +44,7 @@ $.fn.pluginName = ( option ) ->
    this.each ->
    $this = $(@)
    data = $this.data 'pluginName'
    if !data then $this.data 'pluginName', (data = new Dropdown @)
    if !data then $this.data 'pluginName', (data = new PluginName @)
    if typeof option is 'string' then data[option].call $this

    $.fn.pluginName.Constructor = PluginName
  2. adtaylor renamed this gist Apr 23, 2012. 1 changed file with 0 additions and 0 deletions.
  3. adtaylor revised this gist Apr 23, 2012. 1 changed file with 24 additions and 26 deletions.
    50 changes: 24 additions & 26 deletions CoffeeScript jQuery Plugin Pattern
    Original file line number Diff line number Diff line change
    @@ -22,39 +22,37 @@
    # PLUGINNAME
    # pluginName

    !( $ )->
    $ = window.jQuery

    "use strict"
    "use strict"

    # PLUGINNAME CLASS DEFINITION
    # =========================
    class PluginName
    constructor: ( element ) ->
    var $el = $(element)
    # PLUGINNAME CLASS DEFINITION
    # =========================
    class PluginName
    constructor: ( element ) ->
    $el = $(element)

    _constructor: PluginName
    _constructor: PluginName

    method : ->
    alert "I am a method"
    method : ->
    alert "I am a method"

    # PLUGINNAME PLUGIN DEFINITION
    # ==========================
    # PLUGINNAME PLUGIN DEFINITION
    # ==========================

    $.fn.pluginName = ( option ) ->
    this.each ->
    $this = $(@)
    data = $this.data 'pluginName'
    if !data then $this.data 'pluginName', (data = new Dropdown @)
    if typeof option is 'string' then data[option].call $this
    $.fn.pluginName = ( option ) ->
    this.each ->
    $this = $(@)
    data = $this.data 'pluginName'
    if !data then $this.data 'pluginName', (data = new Dropdown @)
    if typeof option is 'string' then data[option].call $this

    $.fn.pluginName.Constructor = PluginName
    $.fn.pluginName.Constructor = PluginName


    # DATA API
    # ===================================
    # DATA API
    # ===================================

    $ ->
    $('body').on('click.pluginName.data-api', '[data-pluginNameAction^=Action]', function ( e ) {
    $(e.target).pluginName()

    }( window.jQuery )
    $ ->
    $('body').on 'click.pluginName.data-api', '[data-pluginNameAction^=Action]', ( e ) ->
    $(e.target).pluginName()
  4. adtaylor created this gist Apr 23, 2012.
    60 changes: 60 additions & 0 deletions CoffeeScript jQuery Plugin Pattern
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,60 @@
    # ============================================================
    # PluginName v0.0.0
    # http://URL
    # ============================================================
    # Copyright 2012 The Beans Group
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    #

    # Find and replace on:
    # PluginName
    # PLUGINNAME
    # pluginName

    !( $ )->

    "use strict"

    # PLUGINNAME CLASS DEFINITION
    # =========================
    class PluginName
    constructor: ( element ) ->
    var $el = $(element)

    _constructor: PluginName

    method : ->
    alert "I am a method"

    # PLUGINNAME PLUGIN DEFINITION
    # ==========================

    $.fn.pluginName = ( option ) ->
    this.each ->
    $this = $(@)
    data = $this.data 'pluginName'
    if !data then $this.data 'pluginName', (data = new Dropdown @)
    if typeof option is 'string' then data[option].call $this

    $.fn.pluginName.Constructor = PluginName


    # DATA API
    # ===================================

    $ ->
    $('body').on('click.pluginName.data-api', '[data-pluginNameAction^=Action]', function ( e ) {
    $(e.target).pluginName()

    }( window.jQuery )