Super Sale Limited Time 50% OFF for All-Access Plans
Save 50% Now

sidedrawer not closing on navigation click in METRONIC REACT THEME


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


Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(

Replies (11)


Ok, let's have another solution:
Please re-download the v7.2.9 (the last of v7) version, and update all files in the 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



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


Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(
Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(