Go to Sublime Text 2 > Preferences > Key Bindings - User and add this JSON to the file:
[
{ "keys": ["super+shift+l"],
"command": "insert_snippet",
"args": {
"contents": "console.log(${1:}$SELECTION);${0}"
}
}| ko.bindingHandlers.scroll = { | |
| updating: true, | |
| init: function(element, valueAccessor, allBindingsAccessor) { | |
| var self = this | |
| self.updating = true; | |
| ko.utils.domNodeDisposal.addDisposeCallback(element, function() { | |
| $(window).off("scroll.ko.scrollHandler") | |
| self.updating = false |
| $(window).on('scroll.loader', function() { | |
| if ($(document).height() - 30 <= $(window).height() + $(window).scrollTop()) { | |
| // your go off and get html to append | |
| } | |
| } |
| ko.bindingHandlers.filePreview = { | |
| update: function(element, valueAccessor, allBindingsAccessor){ | |
| var allBindings = allBindingsAccessor() | |
| if(!!FileReader && valueAccessor() && element.files.length){ | |
| var reader = new FileReader(); | |
| reader.onload = function(event){ | |
| var dataUri = event.target.result | |
| allBindings.imagePreview(dataUri) | |
| } | |
| reader.onerror = function(e) { |
| ko.bindingHandlers.fileUpload = { | |
| update: function(element, valueAccessor, allBindingsAccessor){ | |
| var value = ko.utils.unwrapObservable(valueAccessor()) | |
| if(element.files.length && value){ | |
| var file = element.files[0]; | |
| var url = allBindingsAccessor().url | |
| xhr = new XMLHttpRequest(); | |
| xhr.open("post", url, true); |
| <snippet> | |
| <content><![CDATA[ | |
| !function(modelPageView){ | |
| "use strict" | |
| var ${1:obj_name} = function(){ | |
| this.init() | |
| } | |
| ${obj_name}.prototype = { | |
| constructor: ${1:obj_name} |
Go to Sublime Text 2 > Preferences > Key Bindings - User and add this JSON to the file:
[
{ "keys": ["super+shift+l"],
"command": "insert_snippet",
"args": {
"contents": "console.log(${1:}$SELECTION);${0}"
}
}| <snippet> | |
| <content> | |
| <![CDATA[ | |
| <!-- ko ${1:if: true} --> | |
| ${2} | |
| <!-- /ko --> | |
| ]]> </content> | |
| <tabTrigger>ko:v</tabTrigger> | |
| <scope>text.html.basic</scope> |
| <snippet> | |
| <content><![CDATA[<script src="//ajax.googleapis.com/ajax/libs/jquery/${1:1.9.1}/jquery.min.js"></script>$0]]></content> | |
| <tabTrigger>jquery</tabTrigger> | |
| <description>Google CDN: jQuery</description> | |
| <scope>text.html</scope> | |
| </snippet> |
| !function(ko){ | |
| "use strict"; | |
| // var modalElement = "#modal"; | |
| var addHiddenDivToBody = function() { | |
| var div = document.createElement("div"); | |
| div.id = "modal"; | |
| document.body.appendChild(div); | |
| $(div).text("goodbye"); |
| ko.extenders.deferred = function(targetObservable, startingVal) { | |
| //create a writeable computed observable to intercept writes to our observableo | |
| targetObservable.loading = ko.observable(startingVal); | |
| targetObservable.promise = function(x){ | |
| targetObservable.loading(true); | |
| targetObservable.deferred = x; | |
| x.done(function(returnedTarget){ | |
| targetObservable(returnedTarget); | |
| targetObservable.loading(false); |