0">
Ingrese los valores de los parámetros detectados:
-
diff --git a/ogWebconsole/src/app/components/groups/components/client-main-view/run-script-assistant/run-script-assistant.component.ts b/ogWebconsole/src/app/components/groups/components/client-main-view/run-script-assistant/run-script-assistant.component.ts
index e671823..83bb0d0 100644
--- a/ogWebconsole/src/app/components/groups/components/client-main-view/run-script-assistant/run-script-assistant.component.ts
+++ b/ogWebconsole/src/app/components/groups/components/client-main-view/run-script-assistant/run-script-assistant.component.ts
@@ -24,13 +24,14 @@ export class RunScriptAssistantComponent {
loading: boolean = false;
scripts: any[] = [];
scriptContent: string = "";
- parameters: string[] = [];
+ parameters: any = {};
selectedScript: any = null;
selectedClients: any[] = [];
allSelected: boolean = true;
commandType: string = 'existing';
newScript: string = '';
selection = new SelectionModel(true, []);
+ parameterNames: string[] = Object.keys(this.parameters);
constructor(
private http: HttpClient,
@@ -121,21 +122,39 @@ export class RunScriptAssistantComponent {
if (this.selectedScript) {
this.scriptContent = this.selectedScript.script;
- const matches = this.scriptContent.match(/@\d+/g) || [];
- this.parameters = new Array(matches.length).fill("");
+ const matches = this.scriptContent.match(/@(\w+)/g) || [];
+ const uniqueParams = Array.from(new Set(matches.map(m => m.slice(1))));
+
+ this.parameters = {};
+ uniqueParams.forEach(param => this.parameters[param] = '');
+
+ this.parameterNames = uniqueParams;
+
+ this.updateScript();
}
}
- updateScript() {
+ onParamChange(name: string, value: string): void {
+ this.parameters[name] = value;
+ this.updateScript();
+ }
+
+ updateScript(): void {
let updatedScript = this.selectedScript.script;
- this.parameters.forEach((value, index) => {
- updatedScript = updatedScript.replace(new RegExp(`@${index + 1}`, "g"), value || `@${index + 1}`);
- });
+ for (const [key, value] of Object.entries(this.parameters)) {
+ const regex = new RegExp(`@${key}\\b`, 'g');
+ updatedScript = updatedScript.replace(regex, value || `@${key}`);
+ }
this.scriptContent = updatedScript;
}
+ trackByIndex(index: number): number {
+ return index;
+ }
+
+
save(): void {
this.loading = true;