Skip to content

Commit

Permalink
fix: select set
Browse files Browse the repository at this point in the history
  • Loading branch information
Elena-Cake committed Dec 13, 2022
1 parent 4b5a9e8 commit 32e81ca
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 82 deletions.
2 changes: 1 addition & 1 deletion src/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ <h4 class="table__title">Изменение перечня контролиру
<template class="elements__list-approach">
<div class="element approach__list-structure" id="ko">
<select class="item__input list__type table__select approach__type-orbit item__input_type_orbite" name="typeOrbite" id="type-orbite">
<option disabled value="not">Выберите тип</option>
<!-- <option selected value="not">Выберите тип</option> -->
<option value="GEO">ГСО</option>
<option value="MOE">СВО</option>
<option value="HEO">ВЭО</option>
Expand Down
172 changes: 102 additions & 70 deletions src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,12 @@ import {

inputMassage,

listTableLists
listTableLists,

buttonAddDocument,
buttonResetForm,

titleForm

,objInfo

Expand Down Expand Up @@ -109,75 +114,87 @@ function getInputValues (inputList) {
return inputsValues
}

function createSimpleObject (section, info) {
function createArrayObject (section, info) {
const elementsList = (section.listTable.querySelectorAll('.element'));

elementsList.forEach((element) => {
const inputList = element.querySelectorAll('.item__input')
info.push(getInputValues(inputList))
createSimpleObject(element, info)
})
return info
}

function createSimpleObject (element, info) {
const inputList = element.querySelectorAll('.item__input')
info.push(getInputValues(inputList))
}

let data = {}
// сбор данных в объект

formAddDocument.addEventListener('submit', (evt) =>{
data = {}
evt.preventDefault();
data.TaskNum = getInputValues (Assingment.inputList)
data.Directive = {}
data.Message = inputMassage.value
data = {}
evt.preventDefault();
data.TaskNum = getInputValues (Assingment.inputList)
data.Directive = {}
data.Message = inputMassage.value


// Condition
if (isTableNotEmpty(Condition.listTable)) {
data.Directive.Condition = {}
let info = data.Directive.Condition.ObjectInfos = []
info = createArrayObject(Condition, info)
}
// Destroy
if (isTableNotEmpty(Destroy.listTable)) {
data.Directive.BreakUp = {}
let info = data.Directive.BreakUp.ObjectInfos = []
info = createArrayObject(Destroy, info)
}
// Deorbit
if (isTableNotEmpty(Deorbit.listTable)) {
data.Directive.Deorbit = {}
let info = data.Directive.Deorbit.ObjectInfos = []
info = createArrayObject(Deorbit, info)
}
// Spacecraft
if (isTableNotEmpty(Spacecraft.listTable)) {
data.Directive.ConditionKA = {}
let info = data.Directive.ConditionKA.ObjectInfos = []
info = createArrayObject(Spacecraft, info)
}
// Approach
if (isTableNotEmpty(Approach.listTable)) {
data.Directive.CollisionApproach = {}
const info = data.Directive.CollisionApproach.Pairs = []
const elementsList = (document.querySelector('.approach__list').querySelectorAll('.element'));

elementsList.forEach((element, index) => {
const obj = {}
obj.IdPairs = index+1
obj.CollisionApproachEpoch = element.querySelector('.item__input_type_time').value
obj.OrbiteType = element.querySelector('.item__input_type_orbite').value

const itemList = element.querySelectorAll('.objects__item')
const inputList1 = itemList[0].querySelectorAll('.item__input')
const inputList2 = itemList[1].querySelectorAll('.item__input')

// Condition
if (isTableNotEmpty(Condition.listTable)) {
data.Directive.Condition = {}
let info = data.Directive.Condition.ObjectInfos = []
info = createSimpleObject(Condition, info)
}
// Destroy
if (isTableNotEmpty(Destroy.listTable)) {
data.Directive.BreakUp = {}
let info = data.Directive.BreakUp.ObjectInfos = []
info = createSimpleObject(Destroy, info)
}
// Deorbit
if (isTableNotEmpty(Deorbit.listTable)) {
data.Directive.Deorbit = {}
let info = data.Directive.Deorbit.ObjectInfos = []
info = createSimpleObject(Deorbit, info)
}
// Spacecraft
if (isTableNotEmpty(Spacecraft.listTable)) {
data.Directive.ConditionKA = {}
let info = data.Directive.ConditionKA.ObjectInfos = []
info = createSimpleObject(Spacecraft, info)
}
// Approach
if (isTableNotEmpty(Approach.listTable)) {
data.Directive.CollisionApproach = {}
const info = data.Directive.CollisionApproach.Pairs = []
const elementsList = (document.querySelector('.approach__list').querySelectorAll('.element'));

elementsList.forEach((element, index) => {
const obj = {}
obj.IdPairs = index+1
obj.CollisionApproachEpoch = element.querySelector('.item__input_type_time').value
obj.OrbiteType = element.querySelector('.item__input_type_orbite').value
obj.FirstObject = (getInputValues(inputList1))
obj.SecondObject = (getInputValues(inputList2))

const itemList = element.querySelectorAll('.objects__item')
const inputList1 = itemList[0].querySelectorAll('.item__input')
const inputList2 = itemList[1].querySelectorAll('.item__input')
info.push(obj)
})
}
// итоговый объект
console.log (data)
buttonAddDocument.textContent = 'Добавить задание'
titleForm.textContent = 'Создание задания:'
formAddDocument.reset()
})

obj.FirstObject = (getInputValues(inputList1))
obj.SecondObject = (getInputValues(inputList2))

info.push(obj)
})
}
// итоговый объект
console.log (data)
// обработка названия формы при сбросе формы
buttonResetForm.addEventListener('click', ()=>{
titleForm.textContent = 'Создание задания:'
})


Expand All @@ -193,17 +210,31 @@ formFindDocument.addEventListener('submit', (evt)=> {
clearForm(formAddDocument)
setAssingmentInfo(Assingment,objInfo)

const elementsListCollision = objInfo.Directive.CollisionApproach.Pairs;
const elementsListCondition = objInfo.Directive.Condition.ObjectInfos;
const elementsListBrakeUp = objInfo.Directive.BreakUp.ObjectInfos;
const elementsListDeorbit = objInfo.Directive.Deorbit.ObjectInfos;
const elementsListSpacecraft = objInfo.Directive.ConditionKA.ObjectInfos;

setInfoCollision(Approach, elementsListCollision)
setInfoSimple(Condition, elementsListCondition)
setInfoSimple(Destroy, elementsListBrakeUp)
setInfoSimple(Deorbit, elementsListDeorbit)
setInfoSimple(Spacecraft, elementsListSpacecraft)

if (objInfo.Directive.CollisionApproach) {
const elementsListCollision = objInfo.Directive.CollisionApproach.Pairs;
setInfoCollision(Approach, elementsListCollision);
}
if (objInfo.Directive.Condition) {
const elementsListCondition = objInfo.Directive.Condition.ObjectInfos;
setInfoSimple(Condition, elementsListCondition);
}
if (objInfo.Directive.BreakUp) {
const elementsListBrakeUp = objInfo.Directive.BreakUp.ObjectInfos;
setInfoSimple(Destroy, elementsListBrakeUp);
}
if (objInfo.Directive.Deorbit) {
const elementsListDeorbit = objInfo.Directive.Deorbit.ObjectInfos;
setInfoSimple(Deorbit, elementsListDeorbit);
}
if (objInfo.Directive.ConditionKA) {
const elementsListSpacecraft = objInfo.Directive.ConditionKA.ObjectInfos;
setInfoSimple(Spacecraft, elementsListSpacecraft)
}

inputMassage.value = objInfo.Message
buttonAddDocument.textContent = 'Изменить задание'
titleForm.textContent = 'Редактирование задания:'
})

function clearForm (form) {
Expand All @@ -224,12 +255,12 @@ function doNotEditInputs (card) {
}

//___________________________________
// отрисовка полученного задания
// отрисовка полученного задания
//___________________________________
function setAssingmentInfo (section, infoObj) {
function setAssingmentInfo (section, objInfo) {

section.inputList.forEach(input=>{
input.value = infoObj[input.name]
input.value = objInfo.TaskNum[input.name]
})
}

Expand Down Expand Up @@ -266,7 +297,8 @@ function setInfoCollision (section, elementsList) {

const inputOrbite = card.querySelector('.item__input_type_orbite').getElementsByTagName('option');
for (let i = 0; i < inputOrbite.length; i++) {
if (inputOrbite[i].value === element.TypeOrbite) inputOrbite[i].selected = true;
if (inputOrbite[i].value == element.OrbiteType)
inputOrbite[i].selected = true;
}
doNotEditInputs(card)
})
Expand Down
13 changes: 2 additions & 11 deletions src/utils/constans.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export const formAddDocument = document.querySelector('.form');
export const buttonAddDocument = document.querySelector('.form__btn-save');
export const buttonResetForm = document.querySelector('.form__btn-reset');

export const titleForm = document.querySelector('.assingment__title');

// massage
export const inputMassage = document.querySelector('.massage__text');
Expand Down Expand Up @@ -92,7 +93,7 @@ export const objInfo = {
LocalNumber : null
},
CollisionApproachEpoch : '2022-10-20T18:15:05.00' ,
OrbiteType : 'GEO'
OrbiteType : 'MOE'
}
]
},
Expand Down Expand Up @@ -127,16 +128,6 @@ export const objInfo = {
LocalNumber : null
}
]
},
Condition : {
ObjectInfos : [
{
ObjectNumber : 5793,
NoradNumber : 37951,
IntDes : '2011-074B ',
LocalNumber : null
}
]
},
ConditionKA : {
ObjectInfos : [
Expand Down

0 comments on commit 32e81ca

Please sign in to comment.