Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
This commit is contained in:
commit
1f762ce55b
@ -19,6 +19,7 @@ define([
|
|||||||
var storeObj;
|
var storeObj;
|
||||||
var ready = false;
|
var ready = false;
|
||||||
var filesOp;
|
var filesOp;
|
||||||
|
var exp = {};
|
||||||
|
|
||||||
var safeSet = function (key, val) {
|
var safeSet = function (key, val) {
|
||||||
storeObj[key] = val;
|
storeObj[key] = val;
|
||||||
@ -85,6 +86,10 @@ define([
|
|||||||
cb();
|
cb();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Store.getProxy = function () {
|
||||||
|
return exp;
|
||||||
|
};
|
||||||
|
|
||||||
var changeHandlers = Store.changeHandlers = [];
|
var changeHandlers = Store.changeHandlers = [];
|
||||||
|
|
||||||
Store.change = function (f) {
|
Store.change = function (f) {
|
||||||
@ -134,7 +139,9 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
var rt = window.rt = Listmap.create(listmapConfig);
|
var rt = window.rt = Listmap.create(listmapConfig);
|
||||||
|
exp.proxy = rt.proxy;
|
||||||
rt.proxy.on('create', function (info) {
|
rt.proxy.on('create', function (info) {
|
||||||
|
exp.info = info;
|
||||||
var realtime = info.realtime;
|
var realtime = info.realtime;
|
||||||
if (!Cryptpad.getUserHash()) {
|
if (!Cryptpad.getUserHash()) {
|
||||||
localStorage.FS_hash = Cryptpad.getEditHashFromKeys(info.channel, secret.keys);
|
localStorage.FS_hash = Cryptpad.getEditHashFromKeys(info.channel, secret.keys);
|
||||||
@ -170,12 +177,12 @@ define([
|
|||||||
};
|
};
|
||||||
|
|
||||||
Store.ready = function (f, Cryptpad) {
|
Store.ready = function (f, Cryptpad) {
|
||||||
if (Cryptpad.parsePadUrl(window.location.href).type === "file") {
|
/*if (Cryptpad.parsePadUrl(window.location.href).type === "file") {
|
||||||
if (typeof(f) === 'function') {
|
if (typeof(f) === 'function') {
|
||||||
f(void 0, Cryptpad.getStore(true));
|
f(void 0, Cryptpad.getStore(true));
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
if (ready) {
|
if (ready) {
|
||||||
if (typeof(f) === 'function') {
|
if (typeof(f) === 'function') {
|
||||||
f(void 0, Store);
|
f(void 0, Store);
|
||||||
|
|||||||
@ -80,7 +80,7 @@
|
|||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>-->
|
</table>-->
|
||||||
<iframe src="/file/#iframe" id="fileManagerIframe" style="display: none;"></iframe>
|
<iframe src="/file/#iframe" id="fileManagerIframe"></iframe>
|
||||||
|
|
||||||
<div id="buttons" class="buttons">
|
<div id="buttons" class="buttons">
|
||||||
<a id="create-pad" class="button create" href="/pad/" data-localization="button_newpad"></a>
|
<a id="create-pad" class="button create" href="/pad/" data-localization="button_newpad"></a>
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>-->
|
</table>-->
|
||||||
<iframe src="/file/#iframe" id="fileManagerIframe" style="display: none;"></iframe>
|
<iframe src="/file/#iframe" id="fileManagerIframe"></iframe>
|
||||||
|
|
||||||
<div id="buttons" class="buttons">
|
<div id="buttons" class="buttons">
|
||||||
<a id="create-pad" class="button create" href="/pad/" data-localization="button_newpad"></a>
|
<a id="create-pad" class="button create" href="/pad/" data-localization="button_newpad"></a>
|
||||||
|
|||||||
@ -10,15 +10,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.toolbar-container {
|
.toolbar-container {
|
||||||
.cryptpad-lag {
|
|
||||||
position: relative;
|
|
||||||
top: -2px;
|
|
||||||
}
|
|
||||||
font: 12px Arial,Helvetica,Tahoma,Verdana,sans-serif;
|
font: 12px Arial,Helvetica,Tahoma,Verdana,sans-serif;
|
||||||
background: -webkit-linear-gradient(#EEEEEE, #DADADA); /* For Safari 5.1 to 6.0 */
|
background: -webkit-linear-gradient(#EEEEEE, #DADADA); /* For Safari 5.1 to 6.0 */
|
||||||
background: -o-linear-gradient(#f5f5f5, #DDDDDD); /* For Opera 11.1 to 12.0 */
|
background: -o-linear-gradient(#f5f5f5, #DDDDDD); /* For Opera 11.1 to 12.0 */
|
||||||
background: -moz-linear-gradient(#f5f5f5, #DDDDDD); /* For Firefox 3.6 to 15 */
|
background: -moz-linear-gradient(#f5f5f5, #DDDDDD); /* For Firefox 3.6 to 15 */
|
||||||
background: linear-gradient(#f5f5f5, #DDDDDD); /* Standard syntax */
|
background: linear-gradient(#f5f5f5, #DDDDDD); /* Standard syntax */
|
||||||
|
.cryptpad-toolbar {
|
||||||
|
select {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.cryptpad-toolbar {
|
.cryptpad-toolbar {
|
||||||
@ -37,6 +38,18 @@
|
|||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cryptpad-lag {
|
||||||
|
box-sizing: content-box;
|
||||||
|
vertical-align: top;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 2px 0px;
|
||||||
|
padding: 5px;
|
||||||
|
div {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
div {
|
div {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
&.cryptpad-back {
|
&.cryptpad-back {
|
||||||
@ -45,11 +58,6 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
&.cryptpad-lag {
|
|
||||||
float: left;
|
|
||||||
line-height: 26px;
|
|
||||||
margin: 2px 0px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
button, select, .rightside-element {
|
button, select, .rightside-element {
|
||||||
@ -116,6 +124,11 @@
|
|||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
border: 1px solid #A6A6A6;
|
border: 1px solid #A6A6A6;
|
||||||
border-bottom-color: #979797;
|
border-bottom-color: #979797;
|
||||||
|
vertical-align: top;
|
||||||
|
box-sizing: content-box;
|
||||||
|
option {
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -229,6 +242,9 @@
|
|||||||
.cryptpad-user {
|
.cryptpad-user {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
|
span:not(.cryptpad-lag) {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
@media screen and (max-width: 400px) {
|
@media screen and (max-width: 400px) {
|
||||||
top: 3em;
|
top: 3em;
|
||||||
}
|
}
|
||||||
@ -276,9 +292,11 @@
|
|||||||
padding: 5px 0px;
|
padding: 5px 0px;
|
||||||
margin: 5px 0px;
|
margin: 5px 0px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
white-space: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
|
white-space: normal;
|
||||||
margin: 2px 0px;
|
margin: 2px 0px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -295,7 +313,7 @@
|
|||||||
//float: right;
|
//float: right;
|
||||||
}
|
}
|
||||||
.cryptpad-spinner {
|
.cryptpad-spinner {
|
||||||
float: left;
|
//float: left;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
@ -310,10 +328,6 @@
|
|||||||
.cryptpad-toolbar-username {
|
.cryptpad-toolbar-username {
|
||||||
}
|
}
|
||||||
.lag {
|
.lag {
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
padding: 0 !important;
|
|
||||||
margin: 0 5px !important;
|
|
||||||
height: 15px !important;
|
height: 15px !important;
|
||||||
width: 15px !important;
|
width: 15px !important;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|||||||
@ -17,9 +17,8 @@
|
|||||||
background: linear-gradient(#f5f5f5, #DDDDDD);
|
background: linear-gradient(#f5f5f5, #DDDDDD);
|
||||||
/* Standard syntax */
|
/* Standard syntax */
|
||||||
}
|
}
|
||||||
.toolbar-container .cryptpad-lag {
|
.toolbar-container .cryptpad-toolbar select {
|
||||||
position: relative;
|
box-sizing: border-box;
|
||||||
top: -2px;
|
|
||||||
}
|
}
|
||||||
.cryptpad-toolbar {
|
.cryptpad-toolbar {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -39,6 +38,18 @@
|
|||||||
.cryptpad-toolbar a {
|
.cryptpad-toolbar a {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
.cryptpad-toolbar .cryptpad-lag {
|
||||||
|
box-sizing: content-box;
|
||||||
|
vertical-align: top;
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 2px 0px;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
.cryptpad-toolbar .cryptpad-lag div {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
.cryptpad-toolbar div {
|
.cryptpad-toolbar div {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
@ -48,11 +59,6 @@
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
.cryptpad-toolbar div.cryptpad-lag {
|
|
||||||
float: left;
|
|
||||||
line-height: 26px;
|
|
||||||
margin: 2px 0px;
|
|
||||||
}
|
|
||||||
.cryptpad-toolbar button,
|
.cryptpad-toolbar button,
|
||||||
.cryptpad-toolbar select,
|
.cryptpad-toolbar select,
|
||||||
.cryptpad-toolbar .rightside-element {
|
.cryptpad-toolbar .rightside-element {
|
||||||
@ -118,6 +124,11 @@
|
|||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
border: 1px solid #A6A6A6;
|
border: 1px solid #A6A6A6;
|
||||||
border-bottom-color: #979797;
|
border-bottom-color: #979797;
|
||||||
|
vertical-align: top;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
.cryptpad-toolbar select option {
|
||||||
|
height: 24px;
|
||||||
}
|
}
|
||||||
.cryptpad-toolbar-top {
|
.cryptpad-toolbar-top {
|
||||||
display: block;
|
display: block;
|
||||||
@ -234,6 +245,9 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 0;
|
right: 0;
|
||||||
}
|
}
|
||||||
|
.cryptpad-toolbar-top .cryptpad-user span:not(.cryptpad-lag) {
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
@media screen and (max-width: 400px) {
|
@media screen and (max-width: 400px) {
|
||||||
.cryptpad-toolbar-top .cryptpad-user {
|
.cryptpad-toolbar-top .cryptpad-user {
|
||||||
top: 3em;
|
top: 3em;
|
||||||
@ -289,8 +303,10 @@
|
|||||||
padding: 5px 0px;
|
padding: 5px 0px;
|
||||||
margin: 5px 0px;
|
margin: 5px 0px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
white-space: normal;
|
||||||
}
|
}
|
||||||
.cryptpad-toolbar-leftside .cryptpad-dropdown-container .cryptpad-dropdown button {
|
.cryptpad-toolbar-leftside .cryptpad-dropdown-container .cryptpad-dropdown button {
|
||||||
|
white-space: normal;
|
||||||
margin: 2px 0px;
|
margin: 2px 0px;
|
||||||
}
|
}
|
||||||
.cryptpad-toolbar-leftside button {
|
.cryptpad-toolbar-leftside button {
|
||||||
@ -303,7 +319,6 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.cryptpad-spinner {
|
.cryptpad-spinner {
|
||||||
float: left;
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
height: 26px;
|
height: 26px;
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
@ -316,10 +331,6 @@
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
.lag {
|
.lag {
|
||||||
display: inline-block;
|
|
||||||
vertical-align: middle;
|
|
||||||
padding: 0 !important;
|
|
||||||
margin: 0 5px !important;
|
|
||||||
height: 15px !important;
|
height: 15px !important;
|
||||||
width: 15px !important;
|
width: 15px !important;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|||||||
@ -432,7 +432,9 @@ define([
|
|||||||
cb(err, data);
|
cb(err, data);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
var setLSAttribute = common.setLSAttribute = function (attr, value) {
|
||||||
|
localStorage[attr] = value;
|
||||||
|
};
|
||||||
|
|
||||||
// STORAGE
|
// STORAGE
|
||||||
var getPadAttribute = common.getPadAttribute = function (attr, cb, legacy) {
|
var getPadAttribute = common.getPadAttribute = function (attr, cb, legacy) {
|
||||||
@ -445,6 +447,9 @@ define([
|
|||||||
cb(err, data);
|
cb(err, data);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
var getLSAttribute = common.getLSAttribute = function (attr) {
|
||||||
|
return localStorage[attr];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// STORAGE
|
// STORAGE
|
||||||
|
|||||||
@ -84,7 +84,7 @@ define([
|
|||||||
id: uid(),
|
id: uid(),
|
||||||
'class': SPINNER_CLS,
|
'class': SPINNER_CLS,
|
||||||
});
|
});
|
||||||
$container.append($spinner);
|
$container.prepend($spinner);
|
||||||
return $spinner[0];
|
return $spinner[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -688,9 +688,6 @@ define([
|
|||||||
fixFilesData(files[FILES_DATA]);
|
fixFilesData(files[FILES_DATA]);
|
||||||
|
|
||||||
if (JSON.stringify(files) !== before) {
|
if (JSON.stringify(files) !== before) {
|
||||||
var backup = JSON.parse(localStorage.oldFileSystem);
|
|
||||||
backup.push(files);
|
|
||||||
localStorage.oldFileSystem = JSON.stringify(backup);
|
|
||||||
debug("Your file system was corrupted. It has been cleaned so that the pads you visit can be stored safely");
|
debug("Your file system was corrupted. It has been cleaned so that the pads you visit can be stored safely");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -747,13 +747,13 @@ define([
|
|||||||
var $span = $(this);
|
var $span = $(this);
|
||||||
var value;
|
var value;
|
||||||
if ($span.hasClass('foldername')) {
|
if ($span.hasClass('foldername')) {
|
||||||
value = files[SORT_FOLDER_DESC];
|
value = Cryptpad.getLSAttribute(SORT_FOLDER_DESC);
|
||||||
files[SORT_FOLDER_DESC] = value ? false : true;
|
Cryptpad.setLSAttribute(SORT_FOLDER_DESC, value ? false : true);
|
||||||
refresh();
|
refresh();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
value = files[SORT_FILE_BY];
|
value = Cryptpad.getLSAttribute(SORT_FILE_BY);
|
||||||
var descValue = files[SORT_FILE_DESC];
|
var descValue = Cryptpad.getLSAttribute(SORT_FILE_DESC);
|
||||||
if ($span.hasClass('filename')) {
|
if ($span.hasClass('filename')) {
|
||||||
if (value === '') {
|
if (value === '') {
|
||||||
descValue = descValue ? false : true;
|
descValue = descValue ? false : true;
|
||||||
@ -775,17 +775,17 @@ define([
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
files[SORT_FILE_BY] = value;
|
Cryptpad.setLSAttribute(SORT_FILE_BY, value);
|
||||||
files[SORT_FILE_DESC] = descValue;
|
Cryptpad.setLSAttribute(SORT_FILE_DESC, descValue);
|
||||||
refresh();
|
refresh();
|
||||||
};
|
};
|
||||||
|
|
||||||
var addFolderSortIcon = function ($list) {
|
var addFolderSortIcon = function ($list) {
|
||||||
var $icon = $sortAscIcon.clone();
|
var $icon = $sortAscIcon.clone();
|
||||||
if (files[SORT_FOLDER_DESC]) {
|
if (Cryptpad.getLSAttribute(SORT_FOLDER_DESC)) {
|
||||||
$icon = $sortDescIcon.clone();
|
$icon = $sortDescIcon.clone();
|
||||||
}
|
}
|
||||||
if (typeof(files[SORT_FOLDER_DESC]) !== "undefined") {
|
if (typeof(Cryptpad.getLSAttribute(SORT_FOLDER_DESC)) !== "undefined") {
|
||||||
$list.find('.foldername').prepend($icon);
|
$list.find('.foldername').prepend($icon);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -801,12 +801,12 @@ define([
|
|||||||
};
|
};
|
||||||
var addFileSortIcon = function ($list) {
|
var addFileSortIcon = function ($list) {
|
||||||
var $icon = $sortAscIcon.clone();
|
var $icon = $sortAscIcon.clone();
|
||||||
if (files[SORT_FILE_DESC]) {
|
if (Cryptpad.getLSAttribute(SORT_FILE_DESC)) {
|
||||||
$icon = $sortDescIcon.clone();
|
$icon = $sortDescIcon.clone();
|
||||||
}
|
}
|
||||||
var classSorted;
|
var classSorted;
|
||||||
if (files[SORT_FILE_BY] === '') { classSorted = 'filename'; }
|
if (Cryptpad.getLSAttribute(SORT_FILE_BY) === '') { classSorted = 'filename'; }
|
||||||
else if (files[SORT_FILE_BY]) { classSorted = files[SORT_FILE_BY]; }
|
else if (Cryptpad.getLSAttribute(SORT_FILE_BY)) { classSorted = Cryptpad.getLSAttribute(SORT_FILE_BY); }
|
||||||
if (classSorted) {
|
if (classSorted) {
|
||||||
$list.find('.' + classSorted).prepend($icon);
|
$list.find('.' + classSorted).prepend($icon);
|
||||||
}
|
}
|
||||||
@ -895,7 +895,7 @@ define([
|
|||||||
var $fileHeader = getFileListHeader(false);
|
var $fileHeader = getFileListHeader(false);
|
||||||
$container.append($fileHeader);
|
$container.append($fileHeader);
|
||||||
var keys = unsorted;
|
var keys = unsorted;
|
||||||
var sortedFiles = sortElements(false, [UNSORTED], keys, files[SORT_FILE_BY], !files[SORT_FILE_DESC], true);
|
var sortedFiles = sortElements(false, [UNSORTED], keys, Cryptpad.getLSAttribute(SORT_FILE_BY), !Cryptpad.getLSAttribute(SORT_FILE_DESC), true);
|
||||||
sortedFiles.forEach(function (href) {
|
sortedFiles.forEach(function (href) {
|
||||||
var file = filesOp.getFileData(href);
|
var file = filesOp.getFileData(href);
|
||||||
if (!file) {
|
if (!file) {
|
||||||
@ -928,7 +928,7 @@ define([
|
|||||||
var $fileHeader = getFileListHeader(false);
|
var $fileHeader = getFileListHeader(false);
|
||||||
$container.append($fileHeader);
|
$container.append($fileHeader);
|
||||||
var keys = allfiles;
|
var keys = allfiles;
|
||||||
var sortedFiles = sortElements(false, [FILES_DATA], keys, files[SORT_FILE_BY], !files[SORT_FILE_DESC], false, true);
|
var sortedFiles = sortElements(false, [FILES_DATA], keys, Cryptpad.getLSAttribute(SORT_FILE_BY), !Cryptpad.getLSAttribute(SORT_FILE_DESC), false, true);
|
||||||
sortedFiles.forEach(function (file) {
|
sortedFiles.forEach(function (file) {
|
||||||
var $icon = $fileIcon.clone();
|
var $icon = $fileIcon.clone();
|
||||||
var $name = $('<span>', { 'class': 'file-element element' });
|
var $name = $('<span>', { 'class': 'file-element element' });
|
||||||
@ -969,8 +969,8 @@ define([
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
var sortedFolders = sortTrashElements(true, filesList, null, !files[SORT_FOLDER_DESC]);
|
var sortedFolders = sortTrashElements(true, filesList, null, !Cryptpad.getLSAttribute(SORT_FOLDER_DESC));
|
||||||
var sortedFiles = sortTrashElements(false, filesList, files[SORT_FILE_BY], !files[SORT_FILE_DESC]);
|
var sortedFiles = sortTrashElements(false, filesList, Cryptpad.getLSAttribute(SORT_FILE_BY), !Cryptpad.getLSAttribute(SORT_FILE_DESC));
|
||||||
if (filesOp.hasSubfolder(root, true)) { $list.append($folderHeader); }
|
if (filesOp.hasSubfolder(root, true)) { $list.append($folderHeader); }
|
||||||
sortedFolders.forEach(function (f) {
|
sortedFolders.forEach(function (f) {
|
||||||
var $element = createElement([TRASH], f.spath, root, true);
|
var $element = createElement([TRASH], f.spath, root, true);
|
||||||
@ -1044,8 +1044,8 @@ define([
|
|||||||
if (filesOp.hasSubfolder(root)) { $list.append($folderHeader); }
|
if (filesOp.hasSubfolder(root)) { $list.append($folderHeader); }
|
||||||
// display sub directories
|
// display sub directories
|
||||||
var keys = Object.keys(root);
|
var keys = Object.keys(root);
|
||||||
var sortedFolders = sortElements(true, path, keys, null, !files[SORT_FOLDER_DESC]);
|
var sortedFolders = sortElements(true, path, keys, null, !Cryptpad.getLSAttribute(SORT_FOLDER_DESC));
|
||||||
var sortedFiles = sortElements(false, path, keys, files[SORT_FILE_BY], !files[SORT_FILE_DESC]);
|
var sortedFiles = sortElements(false, path, keys, Cryptpad.getLSAttribute(SORT_FILE_BY), !Cryptpad.getLSAttribute(SORT_FILE_DESC));
|
||||||
sortedFolders.forEach(function (key) {
|
sortedFolders.forEach(function (key) {
|
||||||
if (filesOp.isFile(root[key])) { return; }
|
if (filesOp.isFile(root[key])) { return; }
|
||||||
var $element = createElement(path, key, root, true);
|
var $element = createElement(path, key, root, true);
|
||||||
@ -1436,6 +1436,8 @@ define([
|
|||||||
|
|
||||||
// don't initialize until the store is ready.
|
// don't initialize until the store is ready.
|
||||||
Cryptpad.ready(function () {
|
Cryptpad.ready(function () {
|
||||||
|
var storeObj = Cryptpad.getStore().getProxy && Cryptpad.getStore().getProxy().proxy ? Cryptpad.getStore().getProxy() : undefined;
|
||||||
|
|
||||||
Cryptpad.styleAlerts();
|
Cryptpad.styleAlerts();
|
||||||
|
|
||||||
if (window.location.hash && window.location.hash === "#iframe") {
|
if (window.location.hash && window.location.hash === "#iframe") {
|
||||||
@ -1458,8 +1460,13 @@ define([
|
|||||||
logging: false
|
logging: false
|
||||||
};
|
};
|
||||||
|
|
||||||
var rt = window.rt = module.rt = Listmap.create(listmapConfig);
|
var proxy;
|
||||||
rt.proxy.on('create', function (info) {
|
if (storeObj) { proxy = storeObj.proxy; }
|
||||||
|
else {
|
||||||
|
var rt = window.rt = module.rt = Listmap.create(listmapConfig);
|
||||||
|
proxy = rt.proxy;
|
||||||
|
}
|
||||||
|
var onCreate = function (info) {
|
||||||
var realtime = module.realtime = info.realtime;
|
var realtime = module.realtime = info.realtime;
|
||||||
|
|
||||||
var editHash = APP.editHash = !readOnly ? Cryptpad.getEditHashFromKeys(info.channel, secret.keys) : undefined;
|
var editHash = APP.editHash = !readOnly ? Cryptpad.getEditHashFromKeys(info.channel, secret.keys) : undefined;
|
||||||
@ -1505,25 +1512,40 @@ define([
|
|||||||
$userBlock.append($backupButton);
|
$userBlock.append($backupButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
}).on('ready', function () {
|
};
|
||||||
module.files = rt.proxy;
|
var onReady = function () {
|
||||||
if (JSON.stringify(rt.proxy) === '{}') {
|
module.files = proxy;
|
||||||
|
if (JSON.stringify(proxy) === '{}') {
|
||||||
var store = Cryptpad.getStore(true);
|
var store = Cryptpad.getStore(true);
|
||||||
store.get(Cryptpad.storageKey, function (err, s) {
|
store.get(Cryptpad.storageKey, function (err, s) {
|
||||||
rt.proxy[FILES_DATA] = s;
|
proxy[FILES_DATA] = s;
|
||||||
initLocalStorage();
|
initLocalStorage();
|
||||||
init(rt.proxy);
|
init(proxy);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
initLocalStorage();
|
initLocalStorage();
|
||||||
init(rt.proxy);
|
init(proxy);
|
||||||
APP.userList.onChange();
|
APP.userList.onChange();
|
||||||
})
|
};
|
||||||
.on('disconnect', function (info) {
|
var onDisconnect = function (info) {
|
||||||
setEditable(false);
|
setEditable(false);
|
||||||
console.error('err');
|
console.error('err');
|
||||||
Cryptpad.alert(Messages.common_connectionLost);
|
Cryptpad.alert(Messages.common_connectionLost);
|
||||||
|
};
|
||||||
|
|
||||||
|
if (storeObj) {
|
||||||
|
onCreate(storeObj.info);
|
||||||
|
onReady();
|
||||||
|
} else {
|
||||||
|
proxy.on('create', function (info) {
|
||||||
|
onCreate(info);
|
||||||
|
}).on('ready', function () {
|
||||||
|
onReady();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
proxy.on('disconnect', function () {
|
||||||
|
onDisconnect();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
}
|
}
|
||||||
#cke_1_top .cryptpad-toolbar {
|
#cke_1_top .cryptpad-toolbar {
|
||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
|
padding: 0px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user