Browse Source

Merge pull request #7963 from miguelvazq/HPCC-12414

HPCC-12414 Row tag required for spray xml

Reviewed-By: Gordon Smith <gordon.smith@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 years ago
parent
commit
313cc5a895
2 changed files with 29 additions and 12 deletions
  1. 27 12
      esp/src/eclwatch/LZBrowseWidget.js
  2. 2 0
      esp/src/eclwatch/nls/hpcc.js

+ 27 - 12
esp/src/eclwatch/LZBrowseWidget.js

@@ -393,16 +393,25 @@ define([
 
         _onSprayXml: function(event) {
             var context = this;
-            this._spraySelectedOneAtATime("SprayXmlDropDown", "SprayXmlForm", function (request, item) {
-                lang.mixin(request, {
-                    sourceRowTag: item.targetRowTag
+            this.sprayXmlTargetRowTag = registry.byId(this.id + "sprayXmlTargetRowTag");
+            if (this.sprayXmlTargetRowTag.getValue()) {
+                this._spraySelectedOneAtATime("SprayXmlDropDown", "SprayXmlForm", function (request, item) {
+                    lang.mixin(request, {
+                        sourceRowTag: item.targetRowTag
+                    });
+                    FileSpray.SprayVariable({
+                        request: request
+                    }).then(function (response) {
+                        context._handleResponse("SprayResponse.wuid", response);
+                    });
                 });
-                FileSpray.SprayVariable({
-                    request: request
-                }).then(function (response) {
-                    context._handleResponse("SprayResponse.wuid", response);
+            } else {
+                topic.publish("hpcc/brToaster", {
+                    Severity: "Error",
+                    Source: "FileSpray.SprayVariable",
+                    Exceptions: [{ Message: this.i18n.TargetRowTagRequired }]
                 });
-            });
+            }
         },
 
         _onSprayJson: function(event) {
@@ -628,15 +637,21 @@ define([
                 columns: {
                     targetName: editor({
                         label: this.i18n.TargetName,
-                        width: 144,
+                        width: 120,
                         autoSave: true,
                         editor: "text"
                     }),
                     targetRowTag: editor({
                         label: this.i18n.RowTag,
-                        width: 72,
+                        width:100,
                         autoSave: true,
-                        editor: "text"
+                        editor: dijit.form.ValidationTextBox,
+                        editorArgs: {
+                            required: true,
+                            id: this.id + "sprayXmlTargetRowTag",
+                            placeholder: this.i18n.RequiredForXML,
+                            promptMessage: this.i18n.RequiredForXML
+                        }
                     })
                 }
             });
@@ -715,7 +730,7 @@ define([
                     lang.mixin(item, lang.mixin({
                         targetName: item.displayName,
                         targetRecordLength: "",
-                        targetRowTag: context.i18n.tag,
+                        targetRowTag: "",
                         targetRowPath: "/"
                     }, item));
                     data.push(item);

+ 2 - 0
esp/src/eclwatch/nls/hpcc.js

@@ -399,6 +399,7 @@ define({root:
     RenderSVG: "Render SVG",
     Replicate: "Replicate",
     RequestSchema: "Request Schema",
+    RequiredForXML: "Required for spraying XML",
     Reschedule: "Reschedule",
     Reset: "Reset",
     ResetThisQuery: "Reset This Query?",
@@ -484,6 +485,7 @@ define({root:
     TargetClusters: "Target Clusters",
     TargetName: "Target Name",
     TargetNamePlaceholder: "some::logical::name",
+    TargetRowTagRequired: "You must supply a target row tag",
     TargetScope: "Target Scope",
     TargetWuid: "Target/Wuid",
     Terminators: "Terminators",