Возможно совместить скрипты для IndexedDB с таблицей от w2ui? Для создания макета клиента распределенной сети глаз упал на:
- w2ui библиотека (минимализм, практически все нужные виджеты с настроенными действиями).
- Для "десктопизации" работает NW.JS. Кроме размера конечной сборки вопросов нет.
- Для сборки и тестирования порадовал NW.JS IDE.
- Для хранения - встроенная IndexedDB.
Текущий вопрос - как подружить скрипт записи данных в базу со скриптом создающим грид?
Скрипт таблицы. В демо библиотеки вопрос как читать базу данных как то не раскрыт.
$(function () {
$('#grid').w2grid({
name: 'grid',
method: 'GET', // need this to avoid 412 error on Safari
columns: [
{ field: 'pub-biblioid', caption: 'pub-biblioid', size: '30%', sortable: true },
{ field: 'pub-title', caption: 'pub-title', size: '30%', sortable: true },
]
});
w2ui['grid'].load('data/list.json');
});
Данные пишутся из bodyID:(Обязательное уникальное значение)
Фамилия

Скрипт записи и чтения большой, весь приводить наверное не надо. То что он работает видно по F12 и в собственной таблице. А вот встроить данные в грид с поиском, сортировкой и прочим не получается. Помогайте.
(function () {
var COMPAT_ENVS = [
['Firefox', ">= 16.0"],
['Google Chrome',
">= 24.0 (you may need to get Google Chrome Canary), NO Blob storage support"]
];
var compat = $('#compat');
compat.empty();
compat.append('');
COMPAT_ENVS.forEach(function(val, idx, array) {
$('#compat-list').append('' + val[0] + ': ' + val[1] + '');
});
const DB_NAME = 'LKI DB DEMO';
const DB_VERSION = 1; // Use a long long for this value (don't use a float)
const DB_STORE_NAME = 'publications';
var db;
// Used to keep track of which view is displayed to avoid to uselessly reload it
var current_view_pub_key;
function openDb() {
console.log("openDb ...");
var req = indexedDB.open(DB_NAME, DB_VERSION);
req.onsuccess = function (evt) {
// Better use "this" than "req" to get the result to avoid problems with
// garbage collection.
// db = req.result;
db = this.result;
console.log("openDb DONE");
};
req.onerror = function (evt) {
console.error("openDb:", evt.target.errorCode);
};
req.onupgradeneeded = function (evt) {
console.log("openDb.onupgradeneeded");
var thisDB = evt.target.result;
if (!thisDB.objectStoreNames.contains(DB_STORE_NAME)) {
var store = thisDB.createObjectStore(
DB_STORE_NAME, { keyPath: 'id', autoIncrement: true });

store.createIndex('biblioid', 'biblioid', { unique: false });
store.createIndex('title', 'title', { unique: false });
store.createIndex('year', 'year', { unique: false });
}
};
}
Буду рад если кто сможет консультировать или готов к партнерству в вопросах JS и криптографии на долгосрочной основе с соответствующим интересом.
Всем остальным - стучитесь, может получится альтернатива крипте, фиату и ЭДО.

21 Авг 2019 в 07:10
216 +1
0
Ответы
1

Для того чтобы сочетать скрипты для IndexedDB с таблицей от w2ui, вам нужно сначала сохранить данные в базу данных IndexedDB, а затем загрузить эти данные в таблицу w2ui.

Ваш скрипт записи данных в базу IndexedDB должен содержать функцию для добавления записи в базу данных. После того, как вы успешно добавите данные в базу данных, вам нужно будет загрузить эти данные в таблицу w2ui, используя методы как load или recid.

Если у вас возникли проблемы с интеграцией этих двух скриптов, вам может потребоваться пересмотреть вашу логику и проверить правильность работы каждой части. Для более детальной консультации по этой теме, обратитесь к специалисту по JavaScript и базам данных.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир