Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
commit
0ed6846e07
|
@ -129,6 +129,7 @@ define(function () {
|
|||
out.saveTemplatePrompt = "Choisir un titre pour ce modèle";
|
||||
out.templateSaved = "Modèle enregistré !";
|
||||
out.selectTemplate = "Sélectionner un modèle ou appuyer sur Échap";
|
||||
out.useTemplate = "Vous posséder des modèles pour ce type de pad, souhaitez-vous en utiliser un?";
|
||||
|
||||
out.previewButtonTitle = "Afficher ou cacher la prévisualisation de Markdown";
|
||||
|
||||
|
|
|
@ -131,6 +131,7 @@ define(function () {
|
|||
out.saveTemplatePrompt = "Choose a title for the template";
|
||||
out.templateSaved = "Template saved!";
|
||||
out.selectTemplate = "Select a template or press escape";
|
||||
out.useTemplate = "You have available templates for that type of pad. Do you want to use one?";
|
||||
|
||||
out.previewButtonTitle = "Display or hide the Markdown preview mode";
|
||||
|
||||
|
|
|
@ -81,6 +81,7 @@ nThen((waitFor) => {
|
|||
sema.take((returnAfter) => {
|
||||
Fs.stat(f, waitFor(returnAfter((err, st) => {
|
||||
if (err) { throw err; }
|
||||
st.filename = f;
|
||||
dsFileStats[f.replace(/^.*\/([^\/\.]*)(\.ndjson)?$/, (all, a) => (a))] = st;
|
||||
})));
|
||||
});
|
||||
|
@ -118,18 +119,27 @@ nThen((waitFor) => {
|
|||
}).nThen(() => {
|
||||
if (process.argv.indexOf('--unpinned') > -1) {
|
||||
const ot = process.argv.indexOf('--olderthan');
|
||||
let before = 0;
|
||||
let before = Infinity;
|
||||
if (ot > -1) {
|
||||
before = new Date(process.argv[ot+1]);
|
||||
if (isNaN(before)) {
|
||||
throw new Error('--olderthan error [' + process.argv[ot+1] + '] not a valid date');
|
||||
}
|
||||
}
|
||||
const bot = process.argv.indexOf('--blobsolderthan');
|
||||
let blobsbefore = before;
|
||||
if (bot > -1) {
|
||||
blobsbefore = new Date(process.argv[bot+1]);
|
||||
if (isNaN(blobsbefore)) {
|
||||
throw new Error('--blobsolderthan error [' + process.argv[bot+1] + '] not a valid date');
|
||||
}
|
||||
}
|
||||
Object.keys(dsFileStats).forEach((f) => {
|
||||
if (!(f in pinned)) {
|
||||
if ((+dsFileStats[f].mtime) >= before) { return; }
|
||||
console.log("./datastore/" + f.slice(0,2) + "/" + f + ".ndjson " +
|
||||
dsFileStats[f].size + " " + (+dsFileStats[f].mtime));
|
||||
const isBlob = dsFileStats[f].filename.indexOf('.ndjson') === -1;
|
||||
if ((+dsFileStats[f].mtime) >= ((isBlob) ? blobsbefore : before)) { return; }
|
||||
console.log(dsFileStats[f].filename + " " + dsFileStats[f].size + " " +
|
||||
(+dsFileStats[f].mtime));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
|
|
@ -442,27 +442,37 @@ define([
|
|||
UI.openTemplatePicker = function (common) {
|
||||
var metadataMgr = common.getMetadataMgr();
|
||||
var type = metadataMgr.getMetadataLazy().type;
|
||||
var first = true; // We can only pick a template once (for a new document)
|
||||
var fileDialogCfg = {
|
||||
onSelect: function (data) {
|
||||
if (data.type === type && first) {
|
||||
Cryptpad.addLoadingScreen({hideTips: true});
|
||||
var sframeChan = common.getSframeChannel();
|
||||
sframeChan.query('Q_TEMPLATE_USE', data.href, function () {
|
||||
first = false;
|
||||
Cryptpad.removeLoadingScreen();
|
||||
common.feedback('TEMPLATE_USED');
|
||||
});
|
||||
return;
|
||||
var sframeChan = common.getSframeChannel();
|
||||
|
||||
var onConfirm = function (yes) {
|
||||
if (!yes) { return; }
|
||||
var first = true; // We can only pick a template once (for a new document)
|
||||
var fileDialogCfg = {
|
||||
onSelect: function (data) {
|
||||
if (data.type === type && first) {
|
||||
Cryptpad.addLoadingScreen({hideTips: true});
|
||||
sframeChan.query('Q_TEMPLATE_USE', data.href, function () {
|
||||
first = false;
|
||||
Cryptpad.removeLoadingScreen();
|
||||
common.feedback('TEMPLATE_USED');
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
common.initFilePicker(fileDialogCfg);
|
||||
var pickerCfg = {
|
||||
types: [type],
|
||||
where: ['template']
|
||||
};
|
||||
common.openFilePicker(pickerCfg);
|
||||
};
|
||||
|
||||
sframeChan.query("Q_TEMPLATE_EXIST", type, function (err, data) {
|
||||
if (data) {
|
||||
Cryptpad.confirm(Messages.useTemplate, onConfirm);
|
||||
}
|
||||
};
|
||||
common.initFilePicker(common, fileDialogCfg);
|
||||
var pickerCfg = {
|
||||
types: [type],
|
||||
where: ['template']
|
||||
};
|
||||
common.openFilePicker(common, pickerCfg);
|
||||
});
|
||||
};
|
||||
|
||||
return UI;
|
||||
|
|
|
@ -297,6 +297,10 @@ define([
|
|||
sframeChan.on('Q_TEMPLATE_USE', function (href, cb) {
|
||||
Cryptpad.useTemplate(href, Cryptget, cb);
|
||||
});
|
||||
sframeChan.on('Q_TEMPLATE_EXIST', function (type, cb) {
|
||||
var hasTemplate = Cryptpad.listTemplates(type).length > 0;
|
||||
cb(hasTemplate);
|
||||
});
|
||||
|
||||
CpNfOuter.start({
|
||||
sframeChan: sframeChan,
|
||||
|
|
|
@ -104,6 +104,8 @@ define({
|
|||
|
||||
// Template picked, replace the content of the pad
|
||||
'Q_TEMPLATE_USE': true,
|
||||
// Check if we have template(s) for the selected pad type
|
||||
'Q_TEMPLATE_EXIST': true,
|
||||
|
||||
// File upload queries and events
|
||||
'Q_UPLOAD_FILE': true,
|
||||
|
|
Loading…
Reference in New Issue