Name a place before creating it in the drive
This commit is contained in:
@@ -9,7 +9,7 @@ define(function () {
|
|||||||
out.main_slogan = "L'unité est la force, la collaboration est la clé";
|
out.main_slogan = "L'unité est la force, la collaboration est la clé";
|
||||||
|
|
||||||
out.type = {};
|
out.type = {};
|
||||||
out.type.pad = 'Pad';
|
out.type.pad = 'Texte';
|
||||||
out.type.code = 'Code';
|
out.type.code = 'Code';
|
||||||
out.type.poll = 'Sondage';
|
out.type.poll = 'Sondage';
|
||||||
out.type.slide = 'Présentation';
|
out.type.slide = 'Présentation';
|
||||||
|
|||||||
@@ -195,9 +195,11 @@ define([
|
|||||||
};
|
};
|
||||||
// If we have a hash in the URL specifying a path, it means the document was created from
|
// If we have a hash in the URL specifying a path, it means the document was created from
|
||||||
// the drive and should be stored at the selected path.
|
// the drive and should be stored at the selected path.
|
||||||
if (/#\?path=/.test(window.location.href)) {
|
if (/[?&]path=/.test(window.location.hash)) {
|
||||||
var arr = window.location.hash.match(/\?path=(.+)/);
|
var patharr = window.location.hash.match(/[?&]path=([^&]+)/);
|
||||||
common.initialPath = arr[1] || undefined;
|
var namearr = window.location.hash.match(/[?&]name=([^&]+)/);
|
||||||
|
common.initialPath = patharr[1] || undefined;
|
||||||
|
common.initialName = namearr[1] ? decodeURIComponent(namearr[1]) : undefined;
|
||||||
window.location.hash = '';
|
window.location.hash = '';
|
||||||
}
|
}
|
||||||
if (!secretHash && !/#/.test(window.location.href)) {
|
if (!secretHash && !/#/.test(window.location.href)) {
|
||||||
@@ -578,7 +580,7 @@ define([
|
|||||||
var data = makePad(href, name);
|
var data = makePad(href, name);
|
||||||
renamed.push(data);
|
renamed.push(data);
|
||||||
if (USE_FS_STORE && typeof(getStore().addPad) === "function") {
|
if (USE_FS_STORE && typeof(getStore().addPad) === "function") {
|
||||||
getStore().addPad(href, common.initialPath, name);
|
getStore().addPad(href, common.initialPath, common.initialName || name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -871,14 +871,18 @@ define([
|
|||||||
}
|
}
|
||||||
AppConfig.availablePadTypes.forEach(function (type) {
|
AppConfig.availablePadTypes.forEach(function (type) {
|
||||||
var path = filesOp.isPathInTrash(currentPath) ? '' : '/#?path=' + encodeURIComponent(currentPath);
|
var path = filesOp.isPathInTrash(currentPath) ? '' : '/#?path=' + encodeURIComponent(currentPath);
|
||||||
|
var attributes = {
|
||||||
|
'class': 'newdoc',
|
||||||
|
'data-type': type
|
||||||
|
};
|
||||||
|
// In root, do not redirect instantly, but ask for a name first. Cf handlers below
|
||||||
|
if (!isInRoot) {
|
||||||
|
attributes.href = '/' + type + path;
|
||||||
|
attributes.target = '_blank';
|
||||||
|
}
|
||||||
options.push({
|
options.push({
|
||||||
tag: 'a',
|
tag: 'a',
|
||||||
attributes: {
|
attributes: attributes,
|
||||||
'class': 'newdoc',
|
|
||||||
'data-type': type,
|
|
||||||
'href': '/' + type + path,
|
|
||||||
'target': '_blank'
|
|
||||||
},
|
|
||||||
content: Messages.type[type]
|
content: Messages.type[type]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -892,6 +896,7 @@ define([
|
|||||||
$block.find('button').addClass('new').addClass('element');
|
$block.find('button').addClass('new').addClass('element');
|
||||||
|
|
||||||
// Handlers
|
// Handlers
|
||||||
|
if (isInRoot) {
|
||||||
$block.find('a.newFolder').click(function () {
|
$block.find('a.newFolder').click(function () {
|
||||||
var onCreated = function (info) {
|
var onCreated = function (info) {
|
||||||
module.newFolder = info.newPath;
|
module.newFolder = info.newPath;
|
||||||
@@ -899,6 +904,19 @@ define([
|
|||||||
};
|
};
|
||||||
filesOp.createNewFolder(currentPath, null, onCreated);
|
filesOp.createNewFolder(currentPath, null, onCreated);
|
||||||
});
|
});
|
||||||
|
$block.find('a.newdoc').click(function () {
|
||||||
|
var type = $(this).data('type');
|
||||||
|
if (!type) {
|
||||||
|
throw new Error("Unable to get the pad type...");
|
||||||
|
}
|
||||||
|
var onNamed = function (name) {
|
||||||
|
var path = '/#?name=' + encodeURIComponent(name) + '&path=' + encodeURIComponent(currentPath);
|
||||||
|
console.log(path);
|
||||||
|
window.open('/' + type + path);
|
||||||
|
};
|
||||||
|
Cryptpad.prompt("How would you like to name your file?", Cryptpad.getDefaultName({type: type}), onNamed);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return $block;
|
return $block;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user