This commit is contained in:
Alexander Trofimov
2015-06-25 11:27:08 +03:00
parent dbf21ee32f
commit a10605c91f
174 changed files with 24121 additions and 8908 deletions

View File

@@ -167,7 +167,7 @@
this.editorConfig = data.config;
},
setMode: function (permissions) {
this.permissions = permissions; ! (this.permissions.canCoAuthoring && this.permissions.isEdit) ? Common.util.Shortcuts.suspendEvents(this.hkComments) : Common.util.Shortcuts.resumeEvents(this.hkComments);
this.permissions = permissions; ! (this.permissions.canCoAuthoring && this.permissions.isEdit && this.permissions.canComments) ? Common.util.Shortcuts.suspendEvents(this.hkComments) : Common.util.Shortcuts.resumeEvents(this.hkComments);
},
setApi: function (api) {
this.api = api;
@@ -187,22 +187,26 @@
onCopyPaste: function (item) {
var me = this;
if (me.api) {
var value = window.localStorage.getItem("sse-hide-copywarning");
if (! (value && parseInt(value) == 1) && me.show_copywarning) {
(new Common.Views.CopyWarningDialog({
handler: function (dontshow) {
(item.value == "cut") ? me.api.asc_Cut() : ((item.value == "copy") ? me.api.asc_Copy() : me.api.asc_Paste());
if (dontshow) {
window.localStorage.setItem("sse-hide-copywarning", 1);
}
Common.NotificationCenter.trigger("edit:complete", me.documentHolder);
}
})).show();
} else {
if (typeof window["AscDesktopEditor"] === "object") {
(item.value == "cut") ? me.api.asc_Cut() : ((item.value == "copy") ? me.api.asc_Copy() : me.api.asc_Paste());
Common.NotificationCenter.trigger("edit:complete", me.documentHolder);
} else {
var value = window.localStorage.getItem("sse-hide-copywarning");
if (! (value && parseInt(value) == 1) && me.show_copywarning) {
(new Common.Views.CopyWarningDialog({
handler: function (dontshow) {
(item.value == "cut") ? me.api.asc_Cut() : ((item.value == "copy") ? me.api.asc_Copy() : me.api.asc_Paste());
if (dontshow) {
window.localStorage.setItem("sse-hide-copywarning", 1);
}
Common.NotificationCenter.trigger("edit:complete", me.documentHolder);
}
})).show();
} else {
(item.value == "cut") ? me.api.asc_Cut() : ((item.value == "copy") ? me.api.asc_Copy() : me.api.asc_Paste());
Common.NotificationCenter.trigger("edit:complete", me.documentHolder);
}
Common.component.Analytics.trackEvent("ToolBar", "Copy Warning");
}
Common.component.Analytics.trackEvent("ToolBar", "Copy Warning");
}
},
onInsertEntire: function (item) {
@@ -342,7 +346,7 @@
}
},
onAddComment: function (item) {
if (this.api && this.permissions.canCoAuthoring && this.permissions.isEdit) {
if (this.api && this.permissions.canCoAuthoring && this.permissions.isEdit && this.permissions.canComments) {
this.api.asc_enableKeyEvents(false);
var controller = SSE.getController("Common.Controllers.Comments"),
cellinfo = this.api.asc_getCellInfo();
@@ -910,8 +914,8 @@
documentHolder.pmiColumnWidth.setVisible(iscolmenu || isallmenu);
documentHolder.pmiEntireHide.setVisible(iscolmenu || isrowmenu);
documentHolder.pmiEntireShow.setVisible(iscolmenu || isrowmenu);
documentHolder.ssMenu.items[10].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring);
documentHolder.pmiAddComment.setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring);
documentHolder.ssMenu.items[10].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments);
documentHolder.pmiAddComment.setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments);
documentHolder.pmiCellMenuSeparator.setVisible(iscellmenu || isrowmenu || iscolmenu || isallmenu || insfunc);
documentHolder.pmiEntireHide.isrowmenu = isrowmenu;
documentHolder.pmiEntireShow.isrowmenu = isrowmenu;

View File

@@ -103,7 +103,7 @@
this.api.asc_registerCallback("asc_onRenameCellTextEnd", _.bind(this.onRenameText, this));
this.api.asc_registerCallback("asc_onСoAuthoringDisconnect", _.bind(this.onApiServerDisconnect, this));
Common.NotificationCenter.on("api:disconnect", _.bind(this.onApiServerDisconnect, this));
if (this.mode.canCoAuthoring) {
if (this.mode.canCoAuthoring && this.mode.canChat) {
this.api.asc_registerCallback("asc_onCoAuthoringChatReceiveMessage", _.bind(this.onApiChatMessage, this));
}
if (!this.mode.isEditDiagram) {
@@ -120,10 +120,14 @@
},
createDelayedElements: function () {
if (this.mode.canCoAuthoring) {
this.leftMenu.btnComments[this.mode.isEdit ? "show" : "hide"]();
this.leftMenu.btnChat.show();
this.leftMenu.setOptionsPanel("chat", this.getApplication().getController("Common.Controllers.Chat").getView("Common.Views.Chat"));
this.leftMenu.setOptionsPanel("comment", this.getApplication().getController("Common.Controllers.Comments").getView("Common.Views.Comments"));
this.leftMenu.btnComments[this.mode.isEdit && this.mode.canComments ? "show" : "hide"]();
if (this.mode.canComments) {
this.leftMenu.setOptionsPanel("comment", this.getApplication().getController("Common.Controllers.Comments").getView("Common.Views.Comments"));
}
this.leftMenu.btnChat[this.mode.canChat ? "show" : "hide"]();
if (this.mode.canChat) {
this.leftMenu.setOptionsPanel("chat", this.getApplication().getController("Common.Controllers.Chat").getView("Common.Views.Chat"));
}
} else {
this.leftMenu.btnChat.hide();
this.leftMenu.btnComments.hide();
@@ -236,7 +240,7 @@
}
},
clickStatusbarUsers: function () {
if (this.mode.canCoAuthoring) {
if (this.mode.canCoAuthoring && this.mode.canChat) {
if (this.leftMenu.btnChat.pressed) {
this.leftMenu.close();
} else {
@@ -523,13 +527,13 @@
}
break;
case "chat":
if (this.mode.canCoAuthoring) {
if (this.mode.canCoAuthoring && this.mode.canChat) {
Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu("chat");
}
return false;
case "comments":
if (this.mode.canCoAuthoring && this.mode.isEdit) {
if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments) {
Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu("comments");
this.getApplication().getController("Common.Controllers.Comments").focusOnInput();

View File

@@ -34,6 +34,11 @@
var InitApplication = -254;
var ApplyEditRights = -255;
var LoadingDocument = -256;
var mapCustomizationElements = {
about: "button#left-btn-about",
feedback: "button#left-btn-support",
goback: "#fm-btn-back > a, #header-back > div"
};
return {
models: [],
collections: ["ShapeGroups", "TableTemplates"],
@@ -159,8 +164,9 @@
this.appOptions.user = this.editorConfig.user;
this.appOptions.canBack = this.editorConfig.nativeApp !== true && this.editorConfig.canBackToFolder === true;
this.appOptions.nativeApp = this.editorConfig.nativeApp === true;
this.appOptions.canCreateNew = !_.isEmpty(this.editorConfig.createUrl);
this.appOptions.canOpenRecent = this.editorConfig.nativeApp !== true && this.editorConfig.recent !== undefined;
this.appOptions.isDesktopApp = this.editorConfig.targetApp == "desktop";
this.appOptions.canCreateNew = !_.isEmpty(this.editorConfig.createUrl) && !this.appOptions.isDesktopApp;
this.appOptions.canOpenRecent = this.editorConfig.nativeApp !== true && this.editorConfig.recent !== undefined && !this.appOptions.isDesktopApp;
this.appOptions.templates = this.editorConfig.templates;
this.appOptions.recent = this.editorConfig.recent;
this.appOptions.createUrl = this.editorConfig.createUrl;
@@ -169,6 +175,7 @@
this.appOptions.canAnalytics = false;
this.appOptions.sharingSettingsUrl = this.editorConfig.sharingSettingsUrl;
this.appOptions.isEditDiagram = this.editorConfig.mode == "editdiagram";
this.appOptions.customization = this.editorConfig.customization;
this.headerView = this.getApplication().getController("Viewport").getView("Common.Views.Header");
this.headerView.setCanBack(this.editorConfig.canBackToFolder === true);
if (this.editorConfig.lang) {
@@ -191,7 +198,6 @@
docInfo.VKey = data.doc.vkey;
docInfo.Origin = data.doc.origin;
docInfo.CallbackUrl = this.editorConfig.callbackUrl;
docInfo.OfflineApp = this.editorConfig.nativeApp === true;
this.headerView.setDocumentCaption(data.doc.title);
}
if (this.appOptions.isEditDiagram) {
@@ -214,7 +220,7 @@
onProcessRightsChange: function (data) {
if (data && data.enabled === false) {
this.api.asc_coAuthoringDisconnect();
this.getApplication().getController("LeftMenu").leftMenu.getMenu("file").panels["info"].onLostEditRights();
this.getApplication().getController("LeftMenu").leftMenu.getMenu("file").panels["rights"].onLostEditRights();
Common.UI.warning({
title: this.notcriticalErrorTitle,
msg: _.isEmpty(data.message) ? this.warnProcessRightsChange : data.message
@@ -417,7 +423,7 @@
leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api);
leftMenuView.disableMenu("all", false);
if (!me.appOptions.isEditDiagram && me.appOptions.canBranding) {
me.getApplication().getController("LeftMenu").leftMenu.getMenu("about").setLicInfo(me.editorConfig.branding);
me.getApplication().getController("LeftMenu").leftMenu.getMenu("about").setLicInfo(me.editorConfig.customization);
}
documentHolderController.setApi(me.api).loadConfig({
config: me.editorConfig
@@ -471,15 +477,18 @@
}
me.api.asc_setAutoSaveGap(value);
if (me.appOptions.canAnalytics) {
Common.Gateway.on("applyeditrights", _.bind(me.onApplyEditRights, me));
Common.component.Analytics.initialize("UA-12442749-13", "Spreadsheet Editor");
}
Common.Gateway.on("applyeditrights", _.bind(me.onApplyEditRights, me));
Common.Gateway.on("processsaveresult", _.bind(me.onProcessSaveResult, me));
Common.Gateway.on("processrightschange", _.bind(me.onProcessRightsChange, me));
Common.Gateway.on("processmouse", _.bind(me.onProcessMouse, me));
$(document).on("contextmenu", _.bind(me.onContextMenu, me));
Common.Utils.isIE9m && tips.push(me.warnBrowserIE9); ! Common.Utils.isGecko && !me.appOptions.isEditDiagram && !me.appOptions.nativeApp && (Math.abs(me.getBrowseZoomLevel() - 1) > 0.1) && tips.push(Common.Utils.String.platformKey(me.warnBrowserZoom, "{0}"));
if (tips.length) {
me.showTips(tips);
if ( !! window["AscDesktopEditor"]) {
Common.Utils.isIE9m && tips.push(me.warnBrowserIE9); ! Common.Utils.isGecko && !me.appOptions.isEditDiagram && !me.appOptions.nativeApp && (Math.abs(me.getBrowseZoomLevel() - 1) > 0.1) && tips.push(Common.Utils.String.platformKey(me.warnBrowserZoom, "{0}"));
if (tips.length) {
me.showTips(tips);
}
}
},
onOpenDocument: function (progress) {
@@ -494,10 +503,13 @@
this.permissions.download !== false && (this.permissions.download = params.asc_getCanDownload());
this.appOptions.canAutosave = this.editorConfig.canAutosave !== false && params.asc_getIsAutosaveEnable();
this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
this.appOptions.canCoAuthoring = params.asc_getCanCoAuthoring();
this.appOptions.canBranding = params.asc_getCanBranding() && (typeof(this.editorConfig.branding) == "object");
this.appOptions.canCoAuthoring = true;
this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false;
this.appOptions.canComments = this.appOptions.canLicense && !((typeof(this.editorConfig.customization) == "object") && this.editorConfig.customization.comments === false);
this.appOptions.canChat = this.appOptions.canLicense && !((typeof(this.editorConfig.customization) == "object") && this.editorConfig.customization.chat === false);
this.appOptions.canBranding = params.asc_getCanBranding() && (typeof(this.editorConfig.customization) == "object");
if (this.appOptions.canBranding) {
this.headerView.setBranding(this.editorConfig.branding);
this.headerView.setBranding(this.editorConfig.customization);
}
}
this.appOptions.canEdit = this.permissions.edit === true;
@@ -521,7 +533,7 @@
statusbarView = app.getController("Statusbar").getView("Statusbar");
if (this.headerView) {
this.headerView.setHeaderCaption(this.appOptions.isEdit ? "Spreadsheet Editor" : "Spreadsheet Viewer");
this.headerView.setVisible(!this.appOptions.nativeApp && !value && !this.appOptions.isEditDiagram);
this.headerView.setVisible(!this.appOptions.nativeApp && !value && !this.appOptions.isDesktopApp && !this.appOptions.isEditDiagram);
}
viewport && viewport.setMode(this.appOptions, true);
statusbarView && statusbarView.setMode(this.appOptions);
@@ -870,6 +882,10 @@
}
},
hidePreloader: function () {
if ( !! this.appOptions.customization && !this.appOptions.customization.done) {
this.appOptions.customization.done = true;
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationElements);
}
this.stackLongActions.pop({
id: InitApplication,
type: c_oAscAsyncActionType.BlockInteraction

View File

@@ -287,20 +287,25 @@
onCopyPaste: function (copy, e) {
var me = this;
if (me.api) {
var value = window.localStorage.getItem("sse-hide-copywarning");
if (! (value && parseInt(value) == 1) && this._state.show_copywarning) {
(new Common.Views.CopyWarningDialog({
handler: function (dontshow) {
copy ? me.api.asc_Copy() : me.api.asc_Paste();
if (dontshow) {
window.localStorage.setItem("sse-hide-copywarning", 1);
}
Common.NotificationCenter.trigger("edit:complete", me.toolbar);
}
})).show();
} else {
if (typeof window["AscDesktopEditor"] === "object") {
copy ? me.api.asc_Copy() : me.api.asc_Paste();
Common.NotificationCenter.trigger("edit:complete", me.toolbar);
} else {
var value = window.localStorage.getItem("sse-hide-copywarning");
if (! (value && parseInt(value) == 1) && this._state.show_copywarning) {
(new Common.Views.CopyWarningDialog({
handler: function (dontshow) {
copy ? me.api.asc_Copy() : me.api.asc_Paste();
if (dontshow) {
window.localStorage.setItem("sse-hide-copywarning", 1);
}
Common.NotificationCenter.trigger("edit:complete", me.toolbar);
}
})).show();
} else {
copy ? me.api.asc_Copy() : me.api.asc_Paste();
Common.NotificationCenter.trigger("edit:complete", me.toolbar);
}
}
Common.component.Analytics.trackEvent("ToolBar", "Copy Warning");
} else {

View File

@@ -11,6 +11,7 @@
<li id="fm-btn-create" class="fm-btn" />
<li class="devider" />
<li id="fm-btn-info" class="fm-btn" />
<li id="fm-btn-rights" class="fm-btn" />
<li class="devider" class="fm-btn" />
<li id="fm-btn-settings" class="fm-btn" />
<li class="devider" />
@@ -23,6 +24,7 @@
<div id="panel-recentfiles" class="content-box" />
<div id="panel-createnew" class="content-box" />
<div id="panel-info" class="content-box" />
<div id="panel-rights" class="content-box" />
<div id="panel-settings" class="content-box" />
<div id="panel-help" class="content-box" />
</div>

View File

@@ -102,6 +102,11 @@
action: "info",
caption: this.btnInfoCaption,
canFocused: false
}), new Common.UI.MenuItem({
el: $("#fm-btn-rights", this.el),
action: "rights",
caption: this.btnRightsCaption,
canFocused: false
}), new Common.UI.MenuItem({
el: $("#fm-btn-settings", this.el),
action: "opts",
@@ -131,6 +136,9 @@
"info": (new SSE.Views.FileMenuPanels.DocumentInfo({
menu: me
})).render(),
"rights": (new SSE.Views.FileMenuPanels.DocumentRights({
menu: me
})).render(),
"help": (new SSE.Views.FileMenuPanels.Help({
menu: me
})).render()
@@ -161,18 +169,18 @@
this.api.asc_enableKeyEvents(true);
},
applyMode: function () {
this.items[0][this.mode.canBack ? "show" : "hide"]();
this.items[0].$el.find("+.devider")[this.mode.canBack ? "show" : "hide"]();
this.items[5][this.mode.canOpenRecent ? "show" : "hide"]();
this.items[6][this.mode.canCreateNew ? "show" : "hide"]();
this.items[6].$el.find("+.devider")[this.mode.canCreateNew ? "show" : "hide"]();
this.items[3][this.mode.canDownload ? "show" : "hide"]();
this.items[1][this.mode.isEdit ? "show" : "hide"]();
this.items[2][!this.mode.isEdit && this.mode.canEdit ? "show" : "hide"]();
this.items[8][this.mode.isEdit ? "show" : "hide"]();
this.items[8].$el.find("+.devider")[this.mode.isEdit ? "show" : "hide"]();
this.items[8][(this.document && this.document.info && (this.document.info.sharingSettings && this.document.info.sharingSettings.length > 0 || this.mode.sharingSettingsUrl && this.mode.sharingSettingsUrl.length)) ? "show" : "hide"]();
this.items[9][this.mode.isEdit ? "show" : "hide"]();
this.items[9].$el.find("+.devider")[this.mode.isEdit ? "show" : "hide"]();
this.panels["opts"].setMode(this.mode);
this.panels["info"].setMode(this.mode).updateInfo(this.document);
this.panels["rights"].setMode(this.mode).updateInfo(this.document);
if (this.mode.canCreateNew) {
if (this.mode.templates && this.mode.templates.length) {
$("a", this.items[6].$el).text(this.btnCreateNewCaption + "...");
@@ -230,6 +238,7 @@
btnSaveCaption: "Save",
btnDownloadCaption: "Download as...",
btnInfoCaption: "Document Info...",
btnRightsCaption: "Access Rights...",
btnCreateNewCaption: "Create New",
btnRecentFilesCaption: "Open Recent...",
btnPrintCaption: "Print",

View File

@@ -117,7 +117,7 @@
panel: this.printSettings,
iconCls: "mnu-print"
}]),
itemTemplate: _.template(['<div id="<%= id %>" class="settings-item-wrap">', '<div><span class="settings-icon <%= iconCls %>"/><span class="caption"><%= name %></span></div>', "</div>"].join(""))
itemTemplate: _.template(['<div id="<%= id %>" class="settings-item-wrap">', '<div class="settings-icon <%= iconCls %>" style="display: inline-block;" >', "</div><%= name %>", "</div>"].join(""))
});
this.viewSettingsPicker.on("item:select", _.bind(function (dataview, itemview, record) {
var panel = record.get("panel");
@@ -594,8 +594,7 @@
initialize: function (options) {
Common.UI.BaseView.prototype.initialize.call(this, arguments);
this.rendered = false;
this.template = _.template(['<table class="main">', "<tr>", '<td class="left"><label>' + this.txtTitle + "</label></td>", '<td class="right"><label id="id-info-title">-</label></td>', "</tr>", '<tr class="author">', '<td class="left"><label>' + this.txtAuthor + "</label></td>", '<td class="right"><span class="userLink" id="id-info-author">-</span></td>', "</tr>", '<tr class="placement">', '<td class="left"><label>' + this.txtPlacement + "</label></td>", '<td class="right"><label id="id-info-placement">-</label></td>', "</tr>", '<tr class="date">', '<td class="left"><label>' + this.txtDate + "</label></td>", '<td class="right"><label id="id-info-date">-</label></td>', "</tr>", '<tr class="divider date"></tr>', '<tr class="rights">', '<td class="left" style="vertical-align: top;"><label>' + this.txtRights + "</label></td>", '<td class="right"><div id="id-info-rights"></div></td>', "</tr>", '<tr class="edit-rights">', '<td class="left"></td><td class="right"><button id="id-info-btn-edit" class="btn normal dlg-btn primary" style="margin-right: 10px;width: auto;">' + this.txtBtnAccessRights + "</button></td>", "</tr>", "</table>"].join(""));
this.templateRights = _.template(["<table>", "<% _.each(users, function(item) { %>", "<tr>", '<td><span class="userLink"><%= Common.Utils.String.htmlEncode(item.user) %></span></td>', "<td><%= Common.Utils.String.htmlEncode(item.permissions) %></td>", "</tr>", "<% }); %>", "</table>"].join(""));
this.template = _.template(['<table class="main">', "<tr>", '<td class="left"><label>' + this.txtTitle + "</label></td>", '<td class="right"><label id="id-info-title">-</label></td>', "</tr>", '<tr class="author">', '<td class="left"><label>' + this.txtAuthor + "</label></td>", '<td class="right"><span class="userLink" id="id-info-author">-</span></td>', "</tr>", '<tr class="placement">', '<td class="left"><label>' + this.txtPlacement + "</label></td>", '<td class="right"><label id="id-info-placement">-</label></td>', "</tr>", '<tr class="date">', '<td class="left"><label>' + this.txtDate + "</label></td>", '<td class="right"><label id="id-info-date">-</label></td>', "</tr>", '<tr class="divider date"></tr>', "</table>"].join(""));
this.menu = options.menu;
},
render: function () {
@@ -604,11 +603,6 @@
this.lblPlacement = $("#id-info-placement");
this.lblDate = $("#id-info-date");
this.lblAuthor = $("#id-info-author");
this.cntRights = $("#id-info-rights");
this.btnEditRights = new Common.UI.Button({
el: "#id-info-btn-edit"
});
this.btnEditRights.on("click", _.bind(this.changeAccessRights, this));
this.rendered = true;
this.updateInfo(this.doc);
if (_.isUndefined(this.scroller)) {
@@ -645,13 +639,6 @@
this.lblPlacement.text(doc.info.folder);
}
this._ShowHideInfoItem("placement", doc.info.folder !== undefined && doc.info.folder !== null);
if (doc.info.sharingSettings) {
this.cntRights.html(this.templateRights({
users: doc.info.sharingSettings
}));
}
this._ShowHideInfoItem("rights", doc.info.sharingSettings !== undefined && doc.info.sharingSettings !== null && this._readonlyRights !== true);
this._ShowHideInfoItem("edit-rights", !!this.sharingSettingsUrl && this.sharingSettingsUrl.length && this._readonlyRights !== true);
} else {
this._ShowHideDocInfo(false);
}
@@ -663,6 +650,71 @@
this._ShowHideInfoItem("date", visible);
this._ShowHideInfoItem("placement", visible);
this._ShowHideInfoItem("author", visible);
},
setMode: function (mode) {
return this;
},
txtTitle: "Document Title",
txtAuthor: "Author",
txtPlacement: "Placement",
txtDate: "Creation Date"
},
SSE.Views.FileMenuPanels.DocumentInfo || {}));
SSE.Views.FileMenuPanels.DocumentRights = Common.UI.BaseView.extend(_.extend({
el: "#panel-rights",
menu: undefined,
initialize: function (options) {
Common.UI.BaseView.prototype.initialize.call(this, arguments);
this.rendered = false;
this.template = _.template(['<table class="main">', '<tr class="rights">', '<td class="left" style="vertical-align: top;"><label>' + this.txtRights + "</label></td>", '<td class="right"><div id="id-info-rights"></div></td>', "</tr>", '<tr class="edit-rights">', '<td class="left"></td><td class="right"><button id="id-info-btn-edit" class="btn normal dlg-btn primary" style="margin-right: 10px;width: auto;">' + this.txtBtnAccessRights + "</button></td>", "</tr>", "</table>"].join(""));
this.templateRights = _.template(["<table>", "<% _.each(users, function(item) { %>", "<tr>", '<td><span class="userLink"><%= Common.Utils.String.htmlEncode(item.user) %></span></td>', "<td><%= Common.Utils.String.htmlEncode(item.permissions) %></td>", "</tr>", "<% }); %>", "</table>"].join(""));
this.menu = options.menu;
},
render: function () {
$(this.el).html(this.template());
this.cntRights = $("#id-info-rights");
this.btnEditRights = new Common.UI.Button({
el: "#id-info-btn-edit"
});
this.btnEditRights.on("click", _.bind(this.changeAccessRights, this));
this.rendered = true;
this.updateInfo(this.doc);
if (_.isUndefined(this.scroller)) {
this.scroller = new Common.UI.Scroller({
el: $(this.el),
suppressScrollX: true
});
}
return this;
},
show: function () {
Common.UI.BaseView.prototype.show.call(this, arguments);
},
hide: function () {
Common.UI.BaseView.prototype.hide.call(this, arguments);
},
updateInfo: function (doc) {
this.doc = doc;
if (!this.rendered) {
return;
}
doc = doc || {};
if (doc.info) {
if (doc.info.sharingSettings) {
this.cntRights.html(this.templateRights({
users: doc.info.sharingSettings
}));
}
this._ShowHideInfoItem("rights", doc.info.sharingSettings !== undefined && doc.info.sharingSettings !== null && doc.info.sharingSettings.length > 0);
this._ShowHideInfoItem("edit-rights", !!this.sharingSettingsUrl && this.sharingSettingsUrl.length && this._readonlyRights !== true);
} else {
this._ShowHideDocInfo(false);
}
},
_ShowHideInfoItem: function (cls, visible) {
$("tr." + cls, this.el)[visible ? "show" : "hide"]();
},
_ShowHideDocInfo: function (visible) {
this._ShowHideInfoItem("rights", visible);
this._ShowHideInfoItem("edit-rights", visible);
},
@@ -671,34 +723,35 @@
return this;
},
changeAccessRights: function (btn, event, opts) {
if (this._docAccessDlg) {
return;
}
var me = this;
var win = new Common.Views.DocumentAccessDialog({
me._docAccessDlg = new Common.Views.DocumentAccessDialog({
settingsurl: this.sharingSettingsUrl
});
win.on("accessrights", function (obj, rights) {
me._docAccessDlg.on("accessrights", function (obj, rights) {
me.doc.info.sharingSettings = rights;
me._ShowHideInfoItem("rights", me.doc.info.sharingSettings !== undefined && me.doc.info.sharingSettings !== null && me.doc.info.sharingSettings.length > 0);
me.cntRights.html(me.templateRights({
users: me.doc.info.sharingSettings
}));
}).on("close", function (obj) {
me._docAccessDlg = undefined;
});
win.show();
me._docAccessDlg.show();
},
onLostEditRights: function () {
this._readonlyRights = true;
if (!this.rendered) {
return;
}
this._ShowHideInfoItem("rights", false);
this._ShowHideInfoItem("edit-rights", false);
},
txtTitle: "Document Title",
txtAuthor: "Author",
txtPlacement: "Placement",
txtDate: "Creation Date",
txtRights: "Persons who have rights",
txtBtnAccessRights: "Change access rights"
},
SSE.Views.FileMenuPanels.DocumentInfo || {}));
SSE.Views.FileMenuPanels.DocumentRights || {}));
SSE.Views.FileMenuPanels.Help = Common.UI.BaseView.extend({
el: "#panel-help",
menu: undefined,

View File

@@ -147,16 +147,20 @@
},
onCoauthOptions: function (e) {
if (this.mode.canCoAuthoring) {
this.panelComments[this.btnComments.pressed ? "show" : "hide"]();
this.fireEvent((this.btnComments.pressed) ? "comments:show": "comments:hide", this);
if (this.btnChat.pressed) {
if (this.btnChat.$el.hasClass("notify")) {
this.btnChat.$el.removeClass("notify");
if (this.mode.canComments) {
this.panelComments[this.btnComments.pressed ? "show" : "hide"]();
this.fireEvent((this.btnComments.pressed) ? "comments:show": "comments:hide", this);
}
if (this.mode.canChat) {
if (this.btnChat.pressed) {
if (this.btnChat.$el.hasClass("notify")) {
this.btnChat.$el.removeClass("notify");
}
this.panelChat.show();
this.panelChat.focus();
} else {
this.panelChat["hide"]();
}
this.panelChat.show();
this.panelChat.focus();
} else {
this.panelChat["hide"]();
}
}
},
@@ -179,13 +183,17 @@
this.btnAbout.toggle(false);
this.$el.width(SCALE_MIN);
if (this.mode.canCoAuthoring) {
this.panelComments["hide"]();
this.panelChat["hide"]();
if (this.btnComments.pressed) {
this.fireEvent("comments:hide", this);
if (this.mode.canComments) {
this.panelComments["hide"]();
if (this.btnComments.pressed) {
this.fireEvent("comments:hide", this);
}
this.btnComments.toggle(false, true);
}
if (this.mode.canChat) {
this.panelChat["hide"]();
this.btnChat.toggle(false, true);
}
this.btnComments.toggle(false, true);
this.btnChat.toggle(false, true);
}
},
isOpened: function () {

View File

@@ -909,7 +909,7 @@
iconCls: "mnu-icon-item mnu-border-width",
template: _.template('<a id="<%= id %>" tabindex="-1" type="menuitem"><span class="menu-item-icon" style="background-image: none; width: 11px; height: 11px; margin: 2px 7px 0 -9px; border-style: solid; border-width: 1px; border-color: #000;"></span><%= caption %></a>'),
menu: (function () {
var itemTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem"><div style="width: 80px; height: 20px; margin-top: -3px; margin-bottom: -2px; background:url(\'resources/img/toolbar/BorderSize.png\') repeat-x scroll 0 -<%= options.offsety %>px;"></div></a>');
var itemTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem"><div class="border-size-item" style="background-position: 0 -<%= options.offsety %>px;"></div></a>');
me.mnuBorderWidth = new Common.UI.Menu({
style: "min-width: 100px;",
menuAlign: "tl-tr",
@@ -1884,13 +1884,12 @@
checkable: true,
checked: me.isCompactView,
value: "compact"
}), {
}), me.mnuitemHideTitleBar = new Common.UI.MenuItem({
caption: me.textHideTBar,
checkable: true,
checked: !!options.title,
value: "title"
},
{
}), {
caption: me.textHideFBar,
checkable: true,
checked: !!options.formula,
@@ -2206,6 +2205,10 @@
nativeBtnGroup.hide();
}
}
if (mode.isDesktopApp) {
$(".toolbar-group-native").hide();
this.mnuitemHideTitleBar.hide();
}
}
},
onApiSendThemeColorSchemes: function (schemas) {