///
///
///
///
///
///
///
"use strict";
interface JQuery {
timeline(method: string, data: Object): JQuery
timeline(options?: JQueryTimeline.Options): JQuery
}
interface JQueryStatic {
timeline(options: JQueryTimeline.Options): JQueryTimeline.Timeline
}
(($: JQueryStatic) => {
JQueryTimeline.$ = $;
$.fn.timeline = function timeline(method, data): JQuery {
var timeline = this.data("timeline");
if (typeof method === "string") {
if (!(timeline instanceof JQueryTimeline.Timeline)) {
timeline = new JQueryTimeline.Timeline({ container: this });
}
if (typeof timeline[method] === "function") {
timeline[method](data);
}
return this;
}
var options: JQueryTimeline.Options = method || {};
if (!(timeline instanceof JQueryTimeline.Timeline)) {
options.container = this;
timeline = new JQueryTimeline.Timeline(options);
}
return timeline.$;
};
$.timeline = function timeline(options: JQueryTimeline.Options = {}): JQueryTimeline.Timeline {
var timeline: JQueryTimeline.Timeline = null;
try {
timeline = new JQueryTimeline.Timeline(options);
} catch (e) {
if (e instanceof JQueryTimeline.Timeline) {
timeline = e;
}
}
return timeline;
};
})(jQuery);