6.2. Add buttons to UI

Add buttons to the /libs/pappserver/webapps/3dfindit-enterprise/custom_config.json

[Hinweis]Hinweis

As of V12.6 changes have to be stored under $CADENAS_SITESETUP/3df/custom_config.json.

Default configuration and additional code will be merged.

Before the update you should save the file custom_config.json or store under $CADENAS_SITESETUP/3df. The file should only contain the changes.

The config contains a main section with some standard settings for 3Dfindit and then a toolbars section.

A toolbar button can be shown above the table or above the 3D view. This is defined in the viewer / table items.

The buttons itself and their functionality is defined in the buttons section. Each button has a type which can be JS or VBS:

  • JS is executed directly in the browser. It could only access browser functions, e.g. call other websites or APIs.

  • VBS is executed server sided and in the AppServer space.

Each button has an icon and a name.

{
  "baseApiPath": "",
  "basename": "/webapps/3dfindit-enterprise",
  "erp": true,
  "startRoute": "CadBim",
  "isEnterprise": true,

  "toolbars": {
    "viewer": ["exampleButton"],
    "table": ["exampleVBSButton"],
    "buttons": {
      "exampleButton": {
        "type": "JS",
        "name": {
          "de-DE": "JS Beispiel",
          "en-GB": "JS Example"
        },
        "callback": "onExampleButtonClicked",
        "icon": "images/bell-solid.svg",
        "tooltip": {
          "de-DE": "JS Beispiel",
          "en-GB": "JS Example"
        }
      },
      "exampleVBSButton": {
        "type": "VBS",
        "icon": "images/bell-solid.svg",
        "name": {
          "de-DE": "VBS Beispiel",
          "en-GB": "VBS Example"
        },
        "script": "/plugins/vbb/wstest.vbs",
        "requestFromPdm": "currentuser",
        "tooltip": {
          "de-DE": "VBS Beispiel",
          "en-GB": "VBS Example"
        }
      }
    }
  }
}

Exemplary result when using above code

Exemplary result when using above code

Starting with V12.9 there are further possibilities. Buttons can also be added in the main bar and in the search results area (differentiated when getting results or not getting results).

  • In the main bar:

  • Above search results:

  • In the search results area, when there are no results.

In the following code example, the new options are marked in blue.

{
  "defaultLoginMethod": "openid"
  
  "baseApiPath": "",
  "basename": "/webapps/3dfindit-enterprise",
  "erp": true,
  "startRoute": "CadBim",
  "isEnterprise": true,
  
  "toolbars": {
    "viewer": ["exampleButton"],
    "table": ["exampleVBSButton"],

    "mainMenuIcon": "./plugins/img/3dFinditEyeColor.svg",
    "mainMenu": [
      ["customButton1_Group1", "customButton2_Group1", "customButton3_Group1"],
      ["customButton1_Group2", "customButton2_Group2", "customButton3_Group2"]
    ],
    "noResults": ["customButton1", "customButton2", "customButton3"],
    "searchResults": ["customButton1", "customButton2", "customButton3"],

    "buttons": {
      "customButton1_Group1": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        }
      },
      "customButton2_Group1": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        },
        "script": "/plugins/vbb/custom2_startup.vbs",
        "tooltip": {

Complete example: Above figures exemplarily show the result.

{
  "defaultLoginMethod": "openid"
  
  "baseApiPath": "",
  "basename": "/webapps/3dfindit-enterprise",
  "erp": true,
  "startRoute": "CadBim",
  "isEnterprise": true,
  
  "toolbars": {
    "viewer": ["exampleButton"],
    "table": ["exampleVBSButton"],

    "mainMenuIcon": "./plugins/img/3dFinditEyeColor.svg",
    "mainMenu": [
      ["customButton1_Group1", "customButton2_Group1", "customButton3_Group1"],
      ["customButton1_Group2", "customButton2_Group2", "customButton3_Group2"]
    ],
    "noResults": ["customButton1", "customButton2", "customButton3"],
    "searchResults": ["customButton1", "customButton2", "customButton3"],

    "buttons": {
      "exampleButton": {
        "type": "JS",
        "name": {
          "de-DE": "JS Beispiel",
          "en-GB": "JS Example"
        },
        "callback": "onExampleButtonClicked",
        "icon": "images/bell-solid.svg",
        "tooltip": {
          "de-DE": "JS Beispiel",
          "en-GB": "JS Example"
        }
      },
      "exampleVBSButton": {
        "type": "VBS",
        "icon": "images/bell-solid.svg",
        "name": {
          "de-DE": "VBS Beispiel",
          "en-GB": "VBS Example"
        },
        "script": "/plugins/vbb/wstest.vbs",
        "requestFromPdm": "currentuser",
        "tooltip": {
          "de-DE": "VBS Beispiel",
          "en-GB": "VBS Example"
        }
      },

      "customButton1_Group1": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        }
      },
      "customButton2_Group1": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        },
        "script": "/plugins/vbb/custom2_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        }
      },
      "customButton3_Group1": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 3 de",
          "en-GB": "custom button 3 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 3 de",
          "en-GB": "custom button 3 en"
        }
      },

      "customButton1_Group2": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        }
      },
      "customButton2_Group2": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        },
        "script": "/plugins/vbb/custom2_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        }
      },
      "customButton3_Group2": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 3 de",
          "en-GB": "custom button 3 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 3 de",
          "en-GB": "custom button 3 en"
        }
      },

      "customButton1": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 1 de",
          "en-GB": "custom button 1 en"
        }
      },
      "customButton2": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        },
        "script": "/plugins/vbb/custom2_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 2 de",
          "en-GB": "custom button 2 en"
        }
      },
      "customButton3": {
        "type": "VBS",
        "icon": "./plugins/img/3dFinditEyeColor.svg",
        "name": {
          "de-DE": "custom button 3 de",
          "en-GB": "custom button 3 en"
        },
        "script": "/plugins/vbb/custom1_startup.vbs",
        "tooltip": {
          "de-DE": "custom button 3 de",
          "en-GB": "custom button 3 en"
        }
    }
  }
}
}