From 90d0d1caa72f97e423bb0fd92c4974872d98037d Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Tue, 25 Sep 2018 15:19:07 +0100 Subject: [PATCH] [ML] Fixing issue when editing script fields in advanced job creator (#23475) --- .../jobs/new_job/advanced/new_job_controller.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/ml/public/jobs/new_job/advanced/new_job_controller.js b/x-pack/plugins/ml/public/jobs/new_job/advanced/new_job_controller.js index 5272620081f004..74f2aed20231c1 100644 --- a/x-pack/plugins/ml/public/jobs/new_job/advanced/new_job_controller.js +++ b/x-pack/plugins/ml/public/jobs/new_job/advanced/new_job_controller.js @@ -194,6 +194,7 @@ module.controller('MlNewJob', scrollSizeDefault: 1000, indicesText: '', typesText: '', + scriptFields: [], }, saveStatus: { job: 0, @@ -709,7 +710,16 @@ module.controller('MlNewJob', }); const indicesText = datafeedConfig.indices.join(','); - $scope.ui.fieldsUpToDate = (indicesText === $scope.ui.datafeed.indicesText); + + const scriptFields = (datafeedConfig.script_fields !== undefined) ? Object.keys(datafeedConfig.script_fields) : []; + + let fieldsUpToDate = true; + if (indicesText !== $scope.ui.datafeed.indicesText || _.isEqual(scriptFields, $scope.ui.datafeed.scriptFields) === false) { + fieldsUpToDate = false; + } + + $scope.ui.fieldsUpToDate = fieldsUpToDate; + const types = Array.isArray(datafeedConfig.types) ? datafeedConfig.types : []; $scope.ui.datafeed = { @@ -722,6 +732,7 @@ module.controller('MlNewJob', scrollSizeDefault: scrollSizeDefault, indicesText, typesText: types.join(','), + scriptFields, }; if ($scope.ui.fieldsUpToDate === false) {