const nodeTemplates = {
  asset: {
    category: "digital asset",
    color: "#4f8582",
    defaults: {
      name: { value: "", required: true },
      enableLog: { value: false },
      logLevel: { value: "error" },
      parent: { value: "downstream" }, // indicates the position vs the parent in the process downstream,upstream or none.
      supplier: { value: "" },
      subType: { value: "" },
      model: { value: "" },
      unit: { value: "" },
    },
    inputs: 1,
    outputs: 3,
    inputLabels: ["Machine Input"],
    outputLabels: ["process", "dbase", "parent"],
    icon: "font-awesome/fa-cogs",
    elements: {
      // Basic fields
      name: "node-input-name",
      // Logging fields
      logCheckbox: "node-input-enableLog",
      logLevelSelect: "node-input-logLevel",
      rowLogLevel: "row-logLevel",
      // Asset fields
      supplier: "node-input-supplier",
      subType: "node-input-subType",
      model: "node-input-model",
      unit: "node-input-unit",
      //position vs parent
      parent: "node-input-parent",
    },
    projectSettingsURL:
      "http://localhost:1880/generalFunctions/settings/projectSettings.json",
  },

  exampleTemplate: {
    category: "digital twin",
    color: "#004080",
    defaults: {
      name: { value: "", required: true },
      foo: { value: 42 },
    },
    inputs: 2,
    outputs: 2,
    inputLabels: ["In A", "In B"],
    outputLabels: ["Out A", "Out B"],
    icon: "font-awesome/fa-gears",
  },

  // …add more node “templates” here…
};

module.exports = nodeTemplates;
