Search code examples
autodesk-forgeforge

Forge Viewer Custom Combox/ComboButton


Hi I'm trying to add a custom combox, this is my code

  addCustomCombox(parentCtrl: any) {

    //create combox
    const comboButton = new Autodesk.Viewing.UI.ComboButton('buildings');
    comboButton.setToolTip('buildings');

    //create button
    var button1 = new Autodesk.Viewing.UI.Button('show-env-bg-button');
    button1.onClick = function (e) {
      alert('test');
    };
    button1.addClass('show-env-bg-button');
    button1.setToolTip('Show Environment');

    //attach button to combox
    comboButton.addControl(button1);

    parentCtrl.addControl(comboButton)
  }

Howeve I'm getting an error on comboButton.addControl() it says expected 0 arguments. I checked in node modules and this is the function for ComboButton

  class ComboButton extends Button {
    constructor(id: string, options?: object);

    addControl(): void;
    restoreDefault(): void;
    saveAsDefault(): void;
  }

addControl doesn't accept any parameters. So how do I create a custom combox? Any help is highly appreciated. Thanks

**stackoverflow reference: Forge Viewer Extension for Toolbar: How to add a custom combox


Solution

  • you using typescript definition?

    just modify it like this:

          class ComboButton extends Button {
            constructor(id: string, options?: object);
    
            addControl(button: any): void;
            restoreDefault(): void;
            saveAsDefault(): void;
          }