diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.js index f71d9c67ae576a8a4670b29e8f39216f25818554..346f9f6e26353c9b8a256e010af0155d636a7a61 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/create.js @@ -170,32 +170,34 @@ export class SchedulingUnitCreate extends Component { const taskName = taskPaths[2]; taskPaths = taskPaths.slice(4, taskPaths.length); const task = tasks[taskName]; - const taskTemplate = _.find(this.taskTemplates, {'name': task['specifications_template']}); - if (taskTemplate.type_value==='observation' && task.specifications_doc.station_groups) { - station_group = task.specifications_doc.station_groups; - } - // Get the default Bandpass filter and pass to the editor to for frequency calculation from subband list - if (taskTemplate.type_value === 'observation' && task.specifications_doc.filter) { - bandPassFilter = task.specifications_doc.filter; - } else if (taskTemplate.type_value === 'observation' && taskTemplate.schema.properties.filter) { - bandPassFilter = taskTemplate.schema.properties.filter.default; - } - let taskTemplateSchema = this.taskTemplateSchemas[task['specifications_template']]; - if (!taskTemplateSchema) { - taskTemplateSchema = _.find(this.taskTemplates, {'name': task['specifications_template']}).schema; - taskTemplateSchema = await UtilService.resolveSchema(_.cloneDeep(taskTemplateSchema)); - //TODO: change the code to make custom fields work for server side resolved schema. - // taskTemplateSchema = await UtilService.getResolvedSchema(taskTemplate.url); - this.taskTemplateSchemas[task['specifications_template']] = taskTemplateSchema; - } - schema.definitions = {...schema.definitions, ...taskTemplateSchema.definitions}; - taskPaths.reverse(); - const paramProp = await ParserUtility.getParamProperty($strategyRefs, taskPaths, taskTemplateSchema, param); - schema.properties[param.name] = _.cloneDeep(paramProp); - if (schema.properties[param.name]) { - schema.properties[param.name].title = param.name; - schema.properties[param.name].default = $strategyRefs.get(param.refs[0]); - paramsOutput[param.name] = schema.properties[param.name].default; + if (task) { + const taskTemplate = _.find(this.taskTemplates, {'name': task['specifications_template']}); + if (taskTemplate.type_value==='observation' && task.specifications_doc.station_groups) { + station_group = task.specifications_doc.station_groups; + } + // Get the default Bandpass filter and pass to the editor to for frequency calculation from subband list + if (taskTemplate.type_value === 'observation' && task.specifications_doc.filter) { + bandPassFilter = task.specifications_doc.filter; + } else if (taskTemplate.type_value === 'observation' && taskTemplate.schema.properties.filter) { + bandPassFilter = taskTemplate.schema.properties.filter.default; + } + let taskTemplateSchema = this.taskTemplateSchemas[task['specifications_template']]; + if (!taskTemplateSchema) { + taskTemplateSchema = _.find(this.taskTemplates, {'name': task['specifications_template']}).schema; + taskTemplateSchema = await UtilService.resolveSchema(_.cloneDeep(taskTemplateSchema)); + //TODO: change the code to make custom fields work for server side resolved schema. + // taskTemplateSchema = await UtilService.getResolvedSchema(taskTemplate.url); + this.taskTemplateSchemas[task['specifications_template']] = taskTemplateSchema; + } + schema.definitions = {...schema.definitions, ...taskTemplateSchema.definitions}; + taskPaths.reverse(); + const paramProp = await ParserUtility.getParamProperty($strategyRefs, taskPaths, taskTemplateSchema, param); + schema.properties[param.name] = _.cloneDeep(paramProp); + if (schema.properties[param.name]) { + schema.properties[param.name].title = param.name; + schema.properties[param.name].default = $strategyRefs.get(param.refs[0]); + paramsOutput[param.name] = schema.properties[param.name].default; + } } } this.setState({observStrategy: observStrategy, paramsSchema: _.cloneDeep(schema), diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/edit.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/edit.js index 1774831fce1c7f372e7f35c55843fcbe2726b1b1..32a06b065c27872a3ea12731e8964d36ff6cea6c 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/edit.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/edit.js @@ -106,37 +106,39 @@ export class EditSchedulingUnit extends Component { for (const param of parameters) { let taskPaths = param.refs[0].split("/"); const taskName = taskPaths[2]; - tasksToUpdate[taskName] = taskName; taskPaths = taskPaths.slice(4, taskPaths.length); const task = tasks[taskName]; const taskDraft = this.state.taskDrafts.find(taskD => taskD.name === taskName); if (taskDraft) { task.specifications_doc = taskDraft.specifications_doc; } - const taskTemplate = _.find(this.taskTemplates, {'name': task['specifications_template']}); - if (taskTemplate.type_value==='observation' && task.specifications_doc.station_groups) { - station_group = task.specifications_doc.station_groups; - } - // Get the default Bandpass filter and pass to the editor to for frequency calculation from subband list - if (taskTemplate.type_value === 'observation' && task.specifications_doc.filter) { - bandPassFilter = task.specifications_doc.filter; - } else if (taskTemplate.type_value === 'observation' && taskTemplate.schema.properties.filter) { - bandPassFilter = taskTemplate.schema.properties.filter.default; - } - let taskTemplateSchema = this.taskTemplateSchemas[task['specifications_template']]; - if (!taskTemplateSchema) { - taskTemplateSchema = _.find(this.taskTemplates, {'name': task['specifications_template']}).schema; - taskTemplateSchema = await UtilService.resolveSchema(_.cloneDeep(taskTemplateSchema)); - this.taskTemplateSchemas[task['specifications_template']] = taskTemplateSchema; - } - schema.definitions = {...schema.definitions, ...taskTemplateSchema.definitions}; - taskPaths.reverse(); - const paramProp = await ParserUtility.getParamProperty($strategyRefs, taskPaths, taskTemplateSchema, param); - schema.properties[param.name] = _.cloneDeep(paramProp); - if (schema.properties[param.name]) { - schema.properties[param.name].title = param.name; - schema.properties[param.name].default = $strategyRefs.get(param.refs[0]); - paramsOutput[param.name] = schema.properties[param.name].default; + if (task) { + tasksToUpdate[taskName] = taskName; + const taskTemplate = _.find(this.taskTemplates, {'name': task['specifications_template']}); + if (taskTemplate.type_value==='observation' && task.specifications_doc.station_groups) { + station_group = task.specifications_doc.station_groups; + } + // Get the default Bandpass filter and pass to the editor to for frequency calculation from subband list + if (taskTemplate.type_value === 'observation' && task.specifications_doc.filter) { + bandPassFilter = task.specifications_doc.filter; + } else if (taskTemplate.type_value === 'observation' && taskTemplate.schema.properties.filter) { + bandPassFilter = taskTemplate.schema.properties.filter.default; + } + let taskTemplateSchema = this.taskTemplateSchemas[task['specifications_template']]; + if (!taskTemplateSchema) { + taskTemplateSchema = _.find(this.taskTemplates, {'name': task['specifications_template']}).schema; + taskTemplateSchema = await UtilService.resolveSchema(_.cloneDeep(taskTemplateSchema)); + this.taskTemplateSchemas[task['specifications_template']] = taskTemplateSchema; + } + schema.definitions = {...schema.definitions, ...taskTemplateSchema.definitions}; + taskPaths.reverse(); + const paramProp = await ParserUtility.getParamProperty($strategyRefs, taskPaths, taskTemplateSchema, param); + schema.properties[param.name] = _.cloneDeep(paramProp); + if (schema.properties[param.name]) { + schema.properties[param.name].title = param.name; + schema.properties[param.name].default = $strategyRefs.get(param.refs[0]); + paramsOutput[param.name] = schema.properties[param.name].default; + } } } this.setState({observStrategy: observStrategy, paramsSchema: schema, paramsOutput: paramsOutput, diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js index 7a42a8d80e0cc78dc6a1a6d8346797eeb2a5e5c8..18fc3bd74bc33504e62be9d4321af26c216eba38 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/excelview.schedulingset.js @@ -538,24 +538,26 @@ export class SchedulingSetCreate extends Component { tasksToUpdate[taskName] = taskName; taskPaths = taskPaths.slice(4, taskPaths.length); const task = tasks[taskName]; - const taskTemplate = _.find(this.taskTemplates, {'name': task['specifications_template']}); - if (taskTemplate.type_value==='observation' && task.specifications_doc.station_groups) { - station_group = task.specifications_doc.station_groups; - } - let taskTemplateSchema = this.taskTemplateSchemas[task['specifications_template']]; - if (!taskTemplateSchema) { - taskTemplateSchema = _.find(this.taskTemplates, {'name': task['specifications_template']}).schema; - taskTemplateSchema = await UtilService.resolveSchema(_.cloneDeep(taskTemplateSchema)); - this.taskTemplateSchemas[task['specifications_template']] = taskTemplateSchema; - } - schema.definitions = {...schema.definitions, ...taskTemplateSchema.definitions}; - taskPaths.reverse(); - const paramProp = await ParserUtility.getParamProperty($strategyRefs, taskPaths, taskTemplateSchema, param); - schema.properties[param.name] = _.cloneDeep(paramProp); - if (schema.properties[param.name]) { - schema.properties[param.name].title = param.name; - schema.properties[param.name].default = $strategyRefs.get(param.refs[0]); - paramsOutput[param.name] = schema.properties[param.name].default; + if (task) { + const taskTemplate = _.find(this.taskTemplates, {'name': task['specifications_template']}); + if (taskTemplate.type_value==='observation' && task.specifications_doc.station_groups) { + station_group = task.specifications_doc.station_groups; + } + let taskTemplateSchema = this.taskTemplateSchemas[task['specifications_template']]; + if (!taskTemplateSchema) { + taskTemplateSchema = _.find(this.taskTemplates, {'name': task['specifications_template']}).schema; + taskTemplateSchema = await UtilService.resolveSchema(_.cloneDeep(taskTemplateSchema)); + this.taskTemplateSchemas[task['specifications_template']] = taskTemplateSchema; + } + schema.definitions = {...schema.definitions, ...taskTemplateSchema.definitions}; + taskPaths.reverse(); + const paramProp = await ParserUtility.getParamProperty($strategyRefs, taskPaths, taskTemplateSchema, param); + schema.properties[param.name] = _.cloneDeep(paramProp); + if (schema.properties[param.name]) { + schema.properties[param.name].title = param.name; + schema.properties[param.name].default = $strategyRefs.get(param.refs[0]); + paramsOutput[param.name] = schema.properties[param.name].default; + } } } await this.setState({observStrategy: observStrategy, paramsSchema: schema, paramsOutput: paramsOutput,defaultStationGroups: station_group, tasksToUpdate: tasksToUpdate});