mirror of
https://github.com/Kong/insomnia
synced 2024-11-08 06:39:48 +00:00
9e84bc4387
* Start on workspace dropdown and upgrade fontawesome * WorkspaceDropdown start and Elm components! * Lots of CSS shit * Refactor some db stuff and move filter out of sidebar * Adjust dropdown css * Handle duplicate header names, and stuff * Shitty cookies tab * fixed cookie table a bit * Modal refactor * Starteed cookie modal design * Better cookie storage and filter cookie modal * Cookie editor round 1 * Fix kve cursor jumping and form encoding templating * New cookies now show up in filter * Checkpoint * Stuff and fix environments css * Added manage cookies button to cookie pane * Fix accidental sidebar item drag on sidebar resize * Environments modal is looking pretty good now * Pretty much done environments nad cookies * Some changes * Fixed codemirror in modals * Fixed some things * Add basic proxy support * Updated shortcuts * Code snippet generation * Some style * bug fix * Code export now gets cookies for correct domain
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
import {bindActionCreators} from 'redux';
|
|
import * as entitiesActions from './modules/entities';
|
|
import * as db from '../database';
|
|
|
|
const CHANGE_ID = 'store.listener';
|
|
|
|
export function initStore (dispatch) {
|
|
db.offChange(CHANGE_ID);
|
|
|
|
const entities = bindActionCreators(entitiesActions, dispatch);
|
|
|
|
const docChanged = (event, doc) => {
|
|
if (!doc.hasOwnProperty('type')) {
|
|
return;
|
|
}
|
|
|
|
if (event === 'insert') {
|
|
entities.insert(doc);
|
|
} else if (event === 'update') {
|
|
entities.update(doc);
|
|
} else if (event === 'remove') {
|
|
entities.remove(doc);
|
|
}
|
|
};
|
|
|
|
console.log('-- Restoring Store --');
|
|
|
|
const start = Date.now();
|
|
|
|
// Restore docs in parent->child->grandchild order
|
|
return Promise.all([
|
|
db.settingsGet(),
|
|
db.workspaceAll(),
|
|
db.environmentAll(),
|
|
db.cookieJarAll(),
|
|
db.requestGroupAll(),
|
|
db.requestAll(),
|
|
db.responseAll()
|
|
]).then(results => {
|
|
for (let docs of results) {
|
|
docs = Array.isArray(docs) ? docs : [docs];
|
|
|
|
for (let doc of docs) {
|
|
docChanged('update', doc);
|
|
}
|
|
}
|
|
|
|
console.log(`-- Restored DB in ${(Date.now() - start) / 1000} s --`);
|
|
db.onChange(CHANGE_ID, docChanged);
|
|
});
|
|
}
|