in karavan-vscode/src/designerView.ts [55:82]
createIntegration(type: 'crd' | 'plain' | 'kamelet', rootPath?: string) {
window
.showInputBox({
title: type === 'crd' ? "Create Camel Integration CRD" : "Create Camel Integration YAML",
ignoreFocusOut: true,
prompt: "Integration name",
validateInput: (text: string): string | undefined => {
if (!text || text.length === 0) {
return 'Name should not be empty';
} else {
return undefined;
}
}
}).then(value => {
if (value) {
const name = utils.nameFromTitle(value);
const i = Integration.createNew(name);
i.type = type;
const yaml = CamelDefinitionYaml.integrationToYaml(i);
const filename = name.toLocaleLowerCase().endsWith('.camel.yaml') ? name : name.split('.')[0] + '.camel.yaml';
const relativePath = (this.rootPath ? rootPath?.replace(this.rootPath, "") : rootPath) + path.sep + filename;
const fullPath = (rootPath ? rootPath : this.rootPath) + path.sep + filename;
utils.save(relativePath, yaml);
this.openKaravanWebView(filename, filename, fullPath, yaml);
commands.executeCommand('integrations.refresh');
}
});
}