4.21.3.1. Buttons zur Benutzeroberfläche zufügen

Buttons müssen unter /libs/pappserver/webapps/3dfindit-enterprise/custom_config.json zugefügt werden.

[Hinweis]Hinweis

Änderungen müssen unter "$CADENAS_SITESETUP/3df/custom_config.json" gespeichert werden (ab V12.6).

Default Konfiguration und zusätzlicher Code werden zusammengefügt.

Wenn Sie updaten, speichern Sie die Datei "custom_config.json" zuvor oder platzieren Sie diese unter $CADENAS_SITESETUP/3df. Die Datei sollte nur die Änderungen enthalten.

Die Konfigurationsdatei enthält einen Hauptabschnitt mit einigen Standard-Einstellungen für 3Dfindit und dann einen Toolbars-Abschnitt.

Ein Toolbar-Button kann über der Tabelle oder über der 3D-Ansicht angezeigt werden. Dies ist definiert in den Items viewer / table.

Die Buttons selbst und deren Funktionalität ist definiert im Buttons-Abschnitt. Jeder Button hat einen Typ, der entweder JS oder VBS ist:

  • JS wird direkt im Browser ausgeführt. Es kann nur auf Browser-Funktionen zugreifen, z.B. andere Webseiten oder APIs aufrufen.

  • VBS wird serverseitig ausgeführt und in der AppServer-Umgebung.

Jeder Button hat ein icon und ein 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"
        }
      }
    }
  }
}

Beispielhaftes Ergebnis bei Verwendung obigen CodesButton "VBS-Example" Button "JS-Example"

Beispielhaftes Ergebnis bei Verwendung obigen Codes

Beginnend mit V12.9 gibt es weitere Möglichkeiten. Buttons können auch in der Hauptleiste zugefügt werden und im Bereich der Suchergebnisse (unterschiedlich wenn es Ergebnisse gibt oder nicht).

  • In der Hauptleiste:

    Buttons in Hauptleiste

    Buttons in Hauptleiste

  • Oberhalb der Suchergebnisse:

    Buttons oberhalb der Suchergebnisse

    Buttons oberhalb der Suchergebnisse

  • Im Bereich der Suchergebnisse bei vorhandenen Ergebnissen:

    Buttons im Bereich der Suchergebnisse

    Buttons im Bereich der Suchergebnisse

  • Im Kontextmenü von Suchergebnissen

    {
      "baseApiPath": "",
      "basename": "/webapps/3dfindit-enterprise/",
      "erp": true,
      "startRoute": "CadBim",
      "isEnterprise": true,
    
      "toolbars": {
        "viewer": ["exampleButton"],
        "table": ["exampleVBSButton"],
        "searchResultsContextMenu": ["exampleButton", "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"
            }
          }
        }
      }
    }
    Buttons im Kontextmenü von Suchergebnissen

    Buttons im Kontextmenü von Suchergebnissen

Im folgenden Code-Beispiel sind die neuen Optionen in Blau markiert.

{
  "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": {

Vollständiges Beispiel: Obige Abbildungen zeigen beispielhaft das Ergebnis.

{
  "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"
        }
    }
  }
}
}