mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
add jsrender/jsrender.d.ts
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
/// <reference path="jsrender.d.ts"/>
|
||||
|
||||
$.views.converters("upper", function(val) {
|
||||
return val.toUpperCase();
|
||||
});
|
||||
|
||||
$.views.converters({
|
||||
upper: (val: string) => val.toUpperCase(),
|
||||
lower: (val: string) => val.toLowerCase()
|
||||
});
|
||||
|
||||
$.views.converters.html("< > ' \" &");
|
||||
$.views.converters.attr( "< > ' \" &");
|
||||
$.views.converters.url("<_>_\"_ ");
|
||||
|
||||
function renderBoldP(value: any): string {
|
||||
return "<p><b>" + value + "</b></p>";
|
||||
}
|
||||
|
||||
$.views.tags("boldp", renderBoldP);
|
||||
$.views.tags("boldp", {
|
||||
template: "<p><b>{{:~tag.tagCtx.args[0]}}</b></p>"
|
||||
});
|
||||
|
||||
function myFormatFunction(value: string, upper: string): string {
|
||||
return upper ? value.toUpperCase() : value.toLowerCase();
|
||||
}
|
||||
$.views.helpers("format", myFormatFunction);
|
||||
$.views.helpers({format: myFormatFunction});
|
||||
|
||||
var person = {
|
||||
name: "Adriana"
|
||||
};
|
||||
|
||||
$.templates("personTmpl", "<label>Name:</label> {{:name}}");
|
||||
var html = $.render["personTmpl"](person);
|
||||
console.log(html);
|
||||
|
||||
var myTmpl = $.templates("<label>Name:</label> {{:name}}");
|
||||
var html = myTmpl.render(person);
|
||||
console.log(html);
|
||||
|
||||
$.templates({
|
||||
personTmpl: "#personTemplate",
|
||||
labelTmpl: "Name:"
|
||||
});
|
||||
|
||||
var html = $("#personTemplate").render(person);
|
||||
console.log(html);
|
||||
Vendored
+56
@@ -0,0 +1,56 @@
|
||||
// Type definitions for JsRender
|
||||
// Project: http://www.jsviews.com/#jsrender
|
||||
// Definitions by: https://github.com/zakki
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery/jquery.d.ts"/>
|
||||
|
||||
declare module JsRender {
|
||||
interface Converters {
|
||||
(name: string, converterFn: (value: any) => any): any;
|
||||
(namedConverters: any, parentTemplate?: any): any;
|
||||
|
||||
html(valueToEncode: string): string;
|
||||
attr(valueToEncode: string): string;
|
||||
url(valueToEncode: string): string;
|
||||
}
|
||||
|
||||
interface Views {
|
||||
converters: Converters;
|
||||
|
||||
tags(name: string, tagFn: (value: any) => any): any;
|
||||
tags(name: string, tagOptions: any): any;
|
||||
tags(namedTags: any): any;
|
||||
|
||||
helpers(name: string, helper: any): any;
|
||||
helpers(namedHelpers: any, parentTemplate?: any): any;
|
||||
}
|
||||
|
||||
interface Template {
|
||||
render(data?: any): string;
|
||||
}
|
||||
|
||||
interface NamedTemplate {
|
||||
(data?: any): string;
|
||||
}
|
||||
|
||||
interface Render {
|
||||
(data?: any, helpersOrContext?: any): string;
|
||||
}
|
||||
|
||||
interface RenderStatic {
|
||||
[index: string]: NamedTemplate;
|
||||
}
|
||||
}
|
||||
|
||||
interface JQuery {
|
||||
render: JsRender.Render;
|
||||
}
|
||||
|
||||
interface JQueryStatic {
|
||||
render: JsRender.RenderStatic;
|
||||
views: JsRender.Views;
|
||||
templates(markupOrSelector: string): JsRender.Template;
|
||||
templates(name: string, markupOrSelector: string): JsRender.Template;
|
||||
templates(namedTemplates: any): any;
|
||||
}
|
||||
Reference in New Issue
Block a user