Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.06.2023, 19:13
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

config для выборки данных
сразу скажу что все работает, но есть пару вопросов, буду рад любому совету или критике

Задача: создать config, на основании которого можно было формировать таблицы (tr th td) с данными из объекта (данные лежат не на первой лини
const config={
  tableLeft:[    
    {"Building dimensions":"general.data.Building dimensions"},
    {"Buildings on lot":"general.data.Buildings on lot"}
  ],
  tableRight:[
    {"Allowed usable floor area":"general.data.Allowed usable floor area"},
    {"Usable floor area as built":"general.data.Usable floor area as built"}
  ]
}
const res=await getObjectOne(id)
document.getElementById(id).querySelector(".product_table.left").insertAdjacentHTML('beforeend', array_to_table(config.tableLeft,res))
document.getElementById(id).querySelector(".product_table.right").insertAdjacentHTML('beforeend', array_to_table(config.tableRight,res))

function array_to_table(array,obj){
  let cls=`cls${Math.floor(Math.random() * 9000) + 1000}`;
  let style=`<style scoped>
  .${cls} th, .${cls}  td { color: #A52A2A;}
  </style>`  
  return `${style}<table class=${cls}> ${array.map(e=>`<tr><th>${Object.keys(e)[0]}<td>${e[Object.keys(e)[0]].split('.').reduce((a,c)=>a[c],obj)}`).join("")}`
}

Главный вопрос: правильно ли я организовал сам config, может есть какие-то стандарты, сам путь к объекту может задавать по другому, чтоб потом не делать .split('.').reduce((a,c)=>a[c],obj)

Второстепенный вопрос: почему не работает "scoped", приходится задавать cls, чтоб стили не лезли на другие таблицы
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2023, 07:36
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Сообщение от od0201
Второстепенный вопрос: почему не работает "scoped",
Этот атрибут когда то поддерживался только ФФ, но сейчас не поддерживается ни одни браузером
https://caniuse.com/?search=scoped
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать get-service для данных в формате JSON? Jaxx Общие вопросы Javascript 0 26.12.2017 17:24
Как блокировать input для изменений, но не для отправки данных? Walk Общие вопросы Javascript 13 20.09.2017 18:38
Создание файлов для хранения данных KupueIIIKo Общие вопросы Javascript 11 04.12.2013 13:52
JavaScript для поиска данных в текстовых БД - Вопрос по скрипту zzibn Общие вопросы Javascript 0 05.06.2010 13:22
Сохранение данных для передачи с одной страницы в другую Andrey Freeman Общие вопросы Javascript 6 15.09.2008 22:32