Skip to content

Commit e642494

Browse files
committed
Fixed permission might not update and emit properly
1 parent ab6deb8 commit e642494

1 file changed

Lines changed: 35 additions & 9 deletions

File tree

public/js/index.js

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -891,24 +891,28 @@ ui.toolbar.both.click(function () {
891891
//permission
892892
//freely
893893
ui.infobar.permission.freely.click(function () {
894-
updatePermission("freely");
894+
emitPermission("freely");
895895
});
896896
//editable
897897
ui.infobar.permission.editable.click(function () {
898-
updatePermission("editable");
898+
emitPermission("editable");
899899
});
900900
//locked
901901
ui.infobar.permission.locked.click(function () {
902-
updatePermission("locked");
902+
emitPermission("locked");
903903
});
904904

905-
function updatePermission(_permission) {
905+
function emitPermission(_permission) {
906906
if (_permission != permission) {
907907
socket.emit('permission', _permission);
908908
}
909909
}
910910

911-
function checkPermission() {
911+
function updatePermission(newPermission) {
912+
if (permission != newPermission) {
913+
permission = newPermission;
914+
refreshView();
915+
}
912916
var label = null;
913917
var title = null;
914918
switch (permission) {
@@ -934,6 +938,30 @@ function checkPermission() {
934938
ui.infobar.permission.label.html(label).attr('title', title);
935939
}
936940

941+
function havePermission() {
942+
var bool = false;
943+
switch (permission) {
944+
case "freely":
945+
bool = true;
946+
break;
947+
case "editable":
948+
if (!personalInfo.login) {
949+
bool = false;
950+
} else {
951+
bool = true;
952+
}
953+
break;
954+
case "locked":
955+
if (personalInfo.userid != owner) {
956+
bool = false;
957+
} else {
958+
bool = true;
959+
}
960+
break;
961+
}
962+
return bool;
963+
}
964+
937965
//socket.io actions
938966
var socket = io.connect();
939967
//overwrite original event for checking login state
@@ -981,8 +1009,7 @@ socket.on('check', function (data) {
9811009
updateLastChange();
9821010
});
9831011
socket.on('permission', function (data) {
984-
permission = data.permission;
985-
checkPermission();
1012+
updatePermission(data.permission);
9861013
});
9871014
var docmaxlength = null;
9881015
var otk = null;
@@ -993,11 +1020,10 @@ socket.on('refresh', function (data) {
9931020
editor.setOption("maxLength", docmaxlength);
9941021
otk = data.otk;
9951022
owner = data.owner;
996-
permission = data.permission;
1023+
updatePermission(data.permission);
9971024
lastchangetime = data.updatetime;
9981025
lastchangeui = ui.infobar.lastchange;
9991026
updateLastChange();
1000-
checkPermission();
10011027
if (!loaded) {
10021028
changeMode(currentMode);
10031029
loaded = true;

0 commit comments

Comments
 (0)