Add default content and default template to forms

pull/1/head
yflory 4 years ago
parent 1a288f5896
commit 8a07b66843

@ -2450,6 +2450,7 @@ define([
'title': name, 'title': name,
}).appendTo($container); }).appendTo($container);
$span.data('id', obj.id); $span.data('id', obj.id);
if (obj.content) { $span.data('content', obj.content); }
if (idx === selected) { $span.addClass('cp-creation-template-selected'); } if (idx === selected) { $span.addClass('cp-creation-template-selected'); }
if (!obj.thumbnail) { if (!obj.thumbnail) {
$span.append(obj.icon || h('span.cptools.cptools-template')); $span.append(obj.icon || h('span.cptools.cptools-template'));
@ -2605,6 +2606,7 @@ define([
var $template = $creation.find('.cp-creation-template-selected'); var $template = $creation.find('.cp-creation-template-selected');
var templateId = $template.data('id') || undefined; var templateId = $template.data('id') || undefined;
var templateContent = $template.data('content') || undefined;
// Team // Team
var team; var team;
if (teamValue) { if (teamValue) {
@ -2617,6 +2619,7 @@ define([
password: passwordVal, password: passwordVal,
expire: expireVal, expire: expireVal,
templateId: templateId, templateId: templateId,
templateContent: templateContent,
team: team team: team
}; };
}; };

@ -1478,28 +1478,45 @@ define([
return 'thumbnail-' + parsed.type + '-' + channel; return 'thumbnail-' + parsed.type + '-' + channel;
}; };
sframeChan.on('Q_CREATE_TEMPLATES', function (type, cb) { sframeChan.on('Q_CREATE_TEMPLATES', function (type, cb) {
Cryptpad.getSecureFilesList({ var templates;
types: [type], nThen(function (waitFor) {
where: ['template'] var next = waitFor();
}, function (err, data) { require([
// NOTE: Never return data directly! '/'+type+'/templates.js'
if (err) { return void cb({error: err}); } ], function (Templates) {
templates = Templates;
var res = []; next();
nThen(function (waitFor) { }, function () {
Object.keys(data).map(function (el) { next();
var k = getKey(data[el].href, data[el].channel); });
Utils.LocalStore.getThumbnail(k, waitFor(function (e, thumb) { }).nThen(function () {
res.push({ Cryptpad.getSecureFilesList({
id: el, types: [type],
name: data[el].filename || data[el].title || '?', where: ['template']
thumbnail: thumb, }, function (err, data) {
used: data[el].used || 0 // NOTE: Never return data directly!
if (err) { return void cb({error: err}); }
var res = [];
nThen(function (waitFor) {
Object.keys(data).map(function (el) {
var k = getKey(data[el].href, data[el].channel);
Utils.LocalStore.getThumbnail(k, waitFor(function (e, thumb) {
res.push({
id: el,
name: data[el].filename || data[el].title || '?',
thumbnail: thumb,
used: data[el].used || 0
});
}));
});
}).nThen(function () {
if (Array.isArray(templates)) {
templates.forEach(function (obj) {
res.push(obj);
}); });
})); }
cb({data: res});
}); });
}).nThen(function () {
cb({data: res});
}); });
}); });
}); });
@ -1892,6 +1909,7 @@ define([
Utils.rtConfig = rtConfig; Utils.rtConfig = rtConfig;
var templatePw; var templatePw;
nThen(function(waitFor) { nThen(function(waitFor) {
if (data.templateContent) { return; }
if (data.templateId) { if (data.templateId) {
if (data.templateId === -1) { if (data.templateId === -1) {
isTemplate = true; isTemplate = true;
@ -1905,6 +1923,14 @@ define([
} }
}).nThen(function () { }).nThen(function () {
var cryptputCfg = $.extend(true, {}, rtConfig, {password: password}); var cryptputCfg = $.extend(true, {}, rtConfig, {password: password});
if (data.templateContent) {
Cryptget.put(currentPad.hash, JSON.stringify(data.templateContent), function () {
console.error(arguments);
startRealtime();
cb();
}, cryptputCfg);
return;
}
if (data.template) { if (data.template) {
// Start OO with a template... // Start OO with a template...
// Cryptget and give href, password and content to inner // Cryptget and give href, password and content to inner

@ -458,7 +458,8 @@ define([
password: cfg.password, password: cfg.password,
team: cfg.team, team: cfg.team,
template: cfg.template, template: cfg.template,
templateId: cfg.templateId templateId: cfg.templateId,
templateContent: cfg.templateContent
}, cb); }, cb);
}; };

@ -2579,11 +2579,14 @@ define([
if (APP.isEditor) { if (APP.isEditor) {
if (!content.form) { if (!content.form) {
content.form = {}; content.form = {
"1": { type: 'md' },
"2": { type: 'radio' }
};
framework.localChange(); framework.localChange();
} }
if (!content.order) { if (!content.order) {
content.order = []; content.order = ["1", "2"];
framework.localChange(); framework.localChange();
} }
if (!content.answers || !content.answers.channel || !content.answers.publicKey || !content.answers.validateKey) { if (!content.answers || !content.answers.channel || !content.answers.publicKey || !content.answers.validateKey) {
@ -2594,6 +2597,7 @@ define([
}; };
framework.localChange(); framework.localChange();
} }
checkIntegrity();
} }
sframeChan.event('EV_FORM_PIN', {channel: content.answers.channel}); sframeChan.event('EV_FORM_PIN', {channel: content.answers.channel});

Loading…
Cancel
Save