| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- /* TodoList()
 
-  * =========
 
-  * Converts a list into a todoList.
 
-  *
 
-  * @Usage: $('.my-list').todoList(options)
 
-  *         or add [data-widget="todo-list"] to the ul element
 
-  *         Pass any option as data-option="value"
 
-  */
 
- +function ($) {
 
-   'use strict'
 
-   var DataKey = 'lte.todolist'
 
-   var Default = {
 
-     iCheck   : false,
 
-     onCheck  : function () {
 
-     },
 
-     onUnCheck: function () {
 
-     }
 
-   }
 
-   var Selector = {
 
-     data: '[data-widget="todo-list"]'
 
-   }
 
-   var ClassName = {
 
-     done: 'done'
 
-   }
 
-   // TodoList Class Definition
 
-   // =========================
 
-   var TodoList = function (element, options) {
 
-     this.element = element
 
-     this.options = options
 
-     this._setUpListeners()
 
-   }
 
-   TodoList.prototype.toggle = function (item) {
 
-     item.parents(Selector.li).first().toggleClass(ClassName.done)
 
-     if (!item.prop('checked')) {
 
-       this.unCheck(item)
 
-       return
 
-     }
 
-     this.check(item)
 
-   }
 
-   TodoList.prototype.check = function (item) {
 
-     this.options.onCheck.call(item)
 
-   }
 
-   TodoList.prototype.unCheck = function (item) {
 
-     this.options.onUnCheck.call(item)
 
-   }
 
-   // Private
 
-   TodoList.prototype._setUpListeners = function () {
 
-     var that = this
 
-     $(this.element).on('change ifChanged', 'input:checkbox', function () {
 
-       that.toggle($(this))
 
-     })
 
-   }
 
-   // Plugin Definition
 
-   // =================
 
-   function Plugin(option) {
 
-     return this.each(function () {
 
-       var $this = $(this)
 
-       var data  = $this.data(DataKey)
 
-       if (!data) {
 
-         var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option)
 
-         $this.data(DataKey, (data = new TodoList($this, options)))
 
-       }
 
-       if (typeof data == 'string') {
 
-         if (typeof data[option] == 'undefined') {
 
-           throw new Error('No method named ' + option)
 
-         }
 
-         data[option]()
 
-       }
 
-     })
 
-   }
 
-   var old = $.fn.todoList
 
-   $.fn.todoList         = Plugin
 
-   $.fn.todoList.Constructor = TodoList
 
-   // No Conflict Mode
 
-   // ================
 
-   $.fn.todoList.noConflict = function () {
 
-     $.fn.todoList = old
 
-     return this
 
-   }
 
-   // TodoList Data API
 
-   // =================
 
-   $(window).on('load', function () {
 
-     $(Selector.data).each(function () {
 
-       Plugin.call($(this))
 
-     })
 
-   })
 
- }(jQuery)
 
 
  |