|
- (function (b, c) {
- var a = function (f, e) {
- var d;
- this.$element = b(f);
- this.options = b.extend({}, b.fn.wizard.defaults, e);
- this.currentStep = 1;
- this.numSteps = this.$element.find("li").length;
- /*Customized to Enable Out Of Wizard Buttons*/
- this.$prevBtn = $('#'+this.$element[0].id+'-actions').find("a.btn-prev");
- this.$nextBtn = $('#' + this.$element[0].id + '-actions').find("a.btn-next");
- /*End Customized to Enable Out Of Wizard Buttons*/
- d = this.$nextBtn.children().detach();
- this.nextText = b.trim(this.$nextBtn.text());
- this.$nextBtn.append(d);
- this.$prevBtn.on("click", b.proxy(this.previous, this));
- this.$nextBtn.on("click", b.proxy(this.next, this));
- this.$element.on("click", "li.complete", b.proxy(this.stepclicked, this));
- this.$stepContainer = this.$element.data("target") || "body";
- this.$stepContainer = b(this.$stepContainer)
- };
- a.prototype = {
- constructor: a,
- setState: function () {
- var n = (this.currentStep > 1);
- var o = (this.currentStep === 1);
- var d = (this.currentStep === this.numSteps);
- this.$prevBtn.attr("disabled", (o === true || n === false));
- var h = this.$nextBtn.data();
- if (h && h.last) {
- this.lastText = h.last;
- if (typeof this.lastText !== "undefined") {
- var l = (d !== true) ? this.nextText : this.lastText;
- var f = this.$nextBtn.children().detach();
- this.$nextBtn.text(l).append(f)
- }
- }
- var j = this.$element.find("li");
- j.removeClass("active").removeClass("complete");
- var m = "li:lt(" + (this.currentStep - 1) + ")";
- var g = this.$element.find(m);
- g.addClass("complete");
- var e = "li:eq(" + (this.currentStep - 1) + ")";
- var k = this.$element.find(e);
- k.addClass("active");
- var i = k.data().target;
- this.$stepContainer.find(".step-pane").removeClass("active");
- b(i).addClass("active");
- this.$element.trigger("changed")
- },
- stepclicked: function (h) {
- var d = b(h.currentTarget);
- var g = this.$element.find("li").index(d);
- var f = b.Event("change");
- this.$element.trigger(f, {
- step: g + 1,
- direction: "stepclicked",
- currentStep: g + 1
- });
- if (f.isDefaultPrevented()) {
- return
- }
- this.currentStep = (g + 1);
- this.setState()
- },
- previous: function () {
- var d = (this.currentStep > 1);
- if (d) {
- var f = b.Event("change");
- this.$element.trigger(f, {
- step: this.currentStep,
- direction: "previous",
- currentStep:this.currentStep-1
- });
- if (f.isDefaultPrevented()) {
- return
- }
- this.currentStep -= 1;
- this.setState()
- }
- },
- next: function () {
- var g = (this.currentStep + 1 <= this.numSteps);
- var d = (this.currentStep === this.numSteps);
- if (g) {
- var f = b.Event("change");
- this.$element.trigger(f, {
- step: this.currentStep,
- direction: "next",
- currentStep: this.currentStep + 1
- });
- if (f.isDefaultPrevented()) {
- return
- }
- this.currentStep += 1;
- this.setState()
- } else {
- if (d) {
- this.$element.trigger("finished")
- }
- }
- },
- selectedItem: function (d) {
- return {
- step: this.currentStep
- }
- }
- };
- b.fn.wizard = function (e, g) {
- var f;
- var d = this.each(function () {
- var j = b(this);
- var i = j.data("wizard");
- var h = typeof e === "object" && e;
- if (!i) {
- j.data("wizard", (i = new a(this, h)))
- }
- if (typeof e === "string") {
- f = i[e](g)
- }
- });
- return (f === c) ? d : f
- };
- b.fn.wizard.defaults = {};
- b.fn.wizard.Constructor = a;
- b(function () {
- b("body").on("mousedown.wizard.data-api", ".wizard", function () {
- var d = b(this);
- if (d.data("wizard")) {
- return
- }
- d.wizard(d.data())
- })
- })
- })(window.jQuery);
|