Возможно совместить скрипты для 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
253 +1
0
Ответы
1

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

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

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

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир