Merge pull request #15754 from DefinitelyTyped/masonry-layout

masonry-layout: Masonry class is directly exported
This commit is contained in:
Ryan Cavanaugh
2017-04-17 13:26:54 -07:00
committed by GitHub
3 changed files with 59 additions and 64 deletions
+38 -43
View File
@@ -1,50 +1,45 @@
// Type definitions for Masonry 4.0
// Project: https://github.com/desandro/masonry
// Definitions by: Mark Wilson <https://github.com/m-a-wilson>
// Definitions by: Mark Wilson <https://github.com/m-a-wilson>, Travis Brown <https://github.com/warriorrocker>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference types="jquery" />
// Modified from original definitions by:
// Travis Brown < https://github.com/warriorrocker>
export = Masonry;
declare class Masonry {
constructor(options?: Masonry.Options);
constructor(selector: string, options?: Masonry.Options);
masonry?(): void;
masonry?(eventName: string, listener: any): void;
// layout
layout?(): void;
layoutItems?(items: any[], isStill?: boolean): void;
stamp?(elements: any[]): void;
unstamp?(elements: any[]): void;
// add and remove items
appended?(elements: any[]): void;
prepended?(elements: any[]): void;
addItems?(elements: any[]): void;
remove?(elements: any[]): void;
// events
on?(eventName: string, listener: any): void;
off?(eventName: string, listener: any): void;
once?(eventName: string, listener: any): void;
// utilities
reloadItems?(): void;
destroy?(): void;
getItemElements?(): any[];
data?(element: Element): Masonry;
}
declare namespace Masonry {
class Masonry implements MasonryGrid {
constructor(options?: MasonryOptions);
constructor(selector: string, options?: MasonryOptions);
}
interface MasonryGrid {
masonry?(): void;
masonry?(eventName: string, listener: any): void;
// layout
layout?(): void;
layoutItems?(items: any[], isStill?: boolean): void;
stamp?(elements: any[]): void;
unstamp?(elements: any[]): void;
// add and remove items
appended?(elements: any[]): void;
prepended?(elements: any[]): void;
addItems?(elements: any[]): void;
remove?(elements: any[]): void;
// events
on?(eventName: string, listener: any): void;
off?(eventName: string, listener: any): void;
once?(eventName: string, listener: any): void;
// utilities
reloadItems?(): void;
destroy?(): void;
getItemElements?(): any[];
data?(element: Element): Masonry;
}
interface MasonryOptions {
interface Options {
// layout
itemSelector?: string;
columnWidth?: any;
@@ -63,8 +58,8 @@ declare namespace Masonry {
}
}
export = Masonry;
interface JQuery {
masonry(options?: Masonry.MasonryOptions): JQuery;
declare global {
interface JQuery {
masonry(options?: Masonry.Options): JQuery;
}
}
+20 -21
View File
@@ -1,36 +1,35 @@
// test file for masonry-layout.d.ts
import * as $ from "jquery";
import { Masonry } from "./index";
import Masonry = require("masonry-layout");
// responsive layouts
// function testResponsiveLayouts() {
// $(document).ready(function () {
// $('.grid').masonry({
// itemSelector: '.grid-item',
// columnWidth: '.grid-sizer',
// percentPosition: true
// });
// });
// };
function testResponsiveLayouts() {
$(document).ready(() => {
$('.grid').masonry({
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
percentPosition: true
});
});
}
// recommended Options
function testRecommendedOptions() {
// $(document).ready(function () {
// $('.grid').masonry({
// columnWidth: 200,
// itemSelector: '.grid-item'
// });
// });
$(document).ready(() => {
$('.grid').masonry({
columnWidth: 200,
itemSelector: '.grid-item'
});
});
var msnry = new Masonry('.grid', {
const msnry = new Masonry('.grid', {
columnWidth: 200,
itemSelector: '.grid-item'
});
};
}
// extended Options
function testExtendedOptions() {
var msnry = new Masonry('.grid', {
const msnry = new Masonry('.grid', {
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
percentPosition: true,
@@ -46,4 +45,4 @@ function testExtendedOptions() {
resize: true,
initLayout: true
});
};
}
+1
View File
@@ -0,0 +1 @@
{ "extends": "../tslint.json" }