diff --git a/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js b/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js index ba7e2a0a68516aead646fd6e31794ec482c6132a..bed0a742a19ac942a70fa7491b5e09451bcf628c 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/components/Timeline/CalendarTimeline.js @@ -1515,7 +1515,7 @@ export class CalendarTimeline extends Component { <div className='col-1 su-legend su-finished' title="Finished">Finished</div> </div> </div> - {!this.props.showSunTimings && + {/* {!this.props.showSunTimings && */} <div className="col-3"> <div style={{fontWeight:'500', height: '25px'}}>Station Reservation</div> <div className="p-grid"> @@ -1525,7 +1525,7 @@ export class CalendarTimeline extends Component { <div className="col-3 su-legend reserve-dynamic" title="Dynamic">Dynamic</div> </div> </div> - } + {/* } */} </div> <Timeline groups={this.state.group} 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 6fb9c245967251bc7d9126d77f5e1968a0dbbb73..7b5cf287afdfbd692501da0786616044813903a2 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}); @@ -686,6 +688,7 @@ export class SchedulingSetCreate extends Component { * Function to prepare row data for ag-grid. */ async prepareScheduleUnitListForGrid(){ + let defaultCommonRowData ={}; this.agSUWithDefaultValue = {'id': 0, 'suname': '', 'sudesc': ''}; let schedulingUnitList = _.filter(this.state.schedulingUnitList,{'observation_strategy_template_id': this.state.observStrategy.id}); if ( schedulingUnitList && schedulingUnitList.length === 0) { @@ -698,7 +701,7 @@ export class SchedulingSetCreate extends Component { this.tmpRowData = []; let totalSU = this.state.noOfSU; let lastRow = {}; - let hasSameValue = true; + //let hasSameValue = true; if(schedulingUnitList && schedulingUnitList.length > 0) { for(const scheduleunit of schedulingUnitList){ let observationProps = { @@ -798,18 +801,29 @@ export class SchedulingSetCreate extends Component { //Set values for global row if all rows has same value if (_.isEmpty(lastRow)) { lastRow = observationProps; - } else if (!_.isEqual( + defaultCommonRowData = _.cloneDeep(observationProps); + } else /* if (!_.isEqual( _.omit(lastRow, ['id']), _.omit(observationProps, ['id']) - )) { - hasSameValue = false; + )) */ { + + const keys = Object.keys(lastRow); + for (const key of keys) { + if (key === 'daily') { + console.log("key =>",key,lastRow[key], observationProps[key]) + } + if ( !_.isEqual(lastRow[key], observationProps[key])) { + defaultCommonRowData[key] = ''; + } + } + //hasSameValue = false; } } } - let defaultCommonRowData = {}; + /* let defaultCommonRowData = {}; if (hasSameValue) { defaultCommonRowData = observationPropsList[observationPropsList.length-1]; - } + }*/ this.tmpRowData = observationPropsList; // find No. of rows filled in array let totalCount = this.tmpRowData.length; @@ -853,7 +867,7 @@ export class SchedulingSetCreate extends Component { isAGLoading: false, commonRowData: [defaultCommonRowData], defaultCommonRowData: defaultCommonRowData, - hasSameValue: hasSameValue + // hasSameValue: hasSameValue }); {this.state.gridApi && this.state.gridApi.setRowData(this.state.rowData); @@ -2296,25 +2310,25 @@ export class SchedulingSetCreate extends Component { /** * Reset the top table values */ - resetCommonData(){ - this.setState({commonRowData: []}); + async resetCommonData(){ + await this.setState({commonRowData: []}); let tmpData = [this.state.defaultCommonRowData]; //[...[this.state.emptyRow]]; let gRowData = {}; for (const key of _.keys(tmpData[0])) { if (key === 'id') { gRowData[key] = tmpData[0][key]; } - else if(this.state.hasSameValue) { + //else if(this.state.hasSameValue) { gRowData['gdef_'+key] = tmpData[0][key]; - } else { + /*} else { gRowData['gdef_'+key] = ''; - } + }*/ } - gRowData['offset_from_max'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.from.maximum; - gRowData['offset_from_min'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.from.minimum; - gRowData['offset_to_max'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.to.maximum; - gRowData['offset_to_min'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.to.minimum; - this.setState({commonRowData: [gRowData]}); + gRowData['gdef_offset_from_max'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.from.maximum; + gRowData['gdef_offset_from_min'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.from.minimum; + gRowData['gdef_offset_to_max'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.to.maximum; + gRowData['gdef_offset_to_min'] = this.constraintSchema.schema.properties.sky.properties.transit_offset.properties.to.minimum; + await this.setState({commonRowData: [gRowData]}); } /** @@ -2446,7 +2460,8 @@ export class SchedulingSetCreate extends Component { row[key] = value; } else { - row[key] = (_.isEmpty(value))? row[key] : value; + //Lodash is not checking the number, so append string + row[key] = (_.isEmpty(value+''))? row[key] : value; } } });