code: def on_dragger_saving(self):
      options = QtWidgets.QFileDialog.Options()
      # using native widgets so it matches the PNG download button
  
      filename, _ = QtWidgets.QFileDialog().getSaveFileName(
          self,
          "Save plot to",
          "",
          "HTML Files (*.html)",
          options=options,
      )
      if filename:
          if filename[-5:] != ".html":
              filename += ".html"
          self.fig.write_html(filename)
          self.pgdf.add_history_item(
              "Reshaper", f"fig.write_html('{filename})'"
          )
  
file_path: PandasGUI/pandasgui/widgets/reshaper.py
imports: import sys
  from PyQt5.QtWidgets import QStyleOptionViewItem
  import pandasgui
  import os
  from PyQt5 import QtCore, QtGui, QtWidgets
  from PyQt5.QtCore import Qt
  from pandasgui.store import PandasGuiDataFrameStore
  from pandasgui.widgets.collapsible_panel import CollapsiblePanel
  from pandasgui.widgets.func_ui import FuncUi, Schema
  import logging
  from pandasgui.widgets.grapher import TypePicker
  from pandasgui import jotly
label_desc: Use image node_id 3 for calling the Reshaper obj's underlying member method code with example usage: obj.on_dragger_saving() without return types