Fix default title issues when using a template

pull/1/head
yflory 7 years ago
parent b87e7c003b
commit 3f8b6d3b8a

@ -626,7 +626,6 @@ define([
} }
} }
sframeChan.query('Q_SAVE_AS_TEMPLATE', { sframeChan.query('Q_SAVE_AS_TEMPLATE', {
title: title,
toSave: toSave toSave: toSave
}, function () { }, function () {
UI.alert(Messages.templateSaved); UI.alert(Messages.templateSaved);

@ -446,6 +446,26 @@ define([
}).nThen(function () { }).nThen(function () {
Crypt.get(parsed.hash, function (err, val) { Crypt.get(parsed.hash, function (err, val) {
if (err) { throw new Error(err); } if (err) { throw new Error(err); }
try {
// Try to fix the title before importing the template
var parsed = JSON.parse(val);
var meta;
if (Array.isArray(parsed) && typeof(parsed[3]) === "object") {
meta = parsed[3].metadata; // pad
} else if (parsed.info) {
meta = parsed.info; // poll
} else {
meta = parsed.metadata;
}
if (typeof(meta) === "object") {
meta.defaultTitle = meta.title || meta.defaultTitle;
delete meta.users;
delete meta.title;
}
val = JSON.stringify(parsed);
} catch (e) {
console.log("Can't fix template title", e);
}
Crypt.put(parsed2.hash, val, cb, optsPut); Crypt.put(parsed2.hash, val, cb, optsPut);
}, optsGet); }, optsGet);
}); });

@ -42,6 +42,9 @@ define([
exp.updateTitle = function (newTitle, cb) { exp.updateTitle = function (newTitle, cb) {
cb = cb || $.noop; cb = cb || $.noop;
if (newTitle === exp.title) { return void cb(); } if (newTitle === exp.title) { return void cb(); }
if (newTitle === exp.defaultTitle) {
newTitle = "";
}
metadataMgr.updateTitle(newTitle); metadataMgr.updateTitle(newTitle);
titleUpdated = cb; titleUpdated = cb;
}; };
@ -51,7 +54,9 @@ define([
if ($title) { if ($title) {
$title.find('span.cp-toolbar-title-value').text(md.title || md.defaultTitle); $title.find('span.cp-toolbar-title-value').text(md.title || md.defaultTitle);
$title.find('input').val(md.title || md.defaultTitle); $title.find('input').val(md.title || md.defaultTitle);
$title.find('input').prop('placeholder', md.defaultTitle);
} }
exp.defaultTitle = md.defaultTitle;
exp.title = md.title; exp.title = md.title;
}); });
metadataMgr.onTitleChange(function (title) { metadataMgr.onTitleChange(function (title) {

Loading…
Cancel
Save