1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-08-02 11:30:22 +02:00

save layout inside item.

This commit is contained in:
Kushagra Gour
2016-11-14 15:05:20 +05:30
parent ba107760ed
commit ba0f8d02a1

View File

@@ -43,8 +43,8 @@
, sass , sass
, currentItem , currentItem
, savedItems , savedItems
// TODO: for legacy reasons when. remove after sometime. // TODO: for legacy reasons when. Will be refactored as global preferences.
, syncedModes = {} , prefs = {}
// DOM nodes // DOM nodes
, frame = $('#demo-frame') , frame = $('#demo-frame')
@@ -147,6 +147,7 @@
currentItem.cssMode = cssMode; currentItem.cssMode = cssMode;
currentItem.jsMode = jsMode; currentItem.jsMode = jsMode;
currentItem.updatedOn = Date.now(); currentItem.updatedOn = Date.now();
currentItem.layoutMode = currentLayoutMode;
utils.log('saving key', key || currentItem.id, currentItem) utils.log('saving key', key || currentItem.id, currentItem)
saveSetting(key || currentItem.id, currentItem, function () { saveSetting(key || currentItem.id, currentItem, function () {
alertsService.add('Item saved.'); alertsService.add('Item saved.');
@@ -224,9 +225,11 @@
editur.cm.css.refresh(); editur.cm.css.refresh();
editur.cm.js.refresh(); editur.cm.js.refresh();
updateHtmlMode(currentItem.htmlMode || syncedModes.html || HtmlModes.HTML); updateHtmlMode(currentItem.htmlMode || prefs.htmlMode || HtmlModes.HTML);
updateJsMode(currentItem.jsMode || syncedModes.js || JsModes.JS); updateJsMode(currentItem.jsMode || prefs.jsMode || JsModes.JS);
updateCssMode(currentItem.cssMode || syncedModes.css || CssModes.CSS); updateCssMode(currentItem.cssMode || prefs.cssMode || CssModes.CSS);
toggleLayout(currentItem.layoutMode || prefs.layoutMode);
} }
/** /**
@@ -264,9 +267,6 @@
handleModeRequirements(value); handleModeRequirements(value);
editur.cm.html.setOption('mode', modes[value].cmMode); editur.cm.html.setOption('mode', modes[value].cmMode);
CodeMirror.autoLoadMode(editur.cm.html, modes[value].cmMode); CodeMirror.autoLoadMode(editur.cm.html, modes[value].cmMode);
chrome.storage.sync.set({
htmlMode: value
}, function () {});
} }
function updateCssMode(value) { function updateCssMode(value) {
cssMode = value; cssMode = value;
@@ -274,9 +274,6 @@
handleModeRequirements(value); handleModeRequirements(value);
editur.cm.css.setOption('mode', modes[value].cmMode); editur.cm.css.setOption('mode', modes[value].cmMode);
CodeMirror.autoLoadMode(editur.cm.css, modes[value].cmMode); CodeMirror.autoLoadMode(editur.cm.css, modes[value].cmMode);
chrome.storage.sync.set({
cssMode: value
}, function () {});
} }
function updateJsMode(value) { function updateJsMode(value) {
jsMode = value; jsMode = value;
@@ -284,9 +281,10 @@
handleModeRequirements(value); handleModeRequirements(value);
editur.cm.js.setOption('mode', modes[value].cmMode); editur.cm.js.setOption('mode', modes[value].cmMode);
CodeMirror.autoLoadMode(editur.cm.js, modes[value].cmMode); CodeMirror.autoLoadMode(editur.cm.js, modes[value].cmMode);
chrome.storage.sync.set({ // FIXME: Will be saved as part of global settings
/*chrome.storage.sync.set({
jsMode: value jsMode: value
}, function () {}); }, function () {});*/
} }
// computeHtml, computeCss & computeJs evaluate the final code according // computeHtml, computeCss & computeJs evaluate the final code according
@@ -626,6 +624,7 @@
code: '' code: ''
}, function localGetCallback(result) { }, function localGetCallback(result) {
toggleLayout(result.layoutMode); toggleLayout(result.layoutMode);
prefs.layoutMode = result.layoutMode;
if (result.code) { if (result.code) {
lastCode = result.code; lastCode = result.code;
} }
@@ -644,7 +643,7 @@
utils.log('Load item ', lastCode.id) utils.log('Load item ', lastCode.id)
currentItem = result[lastCode.id]; currentItem = result[lastCode.id];
refreshEditor(); refreshEditor();
}) });
} else { } else {
utils.log('Load last unsaved item'); utils.log('Load last unsaved item');
currentItem = lastCode; currentItem = lastCode;
@@ -653,9 +652,9 @@
} else { } else {
createNewItem(); createNewItem();
} }
syncedModes.html = result.htmlmode; prefs.htmlMode = result.htmlmode;
syncedModes.css = result.cssMode; prefs.cssMode = result.cssMode;
syncedModes.js = result.jsMode; prefs.jsMode = result.jsMode;
}); });
// Check for new version notifications // Check for new version notifications