Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: techlab
patreon: # Replace with a single Patreon username
open_collective: techlab
ko_fi: # Replace with a single Ko-fi username
Expand Down
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
CHANGELOG
=========


v6.0.5
-----
- **Fixed:** unDoneOnBackNavigation not working https://github.com/techlab/jquery-smartwizard/issues/146

v6.0.4
-----
- **Changed:** Code optimizations

v6.0.3
-----
- **Fixed:** Navigation not properly maintained when navigate fast
- **Changed:** Code optimizations

v6.0.1
-----
- **Added:** Support for jQuery Slim version
Expand Down
38 changes: 32 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,36 @@ Installation
<script src="https://unpkg.com/smartwizard@6/dist/js/jquery.smartWizard.min.js" type="text/javascript"></script>
```

### Common JS/Webpack
```js
var $ = require( "jquery" );
require( "smartwizard/dist/css/smart_wizard_all.css");
const smartWizard = require("smartwizard");

$(function() {
$('#smartwizard').smartWizard();
});
```
### ES6/Babel
```js
import $ from "jquery";
import "smartwizard/dist/css/smart_wizard_all.css";
import smartWizard from 'smartwizard';

$(function() {
$('#smartwizard').smartWizard();
});
```

#### Note: you may have to install the required dependencies
```bash
npm i jquery
npm i smartwizard

// If you are using Webpack, install
npm i webpack webpack-cli style-loader css-loader --save-dev
```

### Download
#### [Download from GitHub](https://github.com/techlab/jquery-smartwizard/archive/master.zip)

Expand Down Expand Up @@ -169,14 +199,10 @@ Include SmartWizard plugin JavaScript
<script src="https://cdn.jsdelivr.net/npm/smartwizard@6/dist/js/jquery.smartWizard.min.js" type="text/javascript"></script>
```
Initialize the SmartWizard
```html
<script type="text/javascript">
$(document).ready(function() {

```js
$(function() {
$('#smartwizard').smartWizard();

});
</script>
```
That's it!

Expand Down
54 changes: 33 additions & 21 deletions dist/js/jquery.smartWizard.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }

/*!
* jQuery SmartWizard v6.0.1
* jQuery SmartWizard v6.0.5
* The awesome step wizard plugin for jQuery
* http://www.techlaboratory.net/jquery-smartwizard
*
Expand Down Expand Up @@ -51,7 +51,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
selected: 0,
// Initial selected step, 0 = first step
theme: 'basic',
// theme for the wizard, related css need to include for other than default theme
// Theme for the wizard, related css need to include for other than default theme
justified: true,
// Nav menu justification. true/false
autoAdjustHeight: true,
Expand Down Expand Up @@ -282,12 +282,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
value: function _setElements() {
var _this2 = this;

// Set the main element
this.main.addClass(this.options.style.mainCss); // Set theme option

// Set the main element classes including theme css
this.main.removeClass(function (i, className) {
return (className.match(/(^|\s)sw-theme-\S+/g) || []).join(' ');
}).addClass(this.options.style.themePrefixCss + this.options.theme); // Set justify option
return (className.match(new RegExp('(^|\\s)' + _this2.options.style.themePrefixCss + '\\S+', 'g')) || []).join(' ');
}).addClass(this.options.style.mainCss + ' ' + this.options.style.themePrefixCss + this.options.theme); // Set justify option

this.main.toggleClass(this.options.style.justifiedCss, this.options.justified); // Set the anchor default style

Expand Down Expand Up @@ -442,20 +440,20 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =


_this4._transit(selPage, curPage, stepDirection, function () {
// Update the current index
_this4.current_index = idx; // Fix height with content
// Fix height with content
_this4._fixHeight(idx); // Trigger "showStep" event

_this4._fixHeight(idx); // Set the buttons based on the step

_this4._triggerEvent("showStep", [selStep, idx, stepDirection, _this4._getStepPosition(idx)]);
}); // Update the current index

_this4._setButtons(idx); // Set the progressbar based on the step

_this4.current_index = idx; // Set the buttons based on the step

_this4._setProgressbar(idx); // Trigger "showStep" event
_this4._setButtons(idx); // Set the progressbar based on the step


_this4._triggerEvent("showStep", [selStep, idx, stepDirection, _this4._getStepPosition(idx)]);
});
_this4._setProgressbar(idx);
});
}
}, {
Expand Down Expand Up @@ -560,6 +558,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
value: function _transit(elmToShow, elmToHide, stepDirection, callback) {
var transitFn = $.fn.smartWizard.transitions[this.options.transition.animation];

this._stopAnimations();

if ($.isFunction(transitFn)) {
transitFn(elmToShow, elmToHide, stepDirection, this, function (res) {
if (res === false) {
Expand All @@ -575,6 +575,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
callback();
}
}
}, {
key: "_stopAnimations",
value: function _stopAnimations() {
if ($.isFunction(this.container.finish)) {
this.pages.finish();
this.container.finish();
}
}
}, {
key: "_fixHeight",
value: function _fixHeight(idx) {
Expand All @@ -596,19 +604,23 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
key: "_setAnchor",
value: function _setAnchor(idx) {
// Current step anchor > Remove other classes and add done class
this.steps.eq(this.current_index).removeClass(this.options.style.anchorActiveCss);
if (this.current_index !== null && this.current_index >= 0) {
var removeCss = this.options.style.anchorActiveCss;
var addCss = '';

if (this.options.anchor.enableDoneState !== false && this.current_index !== null && this.current_index >= 0) {
this.steps.eq(this.current_index).addClass(this.options.style.anchorDoneCss);
if (this.options.anchor.enableDoneState !== false) {
addCss += this.options.style.anchorDoneCss;

if (this.options.anchor.unDoneOnBackNavigation !== false && this._getStepDirection(idx) === 'backward') {
this.steps.eq(this.current_index).removeClass(this.options.style.anchorDoneCss);
if (this.options.anchor.unDoneOnBackNavigation !== false && this._getStepDirection(idx) === 'backward') {
removeCss += ' ' + this.options.style.anchorDoneCss;
}
}

this.steps.eq(this.current_index).addClass(addCss).removeClass(removeCss);
} // Next step anchor > Remove other classes and add active class


this.steps.eq(idx).removeClass(this.options.style.anchorDoneCss);
this.steps.eq(idx).addClass(this.options.style.anchorActiveCss);
this.steps.eq(idx).removeClass(this.options.style.anchorDoneCss).addClass(this.options.style.anchorActiveCss);
}
}, {
key: "_setButtons",
Expand Down
Loading