can anyone guide me how i close side drawer on navigation select because its not working when i click on navigations. i have also attached screenshot. thanks
Ok, let's have another solution:
Please re-download the v7.2.9 (the last of v7) version, and update all files in the http://src/_metronic/_assets/js/components/
folder. It should help then.
Regards,
Keenthemes support
from where, i can download them? is it free?
Hi Adnan,
You can download them from GitHub
https://github.com/KeenthemesHub/Metronic/tree/Metronic-v7
Do you have access to it? Fill out this form to get GitHub access.
https://keenthemes.com/metronic/github
Thanks
I've checked the commits history and your issue was fixed in version v7.2.3
There were changes in the file:react/demo1/src/_metronic/_assets/js/components/wizard.js
/* eslint-disable */
"use strict";
import { KTUtil } from "./util";
// Component Definition
var KTWizard = function(elementId, options) {
// Main object
var the = this;
var init = false;
// Get element object
var element = KTUtil.getById(elementId);
var body = KTUtil.getBody();
if (!element) {
return;
}
// Default options
var defaultOptions = {
startStep: 1,
clickableSteps: false, // to make steps clickable this set value true and add data-wizard-clickable="true" in HTML for class="wizard" element
navigation: true
};
////////////////////////////
// ** Private Methods ** //
////////////////////////////
var Plugin = {
/**
* Construct
*/
construct: function(options) {
if (KTUtil.data(element).has("wizard")) {
the = KTUtil.data(element).get("wizard");
} else {
// reset menu
Plugin.init(options);
// build menu
Plugin.build();
KTUtil.data(element).set("wizard", the);
}
return the;
},
/**
* Init wizard
*/
init: function(options) {
the.element = element;
the.events = [];
// merge default and user defined options
the.options = KTUtil.deepExtend({}, defaultOptions, options);
// Elements
the.steps = KTUtil.findAll(element, "[data-wizard-type="step"]");
the.btnNext = KTUtil.find(element, "[data-wizard-type="action-next"]");
the.btnPrev = KTUtil.find(element, "[data-wizard-type="action-prev"]");
the.btnSubmit = KTUtil.find(element, "[data-wizard-type="action-submit"]");
// Variables
the.events = [];
the.lastStep = 0;
the.currentStep = 1;
the.newStep = 0;
the.stopped = false;
the.totalSteps = the.steps.length;
// Init current step
if (the.options.startStep > 1) {
Plugin.goTo(the.options.startStep);
}
// Init UI
Plugin.updateUI();
},
/**
* Build Form Wizard
*/
build: function() {
if (the.options.navigation) {
// Next button event handler
KTUtil.addEvent(the.btnNext, "click", function(e) {
e.preventDefault();
// Set new step number
Plugin.setNewStep(Plugin.getNextStep());
// Trigger change event
if (Plugin.eventTrigger("change") !== false) {
Plugin.goTo(Plugin.getNextStep());
}
});
// Prev button event handler
KTUtil.addEvent(the.btnPrev, "click", function(e) {
e.preventDefault();
// Set new step number
Plugin.setNewStep(Plugin.getPrevStep());
// Trigger change event
if (Plugin.eventTrigger("change") !== false) {
Plugin.goTo(Plugin.getPrevStep());
}
});
// Submit button event handler
KTUtil.addEvent(the.btnSubmit, "click", function(e) {
e.preventDefault();
Plugin.eventTrigger("submit");
});
}
if (the.options.clickableSteps === true) {
KTUtil.on(element, "[data-wizard-type="step"]", "click", function() {
var index = KTUtil.index(this) + 1;
if (index !== the.currentStep) {
Plugin.setNewStep(index);
// Trigger change event
if (Plugin.eventTrigger("change") !== false) {
Plugin.goTo(index);
}
}
});
}
},
/**
* Handles wizard click wizard
*/
goTo: function(number) {
// Skip if stopped
if (the.stopped === true) {
the.stopped = false;
return;
}
// Skip if this step is already shown
if (number === the.currentStep || number > the.totalSteps || number < 0) {
return;
}
// Validate step number
number = parseInt(number);
// Set current step
the.lastStep = the.currentStep;
the.currentStep = number;
the.newStep = 0;
Plugin.updateUI();
Plugin.eventTrigger("changed");
return the;
},
/**
* Stop wizard
*/
stop: function() {
the.stopped = true;
},
/**
* Resume wizard
*/
resume: function() {
the.stopped = false;
},
/**
* Check last step
*/
isLastStep: function() {
return the.currentStep === the.totalSteps;
},
/**
* Check first step
*/
isFirstStep: function() {
return the.currentStep === 1;
},
/**
* Check between step
*/
isBetweenStep: function() {
return Plugin.isLastStep() === false && Plugin.isFirstStep() === false;
},
/**
* Update wizard UI after step change
*/
updateUI: function() {
var stepType = "";
var index = the.currentStep - 1;
if (Plugin.isLastStep()) {
stepType = "last";
} else if (Plugin.isFirstStep()) {
stepType = "first";
} else {
stepType = "between";
}
KTUtil.attr(the.element, "data-wizard-state", stepType);
// Steps
var steps = KTUtil.findAll(the.element, "[data-wizard-type="step"]");
if (steps && steps.length > 0) {
for (var i = 0, len = steps.length; i < len; i++) {
if (i == index) {
KTUtil.attr(steps[i], "data-wizard-state", "current");
} else {
if (i < index) {
KTUtil.attr(steps[i], "data-wizard-state", "done");
} else {
KTUtil.attr(steps[i], "data-wizard-state", "pending");
}
}
}
}
// Steps Info
var stepsInfo = KTUtil.findAll(the.element, "[data-wizard-type="step-info"]");
if (stepsInfo &&stepsInfo.length > 0) {
for (var i = 0, len = stepsInfo.length; i < len; i++) {
if (i == index) {
KTUtil.attr(stepsInfo[i], "data-wizard-state", "current");
} else {
KTUtil.removeAttr(stepsInfo[i], "data-wizard-state");
}
}
}
// Steps Content
var stepsContent = KTUtil.findAll(the.element, "[data-wizard-type="step-content"]");
if (stepsContent&& stepsContent.length > 0) {
for (var i = 0, len = stepsContent.length; i < len; i++) {
if (i == index) {
KTUtil.attr(stepsContent[i], "data-wizard-state", "current");
} else {
KTUtil.removeAttr(stepsContent[i], "data-wizard-state");
}
}
}
},
/**
* Get next step number
*/
getNextStep: function() {
if (the.totalSteps >= (the.currentStep + 1)) {
return the.currentStep + 1;
} else {
return the.totalSteps;
}
},
/**
* Get prev step number
*/
getPrevStep: function() {
if ((the.currentStep - 1) >= 1) {
return the.currentStep - 1;
} else {
return 1;
}
},
/**
* Get new step number
*/
getNewStep: function() {
return the.newStep;
},
/**
* Set new step
*/
setNewStep: function(step) {
the.newStep = step;
},
/**
* Trigger events
*/
eventTrigger: function(name, nested) {
//KTUtil.triggerCustomEvent(name);
for (var i = 0; i < the.events.length; i++) {
var event = the.events[i];
if (event.name == name) {
if (event.one == true) {
if (event.fired == false) {
the.events[i].fired = true;
return event.handler.call(this, the);
}
} else {
return event.handler.call(this, the);
}
}
}
},
addEvent: function(name, handler, one) {
the.events.push({
name: name,
handler: handler,
one: one,
fired: false
});
return the;
}
};
//////////////////////////
// ** Public Methods ** //
//////////////////////////
/**
* Set default options
*/
the.setDefaults = function(options) {
defaultOptions = options;
};
/**
* Go to the next step
*/
the.goNext = function() {
return Plugin.goTo(Plugin.getNextStep());
};
/**
* Go to the prev step
*/
the.goPrev = function() {
return Plugin.goTo(Plugin.getPrevStep());
};
/**
* Go to the last step
*/
the.goLast = function() {
return Plugin.goTo(Plugin.getLastStep());
};
/**
* Go to the first step
*/
the.goFirst = function() {
return Plugin.goTo(Plugin.getFirstStep());
};
/**
* Go to a step
*/
the.goTo = function(number) {
return Plugin.goTo(number);
};
/**
* Stop wizard
*/
the.stop = function() {
return Plugin.stop();
};
/**
* Resume wizard
*/
the.resume = function() {
return Plugin.resume();
};
/**
* Get current step number
*/
the.getStep = function() {
return the.currentStep;
};
/**
* Get new step number
*/
the.getNewStep = function() {
return Plugin.getNewStep();
};
/**
* Set new step number
*/
the.setNewStep = function(number) {
Plugin.setNewStep(number);
};
/**
* Check last step
*/
the.isLastStep = function() {
return Plugin.isLastStep();
};
/**
* Check first step
*/
the.isFirstStep = function() {
return Plugin.isFirstStep();
};
/**
* Attach event("change", "changed", "submit")
*/
the.on = function(name, handler) {
return Plugin.addEvent(name, handler);
};
/**
* Attach event that will be fired once
*/
the.one = function(name, handler) {
return Plugin.addEvent(name, handler, true);
};
// Construct plugin
Plugin.construct.apply(the, [options]);
return the;
};
// webpack support
if (typeof module !== "undefined" && typeof module.exports !== "undefined") {
// module.exports = KTWizard;
}
export default KTWizard;
its also not working with that code. kindly mention what changes do i need to close the drawer on sidebar item select
your above code is not in use in v_7.1.5
https://ibb.co/PCf9cPy
please check image. drawer is not closing on any navigation item select and on close icon click. please help me out
Which version/demo_number of the Metronic do you use?
I've checked even in the Metronic 7 (current is 8.1.5), and it works fine https://preview.keenthemes.com/metronic/react/demo1/dashboard.
Regards,
Keenthemes support
i have version 7.1.5
is this issue exist in 7.1.5 ?
Hi,
We don't see your screenshot, could you please re-upload it and share the link then?
Regards,
Keenthemes support